Перейти к содержанию
Новое AiManual теперь в MAX Подписаться
Публикация AiManual

Cactus Hybrid: как научить модель оценивать собственную уверенность и сократить затраты на инференс

Разбираем метод Cactus Hybrid для Gemma 4: слой-проба из 68 тыс. параметров предсказывает вероятность ошибки, позволяя направлять в облако лишь 15–35% запросов.

Коротко

Что будет в материале

  1. 01

    Почему стандартные методы оценки уверенности не справляются

  2. 02

    Механистический анализ скрытых состояний: как Cactus заглядывает внутрь модели

  3. 03

    Гибридный инференс: как направить в облако только 15–35% запросов

  4. 04

    Модально-независимый сигнал: почему проба работает на аудио без обучения на аудио

Почему стандартные методы оценки уверенности не справляются

LLM генерируют текст токен за токеном, и на каждом шаге выдают распределение вероятностей. Разработчики часто используют энтропию этого распределения как индикатор уверенности: низкая энтропия - модель «уверена», высокая - «сомневается». Проблема в том, что эта метрика слабо коррелирует с фактической корректностью ответа.

Модель может выдать распределение с пиком 0,98 на токене, который запускает галлюцинацию. Энтропия низкая, уверенность формально высокая, а ответ неверный. Обратная ситуация: на сложном вопросе распределение размыто, модель перебирает варианты, но в итоге приходит к правильному выводу. Энтропия высокая, а ответ корректный.

Это расхождение дорого обходится в продакшене. Разработчики вынуждены либо перестраховываться и отправлять в облако почти все запросы, теряя преимущество локального инференса, либо рисковать качеством, отдавая пользователю ответы, в которых модель «уверена» лишь по формальным признакам. Команда Cactus предложила альтернативу: заглянуть внутрь модели и считать сигнал корректности напрямую из скрытых состояний, а не из финального распределения токенов.

Похожая логика используется в методах борьбы с галлюцинациями через управление представлениями. В статье о Gemma-4-31B-AntiHal мы разбирали, как добавление вектора в скрытые слои меняет поведение модели без дообучения. Cactus идёт дальше: не управляет генерацией, а предсказывает вероятность ошибки по тем же скрытым состояниям.

Механистический анализ скрытых состояний: как Cactus заглядывает внутрь модели

Механистическая интерпретируемость (mechanistic interpretability) изучает, какие вычисления происходят внутри нейросети на уровне отдельных слоёв и нейронов. Вместо того чтобы рассматривать модель как чёрный ящик и анализировать только выход, исследователи вскрывают промежуточные представления и ищут в них закономерности.

Команда Cactus применила этот подход к Gemma 4. Они провели анализ скрытых состояний на разных слоях во время декодирования и обнаружили, что определённые паттерны активаций устойчиво коррелируют с ошибками в финальном ответе. Эти паттерны не зависят от того, насколько «уверенно» выглядит распределение токенов на выходе. Сигнал ошибки присутствует в скрытых состояниях ещё до того, как модель выбрала конкретный токен.

Выбор пал на один из промежуточных слоёв - исследователи не раскрывают, какой именно, но это стандартная практика: разные слои кодируют информацию разного уровня абстракции. Нижние слои работают с синтаксисом, верхние - с семантикой и фактологией. Логично предположить, что пробу подключили к слою, где формируются фактические утверждения.

Сам по себе mechanistic interpretability - активно развивающаяся область. Если вам интересны практические сравнения методов оценки уверенности, включая probe-подходы, рекомендую детальный разбор 9 методов с цифрами AUROC на MMLU-Pro, GPQA и ARC-Challenge.

Слой-проба: 68 тыс. параметров, которые предсказывают ошибку

На выбранный скрытый слой исследователи навесили небольшой классификатор - слой-пробу (probe layer). Его задача: получить на вход вектор скрытого состояния и выдать одно число от 0 до 1 - оценку вероятности того, что текущее сгенерированное предложение содержит ошибку.

Проба содержит всего 68 тысяч параметров. Для сравнения: Gemma 4 в минимальной конфигурации имеет миллиарды параметров. Накладные расходы на вычисление пробы пренебрежимо малы относительно полного прямого прохода модели. Это принципиально: метод должен работать на устройстве, не замедляя инференс.

Обучение пробы проводилось на текстовых данных с разметкой корректности ответов. Исследователи подавали модели запросы, собирали скрытые состояния на целевом слое для каждого сгенерированного предложения и размечали, было ли оно фактически верным. На этих парах (скрытое состояние, метка ошибки) обучался классификатор. Аудиоданные в обучающую выборку не включались.

Во время инференса проба работает параллельно с декодированием: как только модель генерирует предложение, скрытое состояние с выбранного слоя подаётся на пробу, и та выдаёт оценку уверенности. Предложение получает числовую метку, которую можно использовать для маршрутизации.

Гибридный инференс: как направить в облако только 15–35% запросов

Практическая архитектура выглядит так. На устройстве пользователя работает Gemma 4 с интегрированной пробой. Модель генерирует ответ и параллельно оценивает уверенность для каждого предложения. Если итоговая оценка выше заданного порога, ответ отдаётся пользователю локально. Если ниже - запрос перенаправляется в облачную модель, которая обрабатывает его с большей вычислительной мощностью.

По данным команды Cactus, такой подход позволяет направлять в облако всего 15–35% запросов. Остальные 65–85% обрабатываются на устройстве. Это даёт тройной выигрыш: снижение затрат на облачный инференс, уменьшение задержки для большинства запросов и сохранение конфиденциальности данных, которые не покидают устройство.

Сам принцип гибридной маршрутизации не нов. Методология A.L.F.R.E.D., например, использует дистилляцию шаблонов и адаптивный роутинг для аналогичной цели - сократить вызовы больших моделей. Но подход Cactus отличается: маршрутизация основана на внутреннем сигнале корректности, а не на сходстве запроса с ранее решёнными задачами. Это делает метод применимым к широкому классу запросов без необходимости накапливать базу шаблонов.

Сравнение с Gemini 3.1 Flash-Lite: качество не страдает

Ключевой вопрос: не теряет ли гибридная система в качестве по сравнению с полностью облачным решением? Команда Cactus утверждает, что итоговое качество ответов сопоставимо с использованием Gemini 3.1 Flash-Lite - модели, которая сама по себе работает в облаке.

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

Этот результат важен для разработчиков, которые рассматривают миграцию части инференса на устройства. Если вас интересует тема оптимизации инференса через квантизацию, в эксперименте с Gemma 3 4B QAT мы показывали, как меняется компромисс между скоростью и точностью при activation aware quantization.

Модально-независимый сигнал: почему проба работает на аудио без обучения на аудио

Самый неожиданный результат исследования: проба, обученная исключительно на текстовых данных, показала AUROC 0,79–0,88 на аудиобенчмарках. Это означает, что классификатор успешно отличает корректные ответы от ошибочных в задачах обработки речи, хотя никогда не видел аудиоданных во время обучения.

Интерпретация этого факта глубже, чем может показаться. Скрытые состояния Gemma 4 кодируют абстрактное понятие «корректности», не привязанное к модальности входных данных. Текст или речь - модель внутренне представляет факты и логические связи единообразно, и сигнал ошибки в этом представлении универсален.

Для разработчиков мультимодальных систем это открывает возможность создавать единый детектор ошибок, который работает на всех модальностях без дополнительного обучения. Вместо того чтобы тренировать отдельные пробы для текста, изображений и аудио, достаточно одной, обученной на текстовых данных. AUROC 0,79–0,88 - не идеальный показатель, но для задачи бинарной классификации ошибок без целевого обучения на аудио это сильный результат.

Ограничения и следующие шаги

Метод Cactus пока продемонстрирован на одной модели - Gemma 4. Переносимость на другие архитектуры не подтверждена экспериментально. Скрытые состояния разных моделей организованы по-разному, и слой, который несёт сигнал корректности в Gemma, может не иметь аналога в Llama или Qwen. Требуется отдельное исследование для каждого семейства моделей.

Детали архитектуры пробы и методологии обучения не раскрыты. Неизвестно, какой именно слой использован, какова структура классификатора (линейный слой или небольшая сеть), на каких данных проводилось обучение и как осуществлялась разметка корректности. Эти детали критичны для воспроизводимости.

Аудиобенчмарки, на которых получен AUROC 0,79–0,88, не названы. Без этой информации сложно оценить, насколько результат обобщается на разные типы аудиозадач: распознавание речи, понимание смысла, ответы на вопросы по аудио.

Команда Cactus, вероятно, продолжит работу в нескольких направлениях: расширение тестирования на другие модели и модальности, публикация открытой реализации пробы, исследование влияния порога уверенности на компромисс между затратами и качеством в реальных приложениях.

Как применить подход Cactus в своих проектах: практические рекомендации

Общая схема воспроизводима даже без доступа к исходному коду Cactus. Вот пошаговый план для экспериментов с оценкой уверенности через скрытые состояния.

Шаг 1: выбор целевого слоя. Загрузите модель и пропустите через неё набор запросов с известной корректностью ответов. Сохраните скрытые состояния с каждого слоя. Обучите простой линейный классификатор на состояниях каждого слоя по отдельности и сравните AUROC. Слой с наилучшим разделением корректных и ошибочных ответов - кандидат для подключения пробы.

Шаг 2: сбор данных. Сгенерируйте ответы модели на разнообразные запросы. Для каждого предложения зафиксируйте скрытое состояние на целевом слое и разметьте, содержит ли предложение фактическую ошибку. Разметку можно делать вручную или с помощью более мощной модели-верификатора.

Шаг 3: обучение пробы. Обучите классификатор (логистическая регрессия или небольшая полносвязная сеть) на парах «скрытое состояние → метка ошибки». 68 тысяч параметров, использованных Cactus, - это примерно полносвязный слой с входной размерностью 4096 и одним выходом. Начните с линейной модели и усложняйте при необходимости.

Шаг 4: интеграция в пайплайн. Модифицируйте код инференса так, чтобы после генерации каждого предложения скрытое состояние подавалось на пробу. Вычисляйте агрегированную оценку уверенности для всего ответа (минимум, среднее или скользящее среднее по предложениям). Если оценка ниже порога, перенаправляйте запрос в облачную модель.

Шаг 5: выбор порога. Порог уверенности определяет компромисс между затратами и качеством. Низкий порог - больше запросов обрабатывается локально, но выше риск ошибок. Высокий порог - больше запросов уходит в облако, выше затраты. Подберите порог эмпирически на тестовой выборке, оптимизируя целевую метрику (стоимость при фиксированном качестве или качество при фиксированном бюджете).

Для тех, кто работает с открытыми моделями, этот подход реализуем с помощью библиотек transformers и pytorch. Если же вы используете API закрытых моделей без доступа к скрытым состояниям, метод Cactus напрямую неприменим. В этом случае стоит рассмотреть альтернативы: вербализованную уверенность, семплирование нескольких ответов и оценку согласованности, или внешние верификаторы.

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