В последние годы большие языковые модели (LLM) стали настоящим прорывом в области искусственного интеллекта и обработки естественного языка. Их применение меняет многие сферы — от создания контента и автоматизации поддержки клиентов до сложных научных исследований. Появление ChatGPT и других мощных ассистентов продемонстрировало впечатляющие возможности этих систем, что вызвало большой интерес как у специалистов, так и у широкой аудитории. Однако для многих остаётся загадкой, как именно эти модели создаются и работают. В попытке разобраться в этом феномене, стоит начать с базового понимания внутреннего устройства LLM, что поможет лучше оценить их потенциал и ограничения.
Процесс создания больших языковых моделей можно разделить на несколько ключевых этапов, каждый из которых играет свою уникальную роль. Прежде всего, всё начинается с сбора данных — огромных массивов текстовой информации из различных источников. Интернет, книги, статьи, форумы — практически все это используется в качестве обучающего материала. Один из наиболее известных источников — это Common Crawl, насколько самостоятельно доступный набор данных с миллиардами публично доступных веб-страниц. Благодаря таким масштабным ресурсам модель получает невероятно широкий спектр знаний, которые в дальнейшем используются для обучения.
Следующий этап — предварительное обучение, или pre-training. Во время этой стадии модель, основанная на архитектуре трансформера, анализирует предоставленные данные, учится выявлять закономерности, структуры языка и связи между словами и фразами. Эта часть процесса требует огромных вычислительных мощностей и может длиться недели и даже месяцы. В итоге получается автодополняющая модель, задача которой — предсказывать следующий токен (слово или часть слова) на основе предыдущего контекста. Такой подход позволяет модели работать с любыми текстовыми последовательностями, но своими ответами она может напоминать лишь статистическое продолжение фраз без настоящего понимания.
Чтобы превратить эту автодополняющую систему в помощника, способного отвечать на вопросы и вести осмысленные диалоги, проводят дополнительное обучение — посттренировку или supervised fine-tuning. На этом шаге модель дообучают на специальном размеченном наборе данных, где примеры состоят из вопросов и корректных ответов. Такое обучение формирует у модели способность воспринимать задачи как конкретные инструкции и строить ответы, соответствующие контексту и логике. Благодаря этому этапу ChatGPT и аналогичные модели приобретают характер осведомлённого ассистента, способного не только генерировать текст, но и помогать в решении реальных задач. Современные модели сейчас не ограничиваются лишь текстовым вводом и выводом.
Они могут работать с изображениями, аудио, видео, PDF-документами и другими форматами. Унификация обработки достигается тем, что все типы данных преобразуются в токены — основные единицы информации, с которыми работает модель. Токены — это своего рода строительные блоки, гасят сложные форматы до простых обозначений, понятных нейросети. В случае текста токены могут быть отдельными буквами, сочетаниями символов или даже целыми частями слов. Например, в GPT-2 используется метод Byte-Pair Encoding, где словарь насчитывает около 50 тысяч токенов.
Новейшие разработки, такие как GPT-4o, применяют более масштабные и точные токенизаторы с около 200 тысячами токенов, что позволяет модели работать с более детализированными и точными представлениями языка. Однако несмотря на внушительные успехи, языковые модели сталкиваются с определёнными трудностями. Одна из известных проблем — так называемая проблема с подсчётом, которая проявилась на примере вопроса о количестве букв «r» в слове «strawberry». Многие модели изначально давали неправильный ответ, вызывая сомнения в их интеллекте. Дело не в отсутствии способностей, а в том, как LLM воспринимают и разлагают входные данные на токены.
Если слово «strawberry» представлено одним токеном, модель просто не видит отдельные буквы, и потому не может точно сосчитать нужные символы. Современные подходы и системные подсказки, например в модели Claude, решают эту задачу, заставляя модель выполнять явные шаги подсчёта и даже применять вспомогательные методы программирования для точного результата. Чтобы лучше разобраться в работе LLM, стоит также познакомиться с набором специализированных терминов, часто используемых в этой области. Например, понятие «законы масштабирования» описывает взаимосвязь между количеством параметров модели, размером обучающего датасета и временем тренировки. Вкратце, увеличение этих величин ведёт к снижению ошибки модели — то есть к улучшению её способности предсказывать и генерировать текст.
Параметры можно представить как регулируемые «ручки», которые настраиваются в процессе обучения, позволяя модели адаптироваться к паттернам данных и вырабатывать внутренние представления. Одним из важнейших понятий также является «окно контекста» — это количество токенов, которые модель может одновременно обработать и использовать для формирования ответа. Чем больше окно, тем длиннее и сложнее информация, с которой модель способна работать за один раз. Например, GPT-4o поддерживает колоссальный контекст размером в 128 тысяч токенов, что эквивалентно сотням страниц текста. Ведутся исследования моделей с ещё более масштабным контекстом, таких как Google Gemini с контекстом в миллионы токенов.
Такие возможности открывают двери к новым сценариям, включая загрузку больших кодовых баз и комплексных документов. Однако большие объёмы данных для единовременной обработки пока ограничены технологически и экономически. Здесь на помощь приходит технология Retrieval Augmented Generation (RAG). Она позволяет хранить большие наборы данных отдельно и динамически извлекать из них релевантную информацию для подстановки в контекст модели. Это похоже на индексирование книги — при запросе по конкретной теме система находит соответствующий раздел и передаёт его модели для анализа и ответа.