Skip to content

Сводка находок: что сломано, что подтверждено, что не проверено

2026-09-29. Источники: 7 отчётов в docs/papers/, ревью в research/reviews/. Каждый пункт имеет статус — потому что отчёт агента это утверждение, а дерево это свидетельство, и я перепроверял ключевые пункты сам.

Легенда статусов:

  • ПОДТВЕРЖДЕНО — я проверил по дереву или против первоисточника лично.
  • ОТЧЁТ — найдено агентом, ревью не завершено. Не факт.
  • ОПРОВЕРГНУТО — ревью или моя проверка опровергли.
  • НЕ ПРОВЕРЕНО — требует GPU или решения владельца.

0. Две поправки к моим собственным утверждениям за эту ночь

Section titled “0. Две поправки к моим собственным утверждениям за эту ночь”

0.1 bit_exact не красный — его нет. binary-tests отсутствует в default = ["std"] (burn-gdn2/Cargo.toml:15,19), поэтому тест никогда не запускается. test_chunk.rs — за той же фичей. Краснота зафиксирована 2026-09-27, когда их отключили, и с тех пор не исполнялось ничто. Я сегодня несколько раз говорил «красный гейт три дня» — это прошлое измерение, выданное за текущий факт, ровно то, что запрещает §1.4. Следствие: в burn-gdn2 нет работающего гейта против фикстуры вообще.

0.2 retract_batched мёртв в проде. Определён (burn-spectral/src/lib.rs:275), покрыт тестами, вызывается только из тестов. Тренажер идёт по пути с 7 into_scalar на фактор и без счётчика — это ADR-0019, молчаливая деградация.


1. Исправляемое и подтверждённое

Section titled “1. Исправляемое и подтверждённое”
# Что Где Статус
1.1 if nc * 4 < nr недостижим: после транспонирования x всегда широкий, nc >= nr, условие требует nr > 4·nc. Ветка и ядро ns_combine_cuda в проде не выполняются burn-muon-plus/src/lib.rs:146 ПОДТВЕРЖДЕНО
1.2 Ложная атрибуция: кубический НС (15/8, −5/4, 3/8) приписан Muon+ §1, который коэффициентов не печатает (его квинтик (3.4445, −4.775, 2.0315)). Математика верна для ретракции, ложна атрибуция burn-spectral/src/lib.rs:164-166 ОТЧЁТ
1.3 1/√d и «неверный RMSNorm» — одно расхождение, не два: при eps=0 наш логит ровно в d раз меньше бумажного. Починка одного без другого не исправляет burn-attnres/src/lib.rs:150,180 ПОДТВЕРЖДЕНО
1.4 DSpark сдвиг на позицию: шаг s питается x[p+s+1] — тем же токеном, который его базовые логиты уже предсказывают. Правка на строку, но меняет все числа DSpark model.rs:197-204 ОТЧЁТ
1.5 with_markov реализует Eq. 7 бумаги и имеет ноль вызывающих; confidence-head не бумажный burn-dspark/src/aux.rs:45,311 ОТЧЁТ
1.6 schema.rs:132-133 приписывает бумаге «196B Engram против 552B backbone»; в 2601.07372v2 максимум 39.5B/18.5B. И 24% арифметически 32% при верном «0.32x» в той же строке config/schema.rs:132-135 ОТЧЁТ
1.7 Ложная цитата a_log=-3 приписана FlashKDA; Kimi K3 §2.1.1 говорит «We initialize A_h = 0». Разошлось в AGENTS.md как факт уровня правил burn-kda/src/lib.rs:166-170 ОТЧЁТ
1.8 short_conv делает replicate-pad, а FLA грузит левый пад нулём. Обе копии генератора это воспроизводят → 1000-клеточный тест слеп burn-gdn2/src/short_conv.rs:43-46 ОТЧЁТ

2. Найдено ревью, опровергло автора отчёта

Section titled “2. Найдено ревью, опровергло автора отчёта”
# Что Статус
2.1 Рекомендация «тест на инвариантность размера чанка» нерабочая. short_conv_1d вызывается до ветвления по чанкам и не принимает размер чанка; при f=16 и f=64 свёртка побитово одинакова. Тест проходит при наличии бага ПОДТВЕРЖДЕНО
2.2 Поставленный ref_data.bin сгенерирован сломанным генератором — поток splitmix64 воспроизведён и сверен с байтами. Фикстура закрепляет баг ОТЧЁТ
2.3 Арифметика a_log в отчёте неверна и переворачивает вывод. Автор писал «A=0 даёт то же». На деле g=−0.033, α=0.995 против наших α=0.077: эффективный стартовый контекст 1.08 токена против 200 ОТЧЁТ
2.4 Золотой вектор attnres различает конвенции, но диагностирует неверно: есть четыре ячейки (норма × масштаб), а не три. «Бумажная норма + 1/√d» и «наша норма без масштаба» совпадают до 0.0 при eps=0 — это одна калибровочная пара, никакой выходной тест их не различит ОТЧЁТ
2.5 Тест G в отчёте проверяет не тот шаг и ждёт невозможного: sum_exp после шага 2 равен 1.0, а не 3.0. D8 впервые срабатывает на шаге 4 ОТЧЁТ
2.6 Десятый баг, пропущенный отчётом: lib.rs:476 накапливает h_l, где бумага накапливает f_l(h_l) — в two_phase_attend, функции, которую отчёт назвал выжившей ОТЧжЪТ
2.7 Вердикт отчёта «fused-ядра согласованы, тесты зелёные» противоречит четырём документам репозитория, которые он не процитировал: docs/archive/research/2026-09-27-fused-inventory-attention.md:70-93 фиксирует streaming_fused_matches_tensor_path FAILED при maxdiff 0.83 ОТЧЁТ

Все три исследования независимо пришли к одному: тесты сравнивают нашу формулу с нашей же формулой.

  • attnres: ref_depth_attend несёт тот же powf(-0.5), что и продакшн.
  • gdn/kda: оба генератора воспроизводят один и тот же баг с падением.
  • muon/tsct: тесты против собственной реализации.

Это одна болезнь класса, а не три находки. Она объясняет, почему столько «зелёных» гейтов пропустили столько настоящих багов.

Плюс отключение binary-tests одним флагом выключило сразу все фикстурные проверки, и с тех пор туда не смотрел никто.

4. Единственный настоящий внешний оракул

Section titled “4. Единственный настоящий внешний оракул”

github.com/deepseek-ai/Engram, файл engram_demo_v1.py — официальная референс-реализация существует. Это единственное место в проекте, способное удовлетворить §1.4 буквально. Открытый вопрос, который решает ревьюер: использует ли её хоть один тест. Если нет — проект стоит в худшем состоянии: истина доступна и не используется.

Второй кандидат, ограниченный: attnres — исходного кода не существует (7 файлов в репозитории авторов: PDF, README, 4 картинки). Потолок доказательства там — 22 строки псевдокода Fig. 2.

5. Порядок работ, который следует из этого

Section titled “5. Порядок работ, который следует из этого”
  1. Починить генератор (gen_reference.rs, раскладка) → перегенерировать фикстуру → включить binary-tests. До этого гейта не существует.
  2. Однострочные правки с большим последствием: 1.4, 1.5, 1.7, 1.1.
  3. Подключить официальный оракул Engram — единственный путь к настоящей внешней точке отсчёта.
  4. Производительность: батченная ретракция (0.2), CUDA graph.
  5. Решить судьбу a_log — по бумаге (0.995) или наше (0.077). Это не косметика: разница в 200 раз по стартовому контексту.
  • Оправдывать шаг 0 как измерение шага. Уже попался на этом дважды.
  • Считать arm-про-arm «эталоном». Обе руки делят project и short_conv.
  • Расширять допуск, чтобы получить зелёный прогон.
  • Удалять что-либо без одобрения владельца.