English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

гість
1 / ?
назад до уроків

Слова в числа

Перекладач на кордоні

Мовна модель ніколи не бачить текст. Вона бачить цілі числа. Токенізатор стоїть на пункті пропуску: людські слова надходять, ідентифікатори цілих чисел виходять. Генерація обертає потік: ідентифікатори цілих чисел повертаються, токенізатор генерує текст.


Три завдання:


1. Сегментація. Розділити рядок на частини (токени).

2. Відображення. Присвоїти кожній частині унікальний цілочисельний ID з фіксованого словника.

3. Зворотне. Реконструювати текст з ID під час генерації.


Чому частини, а не цілі слова

Словник цілих слів вибухає. Англійська сама по собі має сотні тисяч форм. Гірше, модель, навчена на цілих словах, не може впоратися з помилкою друку, новим ім'ям чи іноземною фразою: будь-яке небачене слово відображається в єдиний слот <UNK>.


Підтокенізація це виправляє. Словник поширених частин складається в будь-яке слово, включно з тими, що ніколи не бачили під час тренування. Дві стратегії домінують: BPE (byte pair encoding) та distributional segmentation. ANDREA обирає другу стратегію.


Harris vs BPE

Чому Підтокени

Токенізатор цілих слів провалюється на рідкісному слові `proporian` (слово, яке ANDREA-12M виробила на кроці 43,100). Назвіть дві різні проблеми, які уникає підтокенізатор (BPE чи Harris), а токенізатор цілих слів — ні.

Де відбувається розрив слова

Зелліг Гарріс, 1955

Лінгвіст на ім'я Зелліг Гарріс помітив дещо. Всередині слова кількість різних літер, що слідують за заданою послідовністю літер, різко варіюється. Після un можна знайти десятки літер: a, b, c, d, e ... Після unbel слідує лише крихітний набір: i (потім ievable).


Різкий стрибок у різноманітності наступників позначає ймовірну межу морфеми. Після un (префікса) різноманітність зростає, бо за ним може йти багато коренів. Всередині кореня, як believ, різноманітність залишається низькою, бо літери передбачають одна одну. На переході між морфемами різноманітність знову стрибає.


Від стрибків різноманітності до сегментів

Запустіть цей детектор по тренувальному корпусу. Кожне слово жертвує статистичними доказами. Токенізатор збирає високочастотні сегменти, які повторюються на межах, схожих на морфеми: un, re, pre, believ, know, ing, able, ly, tion, ed.


Без міток. Лінгвіст не позначає морфеми вручну. Статистика спільного входження літер виконує роботу.


Harris проти BPE


ВластивістьHarrisBPE
Критерій межіСпадок різноманітності (spike)Частота пари
Лінгвістична формаВирівняні за морфемою (префікс, корінь, суфікс)Часті пари байтів
Приклад: unbelievablyun + believ + abl + yunb + eli + eva + bly
ГенералізаціяСильна (корінь + афікс рекомбінуються)Слабша (пари не обов'язково вирівняні)

Обидва методи створюють підслівні шматки. Шматки Харріса схильні вирівнюватися з тим, що лінгвіст назвав би морфемою: найменшою значущою одиницею. Шматки BPE оптимізують стиснення: найчастіша пара байтів об'єднується, незалежно від значення.

Сегментація слова

Застосуйте міркування у стилі Харріса до слова `replayed`. Запропонуйте три сегменти морфем та обґрунтуйте кожен однією фразою (яку роль вони відіграють: префікс, корінь чи суфікс).

Три Слої Словника

Анатомія Словника ANDREA

Токенізація Harris створює словник з трьох шарів:


Слой 1: 256 базових байтів. Кожен можливий байт UTF-8 (0x00 через 0xFF) отримує свій унікальний ID токена. Сітка безпеки: будь-який символ, що міститься в корпусі, токенізатор може представити як послідовність байтів. <UNK> ніколи не спрацьовує.


Слой 2: N морфемних сегментів. Поширені фрагменти, виявлені через distributional analysis. ANDREA-12M тренував N = 4096; ANDREA-120M тренував N = 8192. Кожен сегмент стискає повторюваний багатобайтовий рядок в один токен.


Слой 3: 1 токен BOS. Спеціальний маркер, розміщений на початку кожної тренувальної послідовності. Дозволяє моделі навчитися 'ця позиція не має минулого'. ANDREA-12M та ANDREA-120M обидві резервують рівно один ID для BOS.


Розміри словників


МодельБазові байтиМорфемні сегменти (N)BOSРозмір словника
ANDREA-12M256409614353
ANDREA-120M256819218449

256 + N + 1 = розмір словника. Просто. Відтворювано. Відкрито.


Чому байтовий шар має значення

Байтовий запасний варіант гарантує покриття. Якщо модель зустрічає 日本語 та токенізатор не має японських морфем, окремі UTF-8 байти пропускають послідовність. Модель навчається на байтах; якість на рідкісних скриптах залежить від ємності та експозиції, але жоден вхід ніколи не крашить токенізатор.

Обчисліть словник

ANDREA-480M (третя модель у сімействі, майбутня активність 24 її охоплює) планує навчити токенізатор Harris з N = 16,384 сегментами на більшому корпусі. Обчисліть розмір її словника. Покажіть формулу. Потім поясніть в одному реченні, чому байтовий шар залишається на 256 навіть коли N зростає.

Початок послідовності

Чому послідовності потрібен маркер

Декодер-онлі трансформер прогнозує наступний токен на основі попереднього контексту. Позиція 0 не має попереднього контексту. Без маркера позиція 0 перебуває в логічній дірі: модель не має до чого звертатися.


BOS заповнює діру. Один спеціальний токен (ID = 256 + N) розміщується на початку кожної послідовності під час тренування. Модель вивчає:


- 'Коли ти бачиш BOS, прогнозуй ймовірний перший токен природного тексту.'

- 'Коли ти бачиш BOS, за яким іде слово, це слово є початком послідовності, а не продовженням.'


Один токен, багато застосувань


BOS з'являється в:


- Час тренування: додається на початок кожного шматка тексту, що подається в модель.

- Час інференсу: додається на початок запиту, щоб модель побачила знайомий сигнал 'нового початку'.

- Позначення меж: у деяких конвеєрах, як роздільник між з'єднаними документами.


ANDREA резервує рівно один ID для BOS. Без EOS, без PAD, без спеціальних токенів понад те, що потрібно словнику. Простота залишається перманавчальною цінністю: кожен токен заробляє своє місце.


Продовження Діяльності 3

Діяльність 3 (grow_a_language_model_tokenizer_diet) охоплює те, що відбувається, коли N занадто велике або корпус токенізатора відхиляється від корпусу навчання. ANDREA-12M витратила 63.6% свого словника; ANDREA-120M це виправила. Читайте далі.

Компроміси тільки BOS

Розмірковуйте над вибором дизайну, який робить ANDREA: лише один спеціальний токен (BOS), без EOS, без PAD. Назвіть один компроміс, який це створює. Компроміс може бути перевагою (простіший двигун, менше витрачених слотів) або обмеженням (деякі трюки навчання потребують додаткових токенів). Одного речення достатньо.