Стэнфордский PhD вывел Transformer с нуля из одной задачи про память
15 октября стэнфордский PhD по computer science опубликовал блог-пост, где Transformer выводится с нуля из одной задачи: как заставить машину запомнить как можно больше и достать любой элемент по запросу. Текст стал вирусным в китайских техномедиа через 9 лет после выхода «Attention Is All You Need». Ключевые идеи для такого вывода (внимание, адресация по содержимому, память) появились в литературе за 2–3 года до 2017-го. • Исходная задача: хранить много и извлекать любое. • Предпосылки: Bahdanau attention, Neural Turing Machines, Memory Networks. • Оригинал 2017 года: 28,4 BLEU на WMT14 En-De.
AI-обработка оригинала Jiqizhixin (机器之心); редакция Hamidun News
15 октября стэнфордский PhD по computer science опубликовал блог-пост с провокационной рамкой: если бы статьи «Attention Is All You Need» не существовало, смогли бы вы вывести Transformer шаг за шагом из одного вопроса, как заставить машину запомнить как можно больше и достать любой элемент по запросу? Через девять лет после выхода оригинала текст разошёлся по китайским техномедиа, включая Jiqizhixin. В доступном фрагменте источника имя автора и подробности вывода обрезаны, поэтому ниже разобрано то, что известно о самой постановке и об истории вопроса.
Задача вместо архитектуры
Обычно Transformer объясняют сверху вниз: вот блок внимания, вот feed-forward слой, вот позиционные кодировки. Блог-пост идёт снизу вверх. Исходная формулировка не содержит ни слова «внимание»: есть память и требование произвольного доступа. Если вам нужно хранить много информации и обращаться к любому фрагменту, рекуррентная сеть с одним скрытым состоянием быстро упирается в узкое горлышко. Любой доступ приходится пропускать через сжатое состояние, а градиент идёт сквозь десятки шагов.
Дальше логика выстраивается почти сама. Нужны ключи, по которым элементы находятся, и значения, которые возвращаются. Нужен мягкий выбор вместо жёсткого, чтобы обучение шло градиентом. Нужно несколько независимых «запросов» к памяти одновременно, откуда берётся многоголовость. Порядок элементов нужно вводить явно, раз рекурренции больше нет. Конкретные шаги вывода в блоге по доступному отрывку подтвердить нельзя, но именно такой маршрут напрашивается из постановки.
Какие подсказки лежали в литературе
Тезис «ключи были на столе» проверяется по датам. Задолго до 2017 года в публикациях уже были все нужные детали:
- 2014, Bahdanau и соавторы: аддитивное внимание в seq2seq-переводе, где декодер смотрит на все состояния энкодера.
- 2014, Graves и соавторы, Neural Turing Machines: внешняя память с адресацией по содержимому, дифференцируемая целиком.
- 2014–2015, Memory Networks и End-to-End Memory Networks: мягкое обращение к памяти за несколько «прыжков».
- 2015, Luong и соавторы: упрощённое мультипликативное (dot-product) внимание.
- 2015–2016: остаточные связи (ResNet) и layer normalization, без которых глубокий стек не обучается стабильно.
Оригинальная статья 2017 года собрала эти элементы и убрала рекуррентность целиком. Восемь авторов показали 28,4 BLEU на WMT 2014 English-German и 41,8 BLEU на English-French. Большая модель обучалась около 3,5 дня на восьми GPU P100, по меркам сегодняшних кластеров это почти ничто.
Почему такие тексты расходятся
У формата «а вы бы смогли?» есть понятная ценность. Он превращает архитектуру из артефакта, который нужно заучить, в цепочку инженерных решений, каждое из которых отвечает на конкретное ограничение. Это полезнее пересказа схемы из статьи: понимание причин помогает, когда нужно модифицировать модель, а не просто запустить готовую. Отсюда и интерес: Transformer остаётся основой почти всех крупных языковых моделей, а разговоры о заменах (state space models, линейное внимание, гибриды) требуют понимать, какую именно задачу решало оригинальное внимание.
Как использовать это на практике
Если вы работаете с LLM или собираетесь начать, возьмите постановку из блога как упражнение. Сначала напишите на бумаге, что должна делать память: хранить пары, искать по сходству, возвращать взвешенную смесь. Затем реализуйте одноголовое внимание примерно в 30–50 строках на PyTorch или NumPy и проверьте, что оно работает на игрушечной задаче копирования или поиска. После этого добавьте масштабирование на корень из размерности ключа, порядок через позиционные кодировки и несколько голов. На каждом шаге убирайте компонент и смотрите, что ломается.
Командам, которые оценивают альтернативы Transformer, полезно проделать то же самое для кандидата: какую из подзадач (адресация, параллельность обучения, стоимость контекста) он решает лучше и что отдаёт взамен. Сам блог-пост стоит читать в оригинале: в источнике доступен только вводный фрагмент.
Системное обучение работе с ИИ и AI-агентами
Образовательная платформа Vibe Academy (vibe-academy.ru) — практические курсы, промпт-инжиниринг, автоматизация процессов и прикладные AI-воркфлоу.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.