| --- |
| license: apache-2.0 |
| language: |
| - ru |
| tags: |
| - ner |
| - token-classification |
| - coreml |
| - russian |
| base_model: ai-forever/ruBert-base |
| --- |
| |
| # rubert-base-collection3-ner-coreml |
|
|
| Russian NER (PER / ORG / LOC) as a self-contained fp16 Core ML package for on-device |
| inference on Apple Silicon. Converted for the [Letopis](https://smkrv.net/letopis) macOS app |
| (on-device PII redaction of call transcripts); usable by any Core ML consumer. |
|
|
| ## Lineage |
|
|
| - Base model: [ai-forever/ruBert-base](https://huggingface.co/ai-forever/ruBert-base) |
| - Fine-tune (Collection3, PER/ORG/LOC): [viktor-shcherb/sberbank-rubert-base-collection3](https://huggingface.co/viktor-shcherb/sberbank-rubert-base-collection3) (Apache-2.0); reported Collection3 test F1 0.948 |
| - This repo: fp16 Core ML conversion of that fine-tune, plus the WordPiece vocab and label map |
|
|
| ## Files |
|
|
| - `NERCollection3.mlpackage` - BertForTokenClassification, fp16 mlprogram, fixed shape |
| (1, 256): inputs `input_ids` + `attention_mask` (int32), output `logits` (1, 256, 7) |
| - `vocab.txt` - WordPiece vocab (do_lower_case = true, accents stripped per BERT BasicTokenizer) |
| - `tokenizer_config.json` - reference tokenizer settings |
| - `config.json` - `id2label`: O, B-PER, I-PER, B-ORG, I-ORG, B-LOC, I-LOC; `seq_len: 256` |
| - `tokenizer_fixtures.json` - reference tokenizations (ids + char offsets) for porting tokenizers |
|
|
| ## Conversion fidelity |
|
|
| Verified against the PyTorch original on 1500 conversational RU sentences (cased and |
| lowercase/unpunctuated): token-level label agreement 99.98%, entity-span agreement 99.8%. |
|
|
| ## License |
|
|
| Apache-2.0, inherited from the fine-tune and base model. Conversion and packaging: |
| © 2026 Sergey Makarov. |
|
|