Проблема «сырых» логитов
Прямое чтение вероятностей из next-token distribution открытых моделей (например, Qwen3, Mistral) часто дает некорректные результаты из-за двух системных искажений:
- Приоритетное смещение (Prior bias): модель фаворитизирует определенные лейблы (например, «Yes» над «No») независимо от контекста.
- Позиционное смещение (Position bias): вероятность выбора зависит от порядка перечисления вариантов в промпте.
Это приводит к тому, что при перестановке вариантов ответа ответ модели может измениться, а выданные вероятности (confidence scores) не соответствуют реальной точности.
Как работает AnyJev: уровни L0 и L1
Библиотека AnyJev (Apache-2.0) предлагает решение без дообучения (training-free), используя два уровня коррекции:
- L0 (Базовый): Применяет циклические сдвиги вариантов (каждый вариант проходит все позиции) и вычисляет геометрическое среднее в лог-пространстве. Также используется батчная калибровка prior (с коэффициентом 0.75 после первых 8 элементов). Стоимость: ~0.25 сек на решение при батче 32 на H100 для K=20.
- L1 (Расширенный): Добавляет температурное масштабирование (temperature scaling) поверх L0. Требует 100–500 примеров для подбора параметров, которые сохраняются в JSON. L1 меняет уверенность, но не ранжирование ответов.
Результаты бенчмарков
На наборе данных BANKING77 (20 вариантов, 300 тестовых примеров) с моделью Qwen3-8B AnyJev демонстрирует значительное улучшение метрик калибровки и стабильности:
| Метрика | Raw logits | AnyJev L0 | AnyJev L1 |
|---|---|---|---|
| Точность (Accuracy) | 0.747 | 0.803 | 0.807 |
| Ошибка калибровки (ECE) | 0.240 | 0.184 | 0.095 |
| Частота смены ответа при реверсе | 0.230 | 0.073 | 0.077 |
| Авто-решаемый трафик (при ошибке 5%) | 7.7% | 46.3% | 52.0% |
Для сравнения, на наборе typed-decisions Qwen3-32B с L1 достигла ECE 0.036, что лучше показанной в оригинальной статье Jev (0.144), хотя по чистой точности fine-tuned модели (например, Laya) могут оставаться лидерами.
Интеграция и применение
AnyJev поддерживает три типа вопросов: choice (выбор одного из K), noul (да/нет) и score (оценка по бинам). Библиотека совместима с Hugging Face Transformers и vLLM (с поддержкой prefix caching). Установка осуществляется через PyPI:
pip install "anyjev[hf]"
Решение позволяет превратить любую открытую LLM в «калиброванную модель принятия решений» (calibrated decision model), что критично для production-задач, где важна не генерация текста, а выбор конкретного действия с понятной вероятностью ошибки.
Источник: MarkTechPost ↗
