Обсуждение:Attention Is All You Need (2017)

Материал из MachineLearning.

Версия от 12:26, 18 июля 2026; Osman Osmanov (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Нулевой этап

Объяснил модели формат:

Твоя задача писать статьи. Я тебе сейчас дам основные правила игры:

'''жирный''', ''курсив'', == Заголовок ==, === Подзаголовок ===, ==== Заголовок следующего уровня ====. ненумерованный список это

* ...
* ...
* ...

нумерованный список

# ...
# ...
# ...

Начальный запрос

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

Первый промпт получился таким:


Ты специалист в области глубокого обучения, профессор в ведущем техническом университете
 и популяризатор науки. Напиши глубокую, подробную и академически строгую энциклопедическую
 статью, посвященную разбору фундаментальной научной работы "Attention Is All You Need" и
 архитектуре Трансформер (Transformer), на русском языке для сайта machinelearning.ru.

Твой читатель – это специалист, который отлично знает классическое машинное обучение и 
базовый NLP (матричные операции, градиентный спуск, эмбеддинги, классические трансформеры),
 но не имеет опыта в компьютерном зрении. 

Напиши статью строго по следующему расширенному плану, используя корректную для MediaWiki 
иерархию заголовков (основные разделы начинаются с ==, подразделы с ===).


Опиши архитектуры существовавшие до 2017 года в NLP (RNN, LSTM, GRU). Подробно разбери их
 невозможность параллелизации вычислений по времени. Упомяни проблему затухания градиентов
 на длинных последовательностях, которую не смогли полностью решить даже LSTM.

Добавь, что отказ от рекуррентных связей в пользу механизма внимания, работающего по всей
 последовательности за один проход. Объясни эмерджентное свойство: трансформер строит 
динамический контекстно-зависимый граф связей между словами, независимо от расстояния между 
ними в тексте (решение проблемы длинных зависимостей).


Расскажи математику архитектуры. Подробно, с формулами latex, разбери базовый блок внимания.
 Объясни что такое запросы (query), ключи (key) и значения (value). Приведи и разбери по 
матричным операциям классическую формулу из статьи. Объясни зачем делим на корень из размерности.

Объясни, почему одного механизма внимания недостаточно и разбери концепцию multi-head attention.
 Напиши формулу конкатенации голов и их финальной линейной проекции.

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

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

Проведи честный алгоритмический анализ.  По сравнению с RNN где сложность растет линейно от 
длины последовательности O(n), в self-attention сложность расчета матрицы оценок составляет 
квадратичную зависимость. Распиши, почему это накладывает жесткий лимит на длину контекстного
 окна моделей и требует огромного объема видеопамяти (память под матрицу внимания растет квадратично).

Расскажи про появление Encoder-only моделей (BERT) и Decoder-only моделей (семейство GPT, Llama).
 Как концепция токенизации позволила применить этот же подход к картинкам.
Важные требования к оформлению:

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

Получилось очень плохо. Модель написала текст про трансформер, хотя я говорил ей писать про СТАТЬЮ.

Ну все-таки мы пишем про статью! Перепиши текст так, чтобы это была полноценная энциклопедическая 
статья не просто об архитектуре, а о конкретной исторической публикации — статье "Attention Is All You Need". 

Внеси следующие изменения, сохранив академический стиль, глубину математики и вики-разметку:

1. измени введение. Статья должна начинаться прямо с названия работы. Используй шаблон "Attention 
Is All You Need" — прорывная научная статья в области глубокого обучения, опубликованная в 2017 году
 группой исследователей из Google... Опиши её главный вклад (полный отказ от RNN/CNN в пользу самовнимания)
 и статус в современном ИИ.

2. Переработай структуру под обзор исследования:
Заголовки и подача должны отражать разбор научного труда. Используй логику:
- Предпосылки исследования (проблема рекуррентных сетей до 2017 года).
- Ключевые инновации (механизм внимания как полная замена рекурсии).
- Оригинальная архитектура (Трансформер) (строгое описание Encoder-Decoder связки, предложенной авторами
 для машинного перевода).

3. Исторические сведения
Четко отдели то что было предложено в статье 2017 года от последующей эволюции. В разделах про LayerNorm
 и позиционное кодирование явно укажи, что оригинальной работе авторы применили схему Post-LN и синусоидальное
 кодирование.. Всю информацию о современных стандартах (переход на Pre-LN для стабильности, замена 
синусов на относительное кодирование RoPE) перенеси в финальный раздел про эволюцию и влияние на индустрию,
 чтобы показать, как идеи авторов дорабатывались сообществом.

Теперь модель сменила фокус, теперь по тексту стало понятно, что является главной фигурой. Но все равно

сложно за один промпт добиться хорошего ответа.

Правки

Модель давала слишком много субъективных (как бы это странно по отношению к модели не звучало) оценок. Приходится ей напоминать о манерах:

Не тянет на вики-текст. Отредактируй текст и СТРОГО соблюдай правило о нейтральной точки зрения, принятое
 в энциклопедиях. Текст должен быть сухим, академичным и опираться только на факты. Не нужны никакие субъективные восторги.

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

1. Введение
Удали слово "прорывная". Начни просто: "Attention Is All You Need" — научная статья в области глубокого обучения...

2. Раздел "Предпосылки исследования"
Замени слово "господствовали" на нейтральное "являлись стандартом" или "широко применялись". 

3. Раздел "Эволюция и влияние на индустрию"
- Удали фразу "разделила историю ИИ на «до» и «после»". Замени на "оказала существенное влияние на развитие 
глубокого обучения".
- Замени заголовок раздела "Революция позиционного кодирования" на "Развитие позиционного кодирования".
- Удали субъективную оценку "Несмотря на элегантность...". Начни сразу по факту: "Оригинальная схема Post-LN
 требовала аккуратного warm-up..."
- В последнем абзаце фразу "архитектурный прорыв продолжает определять..." замени на нейтральное "предложенная
 архитектура продолжает использоваться как основа для..."
- Фразу "породило эру генеративного ИИ" замени на "стало основой для создания современных генеративных моделей2.

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

Результат получился отвратительным. Модель иногда забывает структуру и нарушает правило НТЗ. Поэтому я дал ей очень подробный промпт:

Нет! Получилось все равно плохо! Твоя задача строго следовать плану и выдерживать нейтральную точку зрения. 
Используй правильную вики разметку (теги <tex> для формул, [[...]] для ссылок, {| class="wikitable" для таблиц).

Текст должен быть сухим, академичным и объективным. Категорически запрещено использовать слова по типу прорывная,
 гениальная, революционная и прочее. Опирайся только на факты и метрики.

Строго соблюдай структуру статьи.

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

== Введение и предпосылки ==
Опиши доминирование RNN (LSTM, GRU) до 2017 года и их проблему. Упомяни сравнение со сверточными сетями, где
 сложность связи удаленных позиций растет линейно или логарифмически, тогда как Трансформер сводит её к константе.

== Архитектура модели ==
- Стеки кодировщика и декодировщика. Опиши маскирование в декодере.
- Внимание (Attention):
  - Приведи формулу в теге <tex> СТРОГО! Строго объясни математический смысл деления на \sqrt{d_k}.
  - Опиши Multi Head Attention и приведи формулы проецирования с конкатенацией.
  - Укажи три вида внимания в модели (самовнимание энкодера, маскированное декодера, cross-attention).
- Позиционное кодирование: приведи формулы синуса и косинуса. Объясни, что внимание перестановочно, поэтому 
эмбеддингам нужны позиционные сигналы.

== Анализ вычислительной сложности (Why Self-Attention) ==
Сравни Self-Attention, RNN и CNN. Обязательно вставь вики-таблицу с тремя столбцами (Сложность на слой, 
Последовательные операции, Максимальная длина пути) и строками для этих трех архитектур. Укажи, что O(1) для
 длины пути решает проблему дальних зависимостей.

== Обучение ==
- Данные: датасеты WMT 2014 (англо-немецкий и англо-французский).
- Оборудование: 8 GPU P100 (12 часов для базовой модели, 3.5 дня для большой).
- Оптимизатор: Adam (\beta_1 = 0.9, \beta_2 = 0.98). Приведи математическую формулу динамического расписания 
скорости обучения (warm-up на 4000 шагов и затухание по обратному квадратному корню).
- Регуляризация: Label Smoothing (\epsilon_{ls} = 0.1) и Dropout (0.1).


== Результаты (Results) ==
Укажи метрики BLEU. Для EN-DE: 28.4 (модель Big). Для EN-FR: 41.0. Упомяни, что модель успешно обобщилась на 
задачу синтаксического анализа, доказав применимость вне машинного перевода.

== Заключение и историческое влияние ==
Кратко резюмируй выводы авторов. Добавь энциклопедический факт о том, как идеи из статьи эволюционировали: 
переход индустрии на схему Pre-LN для стабильности, замена синусоид на относительное кодирование (RoPE), и 
появление трех ветвей (Encoder-only/BERT, Decoder-only/GPT, ViT).

Наконец, я добился качественного текста. Были небольшие замечания (я отправил текст независимой модели на оценку) и сформулировал окончательный промпт:

Наконец! Текст получился отличным, стиль нтз выдержан. Однако нужно внести точечные исправления. 

Внеси следующие правки:

1. Уточни метрики в разделе результатов:
В абзаце про англо-французский перевод исправь значение 41.0 на 41.8. 

2. Расширь контекст синтаксического анализа в разделе результаов:
Дополни предложение про constituency parsing. Укажи, что модель обучалась на корпусе Wall Street Journal (WSJ) и 
показала высокие результаты даже при отсутствии специфической настройки под конкретную задачу. Уточни, что это
 доказывает способность архитектуры к обобщению на другие задачи.

3. Улучши читаемость раздела про обучение:
Текущий текст раздела слишком сжат; разбей его на два абзаца для плавности:
- Первый абзац: датасеты (WMT 2014) и аппаратное обеспечение (8 GPU P100, время обучения).
- Второй абзац: параметры оптимизатора Adam, формула расписания learning rate и методы регуляризации (Dropout, 
Label Smoothing). 

Получилось отлично. Но все-таки чувствуется, что ей сложно писать про "какую-то там статью", а не про её содержание.

Остальные правки вносил сам (убирал ИИ-шные штампы, добавлял перекрестные ссылки, исправлял ошибки отображения формул).

Работа со ссылками

Хорошо зарекомендовал себя метод, который я тестировал в прошлый раз. Я дал модели Gemini 3.1 Pro самостоятельно пройтись по тексту и добавить ссылки на существующие статьи.

Я тебе отправлю вики-текст, а ты снабди такими источниками. они могут повторяться, 
поэтому иногда делай <ref name="somesource">...</ref>, а в будущем <ref name="somesource" />. 
Только настоящие источники!

Формат отправил ей отдельно. Далее с помощью ChatGPT с доступом в интернет проверил все ссылки. Все ссылки были идеальными. Ничего править не пришлось.

— Osman Osmanov 16:25, 18 июля 2026 (MSD)— Osman Osmanov 15:20, 18 июля 2026 (MSD)

Личные инструменты