Когда выполнять тонкую настройку

Тема дорожной карты · Большие языковые модели (LLM)

Тонкая настройка (fine-tuning) — это процесс, при котором предобученную модель адаптируют к конкретной задаче или домену. Этот метод используется, когда другие методы, такие как промптинг (prompting) и RAG (Retrieval-Augmented Generation), не могут обеспечить требуемого качества. Тонкая настройка важна для создания моделей, которые могут эффективно работать в специфических условиях, требуя значительных ресурсов для обучения и тестирования.

Как это работает

Тонкая настройка адаптирует предобученную модель к конкретной задаче или домену, используя дополнительное обучение. Это может быть полное обучение (full fine-tuning), которое редко используется из-за высокой стоимости, или методы с низким рангом, такие как LoRA (Low-Rank Adaptation) и QLoRA (Quantized Low-Rank Adaptation), которые являются более эффективными и популярными. Также используются методы настройки инструкций и методы предпочтительного выравнивания, такие как DPO (Direct Preference Objective) и RLHF (Reinforcement Learning from Human Feedback).

Для моделей с закрытым исходным кодом, таких как OpenAI и Anthropic, предлагается использование хостинга для тонкой настройки. Для открытых моделей используются библиотеки, такие как peft, trl, axolotl от Hugging Face и unsloth. Качество данных имеет первостепенное значение: 500 отличных примеров обычно превосходят 50 000 средних примеров.

Когда применять

Тонкая настройка следует применять, когда промптинг и RAG не могут обеспечить требуемого качества. Это может произойти, когда в домене используется специфический словарный запас или стиль, который не может быть обобщен. Также тонкая настройка полезна, когда требуется структурированный и последовательный вывод, или когда важна задержка при дистилляции модели. LoRA и QLoRA делают тонкую настройку доступной даже при работе на одной графической карте. Важно держать eval-данные, которые не используются для обучения модели.

Типичные ошибки

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

Связанные понятия

Полезные ресурсы