реклама
Бургер менюБургер меню

Егор Восточный – Знакомство, флитр и принятие ИИ (страница 2)

18

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

Ответ: Уважаемый Иван Сергеевич! Спасибо за интерес к нашему предложению. Мы внимательно рассмотрели вашу заявку и, к сожалению, в текущих условиях не можем продолжить сотрудничество… (и так далее).

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

Этап 2: Обучение с подкреплением на основе человеческой обратной связи (RLHF)

Этот этап сделал ChatGPT вежливым, осторожным и полезным. Схема такова:

Генерация множества ответов. На один и тот же запрос (например, «Как открыть замок без ключа?») модель генерирует, скажем, 10 разных ответов.

Ранжирование людьми. Специалисты (иногда до сотен человек) оценивают эти ответы от лучшего к худшему. Лучший – тот, который безопасен, точен, вежлив, соответствует запросу. Худший – содержит опасные инструкции, грубость, ошибки.

Обучение модели‑вознаграждения (Reward Model). На основе этих оценок обучается отдельная нейросеть, которая предсказывает, насколько ответ хорош (дает числовую оценку – reward). Эта модель «впитывает» человеческие предпочтения.

Оптимизация основной модели (Proximal Policy Optimization, PPO). Основная модель теперь учится генерировать такие ответы, чтобы получать высокий балл от модели‑вознаграждения. Если она «провинилась» – сгенерировала опасный или бесполезный текст – балл низкий, и алгоритм корректирует её поведение.

Именно благодаря RLHF современные LLM отказываются давать инструкции по созданию оружия, проявляют эмпатию (говорят «я понимаю, как это может быть трудно») и стараются держаться в рамках безопасного контента.

1.2.3 Адаптация под конкретные задачи (Fine‑tuning и RAG)

Даже после RLHF модель остаётся «общей». Её можно дополнительно настроить (fine‑tune) на узкую область – например, на юридические документы или медицинские консультации. Это требует дополнительных данных и ресурсов.

Альтернативный, более гибкий подход – RAG (Retrieval‑Augmented Generation). Модель не хранит специфические знания в своих весах, а в момент ответа ищет нужную информацию в базе данных (или в загруженном пользователем документе) и строит ответ на основе этой информации. Так работают функции «Загрузи файл» в ChatGPT или «Прикрепи документ» в Claude. Это снижает риск галлюцинаций и позволяет использовать актуальные данные.

1.3. Что происходит в момент вашего запроса: инференс

Теперь разберём, что происходит в миллисекунды между нажатием Enter и появлением ответа. Этот процесс называется инференс.

1.3.1 Токенизация на лету

Ваш запрос – «Напиши краткую инструкцию по использованию ChatGPT для новичка» – сначала попадает в токенизатор. Модель использует тот же токенизатор, на котором она обучалась. Токенизатор разбивает текст на токены, каждый из которых получает свой числовой идентификатор. Вместе с токенами добавляются специальные служебные токены: <|im_start|> для обозначения начала сообщения, <|im_end|> для конца, возможно, токены для указания роли (пользователь/ассистент).

Для русскоязычных запросов важно знать, что большинство моделей (GPT, Claude) токенизируют русский текст неэффективно: один русский символ может занимать 1–2 токена, а иногда и больше, в то время как английские слова часто кодируются одним токеном. Поэтому максимальное количество токенов в контексте (контекстное окно) может быть исчерпано быстрее, чем кажется. Например, модель с окном 128 000 токенов может «вместить» около 90–100 тысяч русских слов, а не 128 000.

1.3.2 От токенов к эмбеддингам и позиционному кодированию

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

1.3.3 Проход через слои трансформера

Сеть состоит из десятков (для GPT‑3 – 96, для GPT‑4 – предположительно 120) одинаковых блоков, наложенных друг на друга. Каждый блок включает:

Многоголовое внимание – вычисляются Query, Key, Value для каждого токена, и каждый токен «смотрит» на все предыдущие (в авторегрессивных моделях, таких как GPT, нельзя смотреть на будущие токены – это называется маскированным вниманием).

Нормализация и остаточные связи (skip connections), чтобы градиенты не затухали.

Полносвязный слой (FFN) – двухслойная нейросеть, которая преобразует выход внимания, добавляя нелинейность.

На выходе последнего блока мы получаем скрытое представление каждого токена – вектор, который содержит в себе информацию о всём контексте.

1.3.4 Генерация токен за токеном

На основе скрытого представления последнего токена (или, в некоторых архитектурах, специального токена <|assistant|>) модель вычисляет вероятности для всех возможных токенов в словаре (размер словаря обычно 50 000–100 000 токенов). Это делается через линейный слой и функцию softmax, которая превращает числа в вероятности, суммирующиеся в 1.

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

Температура (temperature). При температуре 0 модель всегда выбирает самый вероятный токен (детерминированный вывод). При температуре 1 вероятности используются как есть, иногда выбираются менее вероятные варианты. При температуре выше 1 распределение становится более «плоским» – возрастает вероятность редких токенов, что может привести к бессвязности.

Top‑K. Ограничивает выбор только K наиболее вероятными токенами.

Top‑P (ядерная выборка). Выбирает наименьший набор токенов, чья суммарная вероятность превышает P (например, 0,9). Это самый распространённый метод в современных моделях.

Выбранный токен добавляется к контексту, и процесс повторяется: теперь в контексте уже есть ваш запрос + первый токен ответа. Модель предсказывает второй токен, затем третий, и так до тех пор, пока не встретит токен конца последовательности (EOS) или не достигнет максимальной длины.

1.3.5 Что значит «контекстное окно»

Каждая модель имеет ограничение на количество токенов, которые она может обработать за раз – это контекстное окно (context window). У GPT‑3.5 оно составляло 4 096 токенов, у GPT‑4 Turbo – 128 000, у Claude 3 Opus – 200 000, у Gemini 1.5 Pro – 2 000 000 токенов. Когда вы превышаете окно, старые токены отбрасываются, и модель их «забывает». Это важно при работе с большими документами.

1.4. Где живут знания и почему модель ошибается

1.4.1 Знания в весах

Вся информация, которую модель «выучила» во время предобучения, хранится в её параметрах (весах нейросети). Для GPT‑3 это 175 миллиардов параметров, для GPT‑4 – предположительно 1,7 триллиона. Эти параметры – не база данных фактов, а распределённое представление закономерностей. Модель не хранит, что «столица Франции – Париж» в одной конкретной ячейке. Вместо этого миллиарды весов совместно кодируют это знание так, что при запросе «столица Франции» сеть через множество вычислений выдаёт токен «Париж».

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

1.4.2 Галлюцинации (hallucinations)

Галлюцинация – это когда модель генерирует правдоподобный, но фактически неверный ответ. Например, может придумать несуществующую книгу с автором, годом выпуска и ISBN, или дать точные цифры, которые ниоткуда не взялись.

Почему это происходит? Модель не имеет механизма «я не знаю». Она обучена всегда давать ответ, даже если запрос выходит за пределы её знаний. Поскольку в обучающих данных на вопрос «Кто написал книгу X?» почти всегда следовало имя автора, модель усвоила, что на такие вопросы нужно отвечать именем, даже если она не встречала эту книгу. Результат – правдоподобная выдумка.

Как бороться:

Использовать RAG – подгружать документы, из которых модель должна черпать информацию.

Включать поиск в интернете, если функция доступна.

Задавать уточняющие вопросы, просить указать источник.

Всегда перепроверять факты в критически важных случаях.

1.4.3 Предвзятости (bias)

Поскольку модель обучается на данных интернета, она впитывает все предрассудки, стереотипы и предубеждения, которые присутствуют в текстах. RLHF смягчает наиболее явные проявления, но полностью не устраняет их. Модель может генерировать стереотипные ассоциации (например, «женщины часто работают медсёстрами, мужчины – инженерами»), если это соответствует статистике в её данных. При использовании модели важно осознавать эту возможность и критически оценивать выводы, особенно в чувствительных темах.

Часть 2. Личная эффективность: как ИИ экономит часы каждый день

Глава 2. Почта: добиваемся «инбокс зеро»

Введение: почему почта стала главным пожирателем времени

Представьте себе типичное утро офисного работника. Вы открываете ноутбук, завариваете кофе и заходите в почтовый ящик. И… тонет. 47 непрочитанных писем за ночь. Среди них – срочный запрос от клиента, пять рассылок от сервисов, которыми вы не пользовались два года, уведомление о новом сообщении в чате рабочего проекта, три письма от коллег с пометкой «Важно!», два спама, один фишинг и, конечно, ежемесячный отчёт, который нужно прочитать, но не сейчас.