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

Разработчик на r/LocalLLaMA подробно описал методологию получения согласованных результатов бенчмарков при сравнении локальных LLM с облачными API, решая распространённую проблему некорректных сравнений из-за разной задержки, методов оценки и подходов.
Основная проблема бенчмаркинга
Наивные сравнения, которые отправляют запросы и локальным, и облачным моделям, измеряют разные вещи. Облачные API включают очереди, балансировку нагрузки и маршрутизацию. Локальные модели включают прогрев, пакетную обработку и конкуренцию за GPU. Реализованное решение — использовать только последовательные запросы. Хотя это медленнее — бенчмарк из 60 вызовов занимает ~3 минуты вместо 45 секунд — это гарантирует, что каждое измерение чистое, изолируя время вывода от времени ожидания в очереди.
Настройка измерений
Настройка использует ZenMux в качестве единой конечной точки, предоставляя один базовый URL для четырёх моделей: GPT-5.4, Claude Sonnet 4.6, Gemini 3.1 Pro и локальной квантованной Llama 4. Подход работает с любой конечной точкой, совместимой с OpenAI, например:
- сервер llama.cpp:
curl http://localhost:8080/v1/chat/completions ... - vLLM:
curl http://localhost:8000/v1/chat/completions ... - Ollama:
curl http://localhost:11434/v1/chat/completions ...
Ключевой момент — использование одного и того же клиентского кода, настроек таймаута и логики повторных попыток для всего.
Как работает измерение
Система структурирована в пять модулей: YAML Config → BenchRunner → AIClient → Analyzer → Reporter.
Конфигурация YAML определяет задачи и модели. Пример:
suite: coding-benchmark
models:
- gpt-5.4
- claude-sonnet-4.6
- gemini-3.1-pro
- llama-4
runs_per_model: 3
tasks:
- name: fizzbuzz
prompt: "Write a Python function that prints FizzBuzz for numbers 1-100"
- name: refactor-suggestion
prompt: "Given this code, suggest improvements:\n\ndef calc(x):\n if x == 0: return 0\n if x == 1: return 1\n return calc(x-1) + calc(x-2)"BenchRunner берёт декартово произведение задач × моделей × запусков и вызывает API последовательно, записывая задержку, токены промпта и токены завершения.
Часть с оценкой
Оценка качества основана на правилах, а не на LLM-судье, чтобы избежать предвзятости в пользу самих себя и обеспечить воспроизводимость. Функция _quality_score использует три сигнала:
- Длина ответа: 50–3000 символов даёт 4.0 балла, короче — 1.0, длиннее — 3.0.
- Форматирование: Наличие маркированных списков добавляет до 3.0 баллов.
- Наличие кода: Обнаружение блоков кода или определений функций добавляет 2.0 балла.
Максимальный балл — 9.0. Это надёжно отделяет «хороший структурированный ответ» от «мусора/пустого/галлюцинаций» для относительного ранжирования. Для задержки также рассчитывается 95-й процентиль времени ответа (P95).
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

Контрактное тестирование для разработки на основе искусственного интеллекта с использованием OpenClaw
Контрактное тестирование может заменить интеграционные/E2E-тесты при использовании ИИ-агентов, таких как OpenClaw, фокусируясь на интерфейсах и инвариантах между компонентами. ИИ генерирует код для удовлетворения детерминированных контрактов, создавая быструю обратную связь для ускорения итераций.

Управленческая структура для эффективного руководства агентами искусственного интеллекта
Бывший ведущий backend-разработчик отмечает стагнацию продуктивности ИИ-агентов и предлагает фреймворк, основанный на трёх дисциплинах: кибернетике, теории информации и менеджменте. Фреймворк детализирует два операционных режима: Капитан и Архитектор.

Четыре специфичных для архитектуры aarch64 режима сбоя при запуске vLLM на Blackwell GB10 с CUDA 13.0
Разработчик столкнулся с четырьмя конкретными типами сбоев при настройке vLLM v0.7.1 с DeepSeek-R1-32B на системе Blackwell GB10 с архитектурой aarch64 и CUDA 13.0, включая несоответствия ABI и отсутствующие зависимости.

Исправление для запуска OpenClaw на Android через proot Ubuntu: Перехват networkInterfaces() для устранения ошибки uv_interface_addresses 13
Разработчик делится исправлением для запуска OpenClaw 2026.3.13 на Android 16 через Termux и proot Ubuntu 25.10, где приложение вылетает с ошибкой 'uv_interface_addresses returned Unknown system error 13'. Решение — скрипт-перехватчик на JavaScript, который переопределяет os.networkInterfaces().