gonzo-обзоры ML статей
24K subscribers
2.82K photos
2 videos
3 files
1.4K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
Не комикс, но мне нравится.
9🔥4😁3
Впрочем комикс тоже держите
🔥166😁3🎉1🥴1
Очередная новая JEPA, теперь vision-language.

VL-JEPA: Joint Embedding Predictive Architecture for Vision-language
Delong Chen, Mustafa Shukor, Théo Moutakanni, Willy Chung, Jade Yu, Tejaswi Kasarla, Allen Bolourchi, Yann LeCun, Pascale Fung
Статья: https://arxiv.org/abs/2512.10942
Ревью: https://arxiviq.substack.com/p/vl-jepa-joint-embedding-predictive

# TL;DR

ЧТО сделали: Представили VL-JEPA — неавторегрессионную визуально-языковую модель, которая предсказывает непрерывные текстовые эмбеддинги вместо дискретных токенов. Используя архитектуру Joint Embedding Predictive Architecture (JEPA), модель выравнивает визуальные входы и текстовые запросы непосредственно в латентном пространстве представлений. Текстовый декодер вызывается только в тот момент, когда строго необходим читаемый вывод.

ПОЧЕМУ это важно: Архитектура развязывает семантическое рассуждение и синтаксическую генерацию. Это позволяет сократить количество операций декодирования в 2.85 раза в задачах потокового видео за счет механизма «селективного декодирования». В контролируемых условиях модель обходит стандартные токен-генерирующие VLM сопоставимого размера. Теоретически работа подтверждает переход к подходу «World Model» Яна ЛеКуна в мультимодальном домене, доказывая, что обучение (supervision) в абстрактном пространстве эмбеддингов более эффективно по данным (sample-efficient), чем реконструкция в пространстве пикселей.

Подробнее: https://t.me/gonzo_ML_podcasts/1785
🤔12👍53❤‍🔥1💩1
🤣
5🔥18🍾8😁3🤣3🥴1
Forwarded from Denis Sexy IT 🤖
Предлагаю ребрендинг – не АИ слоп, а эко-текст и не бездушная АИ-картинка - а эко-графика

Потому что текст из LLM и генеративные АИ-картинки оставляют намного меньший отпечаток карбона в мире, чем реальные художники и писатели ☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚23👍16😁16😈4😱2👻2🦄1
В последние полгода происходит тотальная джепизация планеты. Вот свежая NEPA.

Next-Embedding Prediction Makes Strong Vision Learners
Sihan Xu, Ziqiao Ma, Wenhao Chai, Xuweiyi Chen, Weiyang Jin, Joyce Chai, Saining Xie, Stella X. Yu
Статья: https://arxiv.org/abs/2512.16922
Код: https://github.com/sihanxu/nepa
Модель: https://sihanxu.github.io/nepa
Сайт: https://sihanxu.github.io/nepa
Ревью: https://arxiviq.substack.com/p/next-embedding-prediction-makes-strong

# TL;DR

ЧТО сделали:
Авторы представили NEPA (Next-Embedding Predictive Autoregression) — фреймворк для self-supervised обучения визуальных трансформеров (ViT). Идея заключается в предсказании эмбеддинга *следующего* патча изображения при условии знания предыдущих. В отличие от стандартных генеративных подходов, NEPA работает полностью в непрерывном латентном пространстве, не используя дискретные токенизаторы (как в VQ-VAE) или попиксельную реконструкцию (как в MAE).

ПОЧЕМУ это важно:
Этот подход фактически унифицирует цели обучения визуальных и языковых моделей. NEPA доказывает, что чистый objective "предсказания следующего токена" отлично работает на непрерывных визуальных репрезентациях без костылей вроде momentum encoders или майнинга негативных пар для контрастивного обучения. Это масштабируемая и простая парадигма, которая достигает SOTA результатов (85.3% Top-1 на ImageNet-1K с ViT-L), показывая, что каузального моделирования достаточно для выучивания надежной визуальной семантики.

Подробнее: https://t.me/gonzo_ML_podcasts/1797
👍8😁4🤔2
😁30👍4🐳4🔥3🥱1
Universal Reasoning Model
Zitian Gao, Lynx Chen, Yihao Xiao, He Xing, Ran Tao, Haoming Luo, Joey Zhou, Bryan Dai
Статья: https://www.arxiv.org/abs/2512.14693
Код: https://github.com/zitian-gao/URM

Молодцы чуваки, сделали ровно то, что я сам хотел сделать после статей про HRM/TRM. Там прямо просилось взять UT, или по сути ALBERT с ACT и посмотреть, какое качество достигается на нём. Было очень сильное чувство, что не нужно городить HRM/TRM. Мои изыскания закончились на окончании гуглового кредита и машин с GPU, а также свободного времени. А их вон, в статью вылились. Хорошо быть GPU-Rich 😭

Напомню, что HRM (https://t.me/gonzo_ML/4097) предложила вдохновлённую мозгом иерархию сетей с высокоуровневым и низкоуровневым модулями. Последующие разборы от авторов ARC-AGI показали, что чуть ли не самое важное в работе было deep supervision, который делал много итераций на одном сэмпле, последовательно улучшая репрезентацию (похоже на recycling в alphafold), поверх этого ещё был навёрнут adaptive computation time, чтобы делать этот процесс не дольше, чем нужно. А два уровня с рекурсиями нафиг не сдались, обычный трансформер того же достигает плюс минус. Там я и написал, что UT или ALBERT — наше всё (https://t.me/gonzo_ML/4100).

Потом вышла упрощённая TRM (https://t.me/gonzo_ML/4127), которая переинтерпретировала HRM и упаковала это всё в почти обычный рекуррентный трансформер, который сначала обновляет внутреннюю репрезентацию, а потом уточняет по ней ответ, и поверх делается всё тот же deep supervision. Из обучаемых параметров там была только двуслойная сеть, которая применялась во всех этих циклах и давала эффективную глубину в 42 слоя. Это ещё ближе к UT/ALBERT.

Напомню в двух словах про Universal Transformer (UT) и ALBERT. UT (https://t.me/gonzo_ML/90) состоит из одного шаренного слоя, который рекурсивно применяется множество раз, последовательно улучшая эмбеддинги. В самой полноценной версии количество раз определяется динамически через Adaptive Computation Time (ACT), которое для каждого конкретного токена решало, сколько его надо обрабатывать. Я до сих пор считаю, что это очень красивая и недооценённая идея, вернее эти две, UT и ACT. ALBERT (https://t.me/gonzo_ML/131) был сильно идейно похож на UT с той лишь разницей, что один слой там применялся фиксированное количество раз и это был трансформер-энкодер. В этом моём посте собрано всё воедино и с картинками.

Поскольку HRM и TRM были энкодерами с ACT, то просилось, конечно, взять ALBERT+ACT и дотюнить его до состояния, когда он даст результаты не хуже.

Авторы текущей работы тоже вдохновлялись UT и предложили URM (Universal Reasoning Model) по его лекалам.

Пишут, что взяли decoder-only (“The base architecture of our Universal Reasoning Model (URM) closely follows that of the Universal Transformer, with the difference being its decoder-only design. This aspect is consistent with previous works such as HRM and TRM”), но мне кажется это ошибка. HRM/TRM были энкодерами (в работе про HRM явно говорят: “Both the low-level and high-level recurrent modules f_L and f_H are implemented using encoder-only Transformer blocks with identical architectures and dimensions”, а TRM строится на ней) и нигде там авторегрессионной генерации нет, ни в статье, ни в коде. И в целом для этой задачи декодер не нужен, размер выхода заранее известен и фиксирован, энкодер был бы логичен. Так что видимо, опечатка.

В отличие от TRM/HRM авторы URM сделали более кастомный трансформер с ConvSwiGLU и Truncated Backpropagation Through Loops (TBPTL).

ConvSwiGLU — это стандартный SwiGLU с короткой depthwise свёрткой. Обычный SwiGLU работает с каждым токеном независимо, свёртка добавляет в механизм гейтинга локальные контекстные взаимодействия, реализуя смешивание каналов для соседних токенов.

Напомню, что уже классический SwiGLU — это функция с гейтингом. Сначала для каждого токена вычисляется преобразование через матрицу W_up:

[G, U] = X W_up ∈ R^{T×2m}

Затем из G через активацию SiLU считаются веса гейтов, которые поэлементно умножаются с U:

H_ffn = SiLU(G) ⊙ U
5🔥1🤔1
Авторы добавляют одномерную depthwise свёртку с ядром k=2 (так понимаю, текущий токен и предыдущий токен) поверх фич, уже прошедших гейт:

H_conv = σ(W_dwconv * H_ffn)

К теме про такую активацию они, как я понимаю, пришли после изучения абляций, показавших, что последовательное убирание нелинейности из функции активации монотонно уменьшает перформанс на ARC-AGI-1. Что, мне кажется, в целом согласуется с ранжированием упомянутых там функций активации: SwiGLU → SiLU → ReLU, тут вроде ничего нового нет, что SiLU/swish лучше ReLU, а функция с гейтингом ещё лучше (https://t.me/gonzo_ML/4070). Поэтому решили ещё нелинейности подбавить. На картинке, кстати, у них ещё один SiLU заявлен, уже после свёртки, его нет в формуле статьи, но в коде он есть.

Провели эксперименты со свёртками разных размеров, для ядра размером 2 оказался лучший результат. Попробовали попереставлять свёртки в разные места трансформера. Внутри механизма внимания позиция мало на что влияет и порой даже ухудшает всё. Лучший результат (на ARC-AGI) если ставить после MLP expansion. Но это вроде не очень соответствует положению на картинке — оно конечно после expansion, но оно уже и после гейта. Может они просто неточто это всё описали.

TBPTL нужен для ограничения глубины рекурсии, он считает только градиенты поздних циклов. Внутри TRM и HRM тоже была аналогичная логика: HRM использовал градиенты только с последнего цикла (финальное состояние H модуля и финальное состояние L-модуля), а TRM при deep recursion прогонял внутренний цикл без отслеживания градиентов для всех раз кроме последнего. Да ещё и при самом высокоуровневом deep supervision выходные значения отсоединялись от графа вычислений и передавались на следующий шаг улучшения просто как входные данные.

TBPTL делает примерно аналогичное. Если взять модель с D слоями и применять её итеративно в течение M итераций, то новые репрезентации h_t^d слоя d ∈ {1, . . . , D} на итерации t ∈ {1, . . . , M} будут вычисляться как функция от h_t^{d-1} (предыдущий слой той же итерации) и h_{t-1}^d (тот же слой предыдущей итерации). Тут я кстати тоже не уверен, что они это верно написали, эта вот тема с тем же слоем предыдущей итерации какая-то сомнительная имхо. Я это воспринимал как вложенные циклы.

Здесь вместо полного бэкпропа через все M итераций мы задаём индекс отсечения N<M, так что для всех шагов от 1 до N бэкпроп не делается, а для N+1 .. M -- делается. Идейно абсолютно та же логика, в лоссе учитываем только последние вычисления.

Например, для модели c D=4 слоя и M=8 внутренних циклов (что по идее эквивалентно 32 слоям) при выборе N=2 только 6 последних циклов (t=3..8) повлияют на градиент. Такая конфигурация с 6 из 8 шагов и была выбрана по результатам перебора всех вариантов на ARC-AGI (правда это делалось на двуслойной модели без свёрток, а не на четырёхслойной со свёртками).

Эксперименты

Авторы взяли те же датасеты и аугментации, что у TRM/HRM (респект авторам оригинальной HRM за то, что дали референсный код, на котором смогли строить все остальные).

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

Обучали с AdamAtan2 как в оригинальной работе. Weight decay также как в предыдущих работах. Использовалась модель с 4 слоями размерности 512 и с 8 головами.

Итого, весь процессинг включает 4 слоя на внутреннем уровне, 8 итераций (из которых только 6 последних участвуют в бэкпропе) и внешний цикл с ACT и максимум 16 шагами. То есть, если я правильно всё понял, как бы 4*8*16=512-слойная модель. Между ACT шагами, как я понимаю, градиенты не передаются, но вот эта часть в статье не описана, надо по коду перепроверять.
2🔥2
Результат: бьют HRM и TRM на Sudoku, ARC-AGI-1 и ARC-AGI-2. В предыдущих работах ещё был Maze-Hard, здесь не сделали. Для ARC приводят скоры для pass@1, @10, @100 и @1000, для судоку только pass@1. Про ARC выглядит странно, мне казалось, что в предыдущих работах проверка была устроена так, что генерировались 1000 аугментаций, но из них выбирались два самых частых результата, по которым оценивался ARC (то есть как бы pass@2). Здесь написано, что сэмплилось n ответов и сэмпл считался корректным, если хотя бы один ответ был верным, то есть для n=1000 это реально pass@1000, что несравнимо с предыдущими работами. Смотреть вроде как тогда осмысленно только на pass@1

Интересно, что скоры заметно отличаются от скоров в статьях про HRM/TRM. Например, для судоку результаты HRM и TRM были 87.4/74.7 (у TRM были две разные версии, с MLP и SA) и 55.0 соответственно. Здесь в статье скоры этих моделей 63.9 и 66.8, что интересно потому что, во-первых, заметно меньше для TRM, во-вторых разница между ними стала крайне маленькой. У URM скор 77.6, что выше цифр TRM/HRM из текущей работы, но ниже оригинальной работы про TRM. На ARC-AGI-2 вообще здесь HRM выше TRM, что очевидно было иначе в работе про TRM, и так же иначе на картинке из начала статьи, где они явно говорят, что цифры взяли от ARC-AGI.

Муть какая-то, надо очень внимательно разбираться. Вообще непонятно, как с предыдущими работами сравниться. Надежда только на самих ARC, чтобы по-честному померяли.

Из интересного, авторы прогнали на ARC-AGI-1 много вариантов обычного трансформера и пару вариантов UT и показали цифры. UT с 4 слоями и 8 циклами заметно бьёт ванильный трансформер с 32 слоями, у которого столько же вычислений и в 8 раз больше параметров. Я только не понял, что здесь с ACT, это цикл равен 1? Вроде как получается, что итеративные вычисления лучше, чем добавление слоёв (перекликается с https://arxiv.org/abs/2502.17416). Рекуррентный Inductive bias UT лучше подходит для таких задач?

Для полного бинго авторы попробовали оптимизатор Muon (я сделал то же самое). Muon дал более быструю сходимость, чуть ли не в два раза на ARC-AGI-2, но финальный результат такой же. С мюоном, правда, дьявол в деталях, к каким слоям его применяют, с какими именно гиперпараметрами. В статье деталей нет, надо в код лезть (при условии, что он соответствует).

Мысли сходятся. И очень жду перепроверки от ARC-AGI.
4🤔4👍2