Як працюють LLM-трансформери

Інтерактивний мінікурс — від токенів до агентів

Частина I — Архітектура

1 Як комп'ютер «читає» текст

Модель не розуміє букви — вона працює тільки з числами. Тому перший крок — розбити текст на шматочки (токени) і перетворити кожен на набір чисел (вектор). Цей набір чисел називається ембедінг — він кодує значення слова.

Уяви, що кожне слово — це точка у великому просторі. Слова зі схожим значенням опиняються поруч: «кіт» і «собака» будуть близько, а «кіт» і «математика» — далеко.

Інтерактив — простір ембедінгів
Тварини Їжа Наука Інше
Перетягуйте мишкою, щоб обертати простір

Ембедінг-вектор для «кота» може мати 4096 чисел — тут ми спрощено показуємо це у 3D. Але принцип той самий: модель «розуміє» схожість через відстань між точками.

2 Увага (Attention) — серце трансформера

Коли ти читаєш речення «Кіт сів на килимок, бо він був м'яким», ти одразу розумієш, що «він» — це килимок. Модель робить це через механізм уваги: кожне слово «дивиться» на всі інші і вирішує, які з них для нього важливі.

Технічно: кожен токен перетворюється на три вектори — Query (запитання), Key (ключ) і Value (значення). Query одного токена множиться на Key кожного іншого, і результат показує, наскільки вони пов'язані.

Інтерактив — Self-Attention
score(i,j) = Queryi · Keyj / √d
Натисніть на слово зверху, щоб побачити його увагу до інших

Натисни на слово «він» — побачиш, що найбільша увага (42%) йде до «килимок». Модель сама навчилася, що займенник відноситься саме до килимка.

Формула: скалярний добуток двох векторів, поділений на √d (розмірність вектора). Потім усі оцінки перетворюються на відсотки через функцію softmax (щоб сума дорівнювала 100%).

3 Як шари складаються разом

Один шар уваги — це лише початок. У реальній моделі таких шарів десятки, а у великих LLM — часто багато десятків. Кожен шар «розуміє» щось нове: перші ловлять граматику, середні — значення, останні — складніші залежності, логіку та факти.

Діаграма — стек шарів трансформера

Дані рухаються знизу вгору: ембедінги входять у перший шар, проходять через увагу (слова обмінюються інформацією), потім через нейромережу (кожен токен окремо обробляє зібрану інформацію), і так далі через усі шари.

Але що всередині цих шарів? Кожен шар — це набір параметрів: звичайних десяткових чисел на кшталт 0.00142 або -0.0538. На початку вони випадкові, а під час тренування модель підбирає кожне число так, щоб краще передбачувати наступне слово. Саме ці числа і є «знаннями» моделі.

Інтерактив — звідки беруться мільярди параметрів
Розмір моделі:
Шарів
Розмір вектора
Всього параметрів
Обери розмір моделі — побачиш, з чого складаються мільярди параметрів

4 Як модель генерує текст

Після всіх шарів модель отримує фінальний вектор для останнього токена. Цей вектор перетворюється на числові оцінки — логіти (logits) — для кожного токена у словнику (vocabulary) моделі (30–100 тисяч токенів). Потім функція softmax перетворює логіти на розподіл ймовірностей: кожен токен отримує значення від 0 до 1, а сума всіх дорівнює 1. З цього розподілу модель обирає наступний токен — і повторює процес знову і знову.

Інтерактив — генерація тексту
Сонце сходить над
Top-k кандидати з розподілу ймовірностей (після softmax):
Температура: 0.7

Повзунок «Температура» регулює випадковість: при низькій (0.1) модель майже завжди вибирає найімовірніше слово, при високій (2.0) — вибір стає «креативнішим».

Підсумок частини I: Трансформер бере текст → розбиває на токени → перетворює на числа (ембедінги) → пропускає через десятки шарів уваги → на виході отримує ймовірність кожного можливого наступного слова → вибирає одне й повторює.
Частина II — Тренування

5 Задача: вгадати наступне слово

Тренування трансформера зводиться до однієї простої гри: модель бачить початок речення і намагається вгадати наступне слово. На старті вона вгадує випадково. Але після кожної спроби їй кажуть правильну відповідь, і вона трохи коригує себе.

Інтерактив — вгадай наступне слово
Прогрес тренування:
0/5

6 Функція втрат (Loss)

Після кожного передбачення потрібно виміряти, наскільки модель помилилась. Якщо правильне слово — «Київ», а модель дала йому ймовірність 80% — втрата мала. Якщо лише 2% — втрата величезна.

Математично це від'ємний логарифм ймовірності правильної відповіді: Loss = -log(p).

Інтерактив — функція втрат
Ймовірність правильного слова: 50%
Loss = −log(p)
0.69
Оцінка
Середньо

7 Градієнтний спуск

Як модель виправляє помилки? У неї мільярди чисел-параметрів (ваги). Уяви, що loss — це висота гірського ландшафту, а параметри — координати на карті. Задача: знайти найнижчу точку. Модель робить маленькі кроки «вниз по схилу» — це і є градієнтний спуск.

Інтерактив — градієнтний спуск
Крок: 0   Loss:   Градієнт:
Клікніть на графік, щоб поставити кульку в іншу точку

Learning rate (швидкість навчання) — це розмір кроку, яким модель рухається до мінімуму на кожній ітерації. В інтерактиві це буквально довжина стрілки. Занадто великий — кулька «перестрибує» мінімум і не збігається. Занадто малий — навчання працює, але дуже повільно. Підбір оптимального learning rate — одне з ключових рішень при тренуванні моделі. У реальності тут не одна крива, а ландшафт у мільярдах вимірів.

8 Зворотне поширення (Backpropagation)

Як дізнатись градієнт для кожного з мільярдів параметрів? Помилка «протікає назад» від виходу до входу через усі шари. Кожен параметр дізнається, наскільки саме він відповідальний за помилку — це правило ланцюжка (chain rule).

Покроково — цикл тренування

9 Як loss падає з часом

Модель обробляє пакети тексту, і після кожного кроку loss трохи зменшується. На початку модель генерує сміття, через тижні — зв'язний текст, через місяці — розумні відповіді.

Інтерактив — крива тренування
Шум
Граматика
Текст
Знання
Прогрес: 0%
Підсумок частини II: Дані (трильйони слів) → задача (вгадати наступне слово) → loss (−log ймовірності) → backpropagation (помилка назад через шари) → оновлення ваг (крок проти градієнта) → повтор мільйони разів.
Частина III — Fine-tuning

10 Від тексту до асистента (SFT)

Після базового тренування модель вміє продовжувати текст — але не вміє відповідати на запитання. Якщо написати «Яка столиця Франції?», вона може продовжити: «А яка столиця Німеччини? А Іспанії?» — бо в інтернеті так часто пишуть.

Supervised Fine-Tuning (SFT) — це коли моделі показують тисячі прикладів «запитання → правильна відповідь», написаних людьми. Вона вчиться відповідати замість того, щоб просто продовжувати.

Інтерактив — до і після SFT
Базова модель
Після SFT
Натисніть на приклади вгорі, щоб побачити різницю

Зверни увагу: базова модель знає відповідь (вона засвоїла факти під час тренування) — але не знає формату. SFT вчить саме формату: відповідай коротко, структуровано, корисно.

11 RLHF: навчання з відгуків людей

Навіть після SFT модель може відповідати токсично, вигадувати факти або бути занадто багатослівною. RLHF (Reinforcement Learning from Human Feedback) — це коли люди порівнюють варіанти відповідей і вибирають кращий. З цих оцінок модель вчиться, що «добре», а що «погано».

Інтерактив — оціни як людина
Прогрес:
0/4

Процес RLHF: 1) зібрати пари відповідей, 2) люди вибирають кращу, 3) натренувати reward model (модель оцінки), 4) оптимізувати LLM, щоб вона отримувала високі оцінки від reward model.

12 LoRA: ефективна адаптація

Повний fine-tuning змінює всі мільярди параметрів — це дорого і повільно. LoRA (Low-Rank Adaptation) — розумний трюк: заморозити основну модель і додати маленькі матриці-адаптери. Замість оновлення величезної матриці W, додаємо добуток двох маленьких: ΔW = A × B.

Інтерактив — LoRA: заморожена модель + адаптер
Ранг (r): 8
Параметрів у W
Параметрів у LoRA
Економія
Рухайте повзунок, щоб змінити ранг — баланс між якістю та ефективністю

При ранзі r=8 замість 4 мільйонів параметрів оновлюємо лише ~32 тисячі — це в 125 разів менше. Якість при цьому залишається близькою до повного fine-tuning. Саме тому LoRA став стандартом для адаптації великих моделей.

Підсумок частини III: Базова модель (pre-trained) → SFT (вчиться формату відповідей на прикладах людей) → RLHF (вчиться з порівнянь «краща/гірша відповідь») → LoRA (ефективна адаптація без зміни всіх ваг).

Разом ці три етапи перетворюють «генератор тексту» на корисного, безпечного AI-асистента.
Частина IV — Інференс та оптимізація

13 Токенізація (BPE)

Модель не бачить букв і слів — вона працює з токенами. Токенізатор розбиває текст на шматочки за алгоритмом BPE (Byte Pair Encoding): спочатку кожна буква — окремий токен, потім найчастіші пари зливаються. Результат: часті слова = 1 токен, рідкісні = кілька.

Інтерактив — як токенізатор бачить текст
Символів
Токенів
Символів / токен
Натисніть на приклад — побачите, як модель «бачить» текст. Спробуйте свій текст →

Зверни увагу: «Hello world» — лише 2 токени, а «Привіт світ» — цілих 7. Тому LLM «витрачає» більше ресурсів на неанглійський текст — одна з причин, чому моделі краще працюють англійською.

14 KV-кеш: чому генерація прискорюється

Коли модель генерує текст, вона щоразу рахує attention для всіх попередніх токенів. Але Key і Value для вже згенерованих токенів не змінюються! KV-кеш зберігає їх — і на кожному кроці рахується attention тільки для нового токена.

Інтерактив — генерація з KV-кешем
Всього без кешу
Всього з кешем
Прискорення
кешовано (K,V) нове обчислення ще не згенеровано
Натискайте «Наступний токен» і спостерігайте, як кеш росте

Чим довший текст, тим більша перевага кешу: для 100 токенів без кешу потрібно понад 170 тисяч обчислень attention, а з кешем — лише ~5 тисяч. Прискорення в 30+ разів. Ціна — пам'ять під кеш, яка зростає з довжиною тексту.

15 Квантизація: стиснення моделі

Кожен параметр моделі — число з плаваючою комою. При тренуванні використовують 16-бітну точність (FP16). Квантизація — це зменшення точності до 8, 4, або навіть 2 біт. Менше біт = менше пам'яті = швидший інференс, але з втратою якості.

Інтерактив — квантизація ваг
Розмір моделі (7B)
RAM потрібно
Якість
Оберіть точність — побачите як змінюється розмір та якість

На практиці 4-бітна квантизація (Q4) — золота середина: модель на 7B параметрів займає ~4 ГБ замість 14 ГБ, а якість падає лише на 1–3%. Саме тому моделі на телефонах і ноутбуках — це майже завжди квантизовані версії.

Підсумок частини IV: Текст розбивається на токени (BPE) → під час генерації KV-кеш зберігає вже обчислені ключі/значення (прискорення в десятки разів) → квантизація зменшує точність ваг (16→4 біт), стискаючи модель у 4 рази майже без втрати якості.
Частина V — Контекст та масштаб

16 Позиційне кодування (RoPE)

Attention сам по собі не знає порядку слів — для нього «кіт з'їв рибу» і «рибу з'їв кіт» — просто однаковий набір токенів. Потрібен спосіб закодувати позицію кожного слова.

RoPE (Rotary Position Embedding) робить це елегантно: уяви, що вектор кожного токена — це стрілка компаса. RoPE обертає цю стрілку на кут, пропорційний позиції: слово на позиції 0 — вказує вверх, на позиції 3 — трохи вправо, на позиції 10 — значно вправо.

Чому саме обертання? Коли модель обчислює attention між двома словами, вона порівнює їхні вектори (скалярний добуток). Оскільки вектори обернені, результат залежить від різниці кутів — тобто від відстані між словами. Близькі слова → схожий кут → висока увага. Далекі → різний кут → нижча увага. І головне: слова на позиціях 3 і 5 мають ту саму різницю кутів, що й слова на позиціях 100 і 102 — значення має лише відносна відстань.

Інтерактив — як обертання кодує відстань
Відстань
Кут між векторами
Сила уваги
Натисни на слова або рухай повзунки — побач, як відстань між словами визначає силу уваги

Реальний RoPE використовує різні швидкості обертання для різних вимірів вектора — одні кодують близькі зв'язки, інші — далекі. Це дозволяє моделі узагальнювати на довші контексти, ніж бачила під час тренування.

17 Контекстне вікно

Контекстне вікно (context window) — це максимальна кількість токенів, яку модель може «бачити» одночасно: і твій запит, і свою відповідь. Все, що не вміщується у вікно, модель просто не бачить — ніби читає книжку через вузьку щілину.

Розмір вікна стрімко зростає: GPT-2 (2019) мав лише 1 024 токени, GPT-4 — до 128 000, а Claude та Gemini підтримують до 200 000–1 000 000 токенів. Але більше вікно — це більше обчислень: self-attention має складність O(n²) від довжини контексту.

Інтерактив — що вміщується в контекстне вікно
Розмір вікна
≈ сторінок тексту
≈ годин аудіо
Обери модель — побачиш, скільки тексту вміщується в її контекстне вікно

Чому це важливо на практиці? Якщо ти вставляєш у запит довгий документ — він «з'їдає» частину вікна, і на відповідь залишається менше місця. А якщо розмова довга — старі повідомлення можуть «випасти» з контексту, і модель перестане на них спиратися. Саме тому чат-боти іноді «втрачають пам'ять» у довгих діалогах.

Техніки розширення контексту: Sliding window attention обмежує увагу локальним вікном для кожного шару, зменшуючи складність. RoPE scaling дозволяє «розтягнути» позиційне кодування на довший контекст без повного перетренування. RAG (розділ 22) частково обходить обмеження вікна — замість вставки всього тексту, шукає лише релевантні фрагменти.

18 Scaling laws: закони масштабу

Одне з найважливіших відкриттів: якість моделі передбачувано зростає зі збільшенням трьох речей — кількості параметрів (N), обсягу даних (D) і обчислювальних ресурсів (C). Це — закони масштабу (scaling laws).

Формула Chinchilla: L ≈ A/Nα + B/Dβ + L, де L — loss, N — параметри, D — токени даних. Кожен фактор дає свій внесок, і є «нередуковна» помилка L, яку не можна усунути навіть нескінченними ресурсами.

Інтерактив — scaling laws
Параметри (N): 18B
Дані (D): 178B tok
Compute (C): 10²³ FLOP
Прогнозований Loss
Рівень
Вузьке місце
Рухайте повзунки — побачите, який фактор обмежує якість найбільше

Ключовий інсайт: немає сенсу збільшувати лише параметри, якщо бракує даних — і навпаки. Практичний висновок роботи Chinchilla: параметри й дані треба масштабувати збалансовано. Сучасні великі моделі часто тренують на трильйонах токенів, але точні числа для закритих систем зазвичай не розкривають.

19 Mixture of Experts (MoE)

Звичайний трансформер активує всі параметри на кожному токені. MoE — це хитрий трюк: feed-forward шар замінюється на кілька «експертів» (окремих підмереж), і маршрутизатор (router) для кожного токена вибирає лише 1–2 з них.

Результат: модель може мати 141 мільярд параметрів (як Mixtral 8x22B), але на кожному токені працюють лише ~39B — це майже в 4 рази менше. Швидкість як у маленької моделі, якість як у великої.

Інтерактив — маршрутизація токенів до експертів
Натисніть на токен — побачите, до яких експертів він маршрутизується

Кожен експерт спеціалізується: один краще працює з кодом, інший — з математикою, третій — з мовами. Маршрутизатор вчиться направляти кожен токен до найрелевантніших експертів. MoE став дуже важливим підходом у сучасних великих моделях, але точні архітектури комерційних систем часто не розкриваються публічно.

Підсумок частини V: Позиційне кодування (RoPE) дозволяє моделі розрізняти порядок слів через «обертання» векторів → контекстне вікно визначає, скільки тексту модель бачить одночасно → scaling laws передбачують якість моделі від розміру, даних і compute → MoE дозволяє мати величезну модель, активуючи лише малу частину параметрів на кожному токені.
Частина VI — Застосування

20 Prompt engineering

Модель — це інструмент, і результат залежить від того, як ти формулюєш запит. Prompt engineering — набір технік, що дозволяють отримати кращі відповіді без зміни самої моделі.

Інтерактив — техніки промптингу
Промпт
Відповідь моделі
Натисніть на техніку — побачите, як змінюється промпт і якість відповіді

Порада: комбінуй техніки. System prompt задає роль, few-shot — формат, а покрокові інструкції іноді допомагають у складніших задачах. Це працює, бо модель генерує «продовження» промпту — і чим кращий контекст ти даси, тим кориснішим зазвичай буде результат.

21 Галюцинації

Модель не зберігає знання як перевірену енциклопедію — вона генерує найімовірніше продовження тексту. Іноді це продовження виглядає правдоподібно, але містить вигадані або змішані факти. Це називають галюцинацією (hallucination): модель впевнено видає неправду, бо статистично ці слова добре пасують одне до одного.

Чому це відбувається? Модель оптимізована на правдоподібність, а не на гарантовану правдивість. Вона не має вбудованого механізму фактчекінгу і не перевіряє кожну тезу сама по собі — просто продовжує текст найімовірнішим чином.

Інтерактив — знайди галюцинацію
Модель відповіла на запитання. Одне з тверджень — галюцинація. Яке саме? Обери одне.
Рахунок
0 / 3
Натисни на те твердження, яке вважаєш вигаданим

Як зменшити галюцинації: RAG (наступний розділ) дає моделі реальні документи; нижча температура іноді робить відповіді стриманішими; перевірка джерел і явне прохання позначати невпевненість допомагають виявляти ризиковані місця. Покрокові промпти можуть допомогти з міркуванням, але не гарантують фактичності. Жоден метод не усуває галюцинації повністю.

22 RAG: пошук знань

Модель спирається лише на те, що бачила під час тренування, якщо не дати їй зовнішній контекст. Для свіжих або приватних даних використовують RAG (Retrieval-Augmented Generation): спочатку шукаються релевантні документи, потім вставляються у промпт як контекст.

Інтерактив — RAG крок за кроком

Без RAG модель частіше спирається лише на пам'ять параметрів і може вигадати відповідь. З RAG вона частіше спирається на реальні документи й може цитувати джерела, але відповідь усе одно варто перевіряти. Це дозволяє використовувати LLM для роботи з корпоративними базами знань, документацією, юридичними текстами.

23 Агенти та інструменти

Сама по собі модель лише генерує текст. Але якщо дати їй інструменти (пошук, калькулятор, API, код) — вона стає агентом: аналізує задачу, вирішує який інструмент використати, викликає його, обробляє результат і продовжує.

Інтерактив — агентний цикл
Натискайте «Наступний крок» — побачите, як агент думає, діє і отримує результати

Сучасні агенти можуть: писати і запускати код, шукати в інтернеті, працювати з файлами, викликати API, навіть керувати іншими агентами. Ключова ідея — цикл «думка → дія → спостереження» повторюється, доки задача не вирішена.

Підсумок частини VI: Prompt engineering покращує відповіді без зміни моделі → галюцинації — фундаментальна проблема генеративних моделей, що вигадують правдоподібні, але хибні факти → RAG зменшує галюцинації, додаючи зовнішні знання → агенти дають моделі інструменти для взаємодії зі світом.

— Кінець мінікурсу —