Витягування лог-імовірностей LLM для класифікації тексту та зображень в один токен
Обмеження мультимодальної моделі генерацією одного токена з одночасним зчитуванням лог-імовірностей дозволяє створити швидку класифікацію без галюцинацій. Тести демонструють швидкість 1.0 FPS для трьох візуальних запитань на локальній Gemma 4 12B на базі RTX 3090.

Вплив: Середній
Чому це важливо
Ви можете ліквідувати затримку генерації тексту та помилки парсингу JSON, перетворивши будь-яку зорову чи текстову LLM на калібрований класифікатор.
TL;DR
- 01Обмежуйте відповіді моделі одним символом варіанта вибору, щоб звести затримку декодування до нуля.
- 02Зчитуйте лог-імовірності з API Chat Completions або Responses для отримання чесних імовірнісних оцінок.
- 03Повторно використовуйте KV-кеш для серії однотокенних запитань до одного й того самого зображення або тексту.
Ключові факти
- Локальна швидкість (RTX 3090)
- ~1.0 FPS (3 запитання на кадр)
- Швидкість OpenAI gpt-6-luna
- ~0.2 FPS
- Розмір ваг моделі
- ~7 ГБ (Gemma 4 12B QAT) + 175 МБ проектор
- Вихідних токенів на відповідь
- 1 токен
Ліквідація затримок генерації тексту
Стандартні пайплайни класифікації змушують модель формувати повні речення або валідний JSON, що спричиняє галюцинації, збої парсингу та зайві затримки. Запитуючи у моделі виключно одну літеру варіанта вибору (A, B, C тощо) та витягуючи лог-імовірності токенів, можна розрахувати калібрований розподіл впевненості за один крок інференсу.
# Отримання top_logprobs для однотокенного вибору
prompt = f"State:\n{state}\n\nQuestion: {question}\nOptions:\n{options_block}\nAnswer with the letter of the best option only."Тести Gemma 4 12B на RTX 3090
Патерн протестовано на потоці з вебкамери за допомогою llama.cpp та квантованої моделі Gemma 4 12B QAT (~7 ГБ ваги моделі та ~175 МБ мультимодальний проектор) на відеокарті Nvidia RTX 3090:
- Локальна продуктивність: Досягнуто ~1.0 кадр/с за одночасної оцінки трьох критеріїв на кадр (людина в кадрі, локація, яскравість).
- Хмарний запуск: Запит до OpenAI
gpt-6-lunaзабезпечив лише ~0.2 кадр/с через мережеві затримки на кожне запитання. - Кешування префіксів: Багаторазове опитування того самого зображення утилізує спільний KV-кеш, мінімізуючи обчислювальні витрати.
Відмінності API та нормалізація
Підключення локальних і хмарних ендпоінтів має нюанси. У llama.cpp лог-імовірності отримуються через Chat Completions (top_logprobs), тоді як в OpenAI потрібен ендпоінт Responses із прапорцем include: ["message.output_text.logprobs"]. Отримані значення нормалізуються експоненційним перетворенням у реальні ймовірності.
Спробуй за 2 хвилини
# Fetch Gemma 4 12B QAT model and multimodal projector
curl -fL -o gemma-4-12b-it-qat-q4_0.gguf https://huggingface.co/google/gemma-4-12B-it-qat-q4_0-gguf/resolve/main/gemma-4-12b-it-qat-q4_0.gguf
curl -fL -o mmproj-gemma-4-12b-it-qat-q4_0.gguf https://huggingface.co/google/gemma-4-12B-it-qat-q4_0-gguf/resolve/main/mmproj-gemma-4-12b-it-qat-q4_0.gguf
llama-server -m gemma-4-12b-it-qat-q4_0.gguf --mmproj mmproj-gemma-4-12b-it-qat-q4_0.gguf --port 8060bash
✓ Коли використовувати
- Zero-shot класифікація зображень і документів, де список категорій динамічно змінюється текстом.
- Локальні або прикордонні системи, де потрібні жорсткі ліміти затримок і нульовий ризик галюцинацій.
✕ Коли НЕ варто
- Генерація відкритих текстових відповідей чи складних багатоетапних міркувань.
- Відеопотоки з високим FPS (>30), де обов'язковими є спеціалізовані моделі класу YOLO чи легкі CNN.
Що зробити сьогодні
- Завантажте Gemma 4 12B QAT у форматі GGUF та запустіть llama-server із підтримкою мультимодального проектора.
- Замініть складні JSON-промпти для класифікації на запитання з вибором однієї літери.
- Реалізуйте функцію нормалізації лог-імовірностей для обчислення точних відсотків впевненості моделі.
Що каже спільнота
“providers could subsidize the cost of cached input tokens to virtually zero if they would allow for a more flexible API... Most of the cost is the infrastructure around keeping KV caches”
“I've created a Jev wrapper so that it can work via any OpenAI-compatible endpoints”
Джерела