Учить, учить и еще раз учить ИИ

Давно тут не было статей! Много работы, докладов и конференций, поэтому как смог, так выдаю.

Сегодняшняя тема выбрана не просто так:

1. Сентябрь еще горит, а это месяц знаний. Значит, самое время поговорить про обучение ИИ.

2. Коллеги-разработчики, аналитики и продавцы очень просили доходчиво объяснить потенциальным клиентам, «ЧТО ЖЕ ЭТО ТАКОЕ ДООБУЧЕНИЕ LLM?!», а заказчики часто спрашивали, могут ли они сами дообучить LLM.

Учить, учить и еще раз учить ИИ

Ответы на эти и другие вопросы читайте ниже.

Начнем с базы!

Большие языковые модели (LLM) — это глубокие нейронные сети, способные обрабатывать естественный язык благодаря обучению на огромных объемах текста. Они могут понимать контекст, генерировать осмысленные ответы и обрабатывать естественный язык.

Дообучение LLM — тонкая настройка предварительно обученных больших языковых моделей для их адаптации к определенным знаниям или особенностям. В отличие от создания с нуля, дообучение помогает повысить точность и эффективность моделей в конкретных задачах. А ресурсов и времени требует гораздо меньше.

Вы могли слышать о проприетарных (GPT, GigaChat, YandexGPT) и открытых LLM-моделях (DeepSeek, Llama, Qwen и пр.). Открытые модели часто используют для дообучения под специфические задачи. Например, кейс с моделью A-Vibe от Авито: в компании дополнительно обучают открытые модели для своих продуктов.

Существует два основных подхода к дообучению LLM:

1. Fine-tuning — полная настройка всех слоев предварительно обученной модели на специализированных датасетах. С таким подходом вы «заточите» модель под конкретную задачу, но вам потребуется больше данных и вычислительных ресурсов (примерно в 3-4 раза по сравнению с затратами на «простое» выполнение задач).

2. Prompt-based learning — подход, при котором поведение модели задается с помощью промт-инжиниринга без изменения архитектуры. Здесь требуется меньше ресурсов, поскольку модель остается неизменной, а обучение сводится к подбору эффективных инструкций. Но и дообучением это назвать сложно, так как мы не наполняем LLM новыми знаниями о мире или о нужной нам теме.

Плюсы и минусы каждого подхода

Fine-tuning

Сильные стороны

- Высокая степень адаптации к специализированному домену или задаче

- Хорошие показатели точности и качества решений

Слабые стороны

- Требует значительного количества вычислений и памяти — большие затраты на инфраструктуру

- Нужны серьезные объемы высококачественных данных. Именно высококачественных, то есть перед дообучением еще потребуется внутренняя экспертиза ценности всей базы, на которой планируется вести дообучение

- Высокие риски переобучения, особенно при работе с небольшими датасетами. Модель может начать работать хуже, чем было до

Prompt-based learning

Сильные стороны

- Низкая стоимость реализации и минимальные требования к ресурсам

- Легкость интеграции с моделями

- Минимальное влияние на производительность системы.

Слабые стороны

- Ограниченная глубина адаптации, поскольку архитектура модели остаётся неизменной

- Возможны проблемы с устойчивостью результатов в зависимости от выбора промтов

Бытует мнение, и многие мои коллеги отмечают, что для качественного дообучения большой языковой модели требуется примерно 10% от объема уже имеющейся обучающей выборки. То есть, чтобы получить рост по качеству после дообучения модели примерно на 7 млрд параметров, надо в нее скормить около 10Тб данных. Опять же вспомним упомянутых коллег из Авито: они как раз примерно 10Тб и использовали для дообучения. Но, конечно, все сильно зависит от размера исходной модели и характера задачи.

Вы, наверно, где-то слышали еще про «предварительное обучение» (Pretraining). Это начальная фаза тренировки нейронной сети, направленная на создание универсальной модели, способной эффективно обобщать знания из широкого спектра данных. Цель pretraining заключается в извлечении общих закономерностей и характеристик из огромного количества несвязанных данных, что помогает сформировать базовые представления, полезные для последующего применения в различных задачах.

Всем подходам подход

Альтернативным и одним из наиболее перспективных направлений решения задач с добавлением в LLM контекста является метод Retrieval Augmented Generation (RAG) – генерация с дополнительным контекстом.

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

В чем преимущества RAG:

· Можно быстро обновлять знания модели, просто добавляя свежие данные, без полного переобучения.

· Сохраняется высокий уровень производительности даже при увеличении объемов обрабатываемой информации.

· Управлять качеством ответом можно гибко через фильтрацию извлекаемых данных.

Таким образом, с RAG можно достигать сопоставимые или лучшие результаты при меньших затратах вычислительных ресурсов.

И что в итоге?

Проанализировав все вышесказанное, приходим к выводу, что традиционный подход fine-tuning не всегда оправдан финансово и технически. Часто оптимальным решением специфических задач для LLM будет являться метод RAG, который дает высокое качество решений и одновременно требует меньшего количества ресурсов.

Но не стоит также забывать, что для отдельных узких областей могут оказаться полезными маленькие языковые модели (SML), специально созданные, обученные и настроенные под конкретные задачи. Но это отдельная область исследований и разработок, заслуживающая отдельной статьи (когда кейсы будут!).

Спасибо, что дочитали, пишите свои мысли касательно дообучения моделей, и, если сами это делали, – делитесь лучшими практиками.

1
Начать дискуссию