Сбой внимания в Gemma 4 26B: дрейф тензоров, диагностика | AiManual
AiManual Logo Ai / Manual.
13 Апр 2026 Новости

Gemma 4 26B ломается в полёте: как дрейф тензоров убивает внимание модели

Критический баг в Gemma 4 26B: распределённый дрейф тензоров ломает механизм внимания. Исследование, диагностика и что делать.

Тихий сбой в самом сердце модели

Вчера вечером, пока большинство пилотировало Gemma 4 31B через Tensor Parallelism, в логах инженеров, копавшихся в 26-миллиардной версии, поплыли цифры. Не ошибки генерации, не галлюцинации — аномалии в самих тензорах внимания. Механизм, который должен решать, на какие слова смотреть, начал хаотично дрейфовать. Это не баг в коде, а системный сбой в математике модели.

Коротко: если ваша Gemma 4 26B внезапно начала путаться в логических цепочках или "забывать" контекст — это, скорее всего, оно. Проблема проявляется после нескольких десятков токенов генерации.

Что такое распределённый дрейф и почему он страшнее обычного бага

Представьте, что веса в слоях внимания — не статичные числа, а песок. В норме они закреплены. При распределённом дрейфе этот песок начинает медленно, почти незаметно, сползать по склону. Не в одном нейроне, а распределённо, по всему тензору. Эффект накапливается. К 50-му токену внимания модель уже смотрит не на ключевые слова запроса, а куда-то в сторону.

В Gemma 4 26B этот дрейф зафиксировали в блоках с 18 по 22. Именно там, где модель должна строить сложные ассоциации. Диагностика простая, но без неё вы ничего не увидите: нужно мониторить L2-норму градиентов внимания по слоям в реальном времени. Если видите плавный рост с последующим обрывом — поздравляем, попали.

💡
Этот баг перекликается с историей про кривой расчёт key_gdiff в llama.cpp, но там была ошибка имплементации, а здесь — фундаментальная нестабильность в самой обученной сети.

Диагностика за пять минут: что смотреть и куда бежать

Не нужно быть гением тензорной алгебры. Если модель внезапно стала выдавать бред на длинных промптах или проваливать те же тесты Winogrande — время включить мониторинг.

  • Шаг первый: Запустите генерацию с выводом отладочной информации. В vLLM или Hugging Face есть флаги для дампа активаций.
  • Шаг второй: Сфокусируйтесь на тензорах с именами, содержащими attn или attention. Сравните их значения в начале контекста и после 30-40 токенов.
  • Шаг третий: Ищите не скачки, а именно тренд. Дрейф — это медленное изменение среднего значения по тензору. График должен быть почти прямой линией под углом.

Сообщество уже накопило скрипты для автоматической детекции. Самый простой — считать дивергенцию Кульбака-Лейблера между распределениями внимания на первых и последних токенах контекста. Если KL-дивергенция выше 0.05, модель поехала.

При чём тут Unsloth и квантование? (Всё при том)

Первые тревожные звоночки пришли от людей, которые пытались ужать Gemma 4 26B через Unsloth с последними патчами. После квантизации в INT4 или даже NF4 дрейф усиливался в разы. Модель ломалась не сразу, а через несколько итераций инференса. Это наводит на мысль, что проблема была в оригинальных весах, а квантование её только обнажило — классическая история, как в случае с 4-битным квантованием в MoE-моделях.

КонфигурацияСкорость дрейфа (норма/токен)Порог сбоя (токенов)
Gemma 4 26B, FP160.002~80
+ Unsloth INT40.008~35
+ GGUF Q4_K_M0.005~50

Вывод простой: если вы квантуете Gemma 4 26B, тестируйте не на коротких промптах, а на длинных диалогах или задачах chain-of-thought. Иначе пропустите момент, когда модель "уплывает".

Что теперь делать? Ждать патч или взламывать модель?

Google пока официально не отреагировал. Внутри компании, по слухам, уже идут эксперименты с fine-tuning для стабилизации тензоров. Пока же инженеры в поле используют два обходных пути.

Первый — грубый, но работает. Принудительный рескалинг тензоров внимания каждые N токенов. Добавляете хук в forward pass, который следит за нормой и, если она выходит за пределы, делает коррекцию. Теряется немного в перформансе, зато модель не сходит с ума.

Второй путь — хакерский. Метод Arbitrary-Rank Ablation (ARA), который мы описывали в туториале по обходу защиты Gemma 4, оказался полезен и здесь. Селективная абляция "поплывших" измерений в тензорах временно возвращает вниманию адекватность. Это как подпереть дверь клином.

Совет для тех, кто запускает модель на продакшене: пока не вышло обновление, ограничивайте длину контекста 256 токенами для задач, требующих высокого качества рассуждений. Или переходите на 31B версию, где проблема, судя по первым данным, выражена слабее.

Почему это важно за пределами одного бага

История с дрейфом тензоров в Gemma 4 — не просто инженерный инцидент. Это симптом. Мы привыкли думать, что большая языковая модель после обучения — это застывшая архитектура. На самом деле, при определённых условиях (длинный контекст, специфичные входные данные) она может войти в режим, где внутренняя динамика становится нестабильной. Это как резонанс в мосту.

Следующие полгода, я уверен, мы увидим волну исследований по диагностике таких скрытых состояний в LLM. Инструменты вроде Heretic или модификации ik_llama обзаведутся встроенными мониторами дрейфа. А может, и сами фреймворки инференса начнут делать профилактические коррекции на лету.

Пока же совет простой: не доверяйте слепо бенчмаркам. Самый важный тест для вашей модели — это её поведение на ваших данных, в вашем пайплайне, через час непрерывной работы. И если что-то пошло не так, первым делом смотрите на тензоры. Они никогда не врут.

Подписаться на канал