В одной из предыдущих публикаций мы рассматривали базовые рекомендации для улучшения качества продуктов с LLM.

В этой статье мы разберем один из продвинутых подходов — Fine-tuning LLM (дообучение большой языковой модели).

Схема типового продукта на основе LLM

Напомним упрощенную схему типового продукта или фичи на основе LLM: 

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

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

  • Выбор задачи, которая решается с помощью LLM.
  • Изменение промпта.
  • Изменение используемой модели и/или ее параметров.

С помощью Fine-tuning мы влияем на саму большую языковую модель, так как она дообучается на специфичных для решаемой задачи данных. 

Сначала мы разберем суть подхода и типовые ситуации, где Fine-tuning может быть полезен. После этого сделаем обзор кейсов с применением Fine-tuning.

Fine-tuning: суть подхода для улучшения качества LLM продуктов

Fine-tuning — это дообучение большой языковой модели. 

Дообучение — это процесс, при котором универсальная модель, уже обученная на большом объеме данных (например, GPT-4o mini), дополнительно обучается на новом, специализированном наборе данных, специфичном для решаемой задачи. 

Этот процесс позволяет модели лучше справляться с конкретными задачами или понимать специфику новых данных. 

Для реализации fine-tuning вам нужны: 

  • Датасет, который содержит специфичные для вашей задачи примеры (достаточно нескольких сотен или тысяч примеров в датасете). 
  • Модель, которую можно дообучать: это либо открытая модель (LLaMa, Mistral и др.), либо облачный сервис дообучения вокруг коммерческой модели (OpenAI API для дообучения GPT-моделей). 
  • Процедура оценки качества решения.

Работу по дообучению LLMs обычно выполняет AI-инженер.