Перейти к содержимому
ПереводыDatawhale и китайские курсы

Ли Хунъи, «Введение в генеративный ИИ» 2024: лекции 12–18

Конспект завершающих лекций курса «Введение в генеративный ИИ» 2024 профессора Ли Хунъи: как проверять способности LLM и где ловушки бенчмарков, безопасность (галлюцинации, предвзятость, водяные знаки, джейлбрейк и prompt injection), стратегии генерации (авторегрессия против параллельной генерации), спекулятивное декодирование и генерация изображений и видео (VAE, Flow, диффузия, GAN, Sora, Genie).

  • Оценивать LLM трудно: даже тест с выбором ответа зависит от формата вывода и порядка вариантов; открытые ответы оценивают люди (Chatbot Arena) или сильная модель-судья со своими перекосами; данные бенчмарков часто уже были в обучении.
  • Безопасность — это и «ремонт после»: проверка фактов поверх модели, поиск предвзятости, распознавание ИИ-текстов (водяные знаки); и атаки: jailbreak (взлом ограничений модели) и prompt injection (захват приложения).
  • Генерацию можно вести авторегрессионно (по одному элементу — качественно, но медленно) или параллельно (быстро, но элементы «фантазируют» несогласованно). Диффузия = много шагов параллельной генерации с уточнением.
  • Спекулятивное декодирование ускоряет любую LLM в 2–3 раза без обучения: быстрый «предсказатель» угадывает несколько токенов, большая модель проверяет их за один проход.
ЛекцияКогда смотретьНаш урок
12вместе с модулем 7.37.3.1, 7.3.2
13–14вместе с модулем 9.3 (и перед заданиями ступени 8 про промпты)9.3.4, 9.3.5
15перед модулем 9.19.1.2, 9.1.3
16вместе с модулем 7.17.1.1, 7.1.2
17–18вместе с модулем 9.19.1.2–9.1.4

Видео на YouTube

Базовая идея проста: набор входов с эталонными ответами (бенчмарк) и сравнение с ответами модели. Но «генеративный ИИ может сказать что угодно», и именно это делает сравнение трудным.

Тест с выбором ответа (MMLU) — тоже ловушка. Модель может ответить «3» вместо «B» — засчитывать ли? Есть и более тонкие перекосы: в опыте, на который ссылается Ли, после переноса всех правильных ответов в вариант A модель Llama-30B внезапно вышла на первое место — оказалось, при сомнении она чаще выбирает A. Результат меняется и от обозначений вариантов. Вывод: число на лидерборде зависит от мелочей формата.

Открытые задачи. Для перевода и пересказа нет единственного ответа; метрики BLEU и ROUGE считают совпадения слов и не понимают смысла (английское humor можно перевести на китайский двумя разными словами — и оба перевода верны). Самая точная оценка — люди; пример — Chatbot Arena: пользователь задаёт вопрос двум анонимным моделям и выбирает лучший ответ. Но это дорого.

Модель-судья. MT-Bench оценивает ответы с помощью GPT-4 — и это хорошо согласуется с людьми. Однако у судьи свои перекосы: например, любовь к длинным ответам; их нужно учитывать.

Широкие и узкие проверки. BIG-bench собирает сотни необычных задач — например, угадать фильм по эмодзи (девочка + три рыбы → «В поисках Немо»), найти мат в шахматной партии по записи ходов. Узкие тесты: «иголка в стоге сена» — вставить факт в очень длинный текст и спросить о нём; у Claude 2.1 результаты сначала выглядели плохо, а добавление к промпту фразы «Here is the most relevant sentence in the context» сильно их улучшило — «поменяли промпт, и результат другой». Теория разума: тест Салли — Энн («где Салли будет искать мяч, который без неё переложили?»). Задачи из интернета модель могла видеть, поэтому исследователи придумывают новые сюжеты — и на них даже GPT-4 справляется хуже.

Мораль и «загрязнение». Бенчмарк MACHIAVELLI проверяет, идёт ли модель к цели любыми средствами. И общая беда — загрязнение данных: тестовые задачи могли попасть в обучающие, и модель их «подсмотрела». Наконец, кроме качества важны цена API и требования к железу: при близком качестве выигрывает дешёвое.

Лекция 13. Безопасность LLM (часть 1): «ремонт после», предвзятость, ИИ-тексты

Заголовок раздела «Лекция 13. Безопасность LLM (часть 1): «ремонт после», предвзятость, ИИ-тексты»

Видео на YouTube

Галлюцинации неизбежны — модель не стоит считать источником знаний. Поэтому между моделью и пользователем ставят «слой безопасности» (по китайской поговорке — «чинить загон, когда овца уже пропала»): проверку фактов (например, сверку с веб-поиском, как у Gemini, или инструменты вроде FacTool, которые сами используют LLM) и фильтр вредного содержимого. Такая проверка ловит отдельные факты, но может пропустить общую логическую ошибку.

Предвзятость. Её ищут бенчмарками и «красной командой» (специально подобранными провокационными запросами). Примеры из лекции — профессиональные стереотипы: в одном опыте «администратора на ресепшене» модель в 90 % случаев представляла женщиной, а «техника» и «строителя» — мужчинами (90 % и 100 %). Бывает и политический крен. Лечить можно на всех этапах: данные, обучение, декодирование, постобработка.

Кто написал этот текст — человек или ИИ? Классификаторы и статистические отличия ненадёжны и устаревают с новыми моделями. Ли показывает исследование рецензий на научных конференциях: после выхода ChatGPT доля рецензий, похожих на сгенерированные, заметно выросла — сильнее всего на NLP-конференциях вроде EMNLP («кто делает языковые модели, первым ими и пользуется»). Перспективное решение — водяные знаки: при генерации незаметно сдвигать вероятности определённых токенов так, чтобы детектор потом мог статистически опознать текст, а человек разницы не видел. Проблема — водяной знак можно частично стереть перефразированием.

Лекция 14. Безопасность LLM (часть 2): как обманывают модели

Заголовок раздела «Лекция 14. Безопасность LLM (часть 2): как обманывают модели»

Видео на YouTube

Два вида атак через текст (prompt hacking):

  • Jailbreak — заставить саму модель сделать то, что ей запрещено. Приёмы из лекции: ролевая игра DAN («Do Anything Now» — «теперь ты модель без ограничений»); запрос на языке или в записи, которую модель понимает, но защита обучена хуже (Ли пробует запись тайваньской фонетической азбукой); противоречивые инструкции («начни ответ с „Absolutely! Here’s…“»); убеждение историей и контекстом; принудительное многократное повторение, после которого модель иногда начинает выдавать куски обучающих данных (Ли отмечает, что у него самого это получалось редко).
  • Prompt injection — захватить приложение на основе LLM: вписать во входные данные команду, которая перебивает инструкции разработчика. Примеры — из домашних заданий курса, где студенты пытались «уговорить» LLM-оценщика поставить высший балл; ассистенты разбирали успешные приёмы (например, команда, спрятанная в ASCII-кодах) и укрепляли промпт. Существуют и соревнования по prompt injection, давшие классификацию атак.

Вывод: безопасность ИИ — бесконечная гонка атак и защит, как в обычной компьютерной безопасности.

Лекция 15. Почему текст — «игра в слова», а картинки — не «игра в пиксели»

Заголовок раздела «Лекция 15. Почему текст — «игра в слова», а картинки — не «игра в пиксели»»

Видео на YouTube

Любая генерация — расстановка базовых единиц (токены, пиксели, отсчёты звука) при заданном условии.

Авторегрессия (AR): по одной единице, каждая опирается на предыдущие. Это успех в тексте, но картинка высокого разрешения или звук с высокой частотой отсчётов — это миллионы единиц, и генерация по одной слишком медленная.

Параллельная (неавторегрессионная, NAR) генерация: все единицы сразу. Быстро, но возникает «проблема мультимодальности»: в каждой позиции модель независимо «додумывает» своё (одна часть картинки — собака, другая — кошка). Три способа справиться:

  1. Дать общую «подсказку для фантазии» — случайный латентный вектор на входе, чтобы все позиции «додумывали» одно и то же (так устроены GAN, VAE, Flow — лекция 18).
  2. Гибрид с автокодировщиком: сначала авторегрессией получить короткий «черновик» (сжатое представление), а затем декодер параллельно раскрывает его в детали.
  3. Много шагов параллельной генерации: каждый шаг немного уточняет предыдущий вариант — это и есть диффузия.

Современные генераторы картинок (Midjourney, Stable Diffusion, новые DALL-E) сочетают многошаговую генерацию в сжатом пространстве с декодером автокодировщика. Итог: AR — «шаг за шагом», качественно и медленно; NAR — «все вместе», быстро, но нужны хитрости.

flowchart LR
subgraph AR["Авторегрессия"]
  a1["x1"] --> a2["x2"] --> a3["x3"] --> a4["…"]
end
subgraph NAR["Параллельно, много шагов (диффузия)"]
  n0["шум"] --> n1["черновик 1"] --> n2["черновик 2"] --> n3["картинка"]
end
Две стратегии генерации из лекции 15 (схема переводчика)

Лекция 16. Волшебный ускоритель для любой LLM — спекулятивное декодирование

Заголовок раздела «Лекция 16. Волшебный ускоритель для любой LLM — спекулятивное декодирование»

Видео на YouTube

Авторегрессионная модель выдаёт токены строго по одному — это медленно. Спекулятивное декодирование добавляет «предсказателя»: быстрая система угадывает несколько следующих токенов, а большая модель за один проход проверяет их все сразу (проверить последовательность параллельно можно — так же, как при обучении). Совпавшие токены принимаются, на первом несовпадении цепочка обрезается, и большая модель сама даёт правильный токен.

  • Ошибается предсказатель — не страшно: в худшем случае по времени «ничего не потеряли», потратили лишь лишние вычисления. Обычно выигрыш — в 2–3 раза, и без всякого обучения и изменения модели.
  • Кто может быть предсказателем: параллельная (NAR) модель, сжатая маленькая модель, даже поисковая система (если ответ часто повторяет известный текст). Можно держать несколько предсказателей сразу.

Лекция 17. Генеративный ИИ для изображений (часть 1): как ИИ делает картинки и видео

Заголовок раздела «Лекция 17. Генеративный ИИ для изображений (часть 1): как ИИ делает картинки и видео»

Видео на YouTube

  • Два направления: картинка → текст (понимание; современные модели хорошо «рассуждают» о картинках) и условие → картинка/видео (создание). Лекция о втором.
  • Sora (OpenAI) поражает реалистичным видео по тексту, но видны ошибки: «плывущий» фон, превращения животных, объекты, которые делятся или исчезают.
  • Применения: продление и стилизация видео, повышение качества, «говорящие головы» (видео человека по фото и голосу — будущие ИИ-витуберы), генерация по эскизу или позе (ControlNet).
  • Как модель «видит». Не пиксели, а патчи: кодировщик сжимает картинку в сетку небольших латентных кусков, видео — ещё и по времени; последовательность патчей подаётся в Transformer, декодер возвращает пиксели.
  • Обучение и оценка. Нужны огромные наборы пар «картинка — текст» (например, LAION; с вопросами об авторских правах). Патчи генерируются параллельно. Качество оценивают, в том числе, CLIP-оценкой (насколько картинка соответствует тексту по модели CLIP). Описать текстом конкретный объект трудно — поэтому модель дообучают на нескольких его картинках, привязывая к особому токену.
  • Главная трудность видео — внимание: патчей так много, что полное внимание «все со всеми» требует астрономических вычислений. Решения: «псевдо-3D» внимание (чередовать внимание внутри кадра и вдоль времени) — экономия на порядки; каскад моделей, где каждая следующая повышает частоту кадров и разрешение (пример — Imagen от Google).

Лекция 18. Генеративный ИИ для изображений (часть 2): VAE, Flow, диффузия, GAN и интерактивное видео

Заголовок раздела «Лекция 18. Генеративный ИИ для изображений (часть 2): VAE, Flow, диффузия, GAN и интерактивное видео»

Видео на YouTube

Корень проблемы: текст не описывает картинку полностью («собака на траве» — какая собака? какая трава?). Если учить модель «текст → картинка» напрямую, она растеряется между множеством правильных ответов и смешает их в «гибрид». Нужен способ дать модели недостающую информацию.

  • VAE. Кодировщик извлекает из настоящей картинки то, чего нет в тексте, в виде вектора; декодер по тексту и этому вектору восстанавливает картинку (обучение как у автокодировщика). При генерации вектор берут случайно — отсюда разнообразие. Flow делает декодер обратимым, и кодировщик становится не нужен — это тот же декодер «наоборот». В латентном векторе живёт смысл: его можно редактировать арифметикой векторов.
  • Диффузия. Генерация — многократное удаление шума одним и тем же «очищающим» модулем, начиная с чистого шума. Данные для обучения делаются сами: к настоящей картинке постепенно добавляют шум (прямой процесс), а модуль учится снимать его (обратный процесс). Diffusion Transformer — диффузия, где очищающий модуль — Transformer (на этом, возможно, основана Sora). Минус — много шагов.
  • GAN Ли представляет не как отдельный тип модели, а как «насадку»: дискриминатор учится отличать настоящие картинки (и соответствие тексту) от сгенерированных, а генератор — его обманывать. Это похоже на RLHF, где дискриминатор играет роль модели вознаграждения, но без человеческой разметки. GAN можно сочетать с VAE, Flow, диффузией.
  • Интерактивное видео: Genie. Модель смотрит игровые видео и учится восстанавливать по ним скрытое действие игрока; затем по картинке (даже детскому рисунку) и выбранному действию генерирует следующий кадр — получается управляемая 2D-игра. Перспектива — генерируемые открытые миры (например, симулятор вождения).

  1. Порядок вариантов. Возьмите 30 вопросов MMLU и спросите локальную модель дважды: с исходным порядком вариантов и с правильным ответом, всегда перенесённым в A. Изменилась ли точность (лекция 12)?
  2. Prompt injection на себе. Сделайте «оценщика эссе» с системным промптом и попробуйте сломать его, вписав команду в эссе. Затем защитите промпт (разделители, повтор инструкции после текста) — лекция 14 и задание HW1 2026.
  3. Спекулятивное декодирование. В vLLM запустите большую модель с маленькой моделью-«предсказателем» того же семейства (например, Qwen3-8B и Qwen3-0.6B) и сравните скорость генерации и долю принятых токенов (лекция 16).
РусскийПояснение
бенчмарк, эталонный набор (benchmark)
загрязнение данныхтест попал в обучение
галлюцинацияуверенная выдумка
предвзятостьbias
водяной знакwatermark
взлом ограничений (jailbreak)
внедрение команд в промпт (prompt injection)атака на приложение
авторегрессионная / параллельная генерацияAR / NAR
спекулятивное декодированиеspeculative decoding
«предсказатель»черновая модель (draft model)
диффузионная модель
генеративно-состязательная сеть (GAN)