Инжиниринг искусственного интеллекта

- -
- 100%
- +

СТАРТОВАЯ КАРТА
Эта страница - только для тех, кто впервые подходит к ИИ. Если вы уже пишете промпты, разворачиваете модели, считаете TCO или внедряете RAG - закройте её. Оглавление - ваш навигатор.
Ваш маршрут
Книга 1. От токена до трансформера
Как читать: Целиком последовательно.
Зачем: Это азбука и физика LLM.
Книга 2. От инструмента к двойнику
Как читать: По диагонали, с карандашом
Зачем: Это продакшен: агенты, тестирование, ROI, безопасность. Ваша задача сейчас - запомнить где искать, когда столкнётесь с реальной задачей.
Как читать, чтобы не утонуть, а впитать
Первый проход
Читайте быстро. Не выписывайте формулы. Ваша цель - увидеть карту местности. Если что-то непонятно - ставьте маркер и идите дальше.
Второй проход (якоря)
Отмечайте главы, к которым вернётесь. Например: «Глава Б.3 - перечитать, когда будем настраивать RAG» «Глава В.5 - открыть, когда нужно будет защитить бюджет перед руководством» «Глава Е.4 - проверить, когда агент начнёт галлюцинировать в проде»
Третий проход (по запросу)
Возвращайтесь только когда возникает конкретная боль. Книга 2 работает как справочник, а не как учебник.
Три правила, которые могут сэкономить вам месяцы
1. Цифры устареют. Принципы - нет.
Цены на токены, бенчмарки и версии моделей изменятся быстрее, чем вы дочитаете. Книга даёт компас, а не статичную карту.
2. Повторы - не вода, а спираль.
Если встретите знакомую идею в другом контексте - не пропускайте. Так закрепляются инженерные паттерны.
3. Здесь нет кнопки «Сделать ИИ».
Есть система координат, в которой вы сами найдёте ответы, когда начнёте строить.
ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ ДЛЯ ЧИТАТЕЛЯ
Информация в этой книге носит ознакомительный и образовательный характер. Технологии искусственного интеллекта развиваются настолько быстро, а их внутренняя сложность настолько велика, что ни один специалист не может гарантировать абсолютную точность всех технических деталей, цифр и расчетов.
О процессе создания
При работе над рукописью автор использовал гибридный подход. Большая языковая модель (LLM) применялась как динамический инструмент: для генерации черновых вариантов технических рецензий, предложения формулировок, структурирования ответов и проверки гипотез. Автор полностью контролировал направление работы, определял тематику, критически оценивал, отбирал и редактировал весь предложенный контент. Итоговый текст является результатом интеллектуального труда автора.
Но если дочитаете (или перелистнете на книгу 2 в раздел Приложение, то в нем есть отдельная глава, которая посвящена тому, как попробовать отличить текст, сгенерированного LLM от человеческого. В этом плане эта книга – идеальный тренажер.
Об ответственности
Автор не дает никаких гарантий, явных или подразумеваемых, относительно полноты, точности, надежности или актуальности приведенных данных. Это касается всех технических характеристик моделей, расчетов совокупной стоимости владения (TCO), архитектурных рекомендаций и любых других материалов книги.
Используйте информацию на свой страх и риск
Автор не несет ответственности за любые прямые или косвенные убытки, упущенную выгоду, потерю данных, простои оборудования или финансовые потери, возникшие в результате применения советов, формул или решений, описанных в тексте.
Технологии устаревают, цифры меняются, а каждая задача требует индивидуального тестирования. Воспринимайте эту книгу как мнение эксперта и отправную точку для вашего собственного анализа, а не как истину в последней инстанции или прямое руководство к действию в коммерческих проектах. Перед принятием серьезных инженерных или финансовых решений - перепроверяйте данные и консультируйтесь с профильными специалистами.
В книге могут быть опечатки, и местами неровные логические переходы, но книга составлялась энтузиастом и прежде всего для себя, чтобы она не только давала ответы, а побуждала задавать вопросы в таких местах и побуждать искать ответы. Поэтому не судите строго.
И да, математики (ну или почти) здесь вы не найдете. Невозможно объять все в одной книге. А хотелось, правда хотелось.
Отдельная ремарка по визуальной части
Все схемы, диаграммы и иллюстрации в этой книге сгенерированы при помощи искусственного интеллекта (Qwen) по текстовым описаниям.
ОБРАТИТЕ ВНИМАНИЕ
В книге используется послесловие «Лицензия на ИИ», где проводится сравнение технологий искусственного интеллекта с оружием.
Автор заявляет
данная формулировка является исключительно литературной метафорой. Она не проводит прямых аналогий между использованием технологий ИИ и огнестрельным оружием.
Позиция автора
Оборот оружия требует строгого государственного контроля. Автор поддерживает действующее законодательство в этой сфере.
Книга не содержит пропаганды насилия или нарушения законодательства Российской Федерации.
КНИГА 1. Инженерия LLM: от токена до двойника
ПРЕДИСЛОВИЕ
Эта книга устроена необычно. Она не пытается быть «истиной в последней инстанции» и не разжёвывает каждый технический нюанс до состояния пюре. В ней два слоя.
Первый слой
для «простака» (то есть для любого нового читателя). Это толстые мазки: метафоры, объяснения «на пальцах», история развития, экономика и выбор модели. Прочитав книгу один раз, вы поймёте суть, начнёте задавать правильные вопросы и не дадите себя обмануть маркетологами.
Второй слой
для «критика» (для пытливого инженера). Это нюансы, которые сознательно оставлены «за кадром» или описаны ровно настолько, чтобы у вас зачесались руки. Вас заинтересовала балансировка экспертов в MoE? Или разница между паттернами Sparse Attention? Отлично. Закройте книгу, откройте поисковик и углубитесь. Книга дала вам карту - клад вы найдёте сами.
И ещё одна важная деталь. Книга физически разделена на две части, каждая из которых самодостаточна.
Книга 1
это фундамент: как работает LLM, как её выбирать, сколько это стоит, как не ошибиться с архитектурой. Если вы инженер или технический лидер - начинайте здесь.
Книга 2
это продакшн и расширение: агентные системы, экономика AI-проектов, карта компетенций для продактов. В ней тоже есть инженерия - просто другая.
ЕСЛИ Вам просто нужен короткий ликбез про Искусственный интеллект в рамках этой книги – перелистывайте сразу на Книгу 2, Приложение 1.
В книге используются как русские, так и английские термины (attention, fine-tuning, inference) - они общеприняты в инженерной среде. Если вы встречаете незнакомую аббревиатуру, обратитесь к глоссарию в конце.
Идеальный читатель этой книги - не тот, кто ищет готовые ответы, а тот, кто хочет понять, куда смотреть. Эта книга - не попытка сделать ИИ прозрачным. Это дневник инженерного пути, на котором чёрный ящик перестаёт быть чёрным ровно настолько, насколько вам нужно. Я не знал про ИИ ничего, кроме модных слов. Я задавал вопросы. Тупые. Наивные. Неправильные. Потом задавал следующие. И ещё. Я не сделал ящик стеклянным - я сделал его серым. Теперь я вижу его границы, знаю, где он врёт, где тормозит, где его можно ускорить, а куда лучше не соваться. И главное - я понял, какие вопросы можно задать, а какие - дело следующих десятилетий. Эта книга - не про ответы. Она про метод. Возьмите чёрный ящик, который вас пугает, и уменьшайте его до тех пор, пока он не перестанет быть проблемой. А когда дойдёте до границы - будем задавать новые вопросы вместе.
ВВЕДЕНИЕ
Эта книга - не для тех, кто хочет узнать, что нейросети "учатся на данных". Она для тех, кому нужно понять, как именно они устроены, чтобы принимать инженерные решения: выбирать архитектуру, оценивать стоимость инференса (время выдачи результата пользователям), читать спецификации моделей и не вестись на маркетинговые цифры.
Если вы держите эту книгу в руках, скорее всего, вы уже заметили странную пустоту на книжных полках. С одной стороны - бестселлеры про ИИ для широкой аудитории, где нейросети «учатся на данных» и «понимают контекст», но ни слова о том, как это работает на самом деле. С другой - увесистые тома с формулами и диаграммами, понятные только тем, кто уже защитил диссертацию по машинному обучению.
А где-то посередине - вы. Человек, которому нужно понимать, как устроены современные модели ИИ, чтобы принимать инженерные решения. Выбирать архитектуру под задачу. Оценивать стоимость инференса. Читать спецификации моделей и отделять реальные характеристики от маркетинговых цифр. Объяснять коллегам, почему одна модель лучше другой, и не выглядеть при этом ни фантазёром, ни занудой.
Эта книга - мост через эту пустоту.
За последние два года технологии ИИ прошли путь от лабораторных экспериментов до промышленного стандарта. То, что вчера было прорывом, сегодня становится рутиной. Инженеру приходится не просто успевать за изменениями, но и понимать, какие из них действительно важны, а какие - лишь шум в информационном пространстве. Эта книга даст вам систему координат, в которой вы сможете ориентироваться независимо от того, какие новые архитектуры появятся завтра.
Что вы найдёте внутри
Мы не будем учить вас программировать нейросети с нуля. Мы не будем погружаться в математические доказательства сходимости. Но мы подробно разберём то, что реально нужно знать инженеру, продакту или техническому менеджеру, работающему с ИИ.
Вы не просто получите набор фактов - вы поймёте логику, стоящую за архитектурными решениями. Увидите, почему одна оптимизация работает, а другая нет. Научитесь задавать правильные вопросы разработчикам и вендорам. И главное - сможете отделить реальные ограничения технологий от временных трудностей, которые будут решены в следующем релизе.
Вы узнаете
· Почему «токен» - это не просто слово, а единица измерения скорости и денег
· Как слова превращаются в векторы и почему «Король - Мужчина + Женщина = Королева»
· Чем отличается позиционное кодирование RoPE от ALiBi и когда что выбирать
· Как работает механизм внимания и почему без него нет современных LLM
· Зачем в трансформере целых 32 слоя и что происходит в каждом
· Почему LSTM проиграла трансформерам, хотя была прорывом
· Что такое «смесь экспертов» и как модели учатся экономить ресурсы
· Сколько на самом деле стоит обучение большой модели (спойлер: как крыло самолёта)
· Как из обычной языковой модели делают вежливого ассистента с помощью SFT и RLHF
· Какие оптимизации позволяют обрабатывать миллионные контексты
· Как выбирать модель под свою задачу, глядя на таблицу характеристик
· Почему будущее - не за одной гигантской моделью, а за оркестром специализированных
· Как может выглядеть ваш цифровой двойник и какие проблемы нас ждут на этом пути.
Важная оговорка
Воспринимайте конкретные цифры (количество параметров, размер контекста) как снимок эпохи 2024–2025 годов, а архитектурные решения - как фундамент, на котором вы сможете строить понимание любых новых моделей.
ГЛАВА 1. КАК РАБОТАЕТ ГЕНЕРАТИВНАЯ ЯЗЫКОВАЯ МОДЕЛЬ: ОТ ЗАПРОСА К ОТВЕТУ
«Люди - это нейронные сети. Всё, что можем делать мы, способны делать и машины» - Джеффри Хинтон, ученый-информатик, первопроходец в области глубокого обучения
1.1 Токен
Токен - это минимальная единица текста, на который алгоритм разбивает предложение, чтобы с ним работать. Это и единица измерения стоимости и скорости. Название подчеркивает, что это «замена» реальному тексту в цифровом мире, своего рода жетончик, который обозначает кусочек смысла.
Почему не «слово» или «символ»?
Термин «токен» выбран потому, что он шире и абстрактнее, чем «слово». Токенами становятся не только слова, но и знаки препинания, цифры, пробелы (иногда) или части слов (сабворды). Например, в предложении «Привет! Как дела?» токенами будут: [Привет] , [!] , [Как] , [дела] , [?] . Восклицательный знак - это не слово, но это важный токен.
Математическая абстракция: Для нейросети токен - это, в конечном итоге, просто индекс (число) из словаря. Назвать это «словом» было бы некорректно, так как модель оперирует числами, а не лингвистическим понятием «слова».
Итак, токен - это не просто слово, а абстрактный «жетончик смысла». Но как именно текст превращается в эти жетончики? За это отвечает следующий компонент - токенизатор.
Токенизация (Tokenization)
разделение текста на единицы обработки. Когда вы отправляете сообщение, модель не видит буквы или слова в человеческом понимании. Текст проходит через токенизатор (tokenizer) - алгоритм, который разбивает строку на минимальные единицы, называемые токенами (tokens). Существует несколько алгоритмов: BPE (используется в GPT и RoBERTa), WordPiece (BERT) и SentencePiece (LLaMA, T5, XLNet).
BPE, WordPiece и SentencePiece - в чём разница?
Токенизатор - это не «чёрный ящик». Это алгоритм, который решает одну задачу: если слова нет в словаре, на какие кусочки его разрезать? Три популярных подхода - BPE, WordPiece и SentencePiece.
BPE (Byte Pair Encoding)
Как работает
Находит самую частую пару символов в тексте, склеивает её в новый токен. Повторяет, пока словарь не достигнет нужного размера.
Пример
В тексте часто встречается a b → склеиваем в ab. Потом ab c → в abc. И так далее.
+ Простой, понятный, работает для европейских языков.
– Требует предварительной разбивки на слова (пробелы - отдельные специальные символы). Плох для языков без пробелов (китайский, японский, тайский).
Где используется
GPT, RoBERTa.
WordPiece
Как работает
Тот же принцип склейки, но выбирает не самую частую пару, а ту, которая максимально увеличивает вероятность (правдоподобие) языковой модели.
Разница с BPE
BPE выбирает пару по частоте. WordPiece - по приросту вероятности модели (то, что лучше помогает предсказывать следующий токен).
+ Даёт чуть более «умные» токены, чем BPE.
– Тоже требует разбивки на слова. Сложнее в реализации.
Где используется
BERT.
SentencePiece
Что это
Не алгоритм, а библиотека, которая умеет две вещи:
· Работать с сырым текстом (без предварительной разбивки на слова по пробелам).
· Использовать внутри либо BPE, либо Unigram (третий алгоритм).
Главная фишка
Пробел в SentencePiece - обычный символ, как и все остальные. Поэтому он не требует «знать», где границы слов. Это важно для языков без пробелов (китайский, японский, тайский).
+ Универсален, работает с любыми языками.
– Требует отдельного шага - обучения токенизатора на корпусе (хотя это делается один раз).
Сравнительная таблица

Что важно для инженера
Если вы работаете с английским и европейскими языками
BPE или WordPiece дадут почти одинаковый результат. Разница заметна только на гранях.
Если ваша модель мультиязычная или работает с китайским/японским
вам нужен SentencePiece. Без него пробелы будут мешать, а слова без пробелов - резаться в случайные кусочки.
SentencePiece сегодня - стандарт для open-source LLM (LLaMA, Qwen, DeepSeek). BPE и WordPiece сегодня используют реже (GPT-2, BERT - уже не передний край), но понимать их полезно для чтения старых статей и спецификаций.
Токен может быть:
· целым словом («кот», «человек»);
· частью слова («нейро», «сеть»);
· отдельным символом («!», «?»).
Выбор стратегии - инженерное решение, у которого нет идеального варианта, только компромиссы.
Целые слова
интуитивно понятно, но словарь разрастается до миллионов токенов (неэффективно), а модель не сможет обработать слово, которого не видела в обучении (проблема OOV - out of vocabulary).
Части слов (сабворды)
золотая середина. Словарь фиксированного размера (32K–256K), редкие слова собираются из кусочков, модель может обрабатывать новые слова. Минус: иногда нарезка выглядит нелогичной («нейро» + «сети» вместо «нейросети»).
Отдельные символы
словарь крошечный (десятки/сотни токенов), нет проблемы OOV, но длинные тексты превращаются в очень длинные последовательности, что замедляет обработку и усложняет поиск смысловых связей.
Большинство современных моделей выбирают компромиссный вариант - сабворды (BPE, SentencePiece, WordPiece).
Как это работает технически
Токенизатор анализирует статистику встречаемости символов и их сочетаний в обучающем корпусе. Часто встречающиеся последовательности объединяются в один токен. Это позволяет держать размер словаря (обычно 32 000–256 000 токенов) фиксированным, но при этом кодировать любой текст.
Как токен получает свой номер (и почему спецсимволы - особенные)
Может показаться, что числа, которыми обозначаются токены, назначаются случайно. Но это не так. У токенизатора есть строгая логика, и она подчиняется одной цели: сделать словарь максимально эффективным.
Алгоритм работает следующим образом
Токенизатор начинает с базового алфавита. Каждому символу - букве, цифре, знаку препинания - присваивается начальный номер. Это «фундамент» словаря. Никто не спрашивал разрешения у запятой или точки с запятой - они получили свои номера по умолчанию, потому что без них текст рассыпается.
Затем токенизатор «смотрит» на обучающий корпус (миллиарды текстов) и ищет самые частотные пары уже существующих токенов.
Самую частотную пару он «склеивает» в новый токен и присваивает ему следующий свободный номер.
Процесс повторяется тысячи раз. С каждым шагом словарь пополняется новыми токенами, которые собраны из более мелких кусочков.
Два важных нюанса про спецсимволы
Первый: пробелы
В большинстве токенизаторов пробел - это не «пустота», а полноправный символ, который получает свой номер. Когда токенизатор «склеивает» пары, он может объединить пробел со следующим словом. Именно поэтому в некоторых моделях токен « Как» (с пробелом в начале) существует отдельно - это наследие того, что на каком-то шаге пробел и слово «Как» встретились вместе достаточно часто.
Второй: пунктуация
Знаки препинания (точка, запятая, восклицательный знак) - это отдельные токены с самого начала. Они никогда не «склеиваются» со словами, если только модель специально не обучена на текстах без пробелов после знаков (а такое бывает). Поэтому в примере выше восклицательный знак «!» остался самостоятельным токеном номер 67, хотя мог бы теоретически приклеиться к слову «Привет».
Что в итоге?
Цифра 3245 - это не случайный индекс, а история: этот токен был «склеен» на каком-то шаге из двух более мелких, которые встретились вместе достаточно часто, чтобы заслужить собственное место в словаре. А цифра 67 (восклицательный знак) - это «первокирпичик», который был заложен в фундамент ещё до начала склеивания.
Чтобы увидеть этот процесс в действии, давайте проследим, как одна и та же фраза выглядит глазами человека и глазами модели. Разница окажется разительной.

Но токенизация работает по-разному не только для человека и машины, но и для разных человеческих языков. Английский, русский и китайский «весят» в токенах совершенно по-разному.
Токенизация разных языков
Токенизаторы обычно обучаются на смеси языков, но английский в ней доминирует. Это создаёт перекос:
Английский
Частотные слова становятся одним токеном. Коэффициент токенизации (токенов на слово) - 1.0-1.5.
Русский
Из‑за развитой морфологии слово часто разбивается на корень и окончание. Коэффициент - 1.5-2.0.
Японский/Китайский
Иероглифы кодируются посимвольно. Коэффициент - 2.0-3.0.
Практическое следствие
При прочих равных, работа с русским текстом обходится дороже в токенах, чем с английским. Эти коэффициенты - не просто академические цифры. Для инженера они прямо переводятся в деньги.
Важное уточнение: это не потому, что английский «лучше».
Глядя на эти цифры, легко сделать неверный вывод: мол, английский - самый «экономный» язык, а русский и тем более китайский - «расточительные». Это не так.
Разница в коэффициентах - не лингвистическая данность, а исторический артефакт. Подавляющее большинство токенизаторов обучались на корпусах, где доминировал английский. Они «настроены» на его частотности, на его типичные сочетания символов. Русский, китайский, арабский и другие языки просто «подсели» в этот словарь, который под них не оптимизирован.
Теоретически ничто не мешает создать токенизатор, который будет экономичнее для китайского, чем для английского. Если взять корпус, где 90% текстов - на китайском, и обучить BPE или SentencePiece на нём, иероглифы начнут «склеиваться» в осмысленные частотные пары, а английские слова, наоборот, будут дробиться на части. Коэффициенты поменяются местами.



