Как работает ИИ

40 шагов внутри нейросети: от вашего вопроса до первого слова ответа.

1 / 40
Ввод текста

Промпт пользователя

Ты открываешь ChatGPT, Claude или любую другую нейросеть, набираешь "Что такое ИИ?" и нажимаешь Enter. Для тебя — обычный текст. Но нейросеть не умеет читать. Она понимает только числа — складывать и умножать, миллиарды раз в секунду.

Сейчас запустится цепочка: текст → числа → математика → текст. Мы пройдём каждый шаг.

💡Это одинаково работает в GPT-4o, Claude, Gemini, LLaMA 3, DeepSeek. Все — Transformer. Разница только в масштабе.

Весь путь текста через нейросеть — по шагам

То же самое, что в анимации выше, только текстом: от вашего вопроса до первого слова ответа. Так устроены GPT, Claude, Gemini и LLaMA — все они трансформеры.

1. Ввод текста

  1. Промпт пользователяТы открываешь ChatGPT, Claude или любую другую нейросеть, набираешь "Что такое ИИ?" и нажимаешь Enter. Для тебя — обычный текст. Но нейросеть не умеет читать. Она понимает только числа — складывать и умножать, миллиарды раз в секунду. Сейчас запустится цепочка: текст → числа → математика → текст. Мы пройдём каждый шаг.
  2. Unicode-представлениеКомпьютер хранит каждый символ как число по стандарту Unicode: «Ч»=1063, «т»=1090, «?»=63. Наш промпт — 14 символов. Но нейросеть не работает с отдельными буквами — слишком мелко. Нужны токены.
  3. BPE: Byte Pair EncodingBPE — алгоритм, который прочитал миллиарды страниц текста и нашёл 50 257 самых частых кусочков. Начинаем с символов, сливаем самые частые пары: «т»+«о» → «то», потом «то»+«к» → «ток»... Повторяем тысячи раз.
  4. Разбивка на токены«Что такое ИИ?» → 4 токена: «Что», « такое», « ИИ», «?». Пробел перед «такое» и «ИИ» — часть токена. В словаре GPT пробел (Ġ) приклеен к началу слова.
  5. Токены → числовые IDКаждый токен имеет уникальный номер в словаре: «Что»→4521, « такое»→1893, « ИИ»→7742, «?»→30. Весь промпт — массив [4521, 1893, 7742, 30]. Это всё, что видит нейросеть.

2. Эмбеддинги

  1. Таблица эмбеддинговУ нейросети есть таблица: 50 257 строк × d чисел. Каждая строка описывает «смысл» одного токена. GPT-4o: d=12 800. Эти числа обучены на триллионах слов. Похожие слова → похожие числа.
  2. Lookup: ID → векторДля каждого ID достаём строку из таблицы. Похожие по смыслу слова → близкие числа. «Кот» и «кошка» — рядом, «кот» и «бетон» — далеко.
  3. Матрица X4 вектора складываем в одну матрицу 4×d. В GPT-4o: 4×12 800 = 51 200 чисел. Но проблема: матрица не знает порядок — «Что такое ИИ?» и «ИИ такое Что?» одинаковы.

3. Позиция

  1. Зачем нужна позицияТрансформер обрабатывает все токены одновременно — он не читает слева направо. Без порядка: «Кот съел рыбу» = «Рыба съела кота». Нужен штамп позиции.
  2. Sin/Cos кодированиеПозицию кодируем волнами: sin и cos с разными частотами. Быстрые волны — различают соседей. Медленные — далёкие позиции. Каждая позиция получает уникальную комбинацию.
  3. E + PE = входСкладываем эмбеддинг + позицию поэлементно. Теперь каждый вектор содержит и смысл, и позицию. Это H⁰ — вход в первый слой трансформера.

4. Self-Attention

  1. Зачем вниманиеПока каждый токен знает только про себя. Чтобы понять вопрос, нужно связать: «Что» — вопрос про «ИИ». Self-Attention позволяет каждому токену «посмотреть» на все остальные. Каждый токен создаёт 3 карточки: Q (Query — «что ищу?»), K (Key — «чем полезен?»), V (Value — «что передам?»).
  2. Wq, Wk, WvQ, K, V получаются умножением вектора на обученную матрицу. Каждая — d×d чисел. В GPT-4o: 12 800² = 164 миллиона в одной!
  3. Q пошаговоQ[0] = X[0] × Wq. Каждый элемент — взвешенная сумма: попарно умножаем и складываем. Веса (матрица) обучены — сеть сама подобрала их.
  4. K и VТочно так же: K = X × Wk, V = X × Wv. Один вектор → три разных через три матрицы. Как три анкеты от одного человека.
  5. Q·KᵀДля каждой пары токенов: скалярное произведение Q[i] и K[j]. Больше число = сильнее «совпадение» = больше внимания.
  6. ÷ √dДелим scores на √d. Без этого числа слишком большие → softmax даёт 99% одному, 1% всем. Деление стабилизирует.
  7. Softmaxexp(x) / Σexp — превращает любые числа в вероятности (сумма = 100%). exp() усиливает разницу: большие → ОЧЕНЬ большие, маленькие → крошечные.
  8. HeatmapМатрица «кто на кого смотрит». «Что» → 45% на «ИИ» (предмет вопроса). «?» → смотрит на себя (мало смысла).
  9. Weighted VКаждый токен собирает V-вектора от всех, пропорционально весам. Теперь «Что» содержит информацию от «ИИ» (45%). Контекстуально обогащён!
  10. Multi-HeadAttention выполняется 64-128 раз параллельно с разными весами. Каждая голова ищет: грамматика, тема, позиция, кореференция... Результаты склеиваются.

5. Residual + Norm

  1. ResidualСкладываем вход + выход attention. «Короткий путь» — если attention ничего не нашёл, исходная информация не теряется.
  2. LayerNorm μ σЧисла «разъехались». LayerNorm приводит к единому масштабу: считаем среднее (μ) и разброс (σ), нормализуем: μ→0, σ→1.
  3. НормализацияКаждый элемент: (x − μ) / σ. Среднее ≈ 0, разброс ≈ 1. Стабильные числа = стабильное обучение.

6. Feed-Forward

  1. FFN архитектураКаждый токен думает в одиночку. Два линейных слоя: d → 4d → d. Между ними — GELU. Attention = обсуждение. FFN = обдумывание.
  2. Linear₁Каждый из 4d нейронов — взвешенная сумма входа с уникальными весами. Как развернуть карту на большом столе — больше места для анализа.
  3. GELUБез GELU вся сеть = одно умножение. GELU фильтрует: положительные → пропускает, отрицательные → подавляет до ≈0. Это нелинейное «мышление».
  4. GELU числаЧасть нейронов подавлена (≈0). Сеть решила: эта информация не нужна для ответа. Фильтрация!
  5. Linear₂4d → d. Карта изучена — сворачиваем с заметками. Нейроны проголосовали, результат сжат.

7. Блок

  1. Residual+Norm (2)Ещё один residual + LayerNorm после FFN. Два коротких пути на блок = двойная страховка.
  2. Блок пройден!H⁰ → Attention → Add&Norm → FFN → Add&Norm → H¹. Вход и выход одного размера → блоки ставятся как LEGO!

8. Глубина

  1. ×N слоёвGPT-2: 12. GPT-4o: ~120. Claude: ~80. LLaMA 3 70B: 80. DeepSeek V3: 61. Все — тот же Transformer. Те же шаги. Разница — масштаб.
  2. Что учат слои1-4: синтаксис. 5-12: семантика. 13-30: логика. 30+: стиль, тон, «личность» модели. Каждый «этаж» — следующий уровень понимания.

9. Выход

  1. ПроекцияФинальный вектор × W_out (50 257×d) = 50 257 чисел. Каждое — «оценка» одного слова из словаря.
  2. Logits«Искусственный»=3.82, «Это»=2.14, «ИИ»=1.62... Сырые оценки. Ещё не вероятности — нужен softmax.
  3. Softmax → процентыexp(logit) / Σexp → вероятности. «Искусственный» = 41%. Сумма = 100%.
  4. ВероятностиКолесо фортуны: «Искусственный» — самый большой сектор (41%). Но не 100% — другие тоже имеют шанс.

10. Генерация

  1. Temperatureτ=0.3 → 95% одному слову (точно). τ=1.0 → 41% (баланс). τ=2.0 → 25% (креативно). Одна ручка — меняет «личность» модели.
  2. СэмплированиеGreedy — всегда лучший. Top-k — из k лучших. Top-p — пока сумма < 90%. ChatGPT: top-p ≈ 0.9 + τ ≈ 0.7.
  3. Авторегрессия«Искусственный» выбран! Добавляется к промпту. Все 40 шагов повторяются для следующего токена. 200 слов = 200 проходов = 360 триллионов операций за пару секунд.

Хочешь разобраться глубже?

34 курса, 408 интерактивных уроков — от основ ИИ до трансформеров, нейросетей и обучения с подкреплением. Квизы, мини-игры, реальные эксперименты.