Дистилляция модели
Дистилляция модели — это метод, при котором меньшая, менее сложная модель (ученик) обучается имитировать поведение большей, более сложной модели (учителя).
Дистилляция модели направлена на передачу знаний от большой, часто вычислительно дорогостоящей модели к меньшей. Модель учителя, предварительно обученная на наборе данных, предоставляет мягкие метки или вероятности для модели ученика, чтобы учиться, а не только жесткие метки. Это позволяет модели ученика улавливать обобщающие способности учителя и потенциально достигать аналогичной производительности с меньшим количеством параметров и меньшими вычислительными затратами. Процесс обычно включает в себя обучение модели ученика на комбинации исходных обучающих данных и выходных данных учителя, часто используя функцию потерь, которая побуждает прогнозы ученика соответствовать прогнозам учителя.
Эта техника особенно полезна в сценариях, когда развертывание полной модели учителя непрактично из-за ограничений ресурсов, например, в периферийных устройствах или мобильных приложениях. Она позволяет создавать эффективные модели, которые сохраняют производительность своих больших аналогов, способствуя более быстрому выводу и уменьшению объема памяти.
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.