Данные и токенизация
25 просмотров
Tokenizer
Tokenizer
Tokenizer — компонент NLP-пайплайна, преобразующий текст в последовательность числовых токенов для обработки моделью. Определяет словарь, способ разбиения текста и эффективность использования контекстного окна.
Что такое Tokenizer
Tokenizer — алгоритм, разбивающий текст на токены — минимальные единицы, которые понимает языковая модель. Каждый токен получает числовой ID из словаря.
Алгоритмы
| Алгоритм | Модели | Принцип |
|---|---|---|
| BPE | GPT, LLaMA, Qwen | Итеративное слияние частых пар |
| WordPiece | BERT | Похож на BPE, likelihood-критерий |
| SentencePiece | T5, ALBERT | Вероятностная модель подслов |
Размер словаря
| Модель | Словарь | Токенизатор |
|---|---|---|
| GPT-4 | 100K | tiktoken (BPE) |
| LLaMA 3 | 128K | SentencePiece |
| Qwen 2.5 | 152K | tiktoken |
Языки
Английский: 1 токен ≈ 4 символа. Русский: 1 токен ≈ 2-3 символа (кириллица хуже представлена). Qwen и LLaMA 3 лучше для русского, чем ранние GPT.
from transformers import AutoTokenizer
tok = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B")
text = "Аренда GPU-сервера с NVIDIA A100"
tokens = tok.encode(text)
print(f"Символов: {len(text)}, токенов: {len(tokens)}")
Влияние на GPU
- Контекстное окно = максимум токенов
- VRAM для KV-Cache растёт линейно с длиной в токенах
- Стоимость API считается per token
Связанные термины
Является частью
Требует