Ишара Неранджана — младший инженер по машинному обучению
Модели глубокого обучения изменили наше представление об искусственном интеллекте, но по мере того, как они становятся все более обширными и сложными, их становится все труднее использовать в практических приложениях.
Одной из наиболее значимых предварительно обученных моделей является GPT-4, которая содержит 100 триллионов параметров и обучается на обширных текстовых данных.
Но что, если бы мы могли объединить силу больших моделей с портативностью маленьких, чтобы получить лучшее из обоих миров? Одним из ключей к открытию этой двери является дистилляция знаний.
Что такое дистилляция знаний?
Дистилляция знаний — это метод машинного обучения, используемый для уменьшения сложности и размера модели без значительного снижения точности. Дистилляция знаний необходима для уменьшения размера больших языковых моделей (LLM) при сохранении или повышении точности.
LLM, как правило, очень большие и требуют больших вычислительных ресурсов, что затрудняет их локальное развертывание. Дистилляция знаний может создавать меньшие по размеру и более эффективные модели, которые можно развернуть на более широком спектре устройств.
Этот метод имеет решающее значение в приложениях TinyML (модели машинного обучения на крошечных устройствах), где размер модели и сложность вычислений являются жизненно важными факторами. Дистилляция знаний создает новые возможности в TinyML и оптимизации моделей для любой области применения за счет уменьшения размера бегемота глубокого обучения.
Ограниченные ресурсы на небольших устройствах — одна из самых больших проблем TinyML. Большие и сложные модели машинного обучения могут быть сложными для работы на этих устройствах из-за их обычно небольшого объема памяти, скорости обработки и времени автономной работы. Чтобы обойти это ограничение, необходимо уменьшить размер, сложность и точность моделей, сохранив при этом их точность. Одним из лучших способов достижения этой цели является дистилляция знаний.
Используя дистилляцию знаний, меньшая модель, называемая моделью ученика, обучается воспроизводить прогнозы более крупной и сложной модели, называемой моделью учителя. Прогнозы модели учителя используются в качестве меток цели во время обучения модели ученика. Этот метод сохраняет небольшой размер и вычислительную сложность модели ученика, позволяя ей извлечь выгоду из опыта модели преподавателя.
Как работает фильтрация знаний
Базовый процесс включает в себя обучение модели ученика на наборе данных и использование модели учителя для создания мягких целей, которые представляют собой набор вероятностных распределений по выходным классам. Эти мягкие цели используются в качестве целевых меток для обучения модели ученика в дополнение к истинным меткам с горячим кодированием. Это сводит к минимуму разницу между программными целями учителя и прогнозами ученика.
Потеря кросс-энтропии, которая измеряет несоответствие между двумя распределениями вероятностей, часто используется для определения этой разницы. Мягким целям присваивается меньший вес в функции потерь, чем истинным меткам, чтобы модель ученика не стала слишком близкой к модели инструктора.
Существует три типа методов дистилляции знаний:
Офлайн-дистилляция
Это метод передачи знаний, при котором предварительно обученная сеть учителей остается замороженной, пока обучается сеть учеников. Этот метод направлен на улучшение механизма передачи знаний, при этом меньше внимания уделяется архитектуре сети учителей. В этой статье предлагается вероятностный подход к передаче знаний, соответствующий вероятностному распределению данных в пространстве признаков, а не их фактическому представлению. Это обеспечивает межмодальную передачу знаний и передачу знаний из созданных вручную средств извлечения признаков в нейронные сети.
Онлайн-дистилляция
Это относится к сценариям, в которых большая предварительно обученная модель учителя недоступна. В отличие от автономной дистилляции, в этом подходе сети учителей и учеников обучаются одновременно. В этом документе представлен онлайн-метод взаимной дистилляции знаний, в котором подсети и модуль слияния изучаются посредством взаимного обучения посредством дистилляции знаний. Этот процесс включает в себя объединение функций подсети, что способствует эффективной передаче знаний.
Самоперегонка
Традиционная дистилляция знаний сталкивается с проблемами, связанными с выбором модели учителя и потенциальной деградацией точности моделей учеников во время логического вывода. Самодистилляция предлагает решение, в котором одна и та же сеть действует как учитель и ученик. Неглубокие классификаторы, основанные на внимании, присоединяются после промежуточных слоев нейронной сети, а более глубокие классификаторы служат учителями во время обучения, направляя студенческие модели через потери на основе показателей расхождения и потери L2 на картах признаков. На этапе вывода все дополнительные неглубокие классификаторы отбрасываются.
Почему важно анализировать знания
Способность дистилляции знаний переносить знания из большой сложной модели в меньшую является одним из ее основных преимуществ. Это особенно важно для приложений НЛП с большими языковыми моделями и приложений TinyML, поскольку запуск больших моделей затруднен из-за ограниченных ресурсов небольших устройств. Можно достичь сравнимой точности с гораздо меньшей моделью, перенеся знания из большей модели в меньшую.
Потенциал повышения обобщения модели студента является еще одним преимуществом дистилляции знаний. Способность модели хорошо работать с невидимыми данными называется обобщением. Модель может часто запоминать обучающие данные при обучении на большом наборе данных, что может привести к переоснащению. Обучая модель ученика на прогнозах модели учителя, а не на обучающих данных, дистилляция знаний помогает уменьшить переоснащение.
Дистилляцию знаний можно использовать для повышения производительности модели в конкретном задании, а также для уменьшения ее размера и сложности. Например, знания могут быть перенесены из модели, обученной на большом наборе данных, в модель, обученную на меньшем наборе данных, с использованием дистилляции знаний.
Подведение итогов
В заключение можно сказать, что дистилляция знаний представляет собой мощный метод, способный уменьшить сложность и размер моделей машинного обучения без ущерба для точности. Это особенно важно для двух важных областей: TinyML и NLP с моделями больших языков (LLM).
В сфере TinyML ограничения ресурсов небольших устройств создают серьезные проблемы при работе с большими и сложными моделями. Однако на помощь приходит дистилляция знаний путем переноса знаний из большей модели в меньшую. Это позволяет модели меньшего размера достигать эквивалентной точности, повышая производительность и значительно снижая вычислительную сложность. Поскольку TinyML продолжает быстро развиваться, перегонка знаний становится все более распространенным методом улучшения функциональности моделей машинного обучения на портативных устройствах.
Эти модели по своей природе большие и требуют больших вычислительных ресурсов для NLP с LLM, что делает их развертывание в определенных условиях нецелесообразным. Дистилляция знаний дает выход, позволяя создавать более мелкие и более эффективные модели, которые можно развернуть на более широком спектре устройств. Это становится особенно важным для таких приложений, как чат-боты, системы ответов на вопросы и генерация естественного языка, которые требуют бесперебойной работы на мобильных устройствах или встроенных системах.
Ссылки
- Дистилляция знаний в нейронной сети
- TinyBERT: дистилляция BERT для понимания естественного языка
- Дистилляция знаний: обзор
- Дистилляция знаний: принципы, алгоритмы, приложения
- Дистилляция знаний
Для получения дополнительной информации о решениях Data Science, Machine Learning и AI обратитесь к нашим экспертам в Zone24x7.