Дистиляція моделі
Дистиляція моделі — це техніка, за якої менша, менш складна модель (учень) навчається імітувати поведінку більшої, складнішої моделі (вчителя).
Дистиляція моделі має на меті передати знання від великої, часто обчислювально дорогої моделі до меншої. Модель вчителя, попередньо навчена на наборі даних, надає м'які мітки або ймовірності для моделі учня, щоб вчитися, а не лише жорсткі мітки. Це дозволяє моделі учня захоплювати узагальнюючі можливості вчителя та потенційно досягати подібної продуктивності з меншою кількістю параметрів і меншими обчислювальними витратами. Процес зазвичай передбачає навчання моделі учня на комбінації вихідних навчальних даних і вихідних даних вчителя, часто використовуючи функцію втрат, яка заохочує прогнози учня відповідати прогнозам вчителя.
Ця техніка особливо корисна в сценаріях, де розгортання повної моделі вчителя є непрактичним через обмеження ресурсів, наприклад, у периферійних пристроях або мобільних додатках. Вона дозволяє створювати ефективні моделі, які зберігають продуктивність своїх більших аналогів, сприяючи швидшому висновку та зменшенню обсягу пам'яті.
graph LR
Center["Дистиляція моделі"]:::main
Pre_machine_learning["machine-learning"]:::pre --> Center
click Pre_machine_learning "/terms/machine-learning"
Pre_neural_network["neural-network"]:::pre --> Center
click Pre_neural_network "/terms/neural-network"
Pre_deep_learning["deep-learning"]:::pre --> Center
click Pre_deep_learning "/terms/deep-learning"
Rel_llm["llm"]:::related -.-> Center
click Rel_llm "/terms/llm"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Перевірка знань
🧒 Простими словами
🎓 Це як навчання підмайстра у видатного майстра. Підмайстер не просто копіює фінальний результат, а переймає тонкі прийоми та логіку вчителя. Це дозволяє йому готувати так само смачно, як майстер, але робити це швидше та на простішій кухні.
🤓 Expert Deep Dive
У процесі дистиляції учень навчається не на жорстких мітках (наприклад, 'собака/кіт'), а на 'м’яких' ймовірностях вчителя. Використовуючи параметр температури (T), ми робимо розподіл ймовірностей більш плавним, що дозволяє учню побачити приховані зв’язки між класами. Це критично важливо для дистиляції великих мовних моделей у швидкі версії на кшталт Llama-3-8B або Phi-3.