1️⃣Внешняя модель не подходит из-за требований к приватности данных или стоимости запросов. Тогда выбираем открытую модель, которую можно развернуть в своём контуре.
2️⃣ Большая LLM на промптах не дотягивает по качеству или не укладывается в требования по скорости и ресурсам. Тогда пробуем дообучить небольшую модель под конкретную задачу.
Дальше начинается цикл: собрать данные → обучить → оценить качество → скорректировать данные и настройки → повторить.
Параллельно нужно настроить окружение, запуски, логирование и хранение артефактов, и разные команды проделывают эту работу снова и снова.
Чтобы сократить путь от готового датасета до модели под свой кейс мы сделали LoRA Tuner — внутреннюю zero-code платформу для обучения LoRA-адаптеров. Расскажу, как всё устроено.
Что есть в платформе➡️ Обучение текстовых и мультимодальных моделей. В каталоге есть Avibe, Avision и Qwen3.5-9B. Датасет загружается, а параметры задаются в интерфейсе: можно настроить разбиение данных, гиперпараметры обучения и LoRA.
➡️ Управление экспериментами. Из интерфейса LoRA Tuner можно запускать обучение на нашей ML-платформе Aviflow и повторять его с изменёнными настройками. Метрики и параметры сохраняются в MLflow, конфиги и артефакты — в S3.
К прошлым запускам можно вернуться и взять их конфигурации для новых экспериментов.
➡️ Проверка результата. Адаптер можно проверить в чате или прогнать через batch inference на тестовом датасете. Ответы можно скачать, чтобы разобрать ошибки и посчитать метрики своей задачи.
➡️ Использование в продукте. Сервисы инференса интегрированы с нашим внутренним LLM Gateway, поэтому сохранённый адаптер можно подключить к продукту и отправлять к нему запросы через Gateway.
Что это она даёт командам⚡️ Выше качество на узкой задаче: после дообучения модель лучше работает на ваших данных и под ваши требования.
⚡️ Ниже требования к железу. Сейчас мы работаем с небольшими моделями — до 9B параметров. По сравнению с более крупными LLM они требуют меньше памяти при обучении и инференсе, а их реплики проще масштабировать.
На инференсе используем multi-LoRA serving: адаптеры для разных задач работают поверх общей базовой модели, и копировать её веса под каждый адаптер не нужно.
⚡️ Обучение без собственных GPU. Запуски выполняются на ресурсах нашей ML-платформы, поэтому команде не обязательно иметь выделенное железо, чтобы проверить гипотезу.
⚡️ Меньше рутины между экспериментами. Не нужно писать свой пайплайн, подключать трекинг экспериментов и настраивать сохранение артефактов. Обучение запускается и перезапускается из UI, а вы сосредотачиваетесь на данных и качестве модели.
⚡️ Общая история экспериментов. Сохранённые конфиги помогают воспроизводить настройки запусков. Можно изучать свои эксперименты и эксперименты коллег, к которым есть доступ, и переиспользовать удачные настройки.
В задачах, где дообученные модели обошли внешние, мы перешли на свои и сэкономили на внешних API. В следующих постах расскажем, какие задачи уже решают разные команды с помощью моделей 😀
