ПЕРЕД ПОЧАТКОМЯк читати глосарій
Кожна стаття тут — це чотири речі. Назва українською й англійською поруч, бо працювати ти будеш з англомовною документацією, а думати українською. Означення на одне-два речення, без формул: якщо поняття без математики не пояснити, стаття каже про це прямо й відсилає до теми. Номер теми, де поняття розбирають докладно. І, де потрібно, нотатка — про плутанину з сусіднім терміном або про те, чим українська мова відрізняється від англійської саме в цьому місці.
ПРИНЦИПЯк обирали назви
Правило перше: українська назва, якщо відповідник усталений. Слово, речення, корпус, словник, частота, класифікація, переклад, схожість — усе це давно має українські назви, і вигадувати нічого не треба.
Правило друге: англійська назва, якщо української немає або калька гірша за оригінал. Термінологія обробки мови молода — більшість понять їй не старші за десять років, і частина з них ще не встигла обрости українськими відповідниками. Поганий переклад тут шкідливіший за чесне запозичення: він відрізає читача від документації й від пошуку.
Правило третє: обидві назви завжди поруч. Навіть там, де український відповідник очевидний, англійський стоїть поруч — щоб ти впізнав його в чужому коді.
Правило четверте: де переклад спірний, глосарій обирає один варіант і називає інші. Таких місць у цьому курсі більше, ніж у решті: української термінології обробки мови досі ніхто не звів докупи, тож нижче не переказ чужого словника, а рішення, яких курс триматиметься до кінця.
РІШЕННЯСпірні терміни: що обрано
Дванадцять місць, де вибір неочевидний. Стовпчик «чому» коротко — розгорнуте обґрунтування чекає в самій статті.
| Оригінал | Наш варіант | Чому не інакше |
|---|---|---|
| token | токен | «Лексема» вже означає словникову одиницю — це радше лема, а не шматок слова |
| embedding | ембединг | «Вкладення» зайняте математикою й читається як «внесок», «вбудовування» описує іншу дію |
| attention | увага | Пряма й прозора назва; механізм уваги вже так і зветься |
| self-attention | self-attention | «Самоувага» українською читається як риса характеру, а не як операція |
| transformer | трансформер | «Перетворювач» — загальне слово для будь-чого, що щось перетворює |
| fine-tuning | донавчання | «Тонке налаштування» плутають із добором гіперпараметрів, а це інша операція |
| subword | субслово | «Підслово» у теорії формальних мов означає просто фрагмент рядка |
| stemming | стемінг | Українського відповідника немає, а сама операція для української майже не працює |
| bag of words | мішок слів | Метафора точна: мішок не зберігає порядку — саме це модель і робить |
| prompt | промпт | «Запит» уже двічі зайнятий: пошуковим запитом і Query в увазі |
| hallucination | галюцинація | Метафора прижилась; «вигадка» натякає на намір, якого в моделі немає |
| beam search | beam search | «Променевий пошук» вводить в оману: нічого променевого там немає |
ПОКАЖЧИКАбетковий покажчик
Українські назви
Англійські назви
fine-tuning — стаття «Донавчання», embedding —
«Ембединг», attention — «Увага», token — «Токен»,
bag of words — «Мішок слів», encoder / decoder —
«Енкодер» і «Декодер», NER — «Розпізнавання іменованих сутностей»,
LLM — «Велика мовна модель», MLM — «Маскована мовна модель»,
perplexity — «Перплексія», vocabulary — «Словник моделі», gazetteer — «Газетир», reranking — «Переранжування», contrastive loss — «Контрастна втрата», Cohen’s kappa — «Каппа Коена», Viterbi — «Алгоритм Вітербі», KL penalty — «Штраф KL».СТАТТІА — Ш
А
Авторегресія autoregression
Спосіб породжувати текст, коли модель передбачає лише наступний токен, спираючись на всі попередні, і одразу подає власний вихід собі ж на вхід. Так пишеться відповідь чат-моделі: слово за словом, зліва направо.
Де вводиться · тема 28 · GPT-родина
Не плутай. Авторегресійна модель бачить лише те, що ліворуч. Тому вона добре продовжує текст, але гірше «зважує» речення цілком, ніж двонаправлена модель на кшталт BERT — і навпаки.
Адаптер adapter
Маленький навчальний блок, вставлений між шарами замороженої моделі. Донавчаючи лише його, дістаємо нову поведінку, не чіпаючи оригінальних ваг.
Де вводиться · тема 39 · PEFT і LoRA
Не плутай із LoRA. Адаптер — окремий шар у ланцюжку, тож він додає роботи на кожному виведенні. Поправка LoRA після навчання вливається в саму матрицю, і затримка не змінюється зовсім. Це головна практична різниця між ними.
Алгоритм Вітербі Viterbi algorithm
Спосіб знайти найкращу послідовність міток, не перебираючи всіх: іти зліва направо й для кожної позиції та кожної мітки памʼятати лише найкращий шлях, що в неї приводить. Коштує довжина × кількість_міток² дій замість кількість_мітокдовжина.
Де вводиться · тема 32 · NER, назва вперше промайнула в темі 31 · Як модель породжує текст
Звідки така економія. Для 30 токенів і 7 міток — близько півтори тисячі дій замість числа з 25 нулів. Працює лише тоді, коли оцінка рядка розкладається на внески сусідніх пар міток, — саме таку оцінку дає CRF.
Аналіз тональності sentiment analysis
Задача визначити, яке ставлення виражає текст: схвальне, зневажливе чи нейтральне. Класичний приклад — відгуки про товар.
Де вводиться · тема 35 · Аналіз тональності в бою
Пастка. Тональність живе не в словах, а в контексті. Сарказм, заперечення й галузевий жаргон ламають будь-який список «поганих» і «хороших» слів, а модель, навчена на відгуках про готелі, на відгуках про банки працює гірше.
Аналогія векторів word analogy
Перевірка, чи зберігає простір ембедингів співвідношення між поняттями: якщо від вектора «король» відняти «чоловік» і додати «жінка», найближчим має виявитись «королева».
Де вводиться · тема 14 · Арифметика векторів
Українська специфіка. Для української аналогії працюють гірше, ніж для англійської: одне слово розсипане на десятки словоформ, і різниця «королю — королеві» за відмінком змішується з різницею «король — королева» за змістом.
А на нашому корпусі вони не працюють майже зовсім, і це заміряно. На 9027 четвірках із семи граматичних відношень, зібраних машиною без жодного добору, правильна відповідь виявляється першою у 4.11 % випадків. Жодне з семи відношень не перетинає 10 %. Гірше: 0.6194 усіх «успіхів» існують лише завдяки виключенню слів запиту — чиста арифметика без цього фільтра дає 1.57 %. Причина видна геометрично: сталість зсуву тримається на 0.08-0.36, тобто кути між зсувами 69-85°, і паралелограм не сходиться.
Анізотропія простору ембедингів anisotropy
Властивість навченого простору, у якій усі вектори дивляться приблизно в один бік. Тоді косинус між двома випадковими словами виявляється далеко не нульовим, і шкала схожості з’їжджає: 0.6 може означати «нічого спільного».
Де вводиться · тема 15 · Оцінка й упередженість ембедингів
Це властивість прогону, а не методу. Той самий skip-gram на тому самому корпусі дає середній косинус між усіма парами слів 0.1576, 0.3980 або 0.6083 залежно від кількості епох і налаштувань — теми 12, 14 і 15 відповідно. Тому число має сенс лише разом із конфігурацією. Прибрати анізотропію можна двома способами: узяти суму центральної й контекстної матриць або відняти від кожного вектора середній вектор словника. Не плутай друге з «прибиранням першої головної компоненти» — головні компоненти рахуються від середнього й найсильнішого спільного напрямку не бачать.
Б
Багатоголова увага multi-head attention
Кілька механізмів уваги, що працюють над тим самим реченням паралельно й незалежно. Голови справді розходяться — але не так, як пишуть у підручниках: у нашій моделі розходження між ними здобуте навчанням (0.3529 проти 0.0425 у ненавченої), і поділ вийшов позиційний, а не граматичний — на другому шарі дві голови віддають початку речення 0.9826 і 0.9253 своєї ваги, тоді як інша тримається найближчих сусідів.
Де вводиться · тема 23 · Multi-head, позиційне кодування, маскування
Термінологія. Частину механізму звемо голова (head) — і в цій статті, і всюди далі. «Головка» й «вузол» не вживаємо: голова вже усталена в перекладах і не плутається ні з чим іншим у курсі.
Багатомовна модель multilingual model
Одна модель, натренована одразу на текстах десятків мов зі спільним словником субслів — mBERT, XLM-R. Вона не має окремої «української частини»: усі мови ділять одні й ті самі ваги.
Де вводиться · тема 30 · Багатомовність і українська
Українська специфіка. Українська в таких моделях є, але її частка в тренувальних даних мала. Наслідок видно одразу: спільний словник ділить українські слова дрібніше за англійські, тож те саме за змістом речення коштує більше токенів — а отже, більше памʼяті, часу й грошей.
Базовий рівень baseline
Найпростіше рішення задачі, яке нова модель мусить перемогти, щоб її взагалі варто було обговорювати. Без нього будь-яке число виглядає добрим.
Де вводиться · тема 14 · Арифметика векторів
База має бути дурною, але не безглуздою. У темі 14 базою для аналогії служить «просто візьми найближче слово до c, без жодної арифметики»: вона дає 0.0127, а сама арифметика — 0.0411. Виграш є, але саме база показує, наскільки він скромний.
Бредлі-Террі Bradley–Terry
Спосіб перетворити пари «А краще за Б» на числову оцінку: ймовірність того, що А переможе, задається різницею оцінок. Так учать модель винагороди, коли розмітники дали не бали, а порівняння.
Де вводиться · тема 38 · Instruction tuning і RLHF
Пастка. Втрата залежить лише від різниці оцінок, тож сама оцінка визначена з точністю до довільного зсуву: два прогони на тих самих даних можуть дати оцінки, зсунуті на будь-яку сталу. Тому винагороду між зернами порівнюють лише як приріст — у курсі від значення при n = 1 усередині того самого прогону.
В
Вагова функція GloVe weighting function
Множник, з яким кожна пара «слово — контекст» входить у похибку GloVe. Зростає з частотою пари, але зі стелею: після порогу x_max вага перестає рости.
Де вводиться · тема 13 · GloVe і FastText
Це не косметика. Без стелі кілька найчастіших пар («не» з усім підряд) з’їдають усю похибку, і модель вчиться майже лише на них. Показник 0.75 і стеля — те, що взагалі робить метод робочим.
Вектор контексту context vector
Один вектор фіксованої довжини, у який енкодер стискає все вхідне речення, щоб передати декодерові.
Де вводиться · тема 19 · seq2seq і машинний переклад
Звідки взялася увага. Саме цей вектор і є вузьке горло seq2seq: речення на сорок слів не влазить у ту саму довжину, що й речення на пʼять. З цієї проблеми виріс механізм уваги.
Вузьке горло заміряно (тема 19). Частка правильних токенів має горб на джерелі в три слова (0.4458) і падає до 0.3449 на восьми; від чотирьох до восьми — −0.0764 ±0.0032. ⚠️ Але дослід із утричі коротшим вектором (64 замість 192) не підтвердив, що винен саме розмір: якість упала скрізь, а нахил кривої зсунувся лише на +0.0052 при сумі розкидів 0.0065. Вузьке горло існує; приписати його розмірові вектора цей замір не дозволяє. На задачі-копії без надмірності (тема 20) розмір справді вирішує: стеля росте з 0.1428 до 0.7200 при H від 16 до 256.
Векторна база vector database
Сховище, що зберігає ембединги разом із текстами й уміє швидко знаходити найближчі до заданого вектора — основа семантичного пошуку.
Де вводиться · тема 36 · RAG і векторні бази
Велика мовна модель large language model, LLM
Мовна модель із мільярдами параметрів, натренована на дуже великому корпусі текстів. Від меншої вона відрізняється не будовою, а масштабом — і саме масштаб дає їй уміння, яких у малої немає.
Де вводиться · тема 37 · Що змінює масштаб
Не плутай. «Велика» тут — про кількість параметрів і обсяг тренувальних даних, а не про довжину тексту, який модель здатна прочитати за раз. Це різні речі: див. «Довжина контексту».
Виключення слів запиту exclusion of query words
Загальноприйнятий прийом при перевірці аналогій: із кандидатів на відповідь заздалегідь викидають три слова самого запиту. Інакше найближчим до «Париж − Франція + Італія» найчастіше виявляється сам «Париж».
Де вводиться · тема 14 · Арифметика векторів
Прийом непомітно приписує собі результат. На нашому корпусі без фільтра першою відповіддю виявляється слово самого запиту у 64.26 % випадків, а 0.6194 усіх «успіхів» існують тільки завдяки викиданню: чиста арифметика дає 0.0157 замість 0.0411. Тому точність аналогій без згадки про фільтр не означає нічого.
Вікно контексту context window
Скільки слів навколо цільового слова модель вважає його оточенням, коли вчиться на дистрибутивній гіпотезі. Типово два-пʼять слів ліворуч і стільки ж праворуч.
Де вводиться · тема 12 · Word2Vec
Не плутай. Вікно контексту в Word2Vec і довжина контексту трансформера — різні поняття з майже однаковими назвами. Перше — це кілька сусідніх слів під час навчання, друге — скільки тексту модель тримає на вході взагалі.
Внутрішня і зовнішня оцінка intrinsic / extrinsic evaluation
Два способи спитати «чи хороші ембединги». Внутрішня дивиться на самі вектори: чи близькі синоніми, чи працюють аналогії. Зовнішня ставить їх у справжню задачу й міряє її якість.
Де вводиться · тема 15 · Оцінка й упередженість ембедингів
Вони можуть відповісти протилежне, і обидві не збрешуть. У темі 15 внутрішня оцінка сказала «ембединги кращі за TF-IDF» (AUC 0.9222 проти 0.8586), а зовнішня на задачі теми 06 — «гірші на 0.1775 F1 при розкиді 0.0041». Вирішує зовнішня: саме заради неї модель і будують.
Г
Газетир gazetteer
Готовий список назв — організацій, програм, місць, — які шукають у тексті прямим збігом. Слово прийшло з географії, де так звали покажчик назв на мапі.
Де вводиться · тема 32 · NER
Ламається на реченні, а не на списку. Газетир не бачить контексту: назва, що збігається зі звичайним словом, стає сутністю скрізь, де це слово трапилось. Українське відмінювання ламає його вдруге — у списку стоїть називний відмінок, а в тексті будь-який із семи.
Галюцинація hallucination
Впевнена відповідь моделі, не підкріплена ні даними, ні джерелом: вигаданий факт, неіснуюче посилання, неправильно названа дата. Ознака не помилки в коді, а самої природи моделі — вона породжує правдоподібне, а не правдиве.
Де вводиться · тема 40 · Межі мовних моделей
Ухвалено: галюцинація. Метафора наукового змісту не має — модель нічого не сприймає, тож і галюцинувати їй нічим. Але вона вже прижилась і українською, і в оригіналі, і замінювати її на «вигадку» гірше: вигадка натякає на намір, а наміру в моделі немає. Тому лишаємо назву, а в означенні кажемо точно. «Конфабуляція» точніша психологічно, але непрозора для читача.
Гапакс hapax legomenon
Слово, що трапилось у корпусі рівно один раз. Таких — третина словника (33.9 % у корпусі блоку, 38.7 % за іншим токенізатором), а серед біграм — 66.3 %.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Чому це не лікується більшими даними. Хоч скільки тексту збери, третину словника ти бачив рівно раз — і статистики по ній не маєш. Це прямий наслідок закону Ципфа, а не вада конкретного корпусу.
Гейт gate
Вентиль усередині LSTM або GRU: маленький вузол, що вирішує, яку частку інформації пропустити далі, а яку забути. Не перемикач «так або ні», а плавний множник від нуля до одиниці.
Де вводиться · тема 18 · LSTM і GRU
Термінологія. Вживаємо і «гейт», і «вентиль» — обидва зрозумілі. «Ворота» не вживаємо: множина без однини незручна в реченні («вхідні ворота вирішують» звучить як про фортецю).
Яким гейт народжується (тема 18). Зсув нульовий, тож сигмоїда дає рівно 0.5; заміряно 0.4908…0.4979. Підняття зсуву гейта забування на одиницю — один рядок коду — переводить його в 0.7169…0.7257 і зсуває результат на задачі памʼяті на 0.2495, тоді як різниця між двома різними архітектурами на тій самій задачі — 0.7620. Тобто одна константа важить того ж порядку, що й вибір архітектури. Це відома рекомендація з літератури, і наш замір підтверджує її частково: розрив вужчає, але не закривається.
Гешування субслів subword hashing, buckets
Прийом справжнього FastText: різних символьних шматків мільйони, тож кожен відображають у фіксовану кількість комірок геш-функцією. Різні шматки можуть потрапити в одну комірку й ділити вектор.
Де вводиться · тема 13 · GloVe і FastText
Зіткнення тут — не аварія, а плата. Пам’ять стає сталою й не залежить від корпусу, а ціна — випадкове змішування кількох шматків в одному векторі.
Голова моделі head
Надбудова над тілом моделі, яка перетворює його вектори на відповідь конкретної задачі. У передтренуванні це голова маскованої моделі, у класифікації — лінійний шар над [CLS], у розмітці токенів — шар над кожною позицією.
Де вводиться · тема 26 · BERT
Голову викидають. Саме в цьому вся механіка переносу: тіло лишається, голова змінюється під нову задачу. Тема 27 показує чотири форми задач, і в усіх чотирьох тіло те саме.
Граматичні ознаки grammatical tags
Частина мови, відмінок, число, рід, час — усе, що морфологічний аналізатор повертає разом із лемою.
Де вводиться · тема 03 · Морфологія: лематизація і стемінг
Лематизація — це «розділити слово на лему й ознаки, а потім ознаки викинути». Саме тому вона іноді шкодить: у задачі «однина чи множина», розміченій перекладачами вручну, словоформи дають 0.8582, а леми — 0.5275 при монетці 0.5000. Ознаки, які викинули, і були відповіддю.
Д
Двонаправленість bidirectionality
Здатність моделі під час обробки слова бачити одночасно і те, що ліворуч, і те, що праворуч. Так працює BERT — і саме тому він не вміє продовжувати текст.
Де вводиться · тема 26 · BERT
Декодер decoder
Частина моделі, що породжує вихідну послідовність — переклад, відповідь, переказ — крок за кроком, спираючись на те, що вже написала, і на подання від енкодера.
Де вводиться · тема 19 · seq2seq і машинний переклад
Ухвалено: енкодер і декодер. «Кодувальник» і «розкодувальник» не вживаємо: слово «кодування» в курсі вже зайняте кодуванням символів (UTF-8, Unicode) і позиційним кодуванням. Три різні «кодування» на одній сторінці — гарантована плутанина, а латинські корені її знімають.
Декодування decoding
Процедура, за якою модель обирає наступний токен із розподілу ймовірностей: узяти найімовірніший (жадібне декодування), тримати кілька версій відповіді одночасно (beam search) або тягнути навмання (семплювання).
Де вводиться · тема 19 · seq2seq і машинний переклад
Важливо. Декодування — це не частина моделі, а спосіб її читати. Та сама навчена модель із різними стратегіями декодування дає помітно різні відповіді, і жодного перенавчання для цього не потрібно.
Дистрибутивна семантика distributional semantics
Підхід, що виводить значення слова з його оточення: слова, які трапляються в схожих контекстах, мають схоже значення. Коротко — «слово пізнається за компанією».
Де вводиться · тема 11 · Дистрибутивна семантика
Звідки назва. Саме твердження звуть гіпотезою Гарріса (Zellig Harris, 1954), а найвідоміше його формулювання належить Джонові Ферту: «слово пізнається за компанією, яку воно водить». Окремої статті на гіпотезу немає — це та сама ідея, названа іменем.
Межа підходу. Оточення схоплює не лише значення, а й ставлення: антоніми («холодний» і «гарячий») стоять у майже однакових контекстах, тому їхні вектори виходять підозріло близькими. У темі 11 це заміряно: пара «увімкнути · вимкнути» дає 0.4282 — більше за будь-яку пару синонімів.
Довжина контексту context length
Скільки токенів модель здатна тримати на вході за один раз. Усе, що не влізло, для неї просто не існує.
Де вводиться · тема 24 · Навчання трансформера
Українська специфіка. Довжину міряють у токенах, а не в словах. Українське речення в тому самому токенізаторі дає більше токенів, ніж англійське того самого змісту, — тож обмеження на практиці для української жорсткіше, ніж здається з документації.
Донавчання fine-tuning
Продовження навчання вже готової моделі на своїх, зазвичай невеликих, даних під конкретну задачу. Модель приходить із загальним знанням мови, а ти доучуєш її відрізняти скарги від подяк.
Де вводиться · тема 25 · Ідея передтренування, докладно — тема 27 · BERT у роботі
Ухвалено: донавчання. Слово каже рівно те, що відбувається: навчання, яке продовжили. Воно відмінюється, дає дієслово «донавчати» й дієприкметник «донавчений» — з калькою так не вийде. «Тонке налаштування» відкидаємо з конкретної причини: воно звучить як крутіння ручок, тобто як добір гіперпараметрів, а це зовсім інша операція, яку читач уже вивчив у курсі машинного навчання. Варіанти «файнтюнінг» і «тюнінг» лишаємо розмовними — у тексті курсу їх немає.
Донавчання на вказівках instruction tuning · також «донавчання на інструкціях»
Донавчання мовної моделі на прикладах виду «вказівка → вхід → відповідь», щоб вона виконувала прохання, а не просто продовжувала текст. Обіцянка методу — перенесення на завдання, яких модель у такому вигляді не бачила.
Де вводиться · тема 38 · Instruction tuning і RLHF
Перевіряти обережно. Щоб чесно міряти перенесення в режимі zero-shot, відповідь мусить бути лексично досяжною: якщо відповіді нового завдання — токени, які трапляються тільки в ньому, модель не обере їх ніколи, і нуль вийде за побудовою, а не через відсутність перенесення.
Чому це переломний момент. Модель, натренована передбачати наступне слово, на прохання «переклади це речення» природно відповідає продовженням на кшталт «на англійську або на польську». Донавчання на вказівках і перетворює її на співрозмовника.
Дрейф concept drift
Зміна в часі: те, про що люди пишуть, і те, як вони це пишуть, поступово стає іншим, і модель, навчена торік, помиляється сьогодні частіше. Слово може навіть змінити знак: те, що вчора хвалили, сьогодні лають тим самим словом.
Де вводиться · тема 35 · Аналіз тональності в бою
Не плутай із зсувом домену. Зсув — це різниця між джерелами (відгуки про готелі проти відгуків про банки), і його видно одразу, щойно спробуєш інше джерело. Дрейф — це різниця між періодами, і на відкладеній частині його не видно взагалі: скільки не перераховуй якість на тих самих даних, зібраних у той самий час, вона покаже те саме число. Побачити дрейф можна лише одним способом — продовжувати міряти в бою.
Е
Еквіваріантність щодо перестановки permutation equivariance
Властивість дії: якщо переставити вхідні елементи, вихід переставиться так само. Саме така увага без позиційного кодування — вона не бачить порядку слів, бо softmax(QKᵀ/√d)V еквіваріантна щодо перестановки позицій: переставиш вхід — переставиться вихід, а не лишиться той самий.
Де вводиться · тема 21 · Архітектура і чому витіснила RNN
Не «інваріантність». Інваріантність — це коли вихід від перестановки не змінюється взагалі. Тут інше: він змінюється рівно так само, як вхід. Різниця принципова, бо саме через неї трансформерові потрібне позиційне кодування: без нього «пес вкусив листоношу» і «листоноша вкусив пса» дають ті самі вектори, тільки в іншому порядку.
Ембединг embedding
Вектор із кількох сотень чисел, яким модель подає слово, речення чи документ так, щоб близькі за змістом речі стояли поруч у цьому просторі. Числа не задають руками — їх знаходить навчання.
Де вводиться · тема 12 · Word2Vec, оцінка — тема 15 · Оцінка й упередженість ембедингів
Ухвалено: ембединг. Українського відповідника, який би
прижився, немає, а всі кандидати гірші за запозичення. «Вкладення» вже зайняте
математикою (вкладення одного простору в інший) і в побуті означає внесок чи
додаток до листа — «вкладення слова» читається дивно. «Вбудовування» описує іншу
дію: щось кудись вставили. «Занурення» звучить красиво, але нічого не пояснює.
Пишемо з однією д: подвоєння в загальних назвах іншомовного походження
не зберігаємо. У тексті вільно вживаємо описове «векторне представлення» — воно
зрозуміле й не потребує пояснень.
Ембединг речення sentence embedding
Один вектор на ціле речення або абзац — так, щоб два переказаних різними словами речення опинились поруч. Основа семантичного пошуку.
Де вводиться · тема 36 · RAG і векторні бази
Пастка. Просто усереднити ембединги слів — погана ідея: «собака вкусив листоношу» й «листоноша вкусив собаку» дадуть однаковий вектор. Потрібна модель, спеціально навчена саме на реченнях.
Енкодер encoder
Частина моделі, що читає вхідний текст цілком і перетворює його на внутрішнє подання — набір векторів, з якого далі працюють інші частини.
Де вводиться · тема 19 · seq2seq і машинний переклад
З
Завчання memorization · також «запамʼятовування навчальних даних»
Здатність моделі відтворити шматок навчального корпусу дослівно. Не збій навчання, а його побічний наслідок: рідкісний рядок легше «запамʼятати», ніж узагальнити.
Де вводиться · тема 40 · Межі мовних моделей
Число, яке варто памʼятати. На стенді курсу секрет, що трапився в корпусі рівно один раз, у восьми вимірах із девʼяти вже виходив на перше місце серед двох тисяч альтернатив, а з чотирьох копій жадібне декодування відтворювало його дослівно в шести вимірах із девʼяти. Твердження «модель не зберігає дані» у буквальному сенсі неправдиве.
Чому це важливо інженерові. Донавчивши модель на внутрішніх документах компанії, ти не «навчив її стилю» — ти поклав ці документи всередину ваг, звідки їх можна витягнути питанням.
Закон Гіпса Heaps' law
Словник росте як V ≈ k·Nβ від довжини тексту й
ніколи не насичується. Це головна відмінність тексту від таблиці: у стовпчику
таблиці скінченна множина значень, у тексті — ні.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Українська роздуває словник швидше. На паралельному корпусі β = 0.6529 ± 0.0070 проти 0.6002 ± 0.0009 англійською — різниця у 7.5 раза більша за розкид. Той самий зміст дає 1.427× словоформ.
Міряй на перемішаних документах. У натуральному порядку файлів перші тисячі слів належать одній програмі й штучно повторювані — β виходить завищеним.
Закон Ґудгарта Goodhart’s law
Щойно міра стає ціллю, вона перестає бути доброю мірою. У навчанні з винагородою це означає: оптимізуючи оцінку моделі винагороди, ми рано чи пізно починаємо псувати те, заради чого її будували.
Де вводиться · тема 38 · Instruction tuning і RLHF
Заміряно на курсі. При виборі найкращого з 32 зразків винагорода зросла на +13.29, а справжня метрика впала з 0.1384 (максимум на двох зразках) до 0.1161 — тобто гірше за випадковий вибір (0.1324) при оракулі 0.3659. Ось чому в RLHF ставлять обмеження на відхід від початкової моделі.
Закон Ципфа Zipf's law
Частота слова обернено пропорційна його рангу: найчастіше слово трапляється приблизно вдвічі частіше за друге й у сто разів частіше за соте. У корпусі блоку ранг 1 дає 31 432 входження, ранг 1000 — 122, ранг 10 000 — 5.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Нахил не має єдиного значення. На тих самих даних наївна підгонка по всьому словнику дає −1.4487, підгонка по декадах — −0.9993, а шість вікон рангів дають дванадцять різних чисел від −0.7876 до −1.4487. Жодне не «неправильне»: усі пораховані однією формулою. Називай нахил разом зі способом підгонки — інакше число нічого не означає.
Залишкове зʼєднання residual connection
Обхідний шлях, яким вхід шару додається до його ж виходу. Завдяки цьому кожен шар вчить не всю відповідь, а лише поправку до неї — і глибока мережа навчається.
Де вводиться · тема 21 · Архітектура і чому витіснила RNN
Спадщина. Термін «залишок» (residual) читач уже бачив у курсі машинного навчання. Тут це те саме поняття, просто в іншій ролі.
Заморожування freezing
Заборона змінювати частину ваг під час донавчання: нижні шари лишаються такими, якими прийшли, вчиться лише надбудова зверху. Швидше, дешевше й безпечніше, коли своїх даних мало.
Де вводиться · тема 27 · BERT у роботі
Збереження сусідства neighbourhood preservation
Міра чесності двовимірної мапи багатовимірного простору: яка частка найближчих сусідів слова лишилась сусідами після стиснення в площину.
Де вводиться · тема 14 · Арифметика векторів
Навіщо це знати. Красива картинка з двома вимірами майже завжди рве справжні сусідства. Без цього числа мапа — ілюстрація, а не доказ.
Звʼязування ваг weight tying
Прийом, у якому матриця, що перетворює слово на вектор, і матриця, що перетворює вектор назад у слово, — це одна й та сама матриця, лише транспонована.
Де вводиться · тема 26 · BERT
Навіщо. Економія помітна, і що менша модель, то вона більша: без звʼязування BERT-base важив би на 21.4 % більше (132 923 136 замість 109 482 240), а наш навчальний макет — на 78.5 % (таблиця слів це 1 044 480 ваг із 1 330 560). Причина проста: словник у макеті той самий за порядком, а решта мережі в сотні разів менша. Але головне не памʼять, а те, що обидві матриці й так мусять узгоджуватись — звʼязування просто не дає їм розʼїхатись.
Здібності, що зʼявляються стрибком emergent abilities
Уміння, яких у меншої моделі не було зовсім, а в більшої вони раптом є — наприклад, розвʼязати задачу за прикладом просто в тексті запиту, без жодного донавчання.
Де вводиться · тема 37 · Що змінює масштаб
Обережно. Частина таких «стрибків» — властивість метрики, а не моделі: якщо оцінювати відповідь як правильну лише цілком, плавне зростання виглядає як стрибок. Тема розбирає, які саме здібності витримують перевірку.
Зникомий градієнт vanishing gradient
Сигнал помилки, що згасає, поки йде назад крізь довгий ланцюг кроків, і до перших кроків доходить майже нулем. Через це проста рекурентна мережа не памʼятає початок довгого речення.
Де вводиться · тема 18 · LSTM і GRU
Спадщина. Поняття введене в курсі машинного навчання, у темі про зворотне поширення помилки. Тут воно набуває нового змісту: у рекурентній мережі довжина ланцюга дорівнює довжині тексту, тож проблема вилазить одразу.
Заміряно — але не одним прогоном. Норма градієнта, що доходить до першого кроку, проти норми на останньому, мережа при ініціалізації, H = 64, три зерна. ⚠️ Теми 18 і 20 міряли це окремо, і числа розійшлися: на 25 кроках проста RNN слабша у 4.46·10⁷ раза за темою 18 і в 3.2·10⁸ за темою 20; на 50 — у 5.68·10¹⁵ проти 2.3·10¹⁷. Порядок величини той самий, самі числа — ні, і причини ніхто не зʼясовував. Цитувати їх можна лише разом із назвою теми. Спільне й надійне тут одне: на 100 кроках градієнт дорівнює точно нулю у float32 на всіх трьох зернах в обох замірах. ⚠️ Гейти затухання не скасовують, а вповільнюють: на 50 кроках LSTM слабший приблизно у 6.5·10¹⁰ раза (6.61·10¹⁰ у теми 18, 6.4·10¹⁰ у теми 20 — тут заміри майже збіглися), тобто «в мільйон разів краще за RNN» і водночас «дуже далеко від нуля втрат». На 100 кроках LSTM теж занулюється на двох зернах із трьох.
Те саме з боку прямого ходу (тема 17). У навченої мережі вплив слова на передбачення спадає приблизно вдвічі за кожен крок назад: 0.4404 на відстані 1 і 0.0050 на відстані 8, тобто 1.1 %. Практично памʼять клітинки закінчується на четвертому-пʼятому слові.
Зсув домену domain shift
Різниця між джерелами даних: модель навчали на текстах одного походження, а працює вона на текстах іншого. Змінитись може словник, розподіл класів або сам звʼязок між словами й відповіддю — і кожна з трьох причин лікується інакше.
Де вводиться · тема 35 · Аналіз тональності в бою
Пастка середнього. Загальна якість при зсуві падає мало, і за цим числом здається, що все гаразд. Дивитись треба на зрізи по доменах — але й тут обережно: на зрізі, де меншого класу лише кілька прикладів, macro-F1 показує майже фіксоване число незалежно від якості моделі. Перш ніж лякатись поганого зрізу, перевір, чи не є він артефактом розміру. Див. також дрейф.
Зсунута PPMI shifted PPMI
PPMI, від якої перед відсіканням від’ємних значень віднімають сталу: max(0, PMI − log k). Що більше k, то більше пар обнуляється.
Де вводиться · тема 11 · Дистрибутивна семантика
Це місток до теми 12. Показано, що skip-gram із негативним семплюванням неявно розкладає саме зсунуту PPMI, де k — кількість негативних прикладів. Тобто підрахунок і навчання виявились двома дорогами до однієї матриці.
І
Інвертований індекс inverted index
Таблиця, у якій для кожного слова записано список документів, де воно трапляється. Саме так працює звичайний повнотекстовий пошук — і саме тому він швидкий.
Де вводиться · тема 09 · Пошук і схожість
Українська специфіка. Індексувати українські тексти по словоформах майже безглуздо: запит «купити машину» не знайде документ зі словом «машини». Індекс будують по лемах — тобто лематизація тут не покращення якості, а умова того, щоб пошук узагалі працював.
К
Калібрування calibration
Чи означає впевненість моделі те, що написано: серед випадків, де вона каже «85 %», правильних має бути близько 85 %. Міряють очікуваною похибкою калібрування — середнім розходженням між обіцяним і справдженим по кошиках упевненості.
Де вводиться · тема 40 · Межі мовних моделей
Заміряно на курсі. Кошик упевненості 0.80–0.87 обіцяв 0.8375, а вгадував 0.5267. І чим менше даних, тим гірша калібрування: 0.1233 → 0.0613 → 0.0087 на 1 000, 8 000 і 70 767 рядках навчання.
Канарка canary
Вигаданий рядок, навмисно вставлений у навчальний корпус, щоб потім перевірити, чи можна витягти його з навченої моделі. Спосіб заміряти завчання, не маючи справжніх персональних даних.
Де вводиться · тема 40 · Межі мовних моделей
Як не зіпсувати замір. Потрібно кілька канарок на кожну кратність повторення (інакше кратність не відділити від словникового жереба), генерувати їх усередині циклу зерен, давати кожній свою підказку — і обовʼязково мати контрольні канарки, яких у корпусі немає.
Каппа Коена Cohen’s kappa · κ
Згода двох розмітників понад випадкову: κ = (pспост − pвип) / (1 − pвип). Одиниця — повний збіг, нуль — збіг рівно такий, як у двох людей, що ставлять мітки навмання з тими самими частотами.
Де вводиться · тема 35 · Аналіз тональності в бою
Гола згода бреше, коли один клас переважає. Двоє, що ставлять «зневажливо» у девʼяти й восьми випадках із десяти й збіглися на восьми, мають згоду 0.80 — і каппу лише 0.23: випадково вони збіглися б у 0.74 випадків.
Катастрофічне забування catastrophic forgetting
Втрата того, чого модель навчилась раніше, під час навчання на новій задачі. Забування не поступове, а різке, і залежить насамперед від швидкості навчання.
Де вводиться · тема 27 · BERT у роботі
Заміряно. Втрата маскованої моделі після донавчання: 6.6973 → 6.6968 / 6.7066 / 6.7879 / 7.2068 / 48.4515 для кроків від 1e-4 до 1e-2. На найбільшому кроці модель стала гіршою за рівномірне вгадування (8.9736) — тобто передтренування знищено повністю. І найнеприємніше: на самій задачі це майже не видно, F1 0.6377 проти 0.6761. Забування не помітне з боку метрики, заради якої донавчали.
Квантування quantization
Зберігання ваг меншою кількістю бітів — 8, 4 або менше замість 32. Модель важить у кілька разів менше й уміщується туди, куди інакше не вмістилася б.
Де вводиться · тема 39 · PEFT і LoRA
Що саме економиться. Квантування зменшує вагу моделі, а не памʼять на градієнти й моменти оптимізатора. Тому воно й поєднується з LoRA: заморожену основу тримаємо в чотирьох бітах, а вчимо крихітну поправку у звичайній точності. У курсі це не заміряно: наш torch без додаткових бібліотек працює у float32.
Кеш ключів і значень KV cache
Збережені k і v уже пройдених позицій, які модель не перераховує на кожному новому кроці породження. Можливий лише завдяки причинній масці: позиція не бачить нічого правіше себе, тож її ключ і значення більше не зміняться, скільки б слів не дописали далі. Без кешу породження n слів коштує 1 + 2 + … + n обчислень, із кешем — рівно n.
Де вводиться · тема 23 · Multi-head, позиційне кодування, маскування
Ціна — памʼять. Два вектори на позицію, на кожен шар. Саме кеш, а не ваги, обмежує, скільки розмов сервер тримає одночасно. Заміряно в темі 20: на кроці 2048 рекурентній мережі треба 512 чисел стану, а увазі з кешем — 1 048 576, тобто у 2048 разів більше.
Не плутай зі звичайним кешем. Це не кеш відповідей на однакові запити: два різні запити нічого спільного в ньому не мають. Це кеш усередині однієї послідовності, і живе він рівно доти, доки її породжують.
Класифікація текстів text classification
Задача віднести текст до однієї з наперед відомих категорій: спам чи не спам, скарга чи подяка, новина про спорт чи про політику.
Де вводиться · тема 06 · Класифікація текстів
Контекстний ембединг contextual embedding
Вектор слова, порахований для конкретного входження, а не взятий із таблиці за номером слова. Те саме слово в різних реченнях дістає різні вектори — саме це й робить увага.
Де вводиться · тема 22 · Self-attention покроково
Не плутай із двома сусідками. Ембединг — статичний: одне слово, один вектор назавжди, звідки й неможливість розрізнити значення (блок 3). Ембединг речення — один вектор на цілий текст. Контекстний — один вектор на кожне входження кожного слова.
Контрастна втрата contrastive loss
Втрата, яка протиставляє правильну пару решті: схожості запиту з усіма документами пачки перетворюють функцією softmax на ймовірності й вимагають, щоб імовірність правильного документа була найбільшою.
Де вводиться · тема 36 · RAG і векторні бази
Температура тут своя. Перед softmax усі схожості ділять на τ. Мала τ зосереджує навчання на найближчому неправильному документі, велика розмазує його по всіх порівну. Формою це та сама температура, що й у породженні тексту, але крутять її з іншою метою.
Корпус corpus
Зібрання текстів, на якому вчаться або яке досліджують. Множина — корпуси. Корпус може бути й розміченим (кожен текст має мітку), і сирим.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Українська специфіка. Термін давно усталений в українському мовознавстві — вигадувати нічого не треба. Проблема інша: українських корпусів на порядки менше, ніж англійських, і це відчувається в кожній наступній темі.
Косинусна близькість cosine similarity
Міра схожості двох векторів за напрямком, а не за довжиною: одиниця — дивляться однаково, нуль — нічого спільного. Стандартний спосіб порівнювати ембединги.
Де вводиться · тема 09 · Пошук і схожість
Чому саме напрямок. Довжина вектора документа залежить від того, наскільки він довгий; напрямок — від того, про що він. Порівнювати треба друге.
Крос-мовний перенос cross-lingual transfer
Ефект, коли модель, донавчену на розмічених даних однієї мови, застосовують до іншої — і вона працює, бо багатомовне передтренування поставило схожі за змістом слова різних мов поруч.
Де вводиться · тема 30 · Багатомовність і українська
Практичне значення для української. Це найдешевший спосіб зробити українську модель, коли українських розмічених даних немає: розмітити англійською, донавчити, застосувати. Працює не завжди й не однаково добре, але часто краще за нічого.
Л
Лема lemma
Словникова форма слова: та, під якою його шукають у словнику. Для іменника — називний відмінок однини («книжка»), для дієслова — інфінітив («читати»).
Де вводиться · тема 03 · Морфологія: лематизація і стемінг
Лематизація lemmatization
Зведення кожної словоформи до її леми: «книжок», «книжкою», «книжці» стають «книжка». Робиться не обрізанням, а розбором — за словником і морфологічним аналізатором.
Де вводиться · тема 03 · Морфологія: лематизація і стемінг
Українська специфіка — головне. Для англійської лематизація й стемінг дають майже однаковий результат, тому там частіше беруть дешевший стемінг. Для української це операції різної цінності. Українська змінює не лише закінчення, а й основу: «нога — нозі», «ходити — ходжу», «друг — друзі», «рука — руці». Обрізанням хвоста ці форми до спільного вигляду не звести. Тому для української лематизація — не покращення, а єдиний спосіб зробити нормалізацію правильно; ціна за це — потреба в морфологічному аналізаторі й у розвʼязанні неоднозначності («мати» — це іменник чи дієслово, вирішує контекст).
Лінійний зонд linear probe
Спосіб застосувати передтреновану модель, нічого в ній не змінюючи: тіло заморожене, учиться лише один лінійний шар зверху. Оскільки нічого не додано, якість такої моделі говорить рівно про те, скільки корисного вже лежить у векторах тіла.
Де вводиться · тема 25 · Ідея передтренування
Тому це і спосіб застосування, і інструмент дослідження. Задача при цьому опукла, тож розвʼязується точно й без зерен. Тема 27 порівняла всі три способи: зонд 0.5419, часткове донавчання 0.6814, повне 0.6977 — купи зонда й часткового не перетинаються, тобто заморозити все коштує якості за межами розкиду.
Заміряна межа. Зонд на передтренованому тілі (0.5726) не відрізнявся від зонда на ненавченому (0.5679) — купи перекрились. Заморожене подання стає кращим за випадкове лише тоді, коли передтренування перейшло уніграмний рубіж; до того зонд міряє порожнечу.
М
Маскована мовна модель masked language model, MLM
Спосіб передтренування, коли в тексті ховають частину токенів і вчать модель відновлювати їх за оточенням з обох боків. Розмітки для цього не треба — текст сам собі й завдання, і відповідь.
Де вводиться · тема 26 · BERT
Уточнення, яке легко проґавити: маскують вхід, а не увагу. Слово фізично замінюють на [MASK], і модель бачить решту речення з обох боків повністю. Це не те саме, що причинна маска з блоку 5, яка забороняє дивитись праворуч і застосовується до матриці уваги.
Маскування masking
Заборона моделі дивитися на певні позиції. Буває двох різновидів: причинна маска ховає майбутнє, щоб модель не підглядала відповідь; маска доповнення ховає порожні місця, якими вирівняли речення різної довжини в одному пакеті.
Де вводиться · тема 23 · Multi-head, позиційне кодування, маскування
Не плутай. Маскування в трансформері й маскування токенів у MLM — різні речі з однаковою назвою. Перше — те, чого не можна бачити; друге — завдання, яке треба розвʼязати.
Причинна маска дає дві переваги задарма. Перша — усе речення вчиться за один прохід: кожна позиція передбачає своє наступне слово одночасно з рештою, звідси й розпаралелення. Друга — ключі та значення пройдених позицій більше не зміняться, тож їх можна зберегти: див. кеш ключів і значень.
Матриця співвіднесень co-occurrence matrix
Таблиця, у якій рядок — слово, стовпчик — контекст, а на перетині стоїть, скільки разів вони траплялись поруч. Центральний об’єкт усієї дистрибутивної семантики.
Де вводиться · тема 11 · Дистрибутивна семантика
Вона майже порожня. На нашому корпусі заповнено 2.88 % клітинок, і саме тому її тримають у розрідженому вигляді: 295 МБ проти 12.8 МБ, різниця у 23 рази.
Машинний епсилон machine epsilon
Крок останнього розряду числа з рухомою комою: 1.192·10⁻⁷ для float32 і 2.22·10⁻¹⁶ для float64. Різниця в один епсилон означає, що два числа — сусіди на числовій осі, ближче не буває.
Де вводиться · тема 22 · Self-attention покроково
Навіщо це в курсі мови. Це критерій звірки власної реалізації з бібліотечною. Правильне питання не «чи однакові числа», а «чи різниця не більша за одиницю останнього розряду»: бібліотека складає в іншому порядку, тож побітово не збігається ніколи. Заміряно двічі незалежно — ручний крок RNN проти nn.RNN (тема 17) і ручний self-attention проти nn.MultiheadAttention (тема 22) дали 0.39…1.00 епсилона.
Машинний переклад machine translation
Задача перекласти текст з однієї мови іншою автоматично. Історично саме на ній обкатали енкодер-декодер, увагу й трансформер.
Де вводиться · тема 19 · seq2seq і машинний переклад
Мікро- і макроусереднення micro / macro averaging
Два способи звести метрику по класах в одне число. Мікро складає правильні й хибні відповіді по всіх класах разом, макро усереднює метрику кожного класу з однаковою вагою.
Де вводиться · тема 07 · Метрики й оцінка
⚠️ Мікро-F1 дорівнює частці правильних — тотожно, а не приблизно. Коли модель дає рівно одну відповідь на приклад, кожен приклад додає або +1 до сумарних TP, або по +1 до сумарних FP і FN. Звідси мікро-precision = мікро-recall = accuracy, а гармонійне середнє двох рівних чисел дорівнює їм самим. У темі 07 це перевірено `assert`-ом на 263 класах. Цитувати мікро-F1 як «зважену метрику» безглуздо — це та сама частка правильних під іншою назвою.
Межа твердження — багатомітковість. Якщо приклад може мати кілька міток, тотожність зникає: 0.8333 проти 0.5000 на прикладі з теми 07.
Розрив показує довжину хвоста. На двох класах він 0.0018, на 263 класах корпусу — 0.2700.
Мішок слів bag of words
Подання тексту як набору слів із їхніми частотами, без жодної уваги до порядку. «Кіт зʼїв мишу» і «мишу зʼїв кіт» для нього — той самий текст.
Де вводиться · тема 04 · Мішок слів
Ухвалено: мішок слів. Назва усталена, і замінювати її нічим — метафора точна. Мішок не зберігає порядку: витрусив і дивишся, що там є. «Набір слів» відкидаємо, бо в українській це стійкий вислів зі значенням «беззмістовна балаканина» — двозначність саме там, де вона найшкідливіша.
Українська специфіка. Для англійської втрата порядку — велика втрата: там роль слова в реченні задає позиція. Українська кодує ролі закінченнями, тож «кіт зʼїв мишу» і «мишу зʼїв кіт» справді означають те саме, і мішок слів губить менше. Але натомість він набирає більше: кожна словоформа стає окремою колонкою, і словник розпухає в кілька разів проти англійського. Тому для української мішок слів майже завжди будують по лемах.
Мовна модель language model
Модель, що оцінює, наскільки ймовірний той чи інший текст, і вміє передбачити наступне слово. Усе інше — переклад, переказ, відповідь на питання — надбудова над цим одним умінням.
Де вводиться · тема 16 · Мовна модель: наступне слово
Сходинки на нашому корпусі (тема 16). Рівномірна модель, яка нічого не знає, дає перплексію 8 415.00. Уніграма — 639.76. Біграма з добавкою 1.0 — 707.51, тобто гірша за уніграму на 67.75: модель, яка дивиться на попереднє слово, програла тій, що не дивиться ні на що. Із підібраною добавкою та сама біграма дає 156.27, а суміш біграми з уніграмою — 127.63. Рекурентна мережа на тому самому корпусі — 168.12 ±0.40, тобто позаду на 40.49.
Модель винагороди reward model
Окрема модель, навчена на людських порівняннях («ця відповідь краща за ту») і далі використана як суддя замість людини — щоб оцінювати мільйони відповідей, яких людина не переглянула б ніколи.
Де вводиться · тема 38 · Instruction tuning і RLHF
Морфологічна неоднозначність morphological ambiguity
Один і той самий рядок є формою кількох різних лем. У корпусі блоку таких словоформ 9.5 % (10.4 % тексту).
Де вводиться · тема 03 · Морфологія: лематизація і стемінг
Окремо від багатозначності. Багатозначність — про різні значення одного слова. Ця стаття — про те, що «дані» може бути і формою «дані», і формою «дан», а «його» — формою «він» або «йога».
Порядок розборів для української не допомагає. Медіанна
різниця ваг двох найкращих розборів у pymorphy3 — 0.0000, менша
за 0.05 у 91.8 % випадків. А в 26.9 % неоднозначних слів перша лема не трапляється
в корпусі жодного разу, тоді як альтернативна трапляється.
Морфологічний аналізатор morphological analyzer
Інструмент, що для словоформи повертає список розборів — кожен із лемою
й граматичними ознаками: зламаного → зламаний, ADJF, masc, gent.
Де вводиться · тема 03 · Морфологія: лематизація і стемінг
Виходів кілька, і це головна пастка. Лематизація бере
перший розбір — а він не завжди правильний. Аналізатор для української в курсі —
pymorphy3 зі словниками проєкту dict_uk; саме їхні
властивості дають розбори на кшталт бути → бута.
Морфологія morphology
Будова слова: корінь, префікси, суфікси, закінчення — і те, як слово змінюється за відмінками, числами, особами.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Українська специфіка. Англійська морфологія бідна: іменник має дві-три форми. Українська — багата: іменник має до чотирнадцяти форм, дієслово десятки. До цього додається узгодження: прикметник змінюється слідом за іменником («зеленого дерева», «зеленою фарбою»), тож те саме поняття розсипається на десятки різних рядків. Практично вся українська специфіка в цьому курсі виростає саме звідси.
Н
Нат nat
Одиниця, у якій курс міряє перехресну ентропію, коли логарифм натуральний. Втрата L натів означає, що модель вагається приблизно між eL рівноймовірними варіантами.
Де вводиться · тема 25 · Ідея передтренування
Навіщо це знати. Втрата 6.6577 — це вагання між 779 словами, а не абстрактне число. Саме так найдешевше перевірити, чи мовна модель узагалі побачила контекст: порівняти її втрату з уніграмним рубежем — тим, що дає модель, яка дивиться лише на частоту слова й нічого більше.
Націнка в токенах fertility
Скільки токенів коштує тисяча слів. Головна метрика, якою порівнюють токенізатори між мовами.
Де вводиться · тема 02 · Токенізація
Вона падає, коли словнику дають місце. Українська проти англійської на тому самому змісті: +29.7 % при словнику 500 і лише +10.4 % при 16 000 — падіння майже втричі. Проблема не в мові, а в тому, скільки місця їй виділили.
Розкладається на два множники.
токенів/слово = токенів/символ × символів/слово. Другий сталий (1.1760
— українські слова просто довші), а перший на восьми тисячах опускається нижче
одиниці (0.9885, далі 0.9390): українську починають різати грубше за
англійську. Тобто вся націнка, що лишається на великому словнику, — це довжина
слова, а не морфологія.
Негативне семплювання negative sampling
Прийом навчання Word2Vec: замість того щоб на кожному кроці перебирати весь словник, беруть одну правильну пару «слово — сусід» і кілька випадкових неправильних. Так навчання стає посильним.
Де вводиться · тема 12 · Word2Vec
Звідки береться степінь 0.75. Негативні приклади тягнуть не рівномірно й не строго за частотою, а з частоти, піднесеної до степеня 0.75: так рідкісні слова дістають більший шанс, ніж їм належить, а найчастіші — менший. Число не виведене, а дібране експериментально авторами методу (цитоване з літератури, не заміряне нами). Там же названо й розумну кількість негативних: 5-20 для малих корпусів, 2-5 для великих.
Неоднозначність ambiguity
Властивість мови мати кілька прочитань там, де на письмі все виглядає однозначно. «Коса» — це зачіска, знаряддя чи смуга суходолу; «мати» — іменник чи дієслово.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Чому це перша тема. У таблиці клітинка означає рівно те, що в ній написано. У тексті — ні. Уся подальша складність курсу росте з цього.
Нормалізація довжини length normalization
Ділення вектора документа на його довжину, щоб довгий текст не вигравав просто тому, що довгий. Найчастіше L2: вектор стає одиничним, і схожість перетворюється на косинус кута.
Де вводиться · тема 04 · Мішок слів · тема 05
Без неї довжина підміняє доречність. Звʼязок довжини тексту з довжиною вектора — 0.949; у топ-10 без нормалізації потрапляють документи на 44-59 слів при середніх 6.94, і потрібний документ знаходиться першим у 38 % випадків замість 68 %.
Не плутай. У декодуванні перекладу англійське length normalization означає зовсім інше — поділ оцінки на довжину в beam search (тема 19). Тут ідеться про довжину вектора, там — про довжину послідовності.
Нормалізація тексту text normalization
Зведення різних написань того самого до одного вигляду: єдиний регістр, прибрані зайві пробіли, однакові лапки й апострофи, іноді стемінг чи лематизація.
Де вводиться · тема 03 · Морфологія: лематизація і стемінг
Українська специфіка — тиха пастка. Апостроф в українських
текстах пишуть щонайменше трьома різними символами, і для компʼютера «мʼясо»
й «мʼясо» — різні слова. Те саме з латинською i замість української
і та з російською и в українському тексті. Нормалізація
Unicode й заміна символів-двійників для української обовʼязкові — інакше словник
тихо розпухає вдвічі, і жодної помилки при цьому не видно.
Нормалізація шару layer normalization
Приведення чисел одного вектора до середнього 0 і розкиду 1, після чого шар повертає масштаб двома навчуваними ручками — множником γ і зсувом β. Стоїть у кожному блоці трансформера поруч із залишковим зʼєднанням: без неї масштаб активацій розповзається від шару до шару, і навчання або зупиняється, або розвалюється.
Де вводиться · тема 21 · Архітектура і чому витіснила RNN
Не плутай — у курсі чотири схожі назви. Нормалізація тексту — приведення слів до єдиного вигляду. Нормалізація довжини і поділ оцінки на довжину — про порівняння оцінок різної довжини в декодуванні. Нормалізація шару — про числа всередині вектора, до тексту стосунку не має. Пʼятий сусід — пакетна нормалізація з курсу «Машинне навчання»: вона рахує статистику по всіх прикладах пачки, а ця — усередині одного вектора, не питаючи сусідів. Для тексту це принципово: у пачці багато порожніх місць, тож статистика «по пачці» була б статистикою порожнечі.
Ухвалено: нормалізація шару. Не «шарова нормалізація» — читається як прикметник до нормалізації; не «LayerNorm» — це імʼя класу. Англійський оригінал поруч, бо читач зустріне nn.LayerNorm і norm_first у коді.
Заміряно (тема 24): перевага переднормалізації правдива в діапазоні, а не завжди. При кроці 0.004 вона дає 157.12 проти 177.36, при 0.016 — 229.24 проти 258.88, при 0.032 купи вже перетинаються, а при 0.064 переднормалізація ламається (одне зерно з трьох дало перплексію 739 509), тоді як post-LN спокійно тримає 282.78.
О
Обернена документна частота inverse document frequency, IDF
Число, що показує, наскільки слово рідкісне в колекції: чим у меншій кількості документів воно трапляється, тим воно цінніше для розрізнення. Друга половина TF-IDF.
Де вводиться · тема 05 · TF-IDF
Обробка природної мови natural language processing, NLP
Галузь, що вчить компʼютер працювати з людською мовою — розуміти, класифікувати, перекладати, породжувати. «Природна» означає «людська», на противагу штучним мовам на кшталт Python.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Термінологія. Українська назва вживається повністю
(«обробка природної мови»), скорочення — латинське, NLP. Кирилична
абревіатура «ОПМ» не прижилась ніде, і читач не знайде за нею нічого.
Оракул oracle
Найкращий можливий вибір із наявних варіантів, зроблений із підгляданням у правильну відповідь. Не система, а стеля: показує, скільки взагалі можна виграти відбором, перш ніж міряти реальний відбирач.
Де вводиться · тема 38 · Instruction tuning і RLHF
Навіщо він потрібен. Без оракула не видно, чи відбирач хоч щось відбирає. На стенді курсу оракул із 32 зразків дав 0.3659, модель винагороди — 0.1161, а випадковий вибір — 0.1324; без двох крайніх чисел середнє нічого не означало б.
Основа stem
Те, що лишається від слова після відрізання закінчення. На відміну від леми, основа не зобовʼязана бути словом: «телефонів» дає основу «телефон», а «пече» — «пе».
Де вводиться · тема 03 · Морфологія: лематизація і стемінг
Не плутай із лемою. Лема — справжнє слово зі словника, до якого зводять усі форми. Основа — просто рядок символів. Саме тому лематизація на українському корпусі стискає словник на 58.6 % без жодного склеювання різних лем, а найкращий стемінг дає 45.1 % і склеює 17.7 % основ.
П
Паралельний корпус parallel corpus
Той самий зміст двома мовами, вирівняний по реченнях. Корпус блоку 1 такий за побудовою: у файлах перекладів англійський оригінал лежить поруч з українським.
Де вводиться · тема 01 · Чому текст складніший за таблицю · тема 02
Чим він цінний. Він дозволяє порівнювати дві мови на тому самому змісті, а не на різних текстах. Саме на цьому тримається головне число теми 02 (націнка в токенах) і доказ теми 05, що TF-IDF не бачить синонімів: 209 пар гарантовано однакового змісту мають косинус 0.2230, а кожна пʼята — рівно нуль.
Передтренування pre-training
Довге й дороге навчання моделі на величезному корпусі без розмітки, після якого вона вже знає мову взагалі. Робиться раз; далі ту саму модель донавчають під десятки різних задач.
Де вводиться · тема 25 · Ідея передтренування
Перенос навчання transfer learning
Загальний принцип: узяти модель, натреновану на одній задачі, і використати її знання для іншої. Передтренування з донавчанням — його найпоширеніший випадок в обробці мови.
Де вводиться · тема 25 · Ідея передтренування
Переранжування reranking
Друга ступінь пошуку: дешевий спосіб дістає з колекції сотню кандидатів, а дорога модель — зазвичай cross-encoder — переоцінює лише їх і переставляє.
Де вводиться · тема 36 · RAG і векторні бази
Стелю ставить перший крок. Переранжування не знайде документа, якого немає серед кандидатів: на нашій колекції сотня кандидатів містить потрібний документ у 0.9654 запитів, і вище цього друга ступінь не підніметься.
Перехресна увага cross-attention
Увага, у якій запити беруться з декодера, а ключі й значення — з енкодера. Так декодер на кожному кроці дивиться просто в текст джерела, а не в один стиснений вектор.
Де вводиться · тема 29 · T5 і BART
Не плутай із самоувагою. Там усі три таблиці беруться з одного стосу, і матриця уваги квадратна. Тут вона прямокутна: рядків стільки, скільки вже написано, стовпців — скільки токенів у джерелі. Саме перехресна увага знімає вузьке горло вектора контексту з теми 19.
Перплексія perplexity
Міра того, наскільки текст дивує мовну модель: приблизно між скількома варіантами вона вагається на кожному кроці. Перплексія 10 означає «модель наче обирає навмання з десяти слів»; менше — краще.
Де вводиться · тема 16 · Мовна модель: наступне слово
Ухвалено: перплексія. «Спантеличеність» і «розгубленість» описують емоцію, а не число, і в жодному інструменті так не називаються. Беремо запозичення, але в тексті завжди поруч пояснюємо словами.
Пастка. Перплексії двох моделей можна порівнювати, тільки якщо в них однаковий токенізатор. Для українських моделей із різними словниками субслів це порівняння часто нечесне.
Обережно: величина сильніше залежить від налаштування, ніж від моделі. На нашому корпусі одна стала згладжування рухає біграму на 555.14 пункту (710.10 → 154.96), а перехід від тієї самої біграми до рекурентної мережі — на 77.91. Тому перплексію без назви моделі й способу згладжування цитувати не можна. Порівнювати числа між різними корпусами й словниками не можна взагалі: перплексія рахується відносно розміру словника.
Найдешевша перевірка, чи модель узагалі побачила контекст — уніграмний рубіж. Це втрата моделі, яка дивиться лише на частоту слова й нічого більше. На нашому корпусі вона дорівнює 6.6577 ната, тобто вагання між 779 словами. Поки твоя мовна модель не опустилася нижче за цей рубіж, її фактично ще немає — і будь-яке порівняння з нею вимірює шум, а не якість (грабля №48).
Питання з пропуском cloze question
Питання, зроблене з готового речення: з нього викидають слово, а решта тексту стає уривком, у якому відповідь треба знайти. Так дешево роблять великі набори для перевірки розуміння — не наймаючи людей.
Де вводиться · тема 33 · Question answering
Дешево не означає добре. Якщо в уривку лише один кандидат потрібного типу, відповідь дістається безкоштовно, і такі питання треба рахувати окремо. Обовʼязкова перевірка будь-якого такого набору — підставити чуже питання: якщо якість не впала, тест міряє не читання.
Подання representation
Функція, що перетворює слово в реченні на вектор. Саме вона, а не «знання», переноситься між задачами: передтренована модель віддає наступній задачі не факти, а вміння дивитись на слово разом із його оточенням.
Де вводиться · тема 25 · Ідея передтренування
Пов’язані статті: Ембединг — подання без контексту, одне на слово назавжди; Контекстний ембединг — подання, що залежить від речення. Якість самого подання міряють лінійним зондом.
Поділ оцінки на довжину length normalization (у декодуванні)
Прийом у beam search: підсумкову оцінку гіпотези ділять на її довжину (зазвичай піднесену до степеня 0.6-0.8), щоб довгі варіанти не програвали коротким самим лише фактом довжини.
Де вводиться · тема 19 · seq2seq і машинний переклад
Не плутай із нормалізацією довжини — англійською обидва звуться length normalization, але то зовсім інше: там довжину вектора документа зводять до одиниці (теми 04-05), тут ділять оцінку послідовності. Навіщо це потрібно. Промінь складає відʼємні логарифми, тож кожне зайве слово робить гіпотезу «гіршою». Без поділу ширший промінь дає коротші й гірші переклади: 0.2094 замість 0.2498 при вчетверо ширшому промені. З поділом — 0.2579.
Позиційне кодування positional encoding
Додаткова інформація про місце токена в реченні, яку домішують до його вектора. Без неї трансформер бачить речення як мішок слів: сам механізм уваги порядку не знає.
Де вводиться · тема 23 · Multi-head, позиційне кодування, маскування
Українська специфіка. Порядок слів в українській вільніший, ніж в англійській, — але не довільний: він передає, що в реченні нове, а що вже відоме («Книжку купив Іван» і «Іван купив книжку» відповідають на різні питання). Тож позиція для української несе інше навантаження, ніж для англійської, але аж ніяк не зайва.
Покриття словника vocabulary coverage
Яку частку тексту накривають N найчастіших слів. У корпусі блоку 259 слів дають половину тексту, 8 741 — 95 %, а на останній відсоток треба ще 11 262.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Поріг рішення decision threshold
Число, вище за яке ймовірність від моделі стає відповіддю «так». За замовчуванням 0.5 — і це домовленість, а не властивість задачі.
Де вводиться · тема 06 · Класифікація текстів · тема 07
Поріг важить більше за вибір моделі. У темі 06 чесний добір
порога дав +0.0421, тоді як уся різниця між двома «різними алгоритмами» —
0.0261. Більше того, ComplementNB на двох класах виявився
тотожним MultinomialNB(fit_prior=False) — тобто вся його
«перевага для незбалансованих даних» і є інший поріг.
Найкращий поріг задає ціна помилки, а не дані. У темі 07 оптимум їде з 0.61 до 0.09 залежно від того, що дорожче — пропустити чи перестрахуватися.
Послідовна глибина sequential depth
Найдовший ланцюжок дій, кожна з яких мусить дочекатися попередньої. У рекурентної мережі дорівнює довжині послідовності, у трансформера — кількості шарів, і від довжини входу не залежить взагалі.
Де вводиться · тема 21 · Архітектура і чому витіснила RNN
Не плутай із розпаралеленням. Розпаралелення — скільки роботи можна зробити одночасно; воно залежить від машини. Послідовна глибина — скільки роботи не можна зробити одночасно ні за яких обставин; це властивість самої формули. Саме тому додавання ядер рекурентній мережі не допомагає: її послідовна глибина від цього не меншає.
Потокова обробка streaming inference
Режим, у якому модель відповідає на кожному новому слові, не перечитуючи все попереднє. Рекурентна мережа вміє це задарма: у неї є стан сталого розміру.
Де вводиться · тема 20 · Межі RNN
Тут рекурентність виграє досі (заміряно). На 2048 кроків поспіль час одного кроку рекурентної мережі тренду не має (107-137 мкс, останній до першого — 1.12), а увага з кешем росте з 136.9 до 1012.0 мкс, тобто в 7.39 раза. Памʼять на кроці 2048: 512 чисел проти 1 048 576.
Префіксні токени prefix tuning
Замість міняти ваги — дописати на початок входу кілька навчальних векторів, які не відповідають жодному справжньому слову. Модель заморожена, вчаться лише вони.
Де вводиться · тема 39 · PEFT і LoRA
Прокляття багатомовності curse of multilinguality
Місткість моделі скінченна, і мови ділять її між собою. Доки мов мало, кожна нова допомагає решті спільними шматками; після певної межі кожна нова псує всі інші, бо забирає місце.
Де вводиться · тема 30 · Багатомовність і українська
Цитоване: у роботі про XLM-R якість на 100 мовах при сталій місткості падає з 71.8 до 67.7. Лікується збільшенням моделі або словника — тобто грошима.
Заміряний бік цього на нашому корпусі — словник. Переїзд двох мов у спільний словник того самого розміру коштує англійській +6.75 % токенів, українській +4.19 % (при словнику 8 000). При 32 000 обидва числа стають відʼємними: спільний словник побачив удвічі більше тексту й від того виграв.
Проксі-задача proxy task
Задача-замінник, яку розвʼязують замість цільової, бо для неї мітки беруться задарма. Передбачити закрите слово можна мільярд разів безкоштовно; розмітити мільярд речень людиною — не можна.
Де вводиться · тема 25 · Ідея передтренування
Коли проксі добра. Тоді, коли розвʼязати її неможливо, не побудувавши всередині рівно того, що потрібне цільовій задачі. І погана, коли її можна обійти: тема 25 заміряла вироджений випадок, де модель навчилась розвʼязувати проксі майже ідеально (втрата 0.1303), а на справжній задачі не дала нічого.
Не плутай із допоміжною втратою. Допоміжна втрата йде поруч із головною під час того самого навчання. Проксі-задача — це те, чим головну задачу тимчасово замінюють, доки міток немає взагалі.
Проміжок span
Суцільний шматок тексту, заданий позицією початку й кінця. Екстрактивна відповідь на питання — це саме проміжок вихідного тексту, а не написане наново речення: модель не пише відповідь, вона показує на неї пальцем.
Де вводиться · тема 33 · Question answering
Чому в коді лишається span. Українське «проміжок» доречне в прозі, але в бібліотеках і форматах даних поле зветься span, і читач зустріне саме його.
Промпт prompt
Текст, який подають моделі на вхід, щоб дістати потрібну відповідь: завдання, контекст і, за потреби, приклади — усе однією стрічкою тексту.
Де вводиться · тема 38 · Instruction tuning і RLHF
Ухвалено: промпт. «Запит» відкидаємо не через смак, а через зайнятість: у цьому ж курсі «запит» — це пошуковий запит (тема 09) і Query в механізмі уваги (тема 22). Третє значення зробило б слово марним. «Підказка» неточна: підказка — це натяк, а промпт часто містить усе завдання цілком. «Промпт» відмінюється, дає «промптинг» і «промпт-інженерія» й точно збігається з тим, що читач побачить у документації.
Процесорний і стінний час CPU time, wall time
Стінний — скільки минуло за годинником на стіні. Процесорний — скільки часу процесор справді працював над задачею.
Де вводиться · тема 08 · Тематичне моделювання
Пара, бо нарізно кожен бреше по-своєму. На завантаженій машині стінний час завищений просто тому, що чекали черги. Але процесорний бреше теж, і сильніше: без фіксації потоків OpenMP очікування самих потоків рахується як робота, і те саме навчання «спалює» 10-12 с замість 0.24 — спотворення у 45 разів.
Лікування — поставити OMP_NUM_THREADS=1 (і
сусідні OPENBLAS_, MKL_) до імпорту numpy, а
міряти time.process_time(). У темі 08 після цього відношення
LDA/NMF змінилося з «39×» на 108.9×, тобто вдвічі з гаком.
Потоки роздувають і процесорний час теж (тема 20). Той самий крок LSTM: на одному потоці 0.7399 с процесорних, на чотирьох — 7.7522 с. Це не помилка заміру: пул потоків платить синхронізацію на кожній із 128 послідовних операцій, і очікування рахується як робота. Тому «процесорний час» без кількості потоків — теж неперевірюване число.
Псування тексту denoising · text corruption
Загальна форма проксі-задачі для енкодер-декодера: документ навмисне псують, а модель учать відновити оригінал. Способів псування багато — замаскувати токени, викинути їх, вирізати проміжки, переставити речення, прокрутити документ.
Де вводиться · тема 29 · T5 і BART
Заміряна несподіванка (тема 29). Інтуїція каже, що вирізати проміжок із трьох слів важче, ніж закрити три окремі. Замір показав протилежне: проміжок легший, запас під уніграмним рубежем 0.4278 проти 0.3225, купи не перетинаються. Справжній довід за проміжки інший — перенос: модель, навчена на проміжках, дає раду з поодинокими дірками, а навчена на поодиноких на проміжку провалюється у 16.6 раза глибше.
Р
Ранг матриці matrix rank
Скільки незалежних напрямків насправді містить матриця. Матриця може бути велика, а ранг мати малий — тоді її можна точно записати добутком двох вузьких.
Де вводиться · тема 39 · PEFT і LoRA
Не плутай «вузьке» з «малим». Гіпотезу LoRA часто переказують як «донавчання змінює ваги мало». Це неправда: на стенді курсу навчена поправка рангу 4 мала норму 1.16 від норми самої матриці. Гіпотеза каже, що зміна вузька — вміщається в кілька напрямків, — а не що вона мала.
Регулярний вираз regular expression, regex
Формула-шаблон, що описує, який вигляд має шуканий рядок: номер телефону, дата, ідентифікатор. Не модель і не навчання — просто точний опис.
Де вводиться · тема 10 · Правила й регулярні вирази
Коли правила виграють. Там, де формат жорсткий і помилка дорога: ІПН, номер рахунку, дата в документі. Модель тут дає 98 % і непередбачувані 2 %, а регулярний вираз — 100 % або чесну відмову.
Рекурентна нейромережа recurrent neural network, RNN
Мережа, що читає текст по одному слову й несе із собою стан — коротку памʼять про все прочитане раніше. Ті самі ваги застосовуються на кожному кроці.
Де вводиться · тема 17 · RNN для тексту
Скільки економлять спільні ваги (тема 17). Рекурентна клітинка при E = 64, H = 128 — 24 832 ваги. Окремі ваги на кожен із 30 кроків коштували б 744 960, тобто рівно в 30 разів більше. ⚠️ Але вся мовна модель від цього росте лише в 1.44 раза, бо клітинка — це 1.5 % її ваг: решта в ембедингах і вихідному шарі. Тому головний довід за спільні ваги не памʼять, а два інші: довжина входу перестає бути параметром моделі, і кожне слово корпусу вчить те саме правило — тоді як окремий набір ваг для 27-го кроку бачив би менш ніж відсоток речень.
Розбіжність між передтренуванням і донавчанням pretrain-finetune mismatch
Ситуація, коли модель бачить під час передтренування те, чого ніколи не побачить потім. Головний приклад — токен [MASK]: у справжньому тексті його немає, тож модель, навчена завжди чекати на маску, при донавчанні опиняється в незнайомих умовах.
Де вводиться · тема 26 · BERT
Саме проти цього й придумано схему 80-10-10: у 10 % випадків замість маски ставлять випадкове слово, ще в 10 % лишають справжнє. Тема 26 заміряла, що механізм працює: точність відновлення на неторканому слові 0.2303 при схемі 80-10-10 проти 0.0825, коли завжди ставили маску, — пʼять пар куп із шести розділились.
Розгортка в часі unrolling
Спосіб дивитися на рекурентну мережу як на довгий ланцюг однакових шарів — по одному на кожне слово. Саме в такому вигляді її й навчають зворотним поширенням.
Де вводиться · тема 17 · RNN для тексту
Доказ, що всередині немає нічого зайвого (тема 17). Цикл h = tanh(x·Wₓᵀ + h·W_hᵀ + b) на вагах, узятих із nn.RNN, збігається з нею до 5.96·10⁻⁸ — це половина машинного епсилона float32, тобто одна одиниця останнього розряду. На робочому розмірі (E = 64, H = 128, 30 кроків) розбіжність накопичується до 2.76-3.28·10⁻⁷. ⚠️ Побітово не збігається ніколи — бібліотека складає в іншому порядку. Правильний критерій звірки власної реалізації з бібліотечною — «не більше за одиницю останнього розряду», а не «однакові».
Розпаралелення parallelization
Чи можна рахувати частини обчислення одночасно. Для послідовних моделей відповідь ні: крок t потребує результату кроку t−1, тож скільки б ядер не було, кроки шикуються в чергу. Позиції уваги такої залежності не мають.
Де вводиться · тема 20 · Межі RNN
Це твердження про структуру залежностей, а не про секунди. На чотирьох ядрах без відеокарти той самий крок LSTM коштує 0.8694 с на одному потоці й 3.5977 с на чотирьох — тобто більше ядер зробило гірше, бо пул платить синхронізацію на кожній із 128 послідовних операцій. Увага на тому самому розмірі втрачає лише 1.48 раза. ⚠️ Не цитуй «RNN повільніша, бо не розпаралелюється» без числа й без назви машини: на одному ядрі час LSTM від довжини майже не залежить, а час уваги росте квадратично.
Розпізнавання іменованих сутностей named entity recognition, NER
Задача знайти в тексті імена людей, назви організацій, місця, дати — і сказати, що з них чим є.
Де вводиться · тема 32 · NER
Українська специфіка. Сутність у тексті майже завжди стоїть у непрямому відмінку: «у Києві», «з Оксаною», «до Львова». Знайти її — півсправи; щоб зіставити з довідником, форму треба звести до називного, а власні назви відмінюються не завжди так, як загальні. Тому для української оцінка на рівні сутностей і нормалізація знайденого — окрема робота, а не дрібниця.
Розрив gap
Наскрізна мірка блоку про ембединги: наскільки середній косинус між парами однакового змісту вищий за середній косинус між випадковими парами.
Де вводиться · теми 11-15 · Векторні представлення
Навіщо різниця, а не сам косинус. Ембединги завищують усе одразу: у них і випадкові пари дістають високий косинус. Тому «синоніми дають 0.84» не означає нічого, поки не сказано, скільки дають випадкові пари. Порівнювати можна лише розриви.
Розріджена матриця sparse matrix
Матриця, у якій переважна більшість клітинок — нулі, тому в памʼяті зберігають лише ненульові. Матриця «документ — слово» саме така: у кожному тексті трапляється крихітна частка словника.
Де вводиться · тема 04 · Мішок слів
С
Самокероване навчання self-supervised learning
Навчання без людської розмітки, коли завдання роблять із самих даних: сховати слово й вимагати його відновити, взяти наступне речення як правильну відповідь. Саме воно зробило можливими великі моделі.
Де вводиться · тема 25 · Ідея передтренування
Сарказм sarcasm
Висловлювання, буквальний зміст якого протилежний тому, що мовець має на увазі. «Чудово, знову впало» — усі слова схвальні, ставлення зневажливе.
Де вводиться · тема 35 · Аналіз тональності в бою
Це не важчий приклад, а інша задача. Сигнал, який відрізняє сарказм від щирості, лежить поза текстом: у контексті події, в тому, хто пише, і в тому, що читач про нього знає. Модель, яка бачить лише рядок, не має з чого це дістати — скільки їй тих рядків не показуй.
Сегментний ембединг segment embedding
Третій доданок до вектора позиції, окрім ембединга слова й ембединга позиції: рівно два вектори на всю модель — «я з першого речення» і «я з другого». Потрібен тоді, коли на вхід подають пару речень, склеєних через [SEP].
Де вводиться · тема 26 · BERT
Без нього модель бачить пару як один довгий текст і не може відрізнити «це питання» від «це відповідь». Застосування — тема 27, форма задачі «класифікація пари».
Семантичний пошук semantic search
Пошук за змістом, а не за збігом слів: запит «як повернути товар» знаходить документ «умови відмови від покупки», хоча спільних слів там немає.
Де вводиться · тема 36 · RAG і векторні бази
Українська специфіка. Для флективної мови виграш семантичного пошуку більший, ніж для англійської: він не залежить від того, у якому відмінку стоїть слово в запиті й у документі. Там, де пошук по словах вимагає лематизації, ембединги дають це задарма.
Семплювання sampling
Вибір наступного токена навмання, згідно з імовірностями, які дала модель, —
а не завжди найімовірнішого. Керується температурою (наскільки сміливо), top-k
(з якої кількості найкращих варіантів тягнути) та top-p (тягнути з тих
варіантів, що разом набирають задану частку ймовірності).
Де вводиться · тема 19 · seq2seq і машинний переклад
Термінологія. «Семплювання» вже вжите в плані курсу («негативне семплювання»), тож тримаємось його. Описове «випадковий вибір» у тексті теж припустиме.
Сентинел sentinel token
Службовий токен, що заміняє цілий вирізаний шматок тексту. Кожен вирізаний проміжок дістає свій сентинел, і за тими самими токенами модель розділяє шматки у відповіді.
Де вводиться · тема 29 · T5 і BART
Не те саме, що [MASK]. Маска стоїть за одне слово, і модель знає, скільки слів пропало. Сентинел стоїть за проміжок невідомої довжини — модель мусить здогадатись і що там було, і скільки його там було.
Сингулярний розклад singular value decomposition, SVD
Розклад матриці на три множники, у якому перші кілька напрямків несуть найбільше інформації. Обрізавши решту, дістаємо щільне подання замість розрідженого.
Де вводиться · тема 11 · Дистрибутивна семантика
У розкладу два боки. Лівий множник дає вектори слів, правий — вектори контекстів. Це прямий аналог центральної й контекстної матриці в навчених моделях, і порівнювати два методи можна лише взявши в них однаковий бік.
Словник моделі vocabulary
Повний список токенів, які модель узагалі знає. Усе, чого в цьому списку немає, вона побачити не здатна — або розкладе на дрібніші шматки, або замінить на позначку «невідоме».
Де вводиться · тема 02 · Токенізація
Українська специфіка. Якщо будувати словник зі словоформ, для української він виходить у кілька разів більшим за англійський при тому самому обсязі текстів: кожен іменник дає до чотирнадцяти рядків, кожне дієслово — десятки. Це головна причина, чому для української субслівна токенізація не розкіш, а необхідність.
Слововживання token occurrence
Кожна поява слова в тексті окремо. Якщо «не» трапилось 27 934 рази, це 27 934 слововживання — і одна словоформа.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Не плутай зі словоформою. Пара «слововживання — словоформа» не існує нарізно: перше рахує довжину тексту, друге — розмір словника. Уся тема 01 тримається на тому, що читач їх розрізняє: у корпусі блоку 680 035 слововживань і лише 26 978 словоформ.
Словоформа word form
Конкретний вигляд слова в тексті: «книжки», «книжкою», «книжці» — три різні словоформи однієї леми «книжка».
Де вводиться · тема 01 · Чому текст складніший за таблицю
Трійка, яку треба тримати нарізно. Токен — те, що бачить модель; словоформа — те, що стоїть у тексті; лема — те, що стоїть у словнику. Для англійської вони часто збігаються, для української майже ніколи.
Спецтокени special tokens
Службові позначки у словнику, яких у тексті немає: початок і кінець послідовності,
межа між двома реченнями, заповнювач порожніх місць, позначка схованого слова.
У BERT це [CLS], [SEP], [PAD], [MASK].
Де вводиться · тема 26 · BERT
Про [CLS] окремо. Сам собою він осмисленим не стає: до першого шару уваги це той самий вектор для всіх речень, і тема 27 заміряла, що зонд на ньому в такому стані дає F1 0.0000. Змістом його наповнює не архітектура, а задача, яку на ньому вчать — саме тому передтренування з NSP або донавчання класифікацією роблять його корисним, а сама лише маскована модель — майже ні.
Срібна розмітка silver labels
Мітки, отримані не від людини, а автоматично: правилом, словником або проєкцією з іншого поля даних. Дешеві й численні, але з власними систематичними помилками.
Де вводиться · тема 32 · NER
Не плутай з еталонною розміткою (ground truth), яку ставила людина. Срібна розмітка ставить стелю: модель не може бути правильнішою за мітки, на яких училась. Гірше, що її помилки не випадкові — вони йдуть у той самий бік, що й правило, яке їх породило, і тому модель їх охоче вивчає.
Стабільність тем topic stability
Чи дає модель ті самі теми, коли трохи змінюються дані. Це не те саме, що відтворюваність: відтворюваність — той самий вхід дає той самий вихід; стабільність — трохи інший вхід дає впізнавано те саме.
Де вводиться · тема 08 · Тематичне моделювання
Тут два методи розходяться остаточно. Викидаємо пʼяту частину документів, зіставляємо теми угорським алгоритмом, міряємо перекриття топ-10 коефіцієнтом Жаккара (рівень випадковості — 0.0319):
NMF 0.6343 (7.8 спільних слів із 10) проти LDA 0.2220
(3.6 слова). Розрив 0.4123 при розкидах ≤0.07. Ба більше, LDA пливе навіть від
зміни random_state на тих самих даних — 0.1282.
Практичний висновок: теми NMF можна цитувати як результат, теми LDA — ні. Якщо теми залежать від вибірки, називати їх «прихованою структурою корпусу» не можна.
Сталість зсуву offset consistency
Наскільки схожі між собою вектори різниці в парах одного відношення: чи справді «однина → множина» скрізь той самий зсув. Міряється середнім косинусом між зсувами.
Де вводиться · тема 14 · Арифметика векторів
Саме тут ламаються аналогії. На нашому корпусі сталість 0.08-0.36 при контролі 0.013 — тобто зсуви таки не випадкові, але кути між ними 69-85°. Паралелограм, на якому тримається вся ідея «король − чоловік + жінка», просто не сходиться.
Стемінг stemming
Грубе обрізання закінчень і суфіксів за набором правил, щоб різні форми слова стали однаковим рядком. Результат — не обовʼязково справжнє слово: від «читання» може лишитись «чит».
Де вводиться · тема 03 · Морфологія: лематизація і стемінг
Ухвалено: стемінг. Українського відповідника немає:
«основоутворення» означає інше, «обрізання» описує дію, а не термін. Беремо
запозичення з однією м.
Українська специфіка — і чому це важливо. Стемінг вигадали
для англійської, де слово змінюється майже лише на хвості: play,
plays, playing — обрізав і готово. Українська змінює
й основу: «нога — нозі — ніг», «пекти — печу», «друг — друзі». Правила обрізання
тут або лишають різні рядки для тих самих слів, або, навпаки, зліплюють різні слова
в один пень. Тому для української стемінг — дешевий і поганий вибір; або лематизація,
або одразу субслівна токенізація, яка знімає питання інакше.
Степеневий закон power law
Залежність виду «втрата падає як розмір у якомусь відʼємному степені». На логарифмічній сітці виглядає прямою, і саме цим спокушає.
Де вводиться · тема 37 · Що змінює масштаб
Як перевірити, що це справді закон. R² не годиться: на стенді курсу він дорівнював 0.9473, а закону не було. Дивитись треба на падіння втрати на кожне подвоєння — у справжнього закону воно стале, а в нас на подвоєннях корпусу тануло від +1.1864 до +0.2162, — і на залишки підгону: у нас вони йшли послідовною хвилею замість випадкового розкиду. І окремо: показник залежить від того, що рахують по осі — усі ваги чи лише ваги тіла; у курсі це дало −0.0288 проти −0.0162.
Стиснений розріджений рядок CSR, compressed sparse row
Спосіб зберігати матрицю, у якій майже все — нулі: три масиви замість таблиці.
data — самі значення, indices — номер колонки кожного,
indptr — де починається кожен рядок.
Де вводиться · тема 04 · Мішок слів
Це не оптимізація, а умова існування методу. Матриця 20 000 × 11 502 заповнена на 0.066 %: щільна коштувала б 1.84 ГБ, CSR — 1.90 МБ, тобто у 968 разів менше.
Але не завжди дешевший. Три масиви теж займають місце, тож
на щільних даних CSR програє звичайній таблиці. Рівновага настає при заповненості
63.9 % для int64, 45.8 % для int32 і 27.8 % для
int16.
Стоп-слова stop words
Дуже часті слова, які майже нічого не кажуть про зміст: прийменники, сполучники, займенники. Класичний прийом — викинути їх перед побудовою мішка слів.
Де вводиться · тема 03 · Морфологія: лематизація і стемінг
Коли це шкодить. «Не» — стоп-слово в багатьох готових списках, а разом із ним із «мені не сподобалось» зникає весь зміст. У задачах тональності й у роботі з запереченнями стоп-слова прибирати не можна.
Субслово subword
Шматок слова, коротший за слово й довший за літеру: «пере», «плив», «емо». Сучасні моделі працюють саме такими шматками — так словник лишається малим, а незнайомих слів не буває взагалі.
Де вводиться · тема 02 · Токенізація, морфологічний бік — тема 13 · GloVe і FastText
Ухвалено: субслово, субслівна токенізація. «Підслово» відкидаємо з конкретної причини: у теорії формальних мов «підслово» — усталений термін для будь-якого суцільного фрагмента рядка, і читач-програміст прочитає його саме так. Префікс «суб-» в українській цілком робочий (субкультура, субтитри, субмарина) і дає прикметник «субслівний», якого «підслово» не дає без гризні.
Українська специфіка — чому це важливіше, ніж для англійської. Для англійської субслова — переважно економія: словник менший, рідкісні слова не губляться. Для української це спосіб узагалі впоратися з морфологією. Одна лема дає десятки словоформ; словник зі словоформ або велетенський, або дірявий. Субслова розвʼязують це самі собою: «книжка», «книжки», «книжкою» діляться на спільний корінь плюс різні хвости, тож модель бачить звʼязок між формами, якого їй ніхто не показував. Побічний ефект теж є: український текст ділиться дрібніше за англійський, тож коштує більше токенів.
Сумаризація summarization
Задача стисло переказати довгий текст. Буває сумаризація витягом (вибрати найважливіші речення оригіналу) і сумаризація переказом (написати новий текст своїми словами). Англійською — extractive й abstractive; ці два слова ми не калькуємо, бо «екстрактивна» читачеві нічого не пояснює.
Стеля витягу рахується наперед. Подивись, яка частка слів еталонного резюме взагалі є в тексті. Якщо чверті немає — витяг до еталона не дотягнеться ніколи, хоч би яке речення обрав, і мірятись треба з цим числом, а не з одиницею.
Де вводиться · тема 34 · Сумаризація
Про написання. Одне «м»: за чинним правописом подвоєння приголосних у загальних назвах іншомовного походження не зберігається. Питання закрито для всього курсу — і в плані, і в переліку тем виправлено. Усталений мовознавчий синонім — «автоматичне реферування»; ми його згадуємо, але основною назвою лишається сумаризація, бо саме так термін уживають на практиці.
Т
Тематичне моделювання topic modeling
Пошук у великій колекції текстів прихованих тем — груп слів, що ходять разом, — без жодної розмітки. Модель не називає теми, вона лише дає списки слів; назву придумує людина.
Де вводиться · тема 08 · Тематичне моделювання
Температура temperature
Число, на яке ділять оцінки моделі перед softmax. Менша за одиницю робить розподіл гострішим (модель упевненіша), більша — пласкішим. У межі 0 семплювання перетворюється на жадібний вибір, у межі нескінченності — на вибір навмання зі словника.
Де вводиться · тема 28 · GPT-родина
Керує висотами, а не складом. Температура міняє, наскільки нерівномірний розподіл, але кандидати лишаються ті самі — включно з безглуздими. Відсіванням кандидатів займаються top-k і top-p. Заміряно в темі 28: температура 1.3 дає найрізноманітніший текст (0.6257 різних слів), але не найточніший.
Токен token
Найменший шматок тексту, з яким працює модель. Це не обовʼязково слово: залежно від токенізатора токеном буває ціле слово, його частина, розділовий знак або навіть один символ.
Де вводиться · тема 02 · Токенізація
Ухвалено: токен. «Лексема» відпадає: в українському мовознавстві це слово як словникова одиниця — тобто, по суті, лема. Назвати токен лексемою означало б зіштовхнути його з лематизацією, яка стоїть у сусідній темі. «Одиниця» надто загальна. «Токен» відмінюється, дає «токенізація» й «токенізатор» і збігається з тим, що написано в документації будь-якої бібліотеки.
Токенізація tokenization
Перетворення суцільного тексту на список токенів — перший крок будь-якої роботи з мовою. Спосіб різати визначає все, що буде далі.
Де вводиться · тема 02 · Токенізація
Українська специфіка. Різати по пробілах для української мало: апостроф усередині слова («зʼїв») пробілом не є, дефіс іноді розділяє слова («синьо-жовтий»), а іноді ні («де-небудь»), і скорочення з крапками ламають розбиття на речення. Тому для української наївна токенізація по пробілах дає помітно гірший результат, ніж для англійської, — і саме тому в темі одразу переходимо до субслів.
Точний збіг exact match
Найсуворіша метрика для відповіді: зараховується лише те, що збіглося з еталоном символ у символ. Поруч завжди звітують F1 по токенах, бо сама вона надто груба — «у 1995 році» проти «1995» дає нуль.
Де вводиться · тема 33 · Question answering
Трансформер transformer
Архітектура, побудована на механізмі уваги замість послідовного читання. Обробляє всі слова речення одночасно, тому розпаралелюється — і виграє там, де ядер багато. На ній стоять BERT, GPT і взагалі все сучасне.
Де вводиться · тема 21 · Архітектура і чому витіснила RNN
Тут раніше стояло «навчається на порядки швидше за рекурентну мережу». На нашому замірі це неправда. На одному ядрі епоха трансформера коштує 125.1 с проти 96.2 с у рекурентної — тобто він повільніший. Виграш зʼявляється лише там, де є що паралелити: та сама робота на чотирьох потоках коштує рекурентній мережі 32.03 с, а трансформерові 4.63 с. Швидкість трансформера — це властивість не алгоритму, а заліза під ним.
І про якість — теж обережно. На корпусі курсу (675 тисяч слововживань) трансформер не обганяє рекурентну мережу: 153.82 проти 158.20, купи по пʼятьох зернах перекриваються. Обидва програють згладженим лічильникам (131.70). Справжня вимірна перевага інша: трансформер перетворює зайві параметри на якість, а рекурентна мережа — ні. Розширення її стану зі 128 до 520 погіршує результат зі 158.20 до 220.58.
Ухвалено: трансформер. «Перетворювач» відкидаємо: це загальне слово для будь-чого, що щось перетворює, і назвою конкретної архітектури бути не може. Пощастило з тим, що електричний прилад українською зветься «трансформатор», а не «трансформер», — тож зіткнення значень немає. Прикметник — «трансформерний».
У
Увага attention
Механізм, що дозволяє моделі на кожному кроці дивитися на всі слова вхідного тексту й самій вирішувати, які з них зараз важливі. Замість одного стисненого вектора — прямий доступ до всього речення.
Де вводиться · тема 22 · Self-attention покроково
Ухвалено: увага. Українська назва прозора, вже вживана
й нічим не зайнята, тож англійського варіанта тут не потрібно. Похідні:
«механізм уваги», «ваги уваги», «голова уваги», «перехресна увага» (cross-attention).
Виняток один — self-attention, який лишаємо латиною; чому саме, сказано
в його статті.
Уніграмний рубіж unigram baseline
Втрата мовної моделі, яка дивиться лише на частоту слова й не бачить контексту взагалі. Найдешевша перевірка, чи твоя модель узагалі щось вивчила.
Де вводиться · тема 25 · Ідея передтренування
Поки модель не пробила цей рубіж — її фактично немає, і будь-яке порівняння з нею вимірює шум (грабля №48). На нашому корпусі рубіж заміряно кілька разів, і він залежить від того, що саме рахують за одиницю й на якому поділі: 6.6577 ната на словах при словнику 5 149 (тема 25), 6.4402 теж на словах, але при словнику 8 160 й іншому поділі (тема 28; на відкладеній вибірці той самий рубіж дає 6.4521), 6.6146 англійською і 7.1395 українською на спільному субслівному словнику (тема 30). Тому рубіж міряють для своєї токенізації, а не беруть чужий.
Упередженість моделі bias
Систематичний перекіс у відповідях моделі, успадкований із даних: стійкі звʼязки між статтю й професією, між національністю й оцінкою. Модель не «вважає» так — вона відтворює те, що частіше траплялося в текстах.
Де вводиться · тема 15 · Оцінка й упередженість ембедингів, для великих моделей — тема 40 · Межі мовних моделей
Не плутай. Англійське bias у курсі машинного
навчання означало ще дві різні речі: зсув у рівнянні нейрона й систематичну похибку
моделі в розкладі «зсув — розкид». Тут — третє значення, суспільне. У тексті завжди
кажемо, про яке саме йдеться.
Окремий підвид: упередженість через відсутність. Слова, якого в корпусі немає, для моделі не існує — і вона на це не скаржиться, а мовчки повертає найближче з того, що знає. У темі 15 із шістдесяти побутових слів у корпусі виявилось дванадцять, а вектор мають чотири; шість технічних слів важать у 22.7 раза більше слововживань, ніж усі шістдесят побутових разом. Це найтихіший різновид перекосу: його не видно ні в жодній метриці, ні в жодній відповіді моделі.
Ф
Флективність inflection, fusional morphology
Властивість мови передавати граматичні значення зміною самого слова — закінченнями й чергуваннями в основі, а не окремими службовими словами. Українська флективна, англійська майже ні.
Де вводиться · тема 01 · Чому текст складніший за таблицю
Чому цей термін у глосарії взагалі є. Це корінь майже всіх українських особливостей курсу. З флективності випливає, що словоформ у кілька разів більше за леми; що стемінг не працює, а лематизація дорога; що субслівна токенізація стає необхідністю, а не оптимізацією; що n-грами й метрики на збіг слів (BLEU, ROUGE) занижують оцінку; що пошук по словах вимагає нормалізації. Кожен із цих наслідків розібрано у своїй темі — але причина в них одна.
Ц
Центральна й контекстна матриця input / output embeddings, Win / Wout
Skip-gram навчає два набори векторів: один для слова в ролі центрального, другий — для нього ж у ролі контексту. Бібліотеки за замовчуванням віддають лише перший, і другий зазвичай викидають.
Де вводиться · тема 12 · Word2Vec
Вибір між ними важить більше за вибір методу. На тих самих даних і тій самій моделі розрив між синонімами й випадковістю становить 0.3093 для центральної матриці й 0.5390 для суми обох. Різниця 0.23 — удвічі більша за відрив від TF-IDF. Тому в порівнянні моделей усі мусять віддавати однаковий бік; FastText, наприклад, уміє зібрати з субслів лише центральну.
Ч
Чанкування chunking
Розбиття довгих документів на фрагменти такого розміру, щоб кожен влазив у модель і при цьому лишався самодостатнім за змістом. Робиться перед побудовою векторної бази.
Де вводиться · тема 36 · RAG і векторні бази
Термінологія. У тексті вживаємо і «чанкування», і описове «розбиття на фрагменти». Розмір фрагмента — головна ручка якості всієї конструкції RAG: завеликий фрагмент розмиває зміст, замалий втрачає контекст.
Частота терміна term frequency, TF
Скільки разів слово трапилось у документі — зазвичай поділене на довжину документа, щоб довгі тексти не вигравали автоматично. Перша половина TF-IDF.
Де вводиться · тема 05 · TF-IDF
Частотне проріджування subsampling of frequent words
Прийом Word2Vec: найчастіші слова викидають із навчальних пар із імовірністю, що росте з їхньою частотою. «Не» й «для» трапляються всюди, тож майже нічого не кажуть про сусідів, зате з’їдають більшість прикладів.
Де вводиться · тема 12 · Word2Vec
Побічний наслідок, про який рідко кажуть. Викидання слова зсуває решту одне до одного, тобто непомітно розширює вікно контексту. Тому проріджування — не лише пришвидшення: воно міняє те, що модель вважає сусідством.
Ш
Шиншила Chinchilla
Правило, за яким на заданий обчислювальний бюджет є оптимальне співвідношення ваг і токенів: перші великі моделі були завеликі для того обсягу даних, на якому їх учили.
Де вводиться · тема 37 · Що змінює масштаб
Той самий висновок на нашому стенді. Вшестеро більша модель виграла 0.28 ната, а вдвадцятеро більші дані — понад 4.5. Показники степеневого закону: −0.0288 за розміром проти −0.2402 за даними, тобто дані сильніші у 8.3 раза.
Штраф KL KL penalty · «повідець»
Доданок, що штрафує модель за відхід від тієї, з якої почали. Тримає її «на повідці», поки вона вчиться подобатись оцінювачу.
Де вводиться · тема 38 · Instruction tuning і RLHF
Навіщо. Без нього модель знаходить дешеві способи задовольнити модель винагороди — і перестає бути мовною моделлю. Штраф не робить її правдивішою; він лише не дає їй розсипатись, поки вона оптимізує чужу оцінку.
СТАТТІA — Z
Терміни, для яких українська назва або не потрібна, або гірша за оригінал.
0-9
3CosAdd і 3CosMul
Дві формули відповіді на аналогію «a до b, як c до ?». 3CosAdd шукає найближче слово до b − a + c. 3CosMul замість суми бере добуток трьох косинусів, щоб жоден доданок не переважив решту.
Де вводиться · тема 14 · Арифметика векторів
Разом, бо нарізно не існують. 3CosMul вигадали саме як латку до 3CosAdd, у якій одне дуже частотне слово перетягує відповідь на себе.
A
AdaGrad adaptive subgradient method
Спосіб навчання, у якому кожна вага дістає свій крок: що частіше її вже правили, то менший крок. Саме він дає GloVe раду з тим, що частоти слів різняться на порядки.
Де вводиться · тема 13 · GloVe і FastText
ANN approximate nearest neighbours · наближений пошук найближчих сусідів
Сімейство алгоритмів, що знаходять найближчі вектори не точно, а майже точно — зате в тисячі разів швидше. Саме на них стоять векторні бази.
Де вводиться · тема 36 · RAG і векторні бази
Не плутай. Скорочення ANN в англомовних текстах
означає ще й artificial neural network. У цьому курсі — тільки наближений
пошук сусідів.
AUC area under the ROC curve · площа під ROC-кривою
Імовірність того, що випадково взята правильна пара дістане вищу оцінку, ніж випадково взята неправильна. Число від 0.5 (вгадування) до 1.0.
Де вводиться · тема 15 · Оцінка й упередженість ембедингів
Чим корисна саме тут. З трьох мірок якості ембедингів це єдина, що не залежить від шкали: анізотропія роздуває всі косинуси одразу, і середні зсуваються, а порядок — ні. Докладний розбір ROC — у глосарії курсу «Машинне навчання».
B
beam search променевий пошук
Стратегія декодування, за якої модель веде одночасно кілька найкращих варіантів відповіді й на кожному кроці лишає з них знову найкращі. Дає звʼязніший текст, ніж жадібний вибір по одному слову.
Де вводиться · тема 19 · seq2seq і машинний переклад
Ухвалено: beam search латиною. Калька «променевий пошук» вводить в оману — нічого променевого в ньому немає, «beam» тут означає пучок утримуваних версій. Кількість версій звемо «ширина пошуку» (beam width). Українська назва в тексті зʼявляється один раз як довідка й далі не вживається.
Ширший промінь сам собою робить гірше (тема 19). На 250 реченнях: ширина 1 дає 0.2498 правильних токенів, ширина 8 — 0.2094. Причина видна в довжині виходу: 4.39 слова при ширині 1 і 3.52 при ширині 8, тоді як в еталона 4.94. Промінь складає відʼємні логарифми, тож довший переклад завжди «гірший» — і модель обирає коротший. Лікується поділом оцінки на довжину: з показником 0.7 довжина 4.91, якість 0.2579, тобто вже краще за жадібний вибір.
BERT bidirectional encoder representations from transformers
Передтренована модель-енкодер, що читає речення в обидва боки й навчена відновлювати сховані слова. Текст вона не пише — зате дає сильне подання для класифікації, NER і пошуку відповіді в тексті.
Де вводиться · тема 26 · BERT, застосування — тема 27 · BERT у роботі
Bi-encoder dual encoder · «двобічний енкодер»
Два енкодери — окремо для запиту й для документа, — які перетворюють кожен на вектор однакової довжини. Схожість — скалярний добуток, після нормування — косинус. Документи кодують наперед, тому пошук швидкий.
Де вводиться · тема 36 · RAG і векторні бази
Назва англійська, бо так звуть клас у бібліотеках. Українське «двобічний енкодер» пояснює будову: боків два, бо енкодерів два. Слабке місце там само: документ стискається у вектор, не бачачи запиту, — звідси стеля, яку знімає cross-encoder.
BIO-розмітка BIO tagging
Спосіб розмітити сутності в тексті потокенно: B — початок сутності,
I — її продовження, O — слово поза сутністю. Так задача NER
зводиться до звичайної класифікації кожного токена.
Де вводиться · тема 32 · NER
BitFit bias-term fine-tuning
Найощадніший спосіб донавчання: міняємо лише зсуви, а всі матриці лишаємо замороженими.
Де вводиться · тема 39 · PEFT і LoRA
Заміряно на курсі: 3 586 навчальних ваг дали 0.8604 — нерозрізненно з LoRA усіх рангів від 1 до 16. Добрий рубіж: перш ніж хвалити складніший метод, покажи, що він обганяє зсуви.
BLEU bilingual evaluation understudy
Метрика машинного перекладу: рахує, яка частка n-грам перекладу збіглася з еталонним перекладом людини.
Де вводиться · тема 19 · seq2seq і машинний переклад
Українська специфіка. Метрики на збіг слів систематично занижують оцінку для флективних мов: правильний переклад, у якому слово стоїть в іншому відмінку, ніж в еталоні, зараховується як промах. Для української різниця між «поганим BLEU» і «поганим перекладом» більша, ніж для англійської.
Деталь реалізації видно числом (тема 19). Наша реалізація дає 0.084186, а nltk на тих самих даних — 0.081133. Уся різниця в тому, що nltk кладе max(1, …) у знаменник для речень, коротших за n. Тому числа BLEU з різних робіт між собою не порівнюють.
BM25 best matching 25
Формула ранжування документів за запитом — стандарт повнотекстового пошуку. По суті це вдосконалений TF-IDF: він не дає частоті рости нескінченно й враховує довжину документа.
Де вводиться · тема 09 · Пошук і схожість
BPE byte pair encoding
Алгоритм побудови словника субслів: почати з окремих символів і багато разів склеювати найчастішу пару сусідів у нову одиницю. Що частіша послідовність, то раніше вона стає окремим токеном.
Де вводиться · тема 02 · Токенізація
Українська специфіка. BPE нічого не знає про морфологію, але на українських текстах він її частково відкриває сам: часті закінчення й корені склеюються в окремі токени просто тому, що часто трапляються. Межі при цьому не збігаються з морфемними — «книжкою» може розпастись не так, як розібрав би мовознавець.
C
CBOW continuous bag of words
Один із двох режимів навчання Word2Vec: за оточенням передбачити слово, що стоїть посередині. Швидший за skip-gram і краще працює на частих словах.
Де вводиться · тема 12 · Word2Vec
CRF conditional random field · умовне випадкове поле
Модель, що оцінює правдоподібність усього рядка міток разом, а не кожної мітки окремо: до оцінок окремих токенів додає оцінки переходів між сусідніми мітками, тож заборонений перехід дістає штраф.
Де вводиться · тема 32 · NER
Лікує лише структуру. На нашому корпусі помилки межі й типу разом дають 0.0706, а пропуски й вигадки — 0.3128: CRF працює з меншою з двох частин. Найкращий рядок міток шукають алгоритмом Вітербі.
Cross-encoder «перехресний енкодер»
Модель, яка подає запит і документ разом, одним входом, і видає одне число — наскільки документ доречний. Увага бачить кожне слово запиту поруч із кожним словом документа.
Де вводиться · тема 36 · RAG і векторні бази
Точний, але ним не можна шукати. Оцінка не розкладається на «частину від запиту» і «частину від документа», тож кожен документ колекції потребує окремого прогону мережі. Тому його ставлять після пошуку — див. «Переранжування».
D
DPO direct preference optimization
Донавчання прямо на парах уподобань, без окремої моделі винагороди й без навчання з підкріпленням: та сама мета переписується як звичайна втрата на парах.
Де вводиться · тема 38 · Instruction tuning і RLHF
E
exposure «викритість» · наскільки секрет стирчить із моделі
Наскільки секрет із навчального корпусу «стирчить» із моделі: наскільки він імовірніший за випадковий рядок того самого шаблону. Міряється в бітах — грубо кажучи, скільки здогадок економить зловмисник.
Де вводиться · тема 40 · Межі мовних моделей
Обовʼязковий контроль. Порахуй exposure секретів, яких у корпусі немає. У курсі вони дали 0.11..3.71 біта — без цього рядка два біти зійшли б за доказ завчання. І перевір стелю власного заміру: рангом серед двох тисяч альтернатив більш ніж 10.97 біта не виміряєш.
F
F1 по сутностях entity-level F1
Оцінка NER, у якій одиницею є сутність цілком: зараховується тільки той випадок, коли збіглися і межі, і тип. Часткове влучання в межу не дає половини бала — воно дає дві помилки: пропущену справжню сутність і вигадану зайву.
Де вводиться · тема 32 · NER
Навіщо, якщо є точність по токенах. Бо та бреше. На нашому корпусі мітку O мають 0.9811 усіх токенів, тож модель, яка мовчки каже «тут нічого немає», уже має точність по токенах близько 0.98, а F1 по сутностях у неї рівно нуль. Порівнювати треба саме з цим рубежем, і рахувати його тим самим кодом, що й метрику.
FastText
Розвиток Word2Vec, у якому вектор слова складають із векторів його символьних шматків. Тому модель дає вектор навіть слову, якого ніколи не бачила.
Де вводиться · тема 13 · GloVe і FastText
Українська специфіка. Задум простий: словоформи однієї леми ділять символьні шматки, тож «книжка» й «книжці» мали б опинятись поруч самі собою, без жодної лематизації. Саме тому FastText довго був стандартним вибором для флективних мов.
Але на нашому корпусі це не підтвердилось, і тема 13 каже це числом. Перекриття символьних шматків «впізнає» 76.0 % невідомих слів, а навчений FastText — лише 18.7 %: спільні шматки часто виявляються закінченнями, а не коренем, тож слово «впізнається» за тим, що воно українське, а не за тим, що воно те саме. На самій задачі FastText відстає від Word2Vec на 0.2108. Тобто «якісний стрибок» — це очікування, а не замір, і на корпусі з 675 тисяч слововживань воно не справджується.
FFN feed-forward network · позиційна мережа
Невелика мережа з двох лінійних шарів усередині кожного шару трансформера. Застосовується до кожної позиції окремо й позицій між собою не змішує — змішує їх увага, а FFN лише переробляє те, що увага зібрала.
Де вводиться · тема 21 · Архітектура і чому витіснила RNN
Де ти її зустрінеш. У коді це аргумент dim_feedforward — ширина внутрішнього шару, стандартно вчетверо більша за d_model. На неї припадає більшість множень шару, поки довжина входу менша за 6·d: при d = 128 і проміжному 512 це 131 712 параметрів проти 66 048 на увагу.
Ухвалено: FFN, латиницею. «Позиційна мережа» лишається поясненням у тексті, але заголовком бути не може: читач шукатиме саме FFN і dim_feedforward.
G
GloVe global vectors
Спосіб побудувати вектори слів не з окремих вікон, а з повної таблиці «скільки разів слово A траплялося поруч зі словом B» по всьому корпусу.
Де вводиться · тема 13 · GloVe і FastText
GPT generative pre-trained transformer
Родина авторегресійних моделей-декодерів: передтренованих просто передбачати наступний токен. Саме з неї виросли сучасні великі мовні моделі.
Де вводиться · тема 28 · GPT-родина
GRU gated recurrent unit
Спрощена родичка LSTM: два гейти замість трьох і жодного окремого стану памʼяті. Менше параметрів, швидше навчання, якість часто така сама.
Де вводиться · тема 18 · LSTM і GRU
«Якість часто така сама» — перевірено (тема 18). На нашому корпусі GRU від простої RNN на третій епосі не відрізняється (купи по зернах 98.99…104.82 і 102.22…106.95 перекриваються), а LSTM гірший за обох. ⚠️ Порядок GRU проти RNN не відтворився між конфігураціями: на іншому розмірі корпусу GRU виходив попереду. Відтворилось лише те, що LSTM останній.
I
In-batch negatives «негативи з пачки»
Спосіб дістати неправильні приклади безкоштовно: у пачці з B пар для кожного запиту правильний документ — його власний, а решта B − 1 документів належать чужим запитам і майже напевно неправильні.
Де вводиться · тема 36 · RAG і векторні бази
Що більша пачка, то важче завдання. Тому bi-encoder учать великими пачками. Зворотний бік: випадкові негативи здебільшого легкі — вони не схожі на запит і вчать мало.
In-context learning навчання в контексті
Здатність великої моделі підхопити задачу з кількох прикладів, наведених просто в тексті запиту, — без жодної зміни ваг.
Де вводиться · тема 28 · GPT-родина, розвивається в темі 37 · Що змінює масштаб
Термінологія. Слово «навчання» тут оманливе: модель нічого не запамʼятовує, і після відповіді все зникає. Тому в тексті пишемо «навчання в контексті» лише поруч з англійською назвою й одразу пояснюємо, що ваги не змінюються.
На нашому масштабі це не працює, і заміряно як саме (тема 28). Модель, якій задачу описали в самому вході, дає сиру точність 0.2433 при тому, що постійна відповідь дала б 0.7567 — бо вона називає те саме слово у 99.87 % випадків. Навіть після калібрування вісьмома прикладами виходить 0.5827, тобто гірше за постійну відповідь. Для порівняння, звичайний лінійний зонд на тій самій моделі дає 0.9173. Здатність учитися з прикладів у вході — властивість великих моделей, і наш макет її не має.
IVF і nprobe inverted file index
Наближений пошук векторів: базу один раз ділять k-середніми на nlist комірок, а на кожен запит перебирають лише nprobe найближчих комірок. Вартість ≈ nlist + nprobe · N / nlist замість N.
Де вводиться · тема 36 · RAG і векторні бази
Дві ручки, одна межа. Більше nprobe — вища повнота й довший пошук. На нашій колекції з 93 392 векторів при nlist = 256, nprobe = 64 наближений пошук уже повільніший за точний перебір.
L
LDA latent Dirichlet allocation · латентне розміщення Діріхле
Класична модель тем: припускає, що кожен документ — це суміш кількох тем, а кожна тема — свій розподіл слів, і відновлює обидві речі з текстів.
Де вводиться · тема 08 · Тематичне моделювання
lead lead baseline · рубіж «початок тексту»
Рубіж сумаризації, який бере початок тексту — перше речення або перші N слів — і нічого не аналізує.
Де вводиться · тема 34 · Сумаризація
Його рідко бʼють. Автори ставлять головне на початок. TextRank на наших описах у 67.14 % випадків обирає те саме перше речення — тобто здебільшого і є lead.
LoRA low-rank adaptation
Донавчання, за якого оригінальна матриця заморожена, а вчиться вузька поправка до неї — добуток двох тонких матриць. Після навчання поправку вливають у ваги, тож на виведенні модель не стає повільнішою.
Де вводиться · тема 39 · PEFT і LoRA
Заміряно на курсі, і рівності немає. LoRA рангу 4 дала 0.8622 проти 0.8917 у повного донавчання — це 74 % розриву між лінійною пробою й повним донавчанням, при 0.3093 % навчальних ваг. Ранг вичерпується майже одразу, а розкласти бюджет на більше матриць, схоже, важливіше за ранг: за однакових 4 354 ваг дві матриці рангу 4 дали 0.8622 проти 0.8385 в однієї рангу 8 — на пʼятьох зернах це напрямок, а не доведена різниця.
LSTM long short-term memory · довга короткочасна памʼять
Рекурентна мережа з окремим станом памʼяті й гейтами, які вирішують, що запамʼятати, що забути й що видати назовні. Придумана саме проти зникомого градієнта.
Де вводиться · тема 18 · LSTM і GRU
Про назву. «Довга короткочасна памʼять» звучить як суперечність, і це не помилка перекладу: мережа має саме довшу коротку памʼять, а не постійну.
Придумана проти зникомого градієнта, але сама його не усуває (тема 18). При ініціалізації гейт забування стоїть коло 0.4908…0.4979 — тобто свіжий LSTM забуває приблизно так само швидко, як проста RNN, і памʼять тане за сім кроків. На нашому корпусі LSTM виявився гіршим за просту RNN у трьох незалежних прогонах, і друга та третя епохи його не рятують.
M
MRR mean reciprocal rank · середній обернений ранг
Середнє від 1/позиція першої правильної відповіді. Правильна відповідь на першому місці дає 1.0, на другому — 0.5, на десятому — 0.1.
Де вводиться · тема 09 · Пошук і схожість
Що вона навмисне не бачить. MRR дивиться лише на першу влучну відповідь і не цікавиться рештою. Для пошуку, де людина читає згори, це радше перевага.
N
n-грама n-gram
Послідовність із n сусідніх одиниць: «машинне навчання» — біграма зі слів, «нав» — триграма з літер. Найдешевший спосіб повернути мішку слів хоч трохи відомостей про порядок.
Де вводиться · тема 16 · Мовна модель: наступне слово
Українська специфіка. Словесні n-грами для української слабші, ніж для англійської, з двох причин одразу. Порядок слів вільніший, тож та сама думка дає різні біграми; а флексія множить кожну біграму на всі можливі поєднання форм. Символьні n-грами натомість для української працюють добре — вони самі схоплюють корені.
Де вона впирається. З усіх 8 415 × 8 415 можливих пар слів
наш корпус показав моделі 0.23 % (тема 16). Про решту формула
c(a,b) / c(a) чесно каже «нуль», і все, що модель може, — віддати цю
частину тексту на відкуп згладжуванню. Довший контекст не рятує: триграма програє
біграмі — 288.69 проти 156.27 за заміром теми 16.
⚠️ Числа тем 16 і 17 не переносні. Теми стоять на різних прогонах: словник 8 415 проти 8 440, поділ 82 442/9 160 проти 82 441/9 161, і навіть частка небачених пар — 14.86 % проти 14.66 %. Тема 16 сама попереджає, що перплексії зіставні лише при однаковому словнику. Тут довго стояла пара 278.21 проти 156.27, яка брала перше число з теми 17, друге з теми 16 — такого заміру не існує. І частка 22.72 %, яка не трапляється в жодній темі курсу взагалі.
NMF non-negative matrix factorization · невідʼємна матрична факторизація
Розклад матриці «документ — слово» на дві менші матриці, усі числа в яких невідʼємні. Через заборону відʼємних чисел компоненти виходять схожими на теми, які можна прочитати.
Де вводиться · тема 08 · Тематичне моделювання
O
OOV out-of-vocabulary · позасловникове слово
Слово, якого немає у словнику моделі. Для словника зі слів це глухий кут: усі такі слова зливаються в одну позначку «невідоме» й стають нерозрізненними.
Де вводиться · тема 02 · Токенізація
Українська специфіка. Частка OOV для української вища, ніж для англійської, при тому самому розмірі словника — просто тому, що форм більше. Субслівна токенізація прибирає проблему як таку: незнайомого слова для неї не існує, є лише незнайома комбінація знайомих шматків.
P
PEFT parameter-efficient fine-tuning
Спільна назва для способів донавчити модель, змінюючи мізерну частку ваг: адаптери, префіксні токени, BitFit, LoRA.
Де вводиться · тема 39 · PEFT і LoRA
Чому це взагалі потрібно. Повне донавчання дороге не обчисленнями, а памʼяттю: крім самих ваг треба тримати градієнти й два моменти Adam, тобто учетверо більше. Саме цю четвірку і скорочує PEFT.
PMI і PPMI pointwise mutual information · поточкова взаємна інформація
PMI ділить те, як часто два слова трапились разом, на те, скільки разів вони мали б зустрітись випадково, і бере логарифм. PPMI — та сама величина, у якій усе від’ємне замінено нулем.
Де вводиться · тема 11 · Дистрибутивна семантика
Разом, бо нарізно жодна не працює. Сира частота каже, що найкращий сусід кожного слова — «не»: службові слова займають 41.49 % найчастіших контекстів. PMI ділить на очікуване й ронить їхню частку до 0.25 %. А від’ємні значення відкидають тому, що «ці два слова майже не трапляються разом» на рідкісних парах — це шум, а не знання.
precision і recall точність влучань і повнота
precision — яка частка того, що модель назвала класом, справді ним є. recall — яку частку справжніх представників класу вона знайшла.
Де вводиться · тема 07 · Метрики й оцінка
Ухвалено: латиною. Українською precision кажуть
«точність» — і воно стикається з accuracy, теж «точністю». Курс
машинного навчання вже тримає їх латиною (тема 05 так і зветься «Precision і
Recall»), а RULES §12 фіксує це рішення. accuracy ми
звемо часткою правильних.
Одна стаття, бо нарізно кожне безглузде. Модель, що каже «помилка» рівно один раз і вгадує, має precision 1.0000 при recall близько нуля. Модель, що каже «помилка» завжди, має recall 1.0000 при precision, рівній частці класу. Обидві нікчемні, і кожна з них має ідеальну половину пари.
Q
QLoRA quantized LoRA
LoRA поверх основи, що зберігається в чотирьох бітах. Заморожену модель тиснемо, а вузьку поправку вчимо у звичайній точності.
Де вводиться · тема 39 · PEFT і LoRA
Query, Key, Value запит, ключ, значення
Три вектори, які механізм уваги робить із кожного токена. Запит питає «що мені зараз потрібно», ключ відповідає «що я можу запропонувати», значення — те, що насправді передається далі, якщо запит із ключем збіглися.
Де вводиться · тема 22 · Self-attention покроково
Термінологія. Українські назви вживаємо в поясненні, а в позначках
і формулах лишаємо Q, K, V. Слово «запит»
тут не має нічого спільного ні з пошуковим запитом, ні з промптом — про це в темі
сказано прямо, бо це найчастіша плутанина.
Question answering відповідь на питання, QA
Задача дати відповідь на питання за текстом. Екстрактивна версія знаходить відповідь готовим фрагментом документа, генеративна — формулює її своїми словами.
Де вводиться · тема 33 · Question answering
R
RAG retrieval-augmented generation · генерація з пошуком
Конструкція з двох частин: спершу пошук знаходить у твоїх документах доречні фрагменти, потім модель відповідає, спираючись саме на них. Не архітектура моделі, а спосіб її обвʼязати.
Де вводиться · тема 36 · RAG і векторні бази
Навіщо. Модель знає лише те, що бачила під час навчання, і схильна вигадувати. RAG дає їй свіжі документи прямо в запит — і водночас робить відповідь перевірною: видно, з якого фрагмента вона взялася.
recall@k повнота на глибині k
Частка доречних документів, що потрапили в перші k позицій видачі, усереднена по запитах. Коли доречний документ один, це просто частка запитів, для яких він є серед перших k. Яке саме місце — не розрізняє; для цього є MRR.
Де вводиться · тема 09 · Пошук і схожість, розвивається в темі 36 · RAG і векторні бази
У неї власна стеля. Якщо доречних документів більше за k, recall@k не дійде до одиниці: при 120 доречних recall@10 не перевищить 0.0833.
RLHF reinforcement learning from human feedback
Донавчання моделі за людськими вподобаннями: люди порівнюють пари відповідей, на цих порівняннях вчиться модель винагороди, а вже за нею навчанням із підкріпленням підганяють саму мовну модель.
Де вводиться · тема 38 · Instruction tuning і RLHF
Спадщина. «Навчання з підкріпленням» читач уже проходив у курсі машинного навчання — тут те саме поняття в новій ролі: винагороду дає не середовище, а модель, навчена на людських оцінках.
ROUGE recall-oriented understudy for gisting evaluation
Метрика сумаризації: рахує, скільки n-грам спільних у переказі моделі та еталонному. Звітують F-міру, а не саму повноту: повнота росте з довжиною, тож хто звітує її, той звітує довжину. ROUGE-1 рахує окремі слова, ROUGE-2 — пари сусідніх, ROUGE-L — найдовшу спільну підпослідовність.
Де вводиться · тема 34 · Сумаризація
Чому метрика погана. Хороший переказ можна написати зовсім іншими словами — ROUGE його покарає. Заміряно на курсі: ROUGE-2 не відрізняє своє резюме від чужого майже в половині випадків, бо в обох нуль. Для української гірше вдвічі: навіть ті самі слова в іншому відмінку вже не збігаються. Тема розбирає, чим цю метрику доповнювати.
S
Scaling laws закони масштабування
Стійкі залежності між розміром моделі, обсягом даних, витраченими обчисленнями — і якістю. Головна їхня цінність у тому, що вони дають передбачати результат великого навчання за кількома маленькими.
Де вводиться · тема 37 · Що змінює масштаб
self-attention увага до себе
Механізм уваги, застосований реченням до самого себе: кожне слово дивиться на всі інші слова того самого речення й вирішує, з якими воно повʼязане. Основна операція трансформера.
Де вводиться · тема 22 · Self-attention покроково
Ухвалено: self-attention латиною. «Самоувага» українською читається як риса характеру, а не як операція, і в реченні поводиться погано. «Увага до себе» годиться для пояснення, але не як назва. Тому назва латинська, а поруч у тексті — пояснення «речення дивиться саме на себе». Для порівняння, cross-attention перекладається без проблем — «перехресна увага», і саме так ми його й звемо.
SentencePiece
Токенізатор, що працює з сирим текстом як із потоком символів, разом із пробілами, і не потребує попереднього розбиття на слова. Через це він однаково добре працює з мовами, де пробілів немає взагалі.
Де вводиться · тема 02 · Токенізація
seq2seq sequence to sequence · послідовність у послідовність
Схема, у якій модель приймає одну послідовність і видає іншу, можливо, іншої довжини: речення — переклад, стаття — переказ, питання — відповідь. Складається з енкодера й декодера.
Де вводиться · тема 19 · seq2seq і машинний переклад
skip-gram
Другий режим навчання Word2Vec, дзеркальний до CBOW: за словом посередині передбачити його оточення. Повільніший, але краще вчить рідкісні слова.
Де вводиться · тема 12 · Word2Vec
T
T5 і BART text-to-text
Моделі, у яких геть усі задачі зведено до одного вигляду: на вхід текст, на вихід текст. Класифікація, переклад і переказ відрізняються лише тим, що написано на початку запиту.
Де вводиться · тема 29 · T5 і BART
teacher forcing подавання еталона
Прийом навчання декодера: на кожному кроці йому подають не те, що він щойно видав сам, а правильну відповідь із еталона. Навчання йде швидше — але виникає розрив із тим, що буде в бою, коли еталона немає.
Де вводиться · тема 19 · seq2seq і машинний переклад
Скільки це коштує (тема 19). Частка правильних токенів при поданому еталоні — 0.3847 ±0.0049, у справжній генерації — 0.2112 ±0.0097, тобто у 1.82 раза менше. Цілий рядок збігається з еталоном у 0.0116 випадків, тобто приблизно в одному перекладі з 86. ⚠️ На першій позиції обидва режими дають рівно однакове число (0.3568) — і це тотожність, а не збіг: подавати ще нічого.
TextRank
Витяг, що обирає речення, найбільше схоже на решту речень тексту: речення — вузли графа, вага ребра — їхня схожість, а найцентральніший вузол шукають тим самим способом, яким колись ранжували вебсторінки.
Де вводиться · тема 34 · Сумаризація
На коротких текстах збігається з lead. На наших описах він у 67.14 % випадків обирає перше речення; що довший опис, то рідше.
TF-IDF term frequency — inverse document frequency
Ваговий коефіцієнт слова в документі: часте в цьому тексті й рідкісне в усій колекції слово отримує велику вагу, а «і» та «на» — майже нульову. Роками був стандартним поданням тексту.
Де вводиться · тема 05 · TF-IDF
top-k і top-p ядерне семплювання
top-k лишає фіксовану кількість найкращих кандидатів і викидає решту. top-p (ядерне семплювання) лишає стільки, скільки треба, щоб зібрати задану масу ймовірності — тобто мало, коли модель упевнена, і багато, коли вагається.
Де вводиться · тема 28 · GPT-родина
Разом, бо нарізно не існують — обидва відсівають склад кандидатів, тоді як температура міняє лише їхні висоти. Заміряно в темі 28: top-k із пʼятьма кандидатами дав найточніший текст (0.0870 проти 0.0794 у жадібного).
W
Word2Vec
Перша модель ембедингів, що зробила їх масовими: неглибока мережа, яку вчать передбачати слово за оточенням або оточення за словом, а потрібні їй ваги і є векторами слів.
Де вводиться · тема 12 · Word2Vec
Обмеження. Вектор у Word2Vec один на слово назавжди — «коса» на голові й «коса» в полі отримають один і той самий. Контекстні моделі, що зʼявляться в шостому блоці, саме це й виправляють.
WordPiece
Алгоритм субслівної токенізації, близький до BPE, але пари склеює не за простою частотою, а за тим, наскільки склейка покращує модель. Використаний у BERT.
Де вводиться · тема 02 · Токенізація
Чим критерій відрізняється від BPE. BPE зливає пару, яка трапляється найчастіше. WordPiece зливає ту, що найбільше збільшує правдоподібність, — а це приблизно відношення частота(ab) / (частота(a) · частота(b)). Тобто BPE питає «як часто разом», а WordPiece — «наскільки частіше, ніж якби випадково». Тому WordPiece охочіше зливає рідкісні, але міцно спаяні пари.
Z
Zero-shot і few-shot без прикладів і з кількома прикладами
Два режими роботи великої моделі без донавчання: у першому їй просто описують задачу словами, у другому додають кілька прикладів прямо в запит.
Де вводиться · тема 28 · GPT-родина, розвивається в темі 37 · Що змінює масштаб