Fine-tuning с помощью LoRA экономит время, если следовать фиксированной последовательности: убедитесь, что промптинг и поиск не могут решить задачу, создайте небольшой чистый набор данных, обучите низкоранговый адаптер на открытой модели, оцените его на отложенном наборе и только потом развертывайте. Пропуск первого и четвертого шагов — главная причина потраченных впустую часов GPU и разочаровывающих моделей.
LoRA, сокращение от Low-Rank Adaptation, обучает небольшой набор дополнительных весов вместо обновления каждого параметра большой модели. Базовая модель остается замороженной, а адаптер изучает изменения. Адаптеры — это небольшие файлы, часто от нескольких мегабайт до нескольких сотен, поэтому вы можете хранить несколько штук для разных задач и менять их на одной базовой модели. QLoRA идет дальше, загружая базовую модель в 4-битной точности, что позволяет обучать модели среднего размера на одном потребительском или облачном GPU.

Когда fine-tuning — правильный инструмент?
Fine-tuning хорошо обучает стилю, формату и узкому поведению. Это плохой способ научить модель новым фактам, которые часто меняются. Если вам нужны ответы, основанные на вашем текущем прайс-листе, поиск (подача соответствующих документов в промпт) дешевле и проще в обновлении.
Хорошие задачи для fine-tuning имеют общую закономерность: формат вывода последователен, у вас есть сотни или тысячи хороших примеров, а общая модель все еще немного ошибается в тоне или структуре даже с тщательным промптом.
- Хорошее соответствие: описания продуктов в строгом корпоративном стиле, классификация по вашим собственным категориям, извлечение полей из неструктурированных документов.
- Слабое соответствие: ответы на вопросы о часто обновляемых политиках, общие исследования, задачи с менее чем сотней примеров.
- Сначала проверьте: хорошо написанный промпт с пятью примерами на мощной хостинговой модели. Если это достигает вашей планки качества, остановитесь.
Как подготовить данные для обучения?
Качество данных определяет результат больше, чем любой гиперпараметр. Соберите реальные примеры входных данных и желаемых выходных, затем очистите их вручную. Удалите противоречия, устаревшие примеры и все, что содержит личные данные, на которых у вас нет права обучать.

Форматируйте каждый пример как пару промпт-ответ в шаблоне чата, который ожидает ваша базовая модель. Несоответствия шаблонов — классическая причина странных выводов после обучения, поэтому проверьте карточку модели на предмет точного формата.
Разделение набора
Отложите 10–15 процентов примеров в качестве набора для оценки, который модель никогда не видит во время обучения. Держите его фиксированным на протяжении всех экспериментов, иначе вы не сможете сравнивать запуски. Если примеры сгруппированы по клиентам или продуктам, разделяйте их по группам, чтобы похожие элементы не просачивались через границу.
Как выглядит повторяемый запуск обучения?
Команды, которые экономят время, записывают процесс один раз и повторно используют его. Общие инструменты включают Hugging Face Transformers с библиотекой PEFT, TRL для контролируемого fine-tuning и обертки, такие как Axolotl или Unsloth, которые сокращают работу по настройке. Существуют также хостинговые варианты; несколько поставщиков моделей предлагают управляемый fine-tuning, где вы загружаете данные и получаете настроенную модель.
- Выберите базовую модель, лицензия которой разрешает ваше использование, а размер соответствует вашему оборудованию и бюджету задержки.
- Начните с общих настроек LoRA (ранг от 8 до 16, альфа примерно в два раза больше ранга) и меняйте только одну вещь за раз.
- Логируйте каждый запуск: версию набора данных, базовую модель, настройки, потери при обучении и оценки качества.
- Сначала обучайте в течение небольшого количества эпох; переобучение проявляется как снижение потерь при обучении при ухудшении результатов оценки.
- Сохраняйте адаптер, конфигурацию и точный хеш данных вместе.
Как оценивать адаптер LoRA?
Кривые потерь говорят вам, что обучение прошло, а не то, что модель полезна. Оценивайте выводы на отложенном наборе с критериями, привязанными к задаче: точное совпадение для классификации, точность полей для извлечения и рубрикатор для задач письма. Для письма попросите человека оценить образец вслепую, не зная, какой вывод получен от настроенной модели, а какой — от базовой линии.
Также проверяйте на регрессии. Модель, сильно настроенная на описания продуктов, может стать хуже в следовании несвязанным инструкциям. Держите небольшой общий тестовый набор и проверяйте его при каждом запуске.
Как развертывать и поддерживать адаптеры?
Фреймворки обслуживания, такие как vLLM, могут загружать несколько адаптеров LoRA на одну базовую модель и выбирать адаптер для каждого запроса. Это снижает затраты, когда вы запускаете отдельные адаптеры для каждого бренда или задачи. Объединение адаптера с базовыми весами — еще один вариант, когда вам нужна одна автономная модель.
Обслуживание — это в основном обслуживание данных. Когда корпоративный стиль меняется, обновляйте примеры и переобучайте. Планируйте ежеквартальный обзор, где вы сравниваете адаптер с новейшими базовыми моделями; иногда более новая общая модель с хорошим промптом превосходит старую настроенную.
Что больше всего тратит время?
Самое большое — обучение до того, как существует набор для оценки. Без фиксированных тестовых примеров каждый запуск выглядит многообещающим, и никто не может сказать, какой лучше. Второе — изменение нескольких настроек одновременно, что делает невозможным узнать, что помогло. Третье — погоня за крошечными улучшениями потерь при игнорировании очевидных проблем с данными, таких как дублированные примеры или противоречащие друг другу выводы.
Инфраструктура также съедает время. Закрепляйте версии библиотек, храните образ контейнера для обучения и пишите краткий README для каждого проекта. Следующий человек, часто вы сами через три месяца, скажет вам спасибо.
Как Alien Road применяет fine-tuning и LoRA
В типичном проекте мы тратим фазу исследования на то, чтобы доказать, нужен ли fine-tuning вообще. Мы тестируем задачу клиента с мощными хостинговыми моделями и тщательными промптами, и многие проекты заканчиваются на этом с библиотекой промптов вместо модели.
Когда настройка оправдана, настройка включает сбор утвержденных примеров, их очистку с экспертами клиента и запуск небольшого набора задокументированных экспериментов LoRA. Измерение использует фиксированный набор для оценки и слепые человеческие оценки по сравнению с базовой линией только с промптами. Отчетность показывает баллы качества, стоимость за тысячу выводов и четкую рекомендацию: развертывать, итерировать или продолжать использовать промпты.
С чего начать на этой неделе
Выберите одну повторяющуюся задачу генерации или классификации. Напишите лучший промпт, который можете, с пятью примерами, и протестируйте его на двадцати реальных входных данных. Запишите, сколько выводов требуют правок. Это число — ваша базовая линия; проект fine-tuning имеет смысл только в том случае, если вы верите, что адаптер может существенно его снизить.
Продолжайте читать: ИИ-оптимизация · ИИ-оптимизация