Урок 1 із 7
Текст → токени → ембединги
8 хв читання
Твоя модель не вміє читати літеру «a». То який найперший рядок коду стоїть між сирим рядком тексту й нейромережею?
Розріж текст на токени
Ще до першого множення матриць твій код запускає токенізатор: він рубає сирий рядок на маленькі шматки, звані токенами, і зіставляє кожен із цілим числом-id. Поширене слово — один токен; рідкісне ділиться на кілька шматків. Модель бачить лише ці id — ніколи літери.
Токенізація — це крок нуль. Увесь твій конвеєр працює на id токенів, а не на тексті — усе після цього — числа.
Перетвори id на вектори
Id на кшталт 2043 сам по собі нічого не означає, тож наступний шар — це таблиця ембедингів: один рядок навчуваних чисел на кожен id токена. Дістань рядок — і кожен токен стає вектором, списком чисел, які мережа може додавати, масштабувати й порівнювати. Ще ти додаєш позиційний вектор, щоб модель знала, у якому порядку прийшли токени.
Ембединг — це просто пошук: id → рядок чисел. Ці числа спершу випадкові й стають кращими, поки модель навчається.
У коді це два крихітні кроки: один раз побудувати словник, а потім дістати embedding[token_ids]. «Магія» в тому, що рядки навчені, а не написані вручну.
Що збудовано
- —Токенізатор, що перетворює текст на послідовність цілих id токенів.
- —Таблицю ембедингів, що зіставляє кожен id з навчуваним вектором.
- —Позиційний сигнал, щоб не втратити порядок слів.
Чому модель працює з id токенів та ембедингами, а не з сирим текстом?
Продовжити в застосунку
Пройди весь курс «Побудуй LLM з нуля» — з відстеженням
Отримай персональний план, прогрес і стріки в застосунку — цей урок і кожен наступний, по порядку.