Hacking Diffusion into Qwen3 for the Arc Challenge
Краткий обзор
Повторяя подход победителей ARC-2024, я заметил: чем меньше модель уверена в пикселе, тем выше шанс ошибки. Авторегрессия заставляет «писать» решение слева-направо, как печатать на машинке без возврата.
Я переделал Qwen3-8B в диффузионный режим: сначала заполняем «лёгкие» токены, потом сложные. На 10 шагах модель быстрее и точнее по пикселям, но решает не больше задач. На 30 шагах точность совпадает с базовой, а время выше — из-за отсутствия кеширования.
Как работает генерация
- Кодируем вход как обычный LLM.
- Случайно маскируем 80 % выходных токенов.
- На каждом шаге модель предсказывает маскированные токены; выбираем наиболее вероятные и «размаскиваем».
- Повторяем, пока не останется масков.
Почему +1 % к пикселям ≠ +1 % к задачам
ARC требует абсолютного совпадения всей сетки. Даже 1 ошибка = 0 баллов. Диффузия чаще «почти» правильна, но «почти» не считается.
Технические детали
- Архитектура: обычный декодер → полносвязный «энкодер» без кэша.
- Обучение: 1 эпоха, lr 5e-5, batch 64, маскирование 80 %, аугментации поворот/отражение.
- Данные: 400 задач ARC + 800 синтетических, длина фиксирована 4096 токенов.
Результаты на eval-2025
Метод | Время | Точн. токенов | Решено задач |
---|---|---|---|
Авторегрессия | 1× | 94 % | 21 % |
Диффузия 10 шагов | 0.6× | 95 % | 19 % |
Диффузия 30 шагов | 1.3× | 94 % | 21 % |
Следующие шаги
- Вернуть кеш входных токенов, ограничив пересчёт скрытых состояний.
- Увеличить шаги до 50–100 при сохранении скорости.
- Попробовать «гибрид»: диффузия для грубой раскладки, авторегрессия для деталей.