--- ## README.ru.md (Русский) ```markdown --- license: apache-2.0 language: - ru - en tags: - tokenizer - bpe - byte-level - russian - english - emoji --- # ARM Tokenizer Байтовый BPE-токенизатор от **NeoneAI** для русского, английского и эмодзи. Часть исследовательского проекта ARM. ## Обзор - **Размер словаря:** 65 536 - **Алгоритм:** Byte-level BPE - **Языки:** русский + английский - **Эмодзи:** поддерживаются - **Спецтокены:** `<|endoftext|>`, `<|pad|>`, `<|user|>`, `<|assistant|>`, `<|system|>`, `<|bos|>`, `<|eos|>` - **Инструмент:** Hugging Face Tokenizers ## Зачем Большинство открытых токенизаторов (GPT-2, LLaMA, Mistral) заточены под английский. ARM Tokenizer создан для **русского + английского + эмодзи**. Он сжимает русский текст **в 3.3 раза лучше**, чем GPT-2, и обходит Gemma-2 (256k словарь) при словаре всего 65k. ## Результаты Все тесты на **1000 случайных реальных текстов** (500 русских + 500 английских) с фиксированным seed (`42`). Погрешность: **±1%**. ### vs GPT-2 (50k) | Метрика | ARM | GPT-2 | |---|---|---| | Всего токенов | **153 473** | 414 971 | | Средний tok/char | **0.2965** | 0.8018 | | Русский (500) | **111 803** | 371 960 | | Английский (500) | **41 670** | 43 011 | | Побед | **928** | 16 | | Ничьих | 56 | | **Итог:** ARM на **63.02% ±1% эффективнее** GPT-2. На русском ARM в **3.3 раза эффективнее** GPT-2. ### vs Gemma-2 (256k) | Метрика | ARM | Gemma-2 | |---|---|---| | Всего токенов | **153 473** | 167 105 | | Средний tok/char | **0.2965** | 0.3198 | | Русский (500) | **111 803** | 126 941 | | Английский (500) | 41 670 | **40 164** | | Побед | **791** | 108 | | Ничьих | 101 | | **Итог:** ARM на **8.16% ±1% эффективнее** Gemma-2 в общем, и **на 12% ±1% эффективнее на русском**, при словаре всего 65k. ## Воспроизведение тестов В репозитории два скрипта: - **`test_gpt-2.py`** — сравнивает ARM Tokenizer с GPT-2 Tokenizer - **`test_gemma-2.py`** — сравнивает ARM Tokenizer с Gemma-2 Tokenizer Оба скрипта читают из папки `sample/`: - `sample/gutenberg_sample.txt` — 5000 английских текстов из Project Gutenberg - `sample/ru_books_sample.txt` — 5000 русских текстов из RuHeritage-Corpus ### Создать тестовые данные ```bash python build_test_data.py