Журнал · Rit.work

InferOpt заменяет ручные эвристики поиском конфигурации инференса

InferOpt подбирает настройки KV-кэша и маршрутизации MoE по слоям, чтобы найти несколько рабочих компромиссов между качеством модели и расходом ресурсов.

Rit.work
Студия разработки
7 октября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Конфигурацию инференса LLM научились подбирать по слоям автоматически, одновременно удерживая качество и расход ресурсов. В препринте Huawei, который не проходил рецензирование, а числа в нём получили сами авторы, InferOpt при том же бюджете KV-кэша улучшил качество относительно равномерной настройки на величину до 6,13 балла. Для платформенных команд это превращает настройку сжатия и маршрутизации из набора отдельных эвристик в одну задачу поиска.

Как поиск отделили от механизма ускорения

InferOpt рассматривает конфигурацию как набор переменных по слоям. Для KV-кэша переменная задаёт, какую долю прошлых ключей и значений сохранить в каждом слое. Для маршрутизации MoE она определяет, сколько экспертов активировать.

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

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

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

Подход проверили в непрерывном пространстве из 28 переменных для Qwen2.5-7B-Instruct и в дискретном пространстве из 26 переменных для DeepSeek-V2-Lite-Chat. Первая проверка использовала LongBench и 1050 отложенных примеров, вторая — MMLU, GSM8K и BBH с 768 примерами. Все запуски выполняли на одном GPU, а InferOpt сравнивали с Random Search, NSGA-II и MOTPE при одинаковых границах поиска.

Неравномерный бюджет по слоям оказался полезнее равномерного

В опыте с KV-кэшем все сжатые конфигурации уступили полной по качеству, но способ распределить память между слоями влиял сильнее, чем правило выбора сохраняемых блоков. При одинаковом среднем бюджете найденная конфигурация оставляла одним слоям больше памяти, а другим меньше. Замена самого правила отбора давала меньший эффект.

На контексте 16K выбранная конфигурация сократила объём KV-кэша на 64,4%, а время генерации одного токена — до 48,5%. Это уже замеры работы модели, а не расчётный показатель, которым оптимизатор руководствовался во время поиска. Тем самым работа показывает, что дешёвая формула расхода может направлять поиск, если финальные варианты затем измеряют в реальной системе.

Для DeepSeek-V2-Lite-Chat поиск сохранил больше экспертов в ранних слоях и сильнее сократил их число в поздних. Такая схема уменьшила число назначений токенов экспертам на 43%, оставшись в пределах 0,59 балла от штатной конфигурации. Два варианта с тем же бюджетом распределяли экспертов равномерно или по энтропии и дали худшее качество, хотя эти проверки составили уже после того, как нашли выигравшую схему.

Когда InferOpt меняет план внедрения

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

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

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

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

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу