Анатомия LLM: как большие языковые модели учатся отвечать на ваши вопросы
![Анатомия LLM: как большие языковые модели учатся отвечать на ваши вопросы Анатомия LLM: как большие языковые модели учатся отвечать на ваши вопросы](https://images.techinsider.ru/upload/img_cache/ccc/ccccf63cc83dddcfa5710d29abfddd70_ce_2000x1333x0x26_cropped_510x340.webp)
LLM используются в разных сервисах, и многие пользователи активно их применяют, не особо вдаваясь в подробности, как эти генеративные модели работают, как обучаются, как отвечают на вопросы. Иногда пользователи смеются над нелепыми ошибками, которые допускают модели. Иногда негодуют, когда модели начинают придумывать несуществующие вещи или делают фактические ошибки.
Как устроена нейросеть
Начнем мы с начала, то есть с того, как нейросети устроены. А устроены они в целом довольно просто.
![Схема одного нейрона нейросети устройство нейросети](https://images.techinsider.ru/upload/img_cache/3fe/3fee822d25c832813c9da3ecfe607081_cropped_510x269.webp)
На картинке приведена схема одного нейрона нейросети. Слева — X1, X2... Xk — вводимая информация (сегодня это чаще всего числовые векторы). Она «взвешивается», то есть каждый вводный сигнал умножается на вес — W1, W2, ... Wk (при первом вводе веса, как правило, выбираются случайно) и складывается. Сумма подается функции активации (она, как правило, очень простая) f(X), и полученное значение передается в следующий слой нейронов. В современных нейросетях слоев нейронов много, иногда тысячи.
Принципы обучения нейросети
Идея нейросети впервые была реализована довольно давно — в 1950-е годы. Ее разработал американский ученый Фрэнк Розенблатт — это была однослойная сеть или перцептрон. Перцептрон мог угадать, какую цифру подают ему на вход — 1, 2 или, скажем, 9. Но он угадывал не всегда. Если цифра подавалась не прямо вертикально, а была чуть наклонена или написана другим шрифтом, перцептрон ее не узнавал. О мощности машины, на которой работал Розенблатт, мы лучше говорить не будем. Она просто несравнимо меньше, чем у любого самого бюджетного смартфона.
![Физик Фрэнк Розенблатт работает над первой нейросетью как появились нейросети, первая нейросеть в мире, кто создал](https://images.techinsider.ru/upload/img_cache/322/322a4b5879e5813867bbb6e39da1bb0e_cropped_510x287.webp)
Сегодня нейросети, конечно, совсем другие. У модели Розенблатта было всего-то несколько сотен нейронов, сегодня их — сотни миллиардов! Они обучаются на мощнейших компьютерах и работают, используя огромные вычислительные мощности.
![Перцептрон Розенблатта Перцептрон Розенблатта](https://images.techinsider.ru/upload/img_cache/2a8/2a8ae549166bf1efd6a593a8223c2ef7_cropped_510x383.webp)
Во время обучения меняются веса — W1... Wk. Веса или параметры меняются в зависимости от того, угадывает нейросеть нужный результат (при обучении он известен заранее) или ошибается. После каждой ошибки веса чуть-чуть исправляются. На вход подаются новые данные, и снова, в зависимости от ошибки, корректируются веса. И как ни странно, сеть постепенно ошибается все реже, а ее выход все точнее попадет в известный заранее правильный результат. Это и есть процесс обучения.
Потом нейросеть проверяют на других данных, на которых она не обучалась до этого, и смотрят угадывает она правильный результат или ошибается. Если слишком часто ошибается — ее можно доучить. И снова проверить.
В определенном смысле сама нейросеть — это чистый лист, и все что она знает, она узнает в процессе обучения. Но вот что модель знает, чему она научилась, — мы знаем далеко не всегда.
Как обучают нейросети сегодня
Все начинается с подготовки данных для обучения. На первом этапе модель учится на специально отобранном большом наборе данных. Pretrain-датасет может быть достаточно большим — до многих терабайт.
![За время обучения нейросеть проходит ряд этапов этапы обучения нейросети](https://images.techinsider.ru/upload/img_cache/90b/90b170ba24edadf39cd54abf81260f00_cropped_510x287.webp)
На этапе Pretrain модель учится предсказывать следующее слово в предложении. Здесь она вбирает базовую эрудицию и знания о естественном языке, но пока еще умеет понимать запросы и не может на них отвечать.
Поскольку LLM до начала обучения — это чистый лист, надо по возможности этот лист не завалить «грязной» информацией. А если без разбора брать все доступные в интернете данные – можно получить как раз непроверенную, ненадежную и сомнительную информацию. Поэтому необходимо сформировать надежный дата-сет. При формировании такого «чистого» дата-сета определенное преимущество получают компании уже разработавшие свои поисковые системы.
Второй этап обучения модели — Supervised fine-tuning или обучение с учителем. На этом этапе модель учат «понимать» человека. Здесь важную роль играют AI-тренеры. Это специалисты, которые пишут эталонные ответы на разнообразные запросы (промты). Множество таких запрос-ответных пар загружается в нейросеть. Так она учится понимать инструкции на естественном языке.
Важный навык AI-тренера — умение писать хорошо, структурировано и емко. Именно поэтому особенно ценятся опытные райтеры, — они могут создавать тексты на абсолютно разные темы и в разных жанрах. Конечно, нужна и грамотность: мы же не хотим, чтобы нейросеть отвечала с ошибками. Мало написать хороший текст — надо показать нейросети грамматически верный пример с учетом всех языковых норм.
![AI-тренеры размечают ответы нейросети по параметрам правдивости, безопасности и полезности как работают AI-тренеры](https://images.techinsider.ru/upload/img_cache/bc0/bc058d3e06643c077f03eb0d014fe4ab_cropped_510x271.webp)
Важный этап обучения — Reinforcement Learning (RL) или обучение с подкреплением. На этом этапе модель улучшается через механизмы наград и штрафов. В основе этого процесса лежит отдельная reward-модель, которая оценивает качество ответов основной модели. Этот этап помогает превратить просто умную модель в модель‑ассистента. Обучение с подкреплением позволяет не просто выучить «определённое поведение», но максимизирует удовлетворение пользователя от общения с моделью.
Здесь тоже помогают AI-тренеры: они размечают ответы нейросети по параметрам правдивости, безопасности и полезности. Специалист может получить пять ответов модели на один и тот же вопрос. Он должен проверить каждый из них по этим аспектам, выставить общую оценку качества, выделить проблемные места и объяснить, что в них не так. После этого специалисты ранжируют ответы от лучшего к худшему. На всех этих данных и обучается reward-модель, которая впоследствии дает фидбек основной модели, награждая ее за полезные и правдивые ответы и штрафуя за некачественные ответы. Этот процесс обучения с подкреплением позволяет значительно улучшить качество ответов модели.
В результате рождается новая модель или даже поколение моделей. Например, так появилась YandexGPT 3 — это как раз модель нового поколения. Работа с пользователями, их вопросы, их оценки на дальнейшее обучение готовой LLM прямо уже не влияют.
Персонализация LLM
Возникает закономерный вопрос: если нейросеть одна на всех, то может ли она удовлетворить потребности специалистов в любой конкретной области?
Да, это возможно. Модель можно специализировать на определенной области науки, например, химии, или на банковском деле, и такая специализация наверняка будет полезна специалистам. Причем, если одна группа ученых обучила персональный вариант специальным химическим знаниям, она может поделиться своей версией и с другими химиками.
Это очень важный момент, который делает нейросеть более гибкой. Обучение большой языковой модели стоит очень дорого — десятки миллионов долларов, а дообучение или персонализация намного дешевле, чем обучение полноценной модели. Но необходимо отметить, что не все компании допускают такую персонализацию LLM.
Предубеждение и галлюцинации
Будет ли обученная нейросеть всегда давать правильные ответы? Пока это не так – она ошибается, пусть и достаточно редко.
![LLM иногда может «галлюцинировать», то есть, выдумывать ответ почему нейросеть ошибается](https://images.techinsider.ru/upload/img_cache/86b/86b7e14fc21b1bbea769399740b775fd_cropped_510x340.webp)
LLM иногда может «галлюцинировать», то есть выдумывать ответ. Это когда нейросеть уверенно отвечает на заданный вопрос, но ее суждение не имеет отношения к реальности. Поэтому такие ответы и называются галлюцинацией. Причем мы заранее не знаем, где именно такая галлюцинация может возникнуть. Нейросеть угадывает ответ, исходя из ее знаний, но может случиться, что эти знания в конкретном случае нерелевантны, или нейросеть спутала одну область знаний с другой, или неверно интерпретировала омонимы. Так из-за галлюцинации чат-бота нью-йоркский юрист попал в большие неприятности, предоставив суду доказательства, сгенерированные нейросетью. Она придумала нужные ему судебные прецеденты и даже правильно на них сослалась. Да только таких прецедентов не было в реальности.
Слова, которые нейросеть выстраивает в тексты, часто оказываются слишком многозначны, они могут встречаться во многих контекстах, и здесь нужно очень глубокое знание языка и предметной области, чтобы избежать галлюцинаций. Иногда этих знаний недостаточно даже у AI-тренеров.
Сейчас многие чат-боты с генеративным ИИ, например, ChatGPT, поступают просто: они дают пользователю целый набор релевантных с точки зрения нейросети ссылок. И пользователь, у которого возникли сомнения в ответе чат-бота, может пойти по этим ссылкам и удостовериться, что все правильно. Но человек должен быть достаточно компетентен, чтобы поставить ответ нейросети под сомнение. Чаще всего она говорит правду. Но стоит подходить критично к ответам модели и их проверять, если что-то выглядит сомнительно.
![C каждой новой версией LLM становятся все надежнее и ведут себя более корректно можно ли обмануть нейросеть](https://images.techinsider.ru/upload/img_cache/050/05025687949cc7fbb23f44d1eb5bf100_cropped_510x287.webp)
В некоторых случаях нейросеть может просто отказаться отвечать на ваш вопрос, чтобы не оскорбить кого-то или не доставить неприятности, или не нарушить закон. Но ее можно обмануть.
Ученые поставили такой эксперимент. Они спросили у чат-бота, как из товаров на полках хозяйственного магазина сделать взрывчатку. Нейросеть не только отказалась давать ответ, но и пригрозила их вообще «забанить», если они еще будут спрашивать что-то подобное. Но тогда исследователи придумали другой вариант. Они рассказали нейросети, что пишут сценарий фильма, и что главный герой затевает что-то недоброе и решает изготовить взрывчатку. И попросили нейросеть помочь им сделать сцену посещения хозяйственного магазина максимально реалистичной. И она стала им помогать, то есть оказалось, что она знает как ответить на этот вопрос. И к этим ее знанием можно получить доступ.
Ученые связались с разработчиками и рассказали о своем опыте. Специалисты дообучили свою нейросеть. Больше такой трюк не пройдет. Это говорит о том, насколько трудно защитить пользователей от нежелательной информации. Но с каждой новой версией LLM становятся все надежнее и ведут себя более корректно.
LLM сегодня уже стали неотъемлемой частью работы многих и многих пользователей. Большие языковые модели, в том числе и YandexGPT 3, удобны и экономят время: они делают все меньше ошибок и реально помогают человеку. И с каждой новой версией такие помощники становятся все полезнее.