ИИ без паники. Практическая книга о нейросетях для тех, кто не программист
ИИ без паники. Практическая книга о нейросетях для тех, кто не программист

Полная версия

ИИ без паники. Практическая книга о нейросетях для тех, кто не программист

Язык: Русский
Год издания: 2026
Добавлена:
Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
3 из 5

Параллельно происходит важная и малозаметная вещь: главным узким местом перестаёт быть интеллект модели и становится инфраструктура — как безопасно и надёжно подключить систему к реальным данным и процессам. Почти половина организаций называет интеграцию с существующими системами главной трудностью.

Что стоит вынести из истории

Пять выводов, полезных практически.

Первое. Технология развивается неравномерно: десятилетия застоя, потом резкий скачок. Мы живём в фазе скачка, и это ненормальное состояние. Когда-то оно закончится — либо плато, либо новым скачком.

Второе. Почти все базовые идеи старые. Нейрон — 1943, обратное распространение — 1986, свёртки — 1989. Новыми были масштаб и данные.

Третье. Прорывы часто приходят из смежных областей. Видеокарты для игр стали основой ИИ. Статья про перевод породила ChatGPT.

Четвёртое. Интерфейс важнее возможностей. GPT-3 существовал два года и был известен специалистам. ChatGPT изменил мир, потому что в него можно было просто написать.

Пятое, самое практичное. Каждый раз, когда казалось, что мы достигли потолок, находился способ его пробить. Но каждый раз, когда сообществу казалось, что до полного интеллекта осталось «одно лето», оказывалось, что осталось тридцать лет. Обе ошибки — и пессимистическая, и оптимистическая — систематические. Помните об этом, когда читаете любые прогнозы, включая мои в Части VIII.

ЧАСТЬ III. КАК ЭТО УСТРОЕНО — БЕЗ ЕДИНОЙ ФОРМУЛЫ

Эта часть — про то, что происходит внутри. Не для того, чтобы вы могли построить нейросеть, а для того, чтобы вы перестали удивляться её поведению. Понимание устройства напрямую переводится в практическое умение: человек, знающий, откуда берутся галлюцинации, проверяет ответы в нужных местах и не проверяет там, где это лишнее.

Глава 7. Что такое нейросеть на самом деле

Начнём с честного определения

Нейросеть — это очень большая математическая функция, у которой множество настраиваемых чисел, и эти числа подобраны так, чтобы функция хорошо предсказывала правильные ответы на примерах, которые ей показали.

Всё. Больше в ней ничего нет.

Звучит разочаровывающе, поэтому давайте разберём, почему из такой скучной вещи получается то, что получается.

Аналогия с дегустатором

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

Через несколько лет он начинает угадывать. Не потому, что выучил правила. Правил ему никто не давал. Он просто накопил такое количество сопоставлений «вкус → ответ», что в его голове сформировались устойчивые связи. Спросите его: «По какому признаку вы определили?» — и он, скорее всего, скажет что-то невнятное про «характер танинов». Он сам не знает, как он знает.

Это довольно точная метафора нейросети. Она видела огромное количество примеров и сформировала внутренние связи, которые позволяют ей отвечать. Ни она, ни её создатели не могут точно сказать, какое именно внутреннее правило она вывела.

Разница с человеком-дегустатором в масштабе: наша модель выпила не три тысячи бокалов, а несколько триллионов.

Что такое «слой» и «параметр»

Два слова, которые постоянно встречаются, — разберём их.

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

Когда говорят «модель на 70 миллиардов параметров», имеют в виду, что таких ручек семьдесят миллиардов. Ни один человек не крутил их вручную — их подобрал алгоритм обучения.

Слой — это один уровень обработки. Информация проходит через модель как через конвейер: слой за слоем, и на каждом уровне представление становится более абстрактным.

В сети распознавания изображений это видно наглядно. Первые слои реагируют на простейшее: границы, пятна света и тени, углы. Следующие собирают из них фрагменты: текстуры, дуги, углы. Дальше — части объектов: глаз, колесо, ухо. Ещё дальше — целые объекты: лицо, автомобиль, кошка.

Никто не программировал эту иерархию. Она возникает сама, потому что оказывается эффективным способом решать задачу.

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

Обучение: как крутятся регуляторы

Процесс, если убрать математику, выглядит так.

— Модель получает пример и выдаёт ответ. Сначала — совершенно случайный, потому что регуляторы стоят как попало.

— Ответ сравнивается с правильным. Считается величина ошибки.

— Алгоритм определяет, в какую сторону надо повернуть каждый регулятор, чтобы ошибка чуть-чуть уменьшилась.

— Все регуляторы поворачиваются на крошечную величину.

— Повторить. Много раз. Очень много раз.


Метафора, которая обычно помогает: представьте, что вы стоите в густом тумане на холмистой местности и хотите спуститься в низину. Видимости нет. Единственное, что вы можете, — потрогать ногой землю вокруг и сделать шаг в ту сторону, где ниже. Повторяя это тысячи раз, вы спуститесь. Может быть, не в самую глубокую долину, но в достаточно низкое место.

Обучение нейросети — ровно это, только в пространстве с миллиардами измерений вместо двух.

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

Что нейросеть не делает

Здесь важно расставить границы, потому что вокруг много путаницы.

Она не хранит базу данных. В модели нет таблицы фактов, которую можно открыть и посмотреть. Информация распределена по параметрам примерно так же, как воспоминание распределено по связям в мозге. Именно поэтому модель не может сказать «я знаю это точно, а это — нет»: у неё нет доступа к собственному устройству.

Она не рассуждает логически в строгом смысле. Она воспроизводит форму рассуждения, которую видела миллионы раз. Иногда это неотличимо от настоящего рассуждения, иногда — рассыпается на задачах, которые для человека тривиальны.

Она не обучается в процессе разговора с вами. Это одно из самых частых заблуждений. Обучение — отдельный дорогостоящий процесс, происходящий до выпуска модели. Разговаривая с вами, модель не меняется. То, что кажется «она меня запомнила», — это либо содержимое текущего диалога, либо отдельная функция памяти, где ваши заметки хранятся как текст и подставляются в начало разговора.

У неё нет намерений, желаний и самосохранения. Между вашими запросами она не существует. Не думает, не ждёт, не скучает. Каждый ответ — отдельный запуск вычисления.

Виды нейросетей: краткая карта

Вам не нужно это запоминать, но полезно ориентироваться в терминах, которые вы будете встречать.

Полносвязные сети — базовая конструкция, каждый нейрон связан с каждым. Простые, но неэффективные для больших данных.

Свёрточные сети — заточены под изображения. Ищут локальные паттерны независимо от их положения на картинке. Основа компьютерного зрения.

Рекуррентные сети и LSTM — для последовательностей. Обрабатывают элементы по очереди, сохраняя внутреннее состояние. Доминировали в тексте и речи до 2017 года.

Трансформеры — то, о чём мы говорим всю книгу. Обрабатывают всё одновременно через механизм внимания. Оказались применимы почти ко всему: тексту, изображениям, звуку, коду, белкам.

Диффузионные модели — для генерации изображений и видео. Работают так: берут чистый шум и постепенно, шаг за шагом, «расчищают» его до осмысленной картинки. Обучаются на обратной задаче — как из картинки сделать шум.

Почему «глубокое обучение»

Термин «глубокое обучение» означает просто «нейросети со многими слоями». Слово «глубина» — про число слоёв, ничего более мистического.

Долгое время глубокие сети не удавалось обучать: ошибка, распространяясь назад через много слоёв, либо затухала до нуля, либо взрывалась. Решения нашлись в двухтысячные — специальные функции активации, нормализация, остаточные связи. Технические детали, но именно они сделали возможным всё дальнейшее.

Глава 8. Токены, векторы и география смысла

Модель не видит букв

Первое, что стоит понять: языковая модель не работает с буквами и не работает со словами. Она работает с токенами.

Токен — это фрагмент текста, обычно от одного символа до целого слова. Тексты разбиваются на токены специальным алгоритмом, который подбирает набор частых фрагментов.

В английском языке один токен — это примерно четыре символа, или три четверти слова. В русском хуже: из-за богатой морфологии и другого алфавита слово часто разбивается на два-четыре токена. Слово «искусственный» может превратиться в «иск», «усст», «венный».

Практические следствия, которые вас касаются:

Русский текст «стоит» дороже английского примерно в полтора-два раза при работе через платный доступ. Один и тот же смысл занимает больше токенов.

Модель плохо считает буквы в словах. Классический пример: попросите посчитать количество букв «р» в слове «карандаш» — модель может ошибиться. Не потому, что глупая, а потому, что она не видит букв, она видит фрагменты. Это как просить человека посчитать пиксели в увиденном изображении.

По той же причине модели исторически плохо справлялись с задачами вроде «напиши слово задом наперёд» или «составь акростих». Современные модели научились это обходить, но природа ограничения именно такая.

Вектор: превращение смысла в координаты

Дальше начинается самое интересное.

Каждому токену модель сопоставляет вектор — длинный список чисел, скажем, из четырёх тысяч штук. Это координаты токена в пространстве с четырьмя тысячами измерений.

Представить четырёхтысячемерное пространство невозможно, поэтому упростим до трёх и вообразим глобус. На этом глобусе каждое слово — точка. И расположены точки не случайно: слова с похожим смыслом оказываются рядом.

«Кошка» окажется недалеко от «собаки», «котёнка» и «мурлыканья». «Королева» — рядом с «королём», «принцессой», «троном». «Радость» — рядом со «счастьем» и «весельем».

Причём — и это поразительно — расстояния и направления в этом пространстве осмысленны.

Знаменитый пример с королём

Классическая демонстрация, которая до сих пор производит впечатление.

Возьмите вектор слова «король». Вычтите вектор слова «мужчина». Прибавьте вектор слова «женщина». Посмотрите, какое слово окажется ближе всего к результату.

Получится «королева».

Работает и с другими отношениями. Париж минус Франция плюс Италия даёт Рим. Идти минус шёл плюс бежал даёт бежать.

Что это значит? Что в процессе обучения модель самостоятельно, без всяких подсказок, выделила такие абстракции, как «род», «столица страны», «время глагола», и закодировала их как направления в пространстве.

Никто не программировал понятие «столица». Оно возникло, потому что оказалось полезным для предсказания следующего слова.

Это и есть ответ на вопрос «понимает ли модель». В каком-то операциональном смысле — да, у неё есть внутренняя структура, отражающая отношения между понятиями. В смысле переживаемого понимания, «каково это — знать» — нет, и вопрос, вероятно, некорректен.

Контекст меняет положение

Ранние модели давали каждому слову одну фиксированную точку. Проблема очевидна: слово «лук» — это овощ или оружие? «Ключ» — от двери, гаечный, скрипичный или родник?

Трансформеры решили это тем, что вектор слова меняется в зависимости от окружения. В предложении «я купил лук и морковь» и в предложении «он натянул стрелу лука» слово «лук» получит разные векторы.

Это и делает механизм внимания: каждое слово «смотрит» на все остальные и уточняет своё представление с учётом контекста.

Механизм внимания на пальцах

Попробую объяснить без формул.

Представьте совещание, где каждый участник должен сформулировать своё мнение с учётом того, что сказали остальные. Каждый:

— Формулирует, что он ищет («мне нужно понять, о чём вообще речь»).

— Формулирует, что он может предложить («я — про финансы»).

— Слушает всех, оценивает, чей вклад релевантен его запросу, и взвешенно учитывает.


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

Затем это повторяется десятки раз в разных слоях, и на каждом уровне «совещание» происходит по поводу всё более абстрактных вещей.

Отдельная деталь: механизмов внимания в каждом слое несколько (их называют «головами»), и разные головы специализируются на разном — одна отслеживает грамматическое согласование, другая — связи между подлежащим и дополнением, третья — что-то, чему человек названия дать не может.

Почему это дало такой скачок

Три причины.

Параллельность. Все токены обрабатываются одновременно, а не по очереди. Это позволяет использовать тысячи процессоров сразу и обучать модели гигантского размера.

Дальние связи. Слово в начале текста связывается со словом в конце напрямую, без «испорченного телефона» через промежуточные шаги.

Универсальность. Оказалось, что архитектура работает не только для текста. Разбейте изображение на квадратики — получится набор «токенов», и трансформер справится. То же со звуком, с видео, с последовательностью аминокислот в белке, с ходами в игре.

Одна архитектура для всего. Это редчайший случай в инженерии.

Глава 9. Что такое большая языковая модель

Определение и расшифровка

LLM — Large Language Model, большая языковая модель.

Большая — миллиарды параметров и триллионы токенов в обучающих данных.

Языковая — обученная на текстах и работающая с языком.

Модель — математическая конструкция, приближённо воспроизводящая закономерности данных.

Её базовая задача формулируется обезоруживающе просто: по данному фрагменту текста предсказать, какой токен идёт следующим.

Не «понять смысл». Не «найти истину». Предсказать продолжение.

Как из этого получается разговор

Механика ответа устроена так.

Вы пишете: «Столица России — это».

Модель прогоняет это через все свои слои и выдаёт распределение вероятностей по всему словарю. Скажем: «Москва» — 94%, «город» — 2%, «крупный» — 1%, и так далее по убывающей для десятков тысяч вариантов.

Выбирается один токен. Он дописывается к тексту. Теперь на входе «Столица России — это». Процесс повторяется.

И так, токен за токеном, пока модель не сгенерирует специальный токен окончания.

Когда вы видите, как ответ печатается по частям на экране, — вы буквально наблюдаете этот процесс в реальном времени.

Почему ответы разные каждый раз

Если бы модель всегда выбирала самый вероятный токен, ответы были бы идентичны при одинаковых запросах — и, что удивительно, довольно скучны и склонны зацикливаться.

Поэтому в выборе есть элемент случайности, регулируемый параметром, который называют «температурой».

Низкая температура — модель почти всегда берёт самый вероятный вариант. Ответы предсказуемые, суховатые, надёжные. Подходит для фактов, кода, извлечения данных.

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

В обычных чат-приложениях этот параметр скрыт и настроен на умеренное значение. В профессиональных интерфейсах его можно менять.

Практический вывод: если вам нужен другой результат — просто попросите ещё раз. Модель почти наверняка сформулирует иначе. Приём «дай три варианта» работает именно на этом.

«Просто предсказание слов» — и почему это возражение слабое

Скептики любят фразу: «Это же просто статистическое предсказание следующего слова, никакого понимания там нет».

Первая часть верна. Вторая — требует размышления.

Задумайтесь, что нужно, чтобы хорошо предсказывать следующее слово в произвольном тексте.

Чтобы верно продолжить «Убийцей оказался…» в детективном романе, надо отследить сюжет.

Чтобы продолжить «Следовательно, из этого вытекает…», надо уловить логику рассуждения.

Чтобы продолжить «Ответ на задачу равен…», надо решить задачу.

Чтобы продолжить фразу героя в диалоге, надо смоделировать характер персонажа.

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

Это не доказывает, что у модели есть понимание в человеческом смысле. Но фраза «просто предсказание» перестаёт быть уничижительной, когда понимаешь, что стоит за словом «просто».

Что LLM делает по-настоящему хорошо

Систематизируем. Модель сильна там, где задача сводится к преобразованию текста при наличии всей нужной информации.

Переформулирование. Сказать то же самое иначе: проще, формальнее, короче, для другой аудитории, в другом тоне, на другом языке.

Сжатие. Извлечь главное из длинного. Конспект, тезисы, аннотация, выжимка совещания.

Расширение. Из тезисов сделать текст. Из плана — черновик. Из идеи — развёрнутое описание.

Структурирование. Превратить хаос в порядок. Разложить по категориям, свести в таблицу, построить план, выделить критерии.

Объяснение. Развернуть сложное понятие через примеры и аналогии, подстраиваясь под уровень собеседника.

Генерация вариантов. Дать десять формулировок, пять названий, три подхода.

Критика. Найти в тексте слабости, противоречия, двусмысленности, недостающие места.

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

Что LLM делает плохо

Не менее важно.

Точная арифметика без инструментов. Модель не считает, она угадывает похожий на правильный результат. Современные системы обходят это, вызывая калькулятор или запуская код, но базовая модель в этом слаба.

Свежие факты. Знания зафиксированы на момент обучения. Без подключения к поиску модель не знает, что случилось вчера.

Точное цитирование. Модель воспроизводит цитаты приблизительно, склеивая похожие. Прямая речь и точные ссылки — зона высокого риска.

Собственная оценка уверенности. Модель не знает, чего она не знает. Она может выдать выдумку тем же тоном, что и достоверный факт.

Личный контекст, которого вы не дали. Она не знает вашу компанию, ваших коллег, вашу ситуацию, если вы не рассказали.

Задачи на физическую интуицию и пространственное воображение. Улучшается, но остаётся слабым местом.

Очень длинные цепочки строгих рассуждений. С каждым шагом накапливается вероятность сбоя.

Правило пяти зон

Практический ориентир, который я советую держать в голове.

Зона 1 — доверять почти полностью. Переформулирование текста, который вы дали. Перевод. Исправление грамматики. Форматирование. Здесь ошибиться сложно, и вы всё равно видите результат.

Зона 2 — доверять с беглой проверкой. Структурирование, суммаризация, генерация идей. Ошибка возможна, но она видна при чтении.

Зона 3 — проверять обязательно. Любые факты, даты, числа, имена, цитаты, названия. Всё, что модель «вспомнила», а не получила от вас.

Зона 4 — проверять у специалиста. Медицина, право, финансы, налоги, безопасность, техника с риском для жизни.

Зона 5 — не использовать. Решения, за которые вы не готовы нести личную ответственность. Ситуации, где нужна ваша подпись под содержанием, которое вы не понимаете.

Эта схема стоит того, чтобы её выписать и держать перед глазами первые месяцы.

Глава 10. Как модель учится: три этапа взросления

Этап первый: предобучение

Это самая дорогая и самая долгая стадия.

Модели дают колоссальный корпус текстов: веб-страницы, книги, научные статьи, форумы, код, документацию, субтитры. Объём измеряется триллионами токенов — это больше, чем человек прочтёт за миллион жизней.

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

Процесс занимает недели или месяцы на тысячах специализированных вычислителей. Стоимость — десятки и сотни миллионов долларов. Энергопотребление сопоставимо с небольшим городом.

Что получается на выходе. Модель, которая великолепно владеет языком, знает массу фактов, чувствует стили и структуры, — но абсолютно не умеет быть помощником.

Такая «сырая» модель на вопрос «Как приготовить борщ?» может ответить: «Как приготовить плов? Как приготовить окрошку? Как приготовить…» — потому что видела в интернете списки вопросов. Она продолжает текст, а не отвечает на него.

Аналогия: человек, прочитавший всю мировую библиотеку, но никогда не разговаривавший с людьми.

Этап второй: обучение следовать инструкциям

Здесь модель учат вести себя как помощник.

Ей показывают десятки и сотни тысяч примеров: вот запрос — вот хороший ответ. Примеры пишут люди, часто с профильным образованием. Это дорогая ручная работа.

Модель усваивает формат взаимодействия: на вопрос нужно отвечать, на просьбу — выполнять, объяснение должно быть структурным, ответ должен заканчиваться, а не продолжаться бесконечно.

На страницу:
3 из 5