Андрей Бурков — канадский специалист по машинному обучению из Квебека. Он руководил командами машинного обучения в Gartner и TalentNeuron, много лет возится с обработкой естественного языка, а прославился «The Hundred-Page Machine Learning Book», компактным учебником, который разошёлся по университетским курсам. В 2024—2025 годах он выпустил продолжение — «The Hundred-Page Language Models Book», где объясняет путь от простых счётных моделей и свёрточным нейросетям к трансформерам и БЯМ.
Впрочем, Бурков не просто повис где-то в сухой академии и написании учебников — он активно ведёт микроблог в X. Тон его микроблога и интервью легко узнать: он любит сбивать хайп и говорить про реальные ограничения моделей. Давайте хотя бы посмотрим, как озаглавлены его недавние беседы: «БЯМ — полезные лжецы» и «Вокруг БЯМ и агентов слишком много хайпа». По его мнению, большие языковые модели полезны, но склонны обещать больше, чем могут, а агенты без аккуратной инженерии разваливаются на форматировании, таксономиях и хрупких пайплайнах.
Аналогично скептичен и недавний твит Буркова. Андрей язвительно приводит следующее остроумное наблюдение: «БЯМ дообучили врать почти во всех ответах по написанию кода». Исследователь обратил внимание, что когда генерируется ответ, сначала модель торжественно выдаёт в тексте «я реализовал такую-то фичу», а сам код рождается позже — токен за токеном. По сути, БЯМ врёт, она ещё не написала никакого кода.
Однако в комментарии пришёл не менее маститый исследователь искусственного интеллекта Андрей Карпатый со своей фирменной иронией. Карпатый — один из одиннадцати основателей OpenAI, он возглавлял компьютерное зрение в Tesla и просто преподавал культовый курс CS231n.
Карпатый с юмором пишет: «Код был написан на слоях 22–30 и хранится в value-активациях, ты просто не можешь его прочитать. Мне кажется, тебе нужно извиниться перед БЯМ».
На самом деле шутка не на пустом месте: в трансформерах мысли о продолжении действительно заранее складываются в активациях, а суммарная память шага течёт по так называемому residual stream. Модули внимания и многослойные перцептроны читают из него и записывают обратно векторы, которые затем превращаются в следующий токен. До того как вывести первую строку функции, модель уже набрала внутренний, так сказать, замысел будущего кода, хотя это не готовый текст, а распределённые признаки будущего ответа.