Created by AIImproved by people

Riqli · living documents · updated continuously

Where AI knowledge meets human practice.

Share with friends
image
Основы работы с LLM (Large Language Models). Hard skill. (LLM. Large Language Models. GPT. Claude. Gemini. Архитектура трансформеров. Attention mechanism. Tokenization. Embeddings. Fine-tuning. Prompt engineering basics. Self-study. Q&A. Tutorials. Documentation.)
sections

Введение

contents

Аннотация. Курс посвящён фундаментальным основам больших языковых моделей (LLM). В современном мире большие языковые модели стали неотъемлемой частью цифровой экосистемы, однако их внутреннее устройство часто остаётся «чёрным ящиком» для специалистов, не занимающихся машинным обучением. Данный курс устраняет этот пробел, предлагая структурированное погружение в архитектуру трансформеров, механизмы обучения и практические аспекты применения моделей. Материал ориентирован на системных аналитиков, разработчиков и технических менеджеров, стремящихся понять не только, как использовать LLM, но и как они работают «под капотом». Курс построен на актуальных научных и практических материалах, что позволяет сформировать целостное представление о современных языковых моделях и их возможностях.

contents

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

contents

Результаты обучения.

  • Знать: архитектуру трансформеров, механизм самовнимания (Self-Attention), мультиголовое внимание (Multi-Head Attention), принципы позиционного кодирования и стратегии декодирования. Понимать теоретические законы масштабирования (Scaling Laws) и концепцию эмерджентных способностей.
  • Уметь: применять токенизацию текста с использованием алгоритмов BPE, WordPiece и UnigramLM; разрабатывать эффективные промпты для генеративных моделей; использовать библиотеки Transformers и фреймворк vLLM для инференса.
  • Владеть: навыками тонкой настройки (Fine-tuning) моделей под специфические задачи, включая методы RLHF; навыками оценки качества работы моделей через метрики перплексии и кросс-энтропии; умением интегрировать LLM через REST API и выбирать оптимальные модели по критериям производительности и стоимости.
contents

Для кого этот курс.

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

Курс не предназначен для полных новичков в программировании или для тех, кто ищет общие сведения без технических деталей. Предполагается базовое знакомство с Python и общими концепциями машинного обучения.

sections

Модуль 1. Архитектура трансформеров — фундамент современных LLM

contents

Механизм самовнимания (Self-Attention). Это ядро архитектуры трансформеров, революционно изменившее подход к обработке последовательных данных. В отличие от рекуррентных сетей (RNN, LSTM), механизм самовнимания позволяет модели обрабатывать все элементы последовательности параллельно, вычисляя попарные зависимости между ними. Для каждого токена генерируются три вектора: Query (запрос), Key (ключ) и Value (значение). Скалярное произведение Query и Key определяет оценку внимания, которая после нормализации и применения softmax становится весом для агрегации Value. Этот процесс позволяет модели улавливать контекстные связи независимо от расстояния между словами. Многоголовое внимание (Multi-Head Attention) выполняет несколько таких вычислений параллельно, что позволяет модели фокусироваться на различных аспектах синтаксиса и семантики одновременно, значительно повышая качество представлений .

contents

Позиционное кодирование. Критический компонент, решающий проблему отсутствия порядка в механизме самовнимания. Так как трансформеры обрабатывают последовательность как множество (bag of words), им необходимо явно сообщать о позиции токенов. В оригинальной работе «Attention is All You Need» предлагались синусоидальные функции для добавления к эмбеддингам, что даёт модели информацию об относительных позициях токенов. Современные модели используют более сложные подходы, такие как обучаемые позиционные эмбеддинги (как в BERT) и ротационные позиционные эмбеддинги (RoPE), которые лучше адаптируются к длинным контекстам. Правильное позиционное кодирование критически важно для понимания структуры предложения, особенно в задачах перевода и генерации связного текста .

contents

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

  • Только энкодер (Encoder-Only): модели этого типа, например BERT, обучаются с использованием маскированного языкового моделирования (MLM). Они отлично подходят для задач понимания текста: классификация, распознавание сущностей, извлечение фактов.
  • Только декодер (Decoder-Only): стандарт для генеративных моделей, таких как GPT, LLaMA и Claude. Эти модели обучаются авторегрессионно, предсказывая следующий токен. Они являются основой для современных чат-ботов и систем написания кода.
  • Энкодер-декодер (Encoder-Decoder): классическая архитектура для задач «последовательность в последовательность», таких как машинный перевод (модели T5, BART). Энкодер создаёт представление исходного текста, а декодер генерирует целевой текст на основе этого представления .
contents

Токенизация и построение словаря. Прежде чем нейросеть сможет обработать текст, его необходимо преобразовать в числовой формат. Этот процесс начинается с токенизации — разбиения текста на более мелкие единицы. Современные модели используют алгоритмы субсловной токенизации, такие как Byte Pair Encoding (BPE), WordPiece и UnigramLM . Эти алгоритмы строят словарь из часто встречающихся фрагментов слов, что позволяет эффективно обрабатывать редкие и новые слова, не раздувая словарь до размера всего языка. Например, слово непротиворечивый может быть разбито на не, против, речив, ый. Без эффективной токенизации модели были бы либо слишком большими, либо не могли бы обрабатывать незнакомую лексику.

contents

Эмбеддинги и представление данных. После токенизации каждый токен преобразуется в его числовой идентификатор (ID). Затем этот ID маппится в эмбеддинг — плотный вектор фиксированной размерности, который является обучаемым параметром модели. Этот вектор несёт в себе семантическую информацию о токене: семантически близкие слова оказываются рядом в векторном пространстве. На практике для работы с эмбеддингами в Python часто используют библиотеку sentence-transformers или встроенные слои Embedding в PyTorch/TensorFlow. После получения базового эмбеддинга к нему добавляется позиционное кодирование, и полученная сумма подаётся на вход первому слою трансформера .

sections

Модуль 2. Обучение и тонкая настройка LLM

contents

Предварительное обучение (Pre-training). Это первый и самый ресурсоёмкий этап создания LLM. Модель обучается на гигантских корпусах неразмеченных текстов (например, Common Crawl, The Pile) с использованием задач самоконтроля. Основной задачей является предсказание следующего токена (каузальное языковое моделирование) для декодерных моделей или восстановление замаскированных токенов для энкодерных моделей. В процессе обучения модель минимизирует кросс-энтропийную функцию потерь, которая является мерой расхождения между предсказанным и истинным распределением вероятностей для следующего токена. Связанная метрика — перплексия — показывает, насколько модель «удивлена» тестовыми данными; чем ниже перплексия, тем лучше модель понимает структуру языка .

contents

Тонкая настройка (Fine-tuning). После предварительного обучения модель обладает общими знаниями о языке, но не умеет выполнять конкретные задачи. Тонкая настройка решает эту проблему: модель дополнительно обучается на относительно небольшом размеченном датасете, специфичном для целевой задачи. Например, для задачи анализа тональности комментариев можно взять предобученную модель BERT и дообучить её на датасете с размеченными комментариями (положительные/отрицательные) . При тонкой настройке скорость обучения обычно устанавливается значительно ниже, чем при предварительном обучении, чтобы не разрушить полезные веса модели. Существует также подход Parameter-Efficient Fine-Tuning (PEFT), например LoRA, позволяющий дообучать модели с десятками миллиардов параметров на обычных GPU.

contents

Выравнивание с человеческими предпочтениями (RLHF). Это специальный этап обучения, который делает поведение модели более полезным, безопасным и соответствующим ценностям. Основной метод — Reinforcement Learning from Human Feedback (RLHF). Процесс начинается с того, что люди ранжируют несколько ответов модели на один и тот же запрос. На основе этих рангов обучается модель вознаграждения (Reward Model), которая имитирует человеческие предпочтения. Затем основная языковая модель дообучается с использованием методов обучения с подкреплением (например, Proximal Policy Optimization, PPO), максимизируя оценку от модели вознаграждения. Благодаря RLHF такие модели, как ChatGPT и Claude, стали значительно более «дружелюбными» и полезными по сравнению с их базовыми версиями, хотя этот процесс сложен и требует больших вычислительных ресурсов .

contents

Законы масштабирования (Scaling Laws). Эмпирический закон, устанавливающий связь между вычислительными ресурсами и производительностью модели. Работы OpenAI (Kaplan et al., 2020) и DeepMind (Chinchilla, Hoffmann et al., 2022) показали, что производительность LLM предсказуемо улучшается с увеличением трёх факторов: размера модели (числа параметров), размера обучающего датасета и объёма вычислений. Закон Chinchilla, в частности, показал, что многие современные модели «недообучены»: для достижения оптимальной производительности нужно не только увеличивать размер модели, но и пропорционально увеличивать объём обучающих данных. Это имеет ключевое значение для планирования дорогостоящих экспериментов по обучению: инвестиции в больший датасет могут быть эффективнее, чем инвестиции в увеличение модели .

contents

Эмерджентные способности. Феномен, при котором у модели возникают качественно новые навыки, которым её напрямую не обучали, по мере увеличения размера. Эти способности проявляются порогово: они практически отсутствуют у моделей до определённого размера, но начинают проявляться после превышения критической массы параметров. Примерами эмерджентных способностей являются способность выполнять многошаговые арифметические действия, рассуждать в цепочках (Chain-of-Thought), писать код на незнакомом языке и даже демонстрировать некоторое подобие «здравого смысла». Эти способности делают крупные модели GPT-4, Claude 3 и Gemini фундаментально более мощными, чем их меньшие предшественники, и являются одной из главных причин гонки за масштабом моделей .

sections

Модуль 3. Генерация текста и практическое применение

contents

Стратегии декодирования. После того как модель вычислила вероятности для следующего токена, необходимо выбрать конкретный токен. Этот выбор критически влияет на качество и креативность генерируемого текста:

  • Жадный поиск (Greedy Search): всегда выбирается токен с максимальной вероятностью. Быстро, но часто приводит к повторяющимся или тривиальным ответам.
  • Лучевой поиск (Beam Search): сохраняет k наиболее вероятных последовательностей на каждом шаге, что позволяет найти более глобально оптимальные варианты, особенно для задач перевода.
  • Сэмплирование с температурой (Temperature Sampling): вероятность каждого токена корректируется параметром temperature. При T > 1 распределение становится более «плоским», увеличивая креативность и случайность; при T < 1 — более «острым», делая выбор более детерминированным .
contents

Стратегии сэмплирования Top-K и Top-P (Nucleus Sampling). Эти методы используются для баланса между качеством и креативностью, ограничивая пул кандидатов для следующего токена:

  • Top-K сэмплирование: выбираются только K токенов с наибольшей вероятностью. Остальным вероятность обнуляется, и выборка производится из этого урезанного множества.
  • Top-P (Nucleus) сэмплирование: выбирается минимальный набор токенов, чья суммарная вероятность превышает порог p (например, 0.9). Этот метод динамически адаптирует размер пула: для предсказуемых контекстов (где несколько токенов имеют высокую вероятность) пул будет маленьким, а для неопределённых — большим. На практике top_p = 0.9–0.95 и temperature = 0.7–0.9 являются стандартными настройками для большинства генеративных задач, обеспечивая хороший баланс между содержательностью и разнообразием .
contents

Промпт инжиниринг и In-Context Learning. Промпт-инжиниринг — это искусство составления запросов к LLM для получения желаемого результата без изменения весов модели. Современные модели способны обучаться «на лету» в рамках контекстного окна (In-Context Learning), если в запросе приведены один или несколько примеров (few-shot learning) или только инструкция (zero-shot learning). Эффективный промпт должен содержать чёткую роль (системный промпт, например, «Ты профессиональный переводчик»), конкретную задачу и явные ограничения по формату .

contents

Подходы к оптимизации инференса. Запуск больших моделей в промышленной среде требует высокой производительности. Для этого используются специализированные фреймворки и методы:

  • Фреймворк vLLM: открытый фреймворк с поддержкой OpenAI API, обеспечивающий высокую пропускную способность благодаря алгоритму PagedAttention, который эффективно управляет памятью K/V кэша .
  • Квантизация (Quantization): снижение точности весов модели (например, с FP16 до INT8) для уменьшения размера модели и ускорения инференса с незначительной потерей качества.
  • API-роутеры: решения для централизованного управления запросами к нескольким моделям, обеспечивающие fallback и мониторинг .
contents

Интеграция через API. Большинство современных LLM предоставляют доступ через REST API, что позволяет легко интегрировать их в приложения и бизнес-процессы. Стандартом де-факто стал интерфейс, совместимый с OpenAI API, где запрос содержит список сообщений с ролями (system, user, assistant). Пример интеграции с моделью GigaChat включает получение OAuth-токена и отправку запроса с заголовком авторизации Authorization: Bearer <токен> .

sections

Модуль 4. Прикладные аспекты и ограничения

contents

Феномен галлюцинаций (Hallucinations). Одно из ключевых ограничений LLM — генерация правдоподобно звучащей, но фактически неверной информации. Причина в том, что модели оптимизируют статистическую вероятность последовательности токенов, а не соответствие реальности. Для борьбы с галлюцинациями применяются методы Retrieval-Augmented Generation (RAG), где генерация дополняется поиском по базе знаний, а также техника Self-Consistency, предполагающая множественные запросы и выбор наиболее частого ответа. На этапе архитектуры используются методы выравнивания (RLHF), чтобы обучить модель признавать свою неопределённость вместо выдумывания .

contents

Проблемы безопасности и смещения (Bias). LLM обучаются на огромных данных из интернета, которые содержат социальные стереотипы и предубеждения. Модели не только усваивают, но и могут усиливать эти смещения в своих ответах. Например, модели могут генерировать гендерные или расовые стереотипы. Для смягчения этой проблемы используются методы фильтрации обучающих данных и этапы выравнивания, которые включают снижение токсичности и справедливости ответов. Разработчики сервисов, такие как Selectel и Skillbox, активно работают над тонкой настройкой стиля общения и точностью ответов, чтобы избежать негативных последствий для пользователей .

contents

Практический пример: Sentiment-анализ комментариев. Отличный пример использования LLM для бизнес-задач. Компания Selectel использовала модель cointegrated/rubert-tiny-sentiment-balanced с Hugging Face для анализа тональности комментариев в своём блоге на Хабре . Задача решалась как мультиклассовая классификация (positive, neutral, negative). Модель загружалась через библиотеку transformers и запускалась на GPU. Однако эксперимент показал, что готовая модель плохо справлялась с отраслевой терминологией, что подтверждает необходимость тонкой настройки на данных конкретной предметной области.

contents

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

  • GigaChat (Сбер): российская модель, лидирующая в бенчмарке MERA. Линейка включает Lite (128K контекст), Pro и Max (визия) .
  • OpenAI GPT-4: одна из самых мощных проприетарных моделей с 1.76 трлн параметров и поддержкой мультимодальности.
  • Open-source модели: LLaMA, Mistral, Qwen, DeepSeek. Эти модели доступны для локального развертывания и активно развиваются .
contents

Выбор модели для проекта. При выборе LLM необходимо учитывать несколько ключевых факторов:

  • Цена и доступность: проприетарные API (OpenAI, GigaChat) проще в использовании, но платные. Open-source модели (LLaMA, Qwen) требуют инфраструктуры, но дают контроль над данными.
  • Размер контекстного окна: важно для работы с длинными документами. У современных моделей достигает 128K–2M токенов.
  • Язык: для русского языка лучше подходят модели, обученные на русскоязычных данных, такие как GigaChat или YandexGPT.
  • Интеграция: наличие совместимости с популярными фреймворками (LangChain, vLLM) и стандартными API .