Постнавчання LLMs: від базових генераторів до розумних помічників

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

Усім привіт! Я — Дмитро Кузьменко, навчаюся в аспірантурі за спеціальністю «Комп’ютерні науки» в НаУКМА, де також викладаю та керую студентськими дослідженнями. Активно підтримую українську АІ-спільноту, менторю молодих інженерів, виступаю на міжнародних конференціях і беру участь у дослідницьких проєктах. Окрім академічної діяльності, я очолюю АІ-напрям в українському стартапі, який спеціалізується на масштабованих рішеннях з великими мовними моделями (LLM) і генеративним АІ.

У статті я поясню, чому LLM не працюють ефективно «з коробки» і як постнавчання перетворює їх на корисних, логічних та етичних агентів. Розповім про основні методи та підходи, як навчають моделі міркування (reasoning models), та як розвиватиметься цей домен у найближчі роки.

Чому «сирі» моделі з коробки — це ще не все

Сучасні LLM є втіленням архітектури трансформерів. Вони здатні генерувати текст, який іноді важко відрізнити від людського. Але, як показує практика, без додаткового доопрацювання така модель може плутати факти, демонструвати упередження, давати нелогічні відповіді або просто бути не дуже корисною у прикладних сценаріях.

Водночас попередньо навчена (претренована) мовна модель — це лише фундамент. Справжня сила таких моделей проявляється лише внаслідок постнавчання (post-training) — процесу шліфування навичок моделі, постановки логіки, адаптивності, етичної узгодженості.

Сьогодні постнавчання — це не одна техніка, а цілий арсенал: від навчання з підкріпленням (reinforcement learning/RL) із людським фідбеком до мультимодального об’єднання моделей. Саме завдяки цим стратегіям LLM перестають бути генераторами випадкових фраз та наближаються до агентів, які можуть міркувати, адаптуватися й працювати в багатомодальному, змінному середовищі.

Джерело: A Survey on Post-training of Large Language Models

Починаючи з 2018 року, постнавчання стало необхідною складовою розвитку великих мовних моделей. Саме тоді, з появою проривних архітектур BERT і GPT, домен NLP пережив свій «момент AlexNet» — вибух моделей глибинного навчання вже в текстових задачах, а не тільки в комп’ютерному зорі. BERT відкрив еру двонапрямного розуміння тексту, тоді як GPT започаткував новий клас генеративних претренованих моделей. Наступні роки принесли експерименти з адаптацією: prompt-tuning, prefix-tuning, а згодом — RLHF, який заклав основу для таких проривів, як ChatGPT.

У 2022–2023 роках екосистема зросла в глибину: з’явилися мультимодальні моделі (PaLM-E, Flamingo, LLaVA), методи дистиляції (DistilGPT), механізми прямого оптимізування уподобань (DPO) і навіть архітектури мікстур експертів MoE (Switch Transformer, Mixtral), які дозволяють масштабувати моделі без пропорційного зростання ресурсів. Найсвіжіший прорив — DeepSeek-R1. Це модель, яка використовує RL без потреби в Supervised Fine-Tuning (SFT) і показує, що cold-start методами можна навчити модель міркувати.

Як працює постнавчання: базові техніки

У березні вийшла гарна оглядова стаття, присвячена постнавчанню мовних моделей. Автори топології PoLM «A Survey on Post-training of Large Language Models» виділяють такі техніки:

  1. Вирівнювання (Alignment): RLHF, RLAIF, DPO та RLVR.
  • RLHF — класичний підхід з людським фідбеком;
  • RLAIF — автоматизація фідбеку через сильніші AI-моделі;
  • DPO — найпростіший спосіб оптимізувати вподобання без моделі винагороди.
  • RLVR — верифіковані нагороди для кращого опанування складних задач.
  1. Reasoning: Self-Refine і Reinforcement Learning for Reasoning. Моделі навчаються критично оцінювати себе або будують логічні ланцюжки через формалізацію міркування як процес рішень Маркова (наприклад, DeepSeek-R1). Нещодавно також вийшла нова стаття, варта окремої уваги.
  2. Інтеграція та адаптація: мультимодальність (MiniGPT-4, LLaVA), RAG-системи (REALM, RA-DIT), об’єднання моделей (Model Soup, SMEAR). Це дає LLM змогу не лише писати, а й «бачити», «шукати» та комбінувати знання з різних джерел.
  3. Efficiency: Model Compression (техніки, такі як квантизація та обрізання параметрів, для зменшення розміру моделі без значної втрати продуктивності) та Parameter-efficient Fine-Tuning (PEFT) — стратегії, які дозволяють більш ефективно донавчати моделі.
  4. Fine-tuning: парадигма, спрямована на покращення точності моделі для конкретних завдань:​
  • Supervised Fine-Tuning (SFT) — використання розмічених датасетів для оптимізації продуктивності моделі в певних завданнях;
  • Adaptive Fine-Tuning — застосування instruction tuning та prefix-tuning для зміни поведінки моделі для кращого задоволення потреб користувачів;
  • Reinforcement Fine-Tuning (ReFT) — інтеграція RL для поступового покращення моделі на основі сигналів нагород.​

Далі сфокусуюся на перших трьох техніках, а також розповім про оптимізацію.

Детальніше про Supervised Fine-Tuning я попросив розповісти колегу, Павла Лисого, Machine Learning Engineer в Universe Group з екосистеми Genesis.

Павло Лисий, Machine Learning Engineer

Один із найбазовіших методів постнавчання великих мовних моделей — Supervised Fine-Tuning (SFT). Його суть проста: ми беремо базову модель, натреновану на величезній (але часто «брудній») інтернет-базі, і дотреновуємо її на меншому, але якісному датасеті, створеному вручну.

Що відбувається під час SFT:

  1. Базовий рівень: модель уже знає загальні мовні шаблони, але її відповіді можуть бути неточними, токсичними або просто безкорисними.
  2. Якісний датасет: замість мільйонів випадкових текстів модель тепер вчиться на ретельно відібраних парах «запит-відповідь», створених людьми.
  3. Ідеальна взаємодія: кожен приклад у цьому датасеті — зразок того, як модель має відповідати: коректно, безпечно та корисно.

Як готують датасет:

Люди-анотатори отримують детальні інструкції (іноді на десятки сторінок), де пояснюється:

  • що вважати ідеальною відповіддю (наприклад, стиль, структура, глибина);
  • як обробляти небезпечні запити (NSFW, насильство, дискримінація);
  • яких тем уникати (наприклад, медичні поради без підтверджених джерел).

У результаті модель вчиться бути безпечним, чесним і корисним асистентом, а не просто «говорити, що завгодно».

Чому це важливо:

Без SFT модель може видавати токсичні, упереджені або абсурдні відповіді. Але після тонкого налаштування вона краще розуміє, як допомагати людині, а не просто генерувати текст. Приклад такої інструкції зображений на малюнку нижче.

Детальніше процес описаний у статті Training Language Models to Follow Instructions with Human Feedback.

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

Як моделі вирівнюють: RLHF, RLAIF та DPO

Щоб LLM працювала як корисний помічник, її потрібно не лише навчити структур мови, а й узгодити з людськими очікуваннями — процес, що називається «вирівнюванням» (alignment). Цей етап особливо важливий, коли йдеться про безпеку, етичність і корисність моделі.

RLHF (Reinforcement Learning with Human Feedback) став фундаментальним проривом у цій галузі. Його структура складається з трьох фаз: спочатку модель SFT генерує кілька варіантів відповіді; дата-анотатори (люди) ранжують ці варіанти за якістю; далі тренується модель винагороди, яка вчиться оцінювати якість відповіді так, як це робить людина. Нарешті, модель донавчається відповідно до сигналів винагороди. Саме ця схема дала початок InstructGPT, а згодом — ChatGPT і GPT-4. Примітка: на практиці це працює гірше, ніж хотілося б — модель підлаштовується під функцію нагород і породжує галюцинації та неправдиві відповіді.

RLAIF (Reinforcement Learning with AI Feedback) — логічне продовження RLHF, де роль людини як оцінювача бере на себе інша сильніша модель. Це здешевлює масштабування, адже прибирає потребу в мільйонах людських оцінок. Такі підходи використовують Gemini, OpenChat та багато внутрішніх проєктів від Anthropic і Meta.

DPO (Direct Preference Optimization) — новий і перспективний напрям. Тут повністю відкидається модель винагороди: натомість ми маємо пари відповідей (краща/гірша), і оптимізуємо основну модель так, щоб вона відтворювала людські вподобання напряму. DPO вже демонструє якість, подібну до RLHF, але з набагато меншою складністю. Наприклад, модель Zephyr навчена повністю через DPO.

DPO також має численні модифікації:

  • Token-level DPO — для точного контролю тексту;
  • rR-DPO — для коротких відповідей;
  • RRHF — для роботи з ранжованими списками.

Загалом, DPO — це шлях до простішого, стабільнішого і швидшого вирівнювання.

RLVR (Reinforcement Learning with Verifiable Rewards) — це метод навчання моделей, який використовує верифіковані винагороди для оцінки їхньої роботи. Він спрямований на покращення продуктивності у задачах, де можна автоматично оцінити правильність рішень, наприклад, у математиці чи програмуванні. Знову ж таки, цей контріб’юшн маємо завдяки DeepSeek-R1.

Джерело: A Survey on Post-training of Large Language Models

Як LLM навчають міркувати: Self-Refine та Reinforcement Reasoning

Навчити модель відповідати — це одне. Навчити її думати — зовсім інше. Міркування в LLM — це здатність логічно переходити від факту до факту, будувати аргументи, планувати та розв’язувати задачі в декілька кроків. І тут працюють дві головні стратегії: самокорекція та RL.

Self-Refine — це здатність моделі оцінити свою відповідь, знайти помилку й виправити її. Існує чимало способів:

  • Intrinsic — модель оцінює свої ланцюги міркування сама, як у RCI Prompting або Self-Critique.
  • External — модель використовує зовнішні засоби перевірки: наприклад, запускає код або перевіряє факт за базою знань (CRITIC, Self-Debug).
  • Fine-tuning — модель спеціально навчається самоперевірки (REFINER, SPA).

Ці методи працюють навіть без RL: модель просто вчиться вдосконалювати себе в кілька ітерацій.

RL for Reasoning — це нова ера моделей, які здатні «розмірковувати». Приклад — DeepSeek-R1-Zero. Вона не використовує SFT, а вчиться через RL із нуля. Як це працює? Кожен крок міркування формалізується як стан в ланцюзі рішень Маркова, модель діє в цьому середовищі, отримує винагороди за правильні кроки (stepwise reward modeling), а хибні шляхи обрізаються (trajectory pruning).

Ключова техніка, яка сколихнула не так давно всю LLM-спільноту — Group Relative Policy Optimization (GRPO). Вона дозволяє тренувати моделі без великих витрат, оцінюючи дії не окремо, а групами. Можна привести аналогію з оптимізацією — під час градієнтного спуску SGD оптимізує cost function не за батчем, а за кожним семплом (як в класичному GD), що дозволяє суттєво прискоритись і непогано апроксимувати градієнт.

Так само і R1-Zero досягає якості на рівні GPT-4 у математиці та логічних задачах, але без fine-tuning на прикладах — завдяки групам експертних траєкторій, які вивчила модель. У підсумку RL для міркування — це заміна прикладів і репрезентацій, буквально завчених через SFT, на RL-based мислення з нуля.

Джерело: A Survey on Post-training of Large Language Models

Ефективність посттренованих моделей (PoLMs)

Зі зростанням розміру моделей постає питання: як зробити їх ефективнішими? Тут постнавчання пропонує цілий набір оптимізацій.

Компресія моделей — це перший напрям. Використовуються:

  • Квантизація (GPTQ, SmoothQuant): перехід з 16/32-бітних до 8-бітних значень.
  • Прунинг (SparseGPT, Wanda): видалення малозначущих параметрів.
  • Low-rank approximation (LoSparse, TensorGPT): спрощення вагових матриць шляхом зниження їхнього рангу.

Ці методи дозволяють запускати потужні LLM навіть на бюджетних GPUs без значної втрати якості.

Параметро-ефективний fine-tuning (PEFT) — другий важливий підхід. Замість оновлення всієї моделі — оновлюється лише частина:

  • LoRA, AdaLoRA — найпоширеніші low-rank методи, що дозволяють створювати адаптери для моделей.
  • Prompt-tuning / Prefix-tuning — модифікація вхідних ембедингів.
  • Hybrid PEFT — поєднання кількох стратегій (UniPELT, AUTOPEFT).

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

  • Black-box distillation — навчаємось лише з відповідей (наприклад, GPT-4 → GPT-2). Тобто є лише приклади генерацій/розмірковувань вчителя, на яких ми вчимо учня.
  • White-box — беремо ще й проміжні активації, як у DeepSeek-R1 — іншими словами, дивимось під капотом в архітектуру моделі вчителя і перевикористовуємо певні елементи.

Ці підходи дозволяють розгортати фундаментальні PoLMs у мобільних пристроях, embedded-девайсах та інших low-resource середовищах, зберігаючи логіку та якість відповідей.

Разом ці три напрями (компресія, PEFT та дистиляція) роблять PoLMs не просто розумними, а й практичними.

Інтеграція, універсальність і виклики агентності

Постнавчання — це не лише про покращення якості відповідей. Воно перетворює LLM на гнучкий інструмент, здатний адаптуватися до контексту, працювати з різними типами даних і об’єднувати знання з різних джерел. Воно дає універсальність, але разом із цим зростають і виклики.

По-перше, питання мультимодальності. Сучасні LLM все частіше мають доступ не лише до тексту, а й до зображень, відео, аудіо чи навіть 3D-даних. Це потребує складної архітектури: окремих енкодерів (CLIP, EVA, SigLIP), спеціальних конекторів (як у LLaVA, BLIP-2, MiniGPT-4) та merge-стратегій.

Наприклад, fusion-based методи дозволяють одночасно аналізувати і текст, і зображення в одному ланцюжку роздумів. Це відкриває шлях до задач, які раніше були недоступними — аналіз вебінтерфейсів, пояснення наших улюблених мемчиків, генерація відеореакцій. Більше задач і модальностей — відповідно більше викликів у побудові правильної архітектури, постнавчання та оптимізації.

По-друге, адаптація до нових доменів. Навіть найкраща LLM робитиме помилки в праві, медицині чи науці, якщо не буде адаптована. Тут на допомогу приходять методи на кшталт Retrieval-Augmented Generation (RAG) — модель витягує релевантні факти з баз знань або пошуковика перед генерацією. Також важливими є методи Knowledge Editing (MEND, EvEdit), які дозволяють локально змінити знання моделі без перенавчання. Наприклад, виправити дату виборів або додати новий медичний факт.

І нарешті, злиття моделей (model merging). У випадку, коли є багато спеціалізованих моделей, постає завдання їх об’єднати: або на рівні ваг (Model Soup), або на рівні відповідей (LLMBlender), або архітектурно (Mixture-of-Experts, SMEAR). Ці техніки дозволяють мати одну гнучку систему замість десятків вузьких моделей. Наприклад, DeepSeek та MetaGPT поєднують експертні знання в одній структурі.

Однак тут теж є певні питання. Щоб об’єднані моделі працювали узгоджено, постає потреба у кращих політиках маршрутизації (routing), уникненні конфліктів знань, а також у посткалібрації. Це вже не просто LLM-інженерія, а повноцінне системно-архітектурне мистецтво.

Джерело: A Survey on Post-training of Large Language Models

Приклади: де це вже працює

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

ChatGPT — це перша масова демонстрація сили alignment. GPT-3 без постнавчання був просто генератором слів: плутаним, іноді цікавим, часто — некерованим. Але після SFT, RLHF і DPO ми отримали асистента, здатного відповідати логічно, етично й людяно. Від хаосу — до порядку.

DeepSeek-R1 — один із найкращих прикладів reasoning-моделі. Вона показала, що навчити LLM міркувати можливо не лише через приклади, а й через RL. R1-Zero пройшла шлях від «сирого» декодера до аналітика, здатного розв’язувати складні математичні задачі, причому без SFT, а лише через покрокове навчання з підкріпленням і RLVR.

LLama 3 — моделі Meta з відкритим кодом, які демонструють гнучкість підходів. Вони підтримують fine-tuning, DPO, RAG, PEFT, знання злиття і мультимодальність. Завдяки відкритості й масштабам ці моделі стали основою для десятків агентних застосунків у дослідженнях, бізнесі й освіті.

Llama 4 — попри неоднозначне сприйняття на бенчмарках від світової спільноти, ця нова модель відкритого доступу від Meta є мультимодальною MoE LLM, в якій консолідовані дуже багато з перелічених в цій статті технік. Зокрема, автори запропонували покращений вид позиційного кодування і його відсутності для збільшення контекстного вікна моделей до 10 мільйонів токенів.

Agentic-системи, як OpenManus чи AutoGPT, будуються на посттренованих моделях. Вони комбінують кілька PoLMs (одна — для міркування, інша — для планування чи доступу до знань) у єдиний цикл дії. Без постнавчання ці моделі просто не функціонували б: генерація коду, контроль логіки та зовнішні API — усе це стало можливим лише завдяки точному вирівнюванню та навчанню розмірковувати.

Чому це складно

Попри успіхи постнавчання залишається складною технічною задачею. Багатоетапне міркування потребує великої кількості кроків, памʼяті й стратегії. Не кожна модель «готова думати» — дослідження scaling laws мовних моделей [1, 2, 3] прямо кажуть: міркування виникає лише після певного порогу розміру та якості бекбоуну.

Посттреновані моделі часто важчі, повільніші й потребують більше памʼяті. Навіть компресія і дистиляція не завжди дають потрібного балансу. Оптимізація — складна й залежить від задачі: іноді краще точніше, іноді — швидше.

Є нині й певний скептицизм серед відомих LLM-дослідників. Нещодавнє обговорення в соцмережі Х показало розбіжність думок про RL for reasoning: одні вважають, що RL для тренування reasoning-моделей лише оптимізує існуючі знання, і не створює концептуально нові способи мислення, тоді як інші бачать у цьому практичний інструмент для вдосконалення моделей у чітко визначених задачах, що дозволяє буквально «розкопати» заховані патерни мислення в сирих мовних моделях. Тож тема насправді дуже актуальна — як для досліджень, так і для використання в індустрії :)

Що далі

Постнавчання стало ключем до трансформації LLM — від генераторів тексту до агентів мислення. ChatGPT, DeepSeek-R1, LLaVA, Gemini, Grok — це лише перші приклади того, як модель навчається бути корисною, логічною, адаптивною. Ми побачили, що постнавчання — це не один рецепт, а багатогранна екосистема: alignment, reasoning, efficiency, integration.

Попри це, найцікавіше — попереду. Очікуємо нові foundation models, які зможуть самостійно адаптуватись до нових доменів, вчитися міркувати без прикладів, критично аналізувати свої помилки й діяти як справжні агенти. Але щоб цього досягти, потрібні нові алгоритми — менш ресурсомісткі, більш контекстно-чутливі, і від самого початку проєктовані з урахуванням безпеки й адаптивності.

Майбутнє PoLMs — це не просто «розумніші моделі», це архітектура нової форми інтелекту: універсального, адаптивного і безпечного. Тепер виклик — зробити це доступним для всіх.

Як людина, яка балансує між науковими дослідженнями та роботою в індустрії, я дуже вірю у необхідність взаємодії для цього дослідників, інженерів, університетів і комерційного середовища. У НаУКМА ми зараз проактивно пробуємо переносити свій досвід взаємодії з компаніями, як, наприклад, із Genesis, в таку дослідницьку сферу, а також спільно створювати матеріали науково-популярного типу.

Цікаво почути вашу думку: як гадаєте, на чому має бути фокус майбутніх спільних досліджень у сфері AI?

👍ПодобаєтьсяСподобалось22
До обраногоВ обраному16
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Ще одне питання про reasoning models. Як саме це реалізовано?
Звичайна модель це типу нейромережа. Вектор зайшов на вхід і щось вийшло ра виході.
А думаюча модель це не лише нейромережа але і якась програма? Типу є цикл в якому декілька разів подаються дані на вхід і результат аналізується?

І ще одне питання.
Як саме «під капотом» працює виклик інструментів (Tools)?
Деякі моделі підтримують Tools а деякі ні.
Це якесь окреме донавчання? Я так розумію там немає якогось проміжного шару, який парсить вхідний запит, виділяє інструменти а потім аналізує окремо все крім інструментів і вирішує чи викликати інструмент чи одразу давати відповідь.
Як це працює?

це тематика агентів і агентних систем, зокрема reasoning & planning (with tool selection). можете почитати ось цю статтю arxiv.org/abs/2502.04644, там досить гарно розписано.

Ще одне питання до спеціалістів по ЛЛМ.
Можете просто «на пальцях» пояснити що таке температура в контексті ЛЛМ?

Я це розумію як вікно імовірності, чим воно ширше тим більша температура.

Раніше перші генератори завжди генерували детерміновані токени, тобто алгоритм завжди обирав найбільш імовірний токен в контексті запиту. Імовірності розраховуються по внутрішній системі оцінки на базі навчальних матеріалів та самого запиту. Але це нікому не потрібно, коли на те саме запитання система дає ту саму відповідь. Тому що ця відповідь не факт що найкраща з точки зору користувачів, плюс діалог не цікавий.

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

Тому для деяких задач роблять низьку температуру щоб отримувати більше детермінований результат. (менш творчий)

ок. тепер більш зрозуміло.
Тобто слово «температура» це аналогія з температурою тіла — чим більша температура в людини тим більша ймовірність галюцинацій

І це також, але я б все таки це сприймав як творчість ))

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

Тому як раз ця недетрмінованість і робить схожими LLM на людей.

Читаючи пояснення температури, не зміг стриматися і спробувати дати математичне пояснення, що це за параметр, і як він впливає на генерацію результату на прикладі використання «gpt-4o-mini» моделі через OpenAI API.
Звичайно хотілося би також почути думку автора посту, @Dmytro Kuzmenko, який є професіоналом в цій сфері.

Отже, простими словами, після навчання на величезних обсягах текстових даних, кожному токену (зазвичай це слово або його частина) присвоюється внутрішній показник, який називається логітом (logit). Його значення вказує, наскільки ймовірним є цей токен у заданому контексті.
Логіти можуть бути додатними, від’ємними або 0. Але важливі не їх абсолютні значення, а їх відносна різниця (наприклад, 3 vs −2) — саме вона визначає, які токени мають вищу ймовірність бути вибраними.
Щоб проілюструвати це, розглянемо такий приклад: якщо попросити людину завершити речення «Місяць — це супутник ???», відповідь очевидна — Землі.
Те саме стосується і великих мовних моделей (LLM). Після навчання «Земля» отримає найвищий логіт у цьому контексті, тому її і буде вибрано як відповідь.
Добре, але навіщо ми взагалі згадали логіти? — Тому що саме на них впливає параметр температура (temperature).
Розгляньмо менш очевидний приклад, ніж з Місяцем.
Спитаємо модель слідуюче запитання:
«What is the physics behind rainbows, in a few words?»
Розглянемо, як температура впливає на вибір токенів.
За замовчуванням OpenAI API використовує значення `temperature = 1`. Це означає, що під час генерації відповіді модель використовує логіти «як є» — що робить результат доволі випадковим («креативним» — але нічого креативного звичайно у відповіді немає ;) ).
Ви можете спитати: навіщо взагалі змінювати значення temperature?
Щоб відповісти, подивімось, які відповіді ми отримаємо за п’ять спроб:

  • Спроба 1: ’Rainbows are formed through the processes of refraction, reflection, and dispersion of light in water droplets. When sunlight enters a droplet, ...’
  • Спроба 2: ’Rainbows are optical phenomena that occur when sunlight passes through raindrops in the atmosphere. The process involves three key steps: ...’
  • Спроба 3: ’Rainbows are formed through the refraction, dispersion, and reflection of sunlight in raindrops. When light enters a raindrop, ...’
  • Спроба 4: ’Rainbows are caused by the refraction, dispersion, and reflection of sunlight in water droplets in the atmosphere. When sunlight enters a droplet, ...’
  • Спроба 5: ’Rainbows are formed when sunlight is refracted, dispersed, and reflected in water droplets in the atmosphere. As light enters a droplet, ...’

^^^ Як бачимо, всі відповіді правильні, але сформульовані по-різному — що демонструє ефект випадковості вибору.

Але що, якщо нам потрібні більш передбачувані та стабільні (детерміновані) відповіді?
Ось тут і допомагає задання temperature (і top-p — але тут не про нього).

Подивімося, як це працює.
З п’яти прикладів вище видно, що модель зазвичай вибирає слово «formed» після «Rainbows are», тобто це слово має найвищий логіт.
Припустімо, що logit для `"formed" = 3.8`, для `"caused" = 2.4`, для `"optical" = 2.0`.
Також є інші слова-кандидати, назвімо їх `"candidateX" (0.6)` і `"candidateY" (0.4)`.
Тобто на цьому етапі, з налаштуваннями по замовчуванню, маємо п’ять кандидатів:

formed (3.8), caused (2.4), optical (2.0), candidateX (0.6), candidateY (0.4)

Що далі? — Далі кожен логіт ділиться на значення температури.
При temperature = 1 нічого не змінюється:

formed (3.8 / 1), caused (2.4 / 1), optical (2.0 / 1), candidateX (0.6 / 1), candidateY (0.4 / 1)
Потім модель застосовує softmax — функцію, яка перетворює логіти на ймовірності:
formed (~67.3%), caused (~16.6%), optical (~11.1%), candidateX (~2.7%), candidateY (~2.2%)

А тепер подивимось, що буде при temperature = 0.2:

formed (3.8 / 0.2 = 19), caused (2.4 / 0.2 = 12), optical (10), candidateX (3), candidateY (2)
Після softmax:
formed (99.9%), caused (0.1%), решта - майже 0%
Тобто ми отримуємо майже детерміновану поведінку — модель майже завжди обиратиме «formed».

А що, якщо ми хочемо більш різноманітні варіанти?
Тоді потрібно збільшити температуру. Наприклад, при temperature = 0.8:

formed (4.75), caused (3), optical (2.5), candidateX (0.75), candidateY (0.5)
Після softmax:
formed (76.2%), caused (13.2%), optical (8.0%), candidateX (1.4%), candidateY (1.1%)
^^^ Інші токени тепер мають більший шанс бути вибраними.

* Тож підсумуємо, на що впливає параметр temperature:
Температура регулює, наскільки модель віддає перевагу токенам із вищими логітами:

  • Якщо значення нижче 1 → розподіл загострюється: високоймовірні токени стають ще ймовірнішими, низькоїмовірні — майже втрачають шанс бути вибраними.
  • Якщо значення вище 1 → розподіл згладжується: навіть малоймовірні токени мають шанс бути вибраними, але це може призводити до випадкових або безглуздих відповідей (галюцинацій).
Рекомендую також задавати `max_tokens`, щоб модель примусово зупинила генерацію надмірно довгих або відхилених від теми відповідей. Ще краще — не встановлювати надто високу температуру взагалі.

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

вибір назви теж дивний

більше/менше температура — більше/менше можливих станів (вірогідність)

при нульовій температурі — мінімум один можливий стан

Для ілюстративності, при temperature = 1.8 «gpt-4o-mini» «галюцінувала»:

'Rainbows are formed by the refraction, dispersion, and reflection of light in water droplets in the atmosphere. When sunlight enters a raindrop, it is refracted (bent) at the air-water interface and split into its component colors (dispersion). Inside the droplet, it is reflected off the back surface and refracted again as it exits, creating a circular arc of colored light with red on the outer edge and violet on the inner edge. The conditions must include a Viewer, sun positioning at a lower elevation Angle Muster inputs MD.refiatelyoundedimportanceentionعلى nkoka_oriطل ...
«Спасло» що `max_tokens = 1000` :)

Все правильно пояснюєте. Температура тіла точно не є доречним порівнянням. Temperature T — це параметр що скалює логіти перед софтмаксом:
— T —> 0, більший детермінізм, softmax грубо кажучи стає argmax i система бере найбільш імовірний токен. До речі, при цьому класична ентропія мінімізується, менше хаосу і більше консистентності.
— T —> inf, ймовірності вирівнюються і софтмакс повертає ~уніформний розподіл імовірностей з логітів. Ентропія росте == повний рандом вибору токенів, і грубо кажучи ростуть галюцинації.

Загалом ця історія про репараметризацію розподілу, а сама назва, якщо не помиляюсь, з фізики — там аналогічним чином є скалювання енергії температурою Т (замість логітів, як в нашому випадку)

Ще одне питання.
Я розглядав можливість використання «схованої функції» в протоколі MCP — повідомлення від MCP сервера до асистента з ініціативи самого інструменту.
Технічно саме повідомлення можна відправити, але ЛЛМ не мають чогось спеціального щоб позначити, «цей запит прийшов від інструменту з його ініціативи».
Коли юзер робюить запит і ЛЛМ хоче викликати інструмент то там є якась сесія (в іншому коменті про це). По цій сесії обробляжться результат.
Але коли інструмент сам прислав щось до ЛЛМ то сесії не буде (юзер нічого не просив тут).
Єдиний спосіб цей інтегрувати це робити новий запит від імені юзера але додавати додаткове пояснення, що це інформація від інструменту.

Як це можна зробити більш правильно? Чи є щось готове? Чи це десь обговорюється?
Де в принципі можна почитати про технічні особливості інтеграції ЛЛМ та інструментів?

MCP — це протокол, основним фокусом якого є дати можливість LLM отримати додаткову інформацію від зовнішніх систем. А зовнішнім системам — дати можливість надавати таку інформацію LLM по їх запиту. Він односторонній по своїй суті, в тому сенсі, що лише LLM може ініціювати запити до зовнішніх систем.
Те, що ви хочете досягти, якщо я правильно зрозумів, — це впливати на процес міркування LLM і прийняття фінального рішення? ReAct Pattern? Якщо ви надасте user stories, буде легше зрозуміти, що саме ви намагаєтеся вирішити.
Також рекомендую подивитися в сторону нового A2A (Agent-to-Agent) протоколу від Google. Human-in-the-loop підходу.

Є питання не зовсім по цій темі, але ви можете бути в курсі.
Цікавить як саме «під капотом» реалізовано виклик інструментів (Tools) в ЛЛМках.
Я робив деякі MCP сервери. Коли ЛЛМ хоче зробити запит до інструменту вона передає деякий ІД. І цей самий ІД має потім повернутися з результатом від інструменту. Як цей ІД працює, ЛЛМ десь зберегає проміжні дані? Це якісь тип сесії? Що саме ЛЛМ зберігає в цій сесії?

ID — це маркер виклику який є частиною сесії на бекенді; вся логіка та стан — на боці зовнішньої системи (оркестратора, таск менеджера, абощо). ЛЛМ сама по собі стейтлес. Стан зазвичає містить інфо про проміжні дані, IDшки, а також увесь релевантний контекст.

Дякую.
Так, я поковирявся в коді. Ці ідішки дійсно робить сам MCP SDK

Найцікавіше — попереду. Очікуємо нові foundation models, які зможуть ...

А чи можливо передбачити які саме моделі будуть більш ефективні для тих чи інших задач, тобто що саме можна очікувати під час експоненційного зростання?
AI’s Moore’s law
miro.medium.com/...​v2/0*MJRk5GF4ZbMdu_av.png

під фундаційними моделями, окрім звичних нам ЛЛМ, я ще мав на увазі мультимодальні моделі різного рівня складності, world foundation models — для симуляції як тексту, так і латентних просторів відео, 3Д, дій, тощо (e.g. arxiv.org/abs/2503.24320, tesseractworld.github.io). І тут основною стане парадигма агентів. Я думаю буде видно з часом, але можливо розкриються купа задач, які ми поки що навіть вважаємо unrealistic. І думаю що окремий, новий закон скейлінгу (Moore’s-law-style) буде це описувати.

З того що нещодавно зустрічалося по наступній ітерації моделей — це yepa в інтерв’ю LeCun з упором на обробку візуальної інфо (наскільки зрозумів це бачення подальшого розвитку від Facebook/Meta).

Наскільки важко взяти опен сорс LLM типу deepSeek, догодувати базу даних супорт тікетів, дотрейнити на кількох сотнях підготовлених питання/відповідь і отримати «спеціалізованого» чат бота?

Чи є вже якісь сервіси, фреймворки, чи процедури які дозволяють щось таке зробити?

Наскільки це важко — залежить від наявних ресурсів. Для багатьох запустити DeepSeek нереально, не кажучи вже про навчання. А для інших тренування — запускаєш slurm-джобу на кластері, і зранку в тебе вже готова модель. Кілька сотень питань — це замало, краще брати меншу модель і, звісно, тренувати лише через peft.

Донавчити модель дуже важко. В плані щоб отримати гарні результати. Щоб «пояснити», що ці нові дані важливі і вони мають пріоритет.
Це можуть робити лише великі компанії, які самі створюють ЛЛМки.
На практиці вам треба використовувати Retrieval augmented generation (RAG). Тобто, зберегти ваші дані у векторному форматі в окрумій базі і перед кожним запитом до ЛЛМ витягувати релеватні з тої бази і додавати в контекст

OpenAI надає таку можливість platform.openai.com/...​ning/fine-tuning-examples
Ціни тут openai.com/api/pricing — секція “Fine-tuning our models”

Ага тільки хостинг виключно у них. Викачати отриману модель неможливо

Не дуже важко. Все залежить від розміру моделі, датасету, параметрів тренування та методології. Я тренував llama-2 на своєму діалоговому датасеті і за низької температури чудово генерує відповіді. Але за середньої та високої — видає приколи. Так я просто посидів пару вечорів почитав як це робиться

Кілька сотен питань відповідей — мало для тренування, Роман правильно про RAG сказав

Дуже гарна стаття, дякую вам!
Послідовно, зрозуміло, практично.

Пишіть ще, це найкраща стаття як мінімум за 2025 рік

Дякую за статтю! Ваша думка стосовно OpenAI придбання Windsurf в контексті розвитку агентів ?

З одного боку може здатись, що це дуже дорога покупка VSCode форку за $3B, та насправді цінність Windsurf’у в даних телеметрії (буквально вся end-to-end поведінка розробників, від АІ/tool usage до патернів написання коду).

ОАІ цією покупкою перетягує ковдру agentic AI code assistants на себе. Добре це чи погано — не знаю, будем бачити, але загалом на розвиток агентів це має вплинути позитивно.

Які перспективи збільшення вікна контексту з часом? Буде постійно рости чи ні?

Рости буде — до 10-100М токенів контексту досить скоро може бути нормою. Але це типовий приклад diminishing returns — дорожче вчити, робити інференс, навіть флеш-атеншн не гумовий, missing middle problem.
Але загалом, я притримуюсь думки, що хороший RAG нічим не гірший від чистого long-context processing. Саме тому усі Антропіки, ОАІ, Meta, DeepMind та ін. — всі будуть зрощувати довжину контексту зокрема з мотивації робити high-capacity RAG пайплайни або різні модулярні/агентні системи

Підписатись на коментарі