LLM

Как обучают нейросети: от датасета до готовой модели

Нейросеть не думает и не запоминает тексты - она подстраивает миллиарды чисел под примеры, которые ей показали. Разбираем по шагам, откуда берутся данные для обучения и почему одна и та же модель в разных версиях звучит по-разному.

Иллюстрация к статье: Как обучают нейросети: от датасета до готовой модели

Обучение нейросети - это процесс, в котором программа миллионы раз сравнивает свой ответ с правильным и понемногу подстраивает внутренние параметры, пока ошибка не станет достаточно маленькой. Звучит просто, но за словами "обучение нейросетям" скрываются недели вычислений на тысячах видеокарт, гигантские наборы текста и картинок и несколько разных этапов, у каждого своя логика.

Дальше разберем путь по порядку: откуда берутся данные, как модель впервые "встречается" с языком, что меняется на этапе дообучения и почему без участия живых людей современные чат-боты отвечали бы куда менее складно.

Что такое датасет и почему он важнее алгоритма

Датасет - это набор примеров, на которых учится модель. Для языковой модели это тексты: статьи, книги, форумы, программный код, переписки, субтитры к видео. Для модели, которая рисует картинки, - пары "изображение плюс подпись". Чем больше и разнообразнее датасет, тем шире круг задач, с которыми модель потом справится.

Тут работает простая аналогия. Если человек десять лет читал только учебники по физике, он прекрасно разберется в формулах, но растеряется, если его попросят написать письмо в поддержку банка. С нейросетью похожая история: модель, обученную в основном на программном коде, не удивляет синтаксис Python, зато она может путаться в бытовых диалогах, если таких примеров в датасете было мало.

Качество данных решает больше, чем размер модели. Разработчики годами чистят датасеты от спама, дублей и токсичного содержимого, потому что модель не отличает хороший пример от плохого - она одинаково старательно копирует и грамотный текст, и безграмотный, если оба встречаются достаточно часто.

Предобучение: как модель впервые встречается с языком

Первый и самый долгий этап называется предобучением. Модели показывают текст с пропущенным словом или обрезанным концом фразы и просят угадать, что там должно быть. Задача выглядит примитивно, но чтобы угадывать хорошо, модели приходится усвоить грамматику, факты о мире, логику причины и следствия и даже некое подобие здравого смысла - иначе предсказания будут слишком часто промахиваться.

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

Результат предобучения - модель, которая бегло продолжает любой текст, но плохо понимает, чего от нее хотят. Она с одинаковой готовностью допишет продолжение вопроса вместо ответа на него или уйдет в сторону от темы. Голая языковая модель после этого этапа - скорее начитанный, но невоспитанный собеседник, чем помощник.

Дообучение: от предсказания слов к выполнению инструкций

Чтобы модель начала вести себя как помощник, а не как генератор случайных продолжений текста, ее дообучают на примерах вида "вопрос - хороший ответ". Такие пары составляют люди: пишут вопросы, похожие на те, что реально задают пользователи, и подбирают образцовые ответы - подробные, вежливые, по делу.

Датасет для дообучения на порядки меньше, чем для предобучения, зато он куда дороже в производстве, потому что каждую пару проверяет человек. На этом этапе модель учится формату: отвечать структурированно, не обрывать мысль на середине, признавать, если чего-то не знает, вместо того чтобы выдумывать правдоподобный ответ.

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

Обучение с подкреплением: человек в роли учителя

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

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

Тот же принцип применяют и для того, чтобы модель отказывалась от опасных или незаконных просьб. Отдельная категория примеров в разметке - как раз вопросы, на которые правильный ответ звучит как вежливый отказ, а не попытка угодить любой ценой.

Мультимодальность: когда учат не только тексту

Современные модели все чаще обучают сразу на нескольких типах данных - тексте, изображениях, иногда звуке. Для этого нужны датасеты, где картинка идет в паре с описанием, а не просто россыпь файлов без подписей. Обучить модель понимать изображения намного дороже, чем обучить ее только тексту, потому что разметка картинок почти всегда требует ручной работы.

Разница в подходах заметна и на стороне пользователя: даже одна и та же модель может по-разному вести себя с текстом и с картинками, потому что эти навыки ей прививали не одновременно и не на одних и тех же данных. Про то, как это устроено на практике, можно почитать в материале ChatGPT и картинки: как работать с изображениями в чате.

Почему больше данных не значит умнее

Есть расхожее заблуждение: чем больше параметров и чем длиннее контекст модели, тем она умнее. На практике размер контекста - это скорее объем "оперативной памяти" на один разговор, а не показатель сообразительности. Модель с огромным контекстом способна удержать в поле зрения книгу целиком, но при этом хуже рассуждать над короткой сложной задачей, чем компактная модель, которую специально дообучили именно для рассуждений.

Хороший пример - Kimi: обзор нейросети с гигантским контекстом: контекст там на порядок больше, чем у многих конкурентов, но выбор модели все равно должен зависеть от задачи, а не от одной внушительной цифры в характеристиках.

Сколько это стоит и почему обучение не запустишь дома

Предобучение большой языковой модели требует кластеров из тысяч видеокарт, которые работают неделями подряд, и счетов за электричество, сравнимых с потреблением небольшого города. Именно поэтому крупные модели с нуля обучают считанные компании в мире, у остальных хватает ресурсов только на дообучение готовой модели под свою задачу.

Эта же экономика объясняет, почему бесплатные тарифы у нейросетей такие скромные: компания уже потратила огромные деньги на обучение и теперь пытается их отбить на подписках, а не раздавать вычислительные мощности всем желающим просто так. О том, какими сервисами при этом реально можно пользоваться без оплаты, у нас есть отдельный разбор - бесплатные нейросети: что реально работает без оплаты и VPN.

Дообучение уже доступнее: под конкретную задачу его можно провести на одной мощной видеокарте за часы или дни, а не месяцы. Поэтому небольшие команды и стартапы почти никогда не обучают модель с нуля - берут готовую открытую модель и адаптируют под себя.

Частые заблуждения об обучении нейросетей

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

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

Чем новее модель, тем она однозначно лучше в любой задаче. Это не всегда так: новая версия может лучше рассуждать, но хуже писать художественные тексты, если разметчики сместили акцент обучения в другую сторону. Поэтому разработчики нередко держат в доступе сразу несколько версий модели одновременно.

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

Что из этого стоит помнить на практике

Когда нейросеть путается в фактах, отвечает слишком обтекаемо или отказывается там, где отказ странен, это почти всегда следствие того, как ее обучали, а не случайный сбой. Если ответ вас не устраивает, часто помогает не спорить с моделью, а переформулировать вопрос ближе к тому формату, на котором ее реально дообучали - с четким контекстом и конкретной просьбой. А если один сервис регулярно разочаровывает в конкретной задаче, разумнее попробовать другую модель из подборок в рубрике нейросети и языковые модели, чем ждать, что привычный чат-бот вдруг переучится сам.

Вопросы читателей по теме

Все вопросы

Как переводить тексты с помощью нейросети?

спрашивает Павел, Казань 119 просм.

Марина Соколова: Для перевода текста нейросети действительно дают более естественный результат, чем классический машинный перевод, потому что учитывают контекст всего предложения, а не переводят слово за словом. Из специализированных сервисов лучше всего с этим справляется DeepL - для европейских языков он заметно точнее старого Google Translate, особенно с идиомами и порядком слов. Если нужно перевести не разовую…

Как правильно писать промпты для нейросети?

спрашивает Станислав, Омск 145 просм.

Сергей Орлов: Схема есть, и она простая: роль, контекст, задача, формат. Модель не читает мысли, она отвечает ровно на тот запрос, который вы напечатали, поэтому чем конкретнее формулировка, тем предсказуемее результат. Роль - это кем модель должна "быть" для конкретной задачи: не "напиши текст", а "ты юрист, который проверяет договор аренды". Контекст - вводные, которые модель иначе…

Что такое ChatGPT?

спрашивает Ольга, Краснодар 165 просм.

Дмитрий Волков: ChatGPT - это чат-программа компании OpenAI, которая умеет вести диалог на естественном языке: отвечать на вопросы, писать тексты, объяснять темы, помогать с расчетами и кодом. Работает через сайт или мобильное приложение, доступ бесплатный на базовом уровне. Внутри у него языковая модель GPT - программа, обученная на огромном объеме текстов из интернета, книг и статей. Она…

Как выглядит ChatGPT?

спрашивает Павел, Тюмень 128 просм.

Марина Соколова: Внешне ChatGPT устроен проще, чем кажется: это диалоговое окно, а не программа с панелями инструментов вроде Word или Photoshop. Слева расположена узкая колонка с историей переписок - там хранятся все прошлые чаты, каждый можно переименовать или удалить. Сверху есть кнопка "новый чат" и переключатель модели: обычно указано название вроде GPT-4o или GPT-5, в платной версии…