LLM: точная настройка, дистилляция и оперативное проектирование

В предыдущем разделе описывались LLM общего назначения, также известные как:

  • фундамент LLM
  • базовые программы LLM
  • предварительно обученные LLM

Базовый LLM обучается достаточно естественному языку, чтобы «знать» значительную часть грамматики, слов и идиом. Модель базового языка может генерировать полезные предложения по темам, по которым она проводится обучение. Кроме того, фонд LLM может выполнять определенные задачи, традиционно называемые «творческими», например написание стихов. Однако генеративный текстовый вывод базовой LLM не является решением других типов распространенных проблем машинного обучения, таких как регрессия или классификация. В этих случаях базовый LLM может служить платформой , а не решением.

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

Тонкая настройка

Исследования показывают, что способности моделей базового языка к распознаванию образов настолько мощны, что иногда им требуется относительно небольшое дополнительное обучение для изучения конкретных задач. Такое дополнительное обучение помогает модели делать более точные прогнозы по конкретной задаче. Это дополнительное обучение, называемое «тонкая настройка» , раскрывает практическую сторону магистратуры.

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

Несмотря на относительно небольшое количество обучающих примеров, стандартная точная настройка часто требует больших вычислительных затрат. Это связано с тем, что стандартная точная настройка включает обновление веса и смещения каждого параметра на каждой итерации обратного распространения ошибки . К счастью, более разумный процесс, называемый настройкой с эффективным использованием параметров, может точно настроить LLM, корректируя только подмножество параметров на каждой итерации обратного распространения ошибки.

Прогнозы точно настроенной модели обычно лучше, чем прогнозы основного LLM. Однако точно настроенная модель содержит то же количество параметров, что и базовый LLM. Таким образом, если базовый LLM содержит десять миллиардов параметров, то доработанная версия также будет содержать десять миллиардов параметров.

Дистилляция

Большинство точно настроенных LLM содержат огромное количество параметров. Следовательно, фундаментальные программы LLM требуют огромных вычислительных и экологических ресурсов для создания прогнозов. Обратите внимание, что большие диапазоны этих параметров обычно не имеют значения для конкретного приложения.

Дистилляция создает уменьшенную версию LLM. Упрощенный LLM генерирует прогнозы гораздо быстрее и требует меньше вычислительных и экологических ресурсов, чем полный LLM. Однако прогнозы дистиллированной модели, как правило, не так хороши, как прогнозы исходной LLM. Напомним, что LLM с большим количеством параметров почти всегда дают лучшие прогнозы, чем LLM с меньшим количеством параметров.

Оперативное проектирование

Оперативное проектирование позволяет конечным пользователям LLM настраивать выходные данные модели. То есть конечные пользователи уточняют, как LLM должен реагировать на их запрос.

Люди хорошо учатся на примерах. Так же, как и LLM. Показ одного примера LLM называется однократным напоминанием . Например, предположим, что вы хотите, чтобы модель использовала следующий формат для вывода семейства фруктов:

Пользователь вводит название фрукта: LLM выводит класс этого фрукта.

Однократное приглашение показывает LLM один пример предыдущего формата, а затем просит LLM выполнить запрос на основе этого примера. Например:

peach: drupe
apple: ______

Иногда достаточно одного примера. Если это так, LLM выдает полезный прогноз. Например:

apple: pome

В других ситуациях одного примера недостаточно. То есть пользователь должен показать LLM несколько примеров. Например, следующая подсказка содержит два примера:

plum: drupe
pear: pome
lemon: ____

Предоставление нескольких примеров называется подсказкой в ​​несколько шагов . Вы можете рассматривать первые две строки предыдущего приглашения как обучающие примеры.

Может ли LLM предоставлять полезные прогнозы без примеров ( нулевые подсказки )? Иногда, но LLM любят контекст. Без контекста следующая подсказка с нулевым результатом может возвращать информацию о технологической компании, а не о плоде:

apple: _______

Офлайн-вывод

Количество параметров в LLM иногда настолько велико, что онлайн-вывод слишком медленный, чтобы его можно было использовать для реальных задач, таких как регрессия или классификация. Следовательно, многие команды инженеров вместо этого полагаются на автономный вывод (также известный как массовый вывод или статический вывод ). Другими словами, вместо того, чтобы отвечать на запросы во время обслуживания, обученная модель заранее делает прогнозы, а затем кэширует эти прогнозы.

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

Например, Google Search использовал LLM для выполнения автономного вывода и кэширования списка из более чем 800 синонимов вакцин Covid на более чем 50 языках. Затем Google Search использовал кэшированный список для идентификации запросов о вакцинах в реальном трафике.

Используйте LLM ответственно

Как и любая форма машинного обучения, LLM обычно разделяют следующие предубеждения:

  • Данные, на которых они обучались.
  • Данные, на которых они были основаны.

Используйте LLM справедливо и ответственно в соответствии с уроками, представленными ранее в этом курсе.

Упражнение: Проверьте свое понимание.

Какое из следующих утверждений верно в отношении LLM?
Упрощенный LLM содержит меньше параметров, чем базовая языковая модель, на которой он основан.
Да, перегонка уменьшает количество параметров.
Тщательно настроенный LLM содержит меньше параметров, чем базовая языковая модель, на которой он обучался.
Точная настройка модели содержит то же количество параметров, что и исходная модель базового языка.
По мере того, как пользователи выполняют более оперативное проектирование, количество параметров в LLM растет.
Оперативное проектирование не добавляет (или не удаляет и не изменяет) параметры LLM.