Опубликовано:
ByteDance нашла у DeepSeek V4 периодические провалы в сжатом кэше
ByteDance Seed нашла у DeepSeek V4 периодические провалы точности из-за блочного сжатия кэша: разрыв между позициями 40,2 п.п. Тест Leiphone на V4.1 переворота ответа не выявил.
Команда ByteDance Seed нашла у DeepSeek V4-Flash-Base периодическую слабость: ответ на одну и ту же задачу по дополнению кода меняется, если перед кодом поставить разное число незначимых токенов. В эксперименте модель переключалась между правильным ответом «8» и ошибочным «32».
Причина в блочном сжатии кэша. В V4 работают две схемы внимания: CSA сжимает по 8 токенов в одну запись с шагом 4 токена, а HCA оставляет одну запись на каждые 128 токенов, читая все прошлые записи. Если сдвинуть информацию на несколько токенов, она попадает в другую позицию сжатия, и исследователи называют её «фазой». На одних фазах модель находит нужное, на других пропускает, хотя сами данные не изменились.
На контексте 128K модель искала заданную информацию среди 16 000 записей ключ-значение. Лучшая группа позиций дала 69,9% точности, худшая 29,7%, разрыв 40,2 процентного пункта, и период колебаний совпал с шагом сжатия. Слабость сохранялась после отключения позиционного кодирования RoPE и после замены обучаемых ворот сжатия на равномерное усреднение. При шаге 4, 6, 8 и 12 токенов менялся и период колебаний, а у контрольной модели с полным вниманием такого эффекта не было.
Издание Leiphone повторило опыт на актуальной V4.1-Flash через официальный API DeepSeek. Тест сохранил тот же префикс из 983 токенов и менял только длину незначимой вставки: четыре типа заполнения по 16 длин, от 24 до 39 токенов, всего 64 входа. Все 64 ответа при фиксированной выборке оказались правильными, переворота не произошло.
Вероятность ответа «8» при этом колебалась. В одной группе добавление одного токена подняло её с 83,33% до 92,29%, на нечётных длинах средняя вероятность была выше на 3,6–5,8 процентного пункта. Повторные замеры на одинаковом входе расходились до 5,35 пункта, а в шести случаях выборка выдала «32», хотя «8» оставалась самым вероятным вариантом. Авторы Leiphone не относят эти изменения к архитектуре сжатия: они не исключили влияния содержимого вставки и работы API.
В самой работе Seed разрыв между лучшей и худшей фазой у базовой V4-Flash составлял 40,2 пункта, после посттренировки он сократился до 19,1, у V4.1-Flash — до 6,1 пункта. Сжатие в V4.1 сохранилось, шаг части путей уменьшили с 4 до 2 токенов и добавили архитектуру Causal Encoder–Decoder. По данным DeepSeek, кэш KV новой версии требует вчетверо меньше видеопамяти, а хранилище постоянного кэша в восемь раз меньше.
Средняя точность скрывает такие провалы. В контрольном опыте Seed на моделях 0,6B полное внимание и блочное сжатие дали 61,1% и 59,4% средней точности на поиске, а на худшей группе позиций 58,4% и 9,9%. Авторы Leiphone отмечают, что 40,2 пункта получены в контролируемом тесте на конкретной базовой модели и не означают падения точности DeepSeek в обычной работе. Как это влияет на задачи агентов, которым приходится постоянно перечитывать код и логи, пока не измерено.


