В мире искусственного интеллекта, где скорость ответа модели часто является критическим фактором для бизнеса, традиционные подходы к оптимизации инференса (инференса) начинают давать сбой. Долгое время разработчики полагались на статическую настройку: вы один раз настраиваете ядра, выбираете параметры параллелизма и забываете об этом, полагая, что конфигурация останется эффективной. Однако реальность production-среды жестока: трафик меняется, паттерны запросов эволюционируют, а «заточенные» под тестовые данные ядра могут показывать совершенно иные результаты на живых пользователях. Именно на этот вызов отвечает Together AI, представив Together Compiler (TKCC) — первую в своем роде систему непрерывной компиляции, которая не просто настраивает модель, а постоянно переписывает и оптимизирует её «внутренности» с помощью AI-агентов.
Это не просто еще один инструмент для ускорения. Это смена парадигмы. Together Compiler утверждает, что оптимизация, выполненная один раз, обречена на устаревание. Поэтому процесс настройки должен быть бесконечным циклом, адаптирующимся к изменениям в реальном времени. Система уже работает на нескольких серверных эндпоинтах Together AI, и первые результаты впечатляют: до 2,6-кратного увеличения пропускной способности (TPS) по сравнению с лучшими известными конфигурациями InferenceX, причем вся настройка занимает менее 24 часов. В этой статье мы подробно разберем, как устроена эта система, почему она эффективнее ручного тюнинга и что это значит для разработчиков, работающих с большими языковыми моделями (LLM) в России и мире.
01Что такое Together Compiler и почему он нужен?
Together Compiler (TKCC) — это система непрерывной компиляции, основанная на использовании AI-агентов. Её главная задача — переписывать «прямой проход» (forward pass) модели, чтобы сделать его максимально быстрым для конкретных условий. В отличие от традиционных методов, где инженер вручную пишет код оптимизации или использует готовые инструменты вроде vLLM или TensorRT-LLM с фиксированными параметрами, TKCC действует автономно.
Система принимает на вход три ключевых элемента:
- Команду запуска сервера (server launch command).
- Профиль трафика (traffic profile) — то, как пользователи взаимодействуют с моделью.
- Конфигурацию оборудования (hardware configuration) — какие GPU или TPU используются.
На основе этих данных агенты предлагают новые варианты реализации прямого прохода. Затем «постоянный движок» (persistent engine) измеряет производительность каждого предложения. Лучший код автоматически внедряется в движок обслуживания. И самое важное: когда трафик меняется (например, пользователи начинают писать более длинные промпты), цикл запускается снова. Это создает самообучающуюся систему, которая всегда находится в состоянии оптимизации.
02Почему инференс требует непрерывной компиляции?
Чтобы понять ценность TKCC, нужно осознать, почему старые методы терпят неудачу. Команда Together AI провела исследование и выявила две фундаментальные проблемы статической оптимизации: нестабильность трафика и искажение данных.
1. Трафик никогда не стоит на месте
В production-среде паттерны запросов динамичны. Например, в одном регионе средняя длина промпта может составлять 97 тысяч токенов, а в другом — всего 70 тысяч. Более того, у одного из клиентов длина P90 (90-й перцентиль) входных данных выросла с 18 тысяч до 33 тысяч токенов всего за три дня. Если ядра были оптимизированы под 18К токенов, они будут работать неэффективно на 33К. Традиционные системы требуют ручной перенастройки, что занимает дни или недели. TKCC обнаруживает эти сдвиги и адаптируется автоматически.
2. Случайные данные обманчивы
Многие инструменты оптимизации тестируются на случайных входных данных, так как их легко генерировать. Однако реальный трафик ведет себя иначе. Исследование показало, что случайные активации активируют на 13–38% больше экспертов в моделях с мешком экспертов (MoE — Mixture of Experts), чем реальный трафик. Это приводит к ложным выводам об эффективности.
Яркий пример: агент написал ядро top-k, которое работало за 20 микросекунд на случайных данных. Но на реальных данных с контекстом 70К токенов это же ядро занимало до 62 миллисекунд. Разница в 3000 раз! Только тестирование на реальном распределении данных позволяет выявить такие узкие места. Together Compiler использует реальный трафик для валидации всех оптимизаций, что делает результаты достоверными.
03Как работает постоянный движок (Persistent Engine)?
Одной из главных инноваций TKCC является архитектура «постоянного движка». В большинстве существующих систем, использующих AI-агентов для оптимизации, каждый эксперимент требует перезапуска сервера инференса (например, vLLM, SGLang или TensorRT-LLM). Это создает огромные накладные расходы.
Команда Together AI измерила время холодного запуска для модели MiniMax M3.1 Flash на TensorRT-LLM и получила цифру в 761 секунду. Если агенту нужно проверить 100 вариантов, это означает потерю более 2 часов только на загрузку моделей, а не на саму оптимизацию. Together Compiler решает эту проблему, запуская движок один раз. Агенты отправляют кандидаты на переписывание прямого прохода через RPC (удаленный вызов процедур). Сервер подменяет указатель функции forward и повторно захватывает CUDA-графики без перезагрузки.
Двухуровневая система измерений
Для баланса между скоростью и точностью TKCC использует два уровня измерений:
- Быстрый уровень (Fast Tier): Служит для быстрой проверки 12 слоев модели. Это позволяет отбраковать заведомо плохие варианты.
- Медленный уровень (Slow Tier): Служит для подтверждения выигрыша на 60 слоях с использованием реальных распределений данных.
Такой подход позволил протестировать в 8,1 раза больше кандидатов, чем один медленный уровень (1354 против 168). Кроме того, решение находилось на 7,2% быстрее. Производительность экспериментов агентов выросла в 252 раза по сравнению с базовым уровнем, требующим перезапуска движка. Это означает, что система может проводить гораздо больше итераций оптимизации за то же время, находя более эффективные решения.
04Выбор параллелизма: как система принимает решения?
Оптимизация не ограничивается только кодом ядра. Важнейшим аспектом является выбор схемы параллелизма: тензорное (Tensor Parallelism), экспертное (Expert Parallelism), параллелизм данных (Data Parallelism) или параллелизм контекста (Context Parallelism). Неправильный выбор может свести на нет все преимущества оптимизации кода.
Together Compiler использует модель стоимости (cost model), которая ранжирует эти схемы до того, как агенты начнут писать код. Эта модель учитывает:
- Спецификации оборудования (пропускная способность памяти, вычислительная мощность).
- Микробенчмарки (результаты быстрых тестов отдельных операций).
- Измеренные прямые проходы (реальные замеры производительности).
- Балансировку экспертов MoE (насколько равномерно распределяется нагрузка между экспертами).
- Неравномерность длины запросов (разные пользователи отправляют промпты разной длины).
На модели Kimi K3 эта система нашла производственную конфигурацию, которая обеспечила до 24% более высокую TPS. Это показывает, что TKCC учитывает не только вычислительную сложность, но и инфраструктурные ограничения, такие как пропускная способность шины памяти между GPU.
05Агенты против экспертов: кто лучше?
Один из самых интригующих вопросов в области AI-оптимизации: должны ли мы полагаться на знания человеческих экспертов или довериться «сырым» AI-агентам? Результаты эксперимента Together AI оказались неожиданными.
Команда создала базу знаний, курируемую экспертами, с рекомендациями по оптимизации. Однако после 12 часов работы агенты, использующие эту базу, показали прирост скорости на 25–31% ниже, чем агенты, которым просто сказали сделать «прямой проход как можно быстрее». Более того, ансамблевые оценки (ensemble scores) у «наивных» агентов были в 6,2 раза выше, чем у экспертов (4,9x против 4,9x после 10 испытаний — здесь в источнике есть нюанс, но общий вывод ясен: сырой поиск эффективнее).
Почему так произошло? Экспертные стратегии часто ограничены текущими лучшими практиками, в то время как AI-агенты могут исследовать пространство решений более широко, находя неочевидные оптимизации. Кроме того, использование пользовательских структур логирования потребляло до 43% вызовов инструментов (tool calls), отвлекая агентов от основной задачи. В ответ команда Together AI изменила подход: теперь агенты получают не промежуточное представление (IR), а исходный код движка, что упрощает их работу и повышает эффективность.
06Бенчмарки: насколько это быстро?
Давайте посмотрим на цифры. Together Compiler был протестирован на workload от SemiAnalysis InferenceX (AgentX) на различных моделях и оборудовании. Все настройки занимали менее 24 часов и использовали не более 2 узлов на модель.
Вот результаты по пропускной способности (P90 TPS на пользователя при размере батча 1) по сравнению с лучшими конфигурациями InferenceX:
- MiniMax M3.1 Flash (B200): 1 111 TPS против 633 TPS (InferenceX). Улучшение в 1,8 раза.
- DeepSeek v4.1 Flash (GB300): 1 205 TPS против 943 TPS. Улучшение в 1,28 раза.
- GLM 5.3 (B200): 417 TPS против 329 TPS. Улучшение в 1,27 раза.
- Kimi K3 (GB300): 450 TPS против 423 TPS. Улучшение в 1,06 раза.
- GLM 5.3 (MI355X): 480 TPS против 463 TPS. Улучшение всего на 4%.
Наибольшее улучшение было достигнуто на MiniMax M3.1 Flash. Здесь модель стоимости выбрала тензорное параллелизм TP8 вместо базового TP4. Это вдвое снизило объем трафика в памяти для каждого GPU на этапе декодирования, что критично для моделей, ограниченных пропускной способностью памяти (memory-bound).
На модели Llama 1B при размере батча 1 Together Compiler превзошел базовые уровни Mirage (Hazy Research megakernels) и CUDA-graph на 1,7 раза. Кроме того, система ускорила 8 научных моделей на 1,5–6,4 раза с сохранением битовой точности (bit-exact outputs). Это доказывает, что метод применим не только к LLM, но и к другим типам нейросетей.
07Сравнение с другими системами оптимизации
Чтобы оценить место Together Compiler в ландшафте AI-инфраструктуры, сравним его с другими известными системами и бенчмарками:
| Метрика | Together Compiler | Cursor + NVIDIA (multi-agent) | AMD GEAK | Apple RSI-Inference Bench |
|---|---|---|---|---|
| Тип | Производственный цикл оптимизации | Многоагентный оптимизатор ядер | Фреймворк агентов Triton | Бенчмарк для кодовых агентов |
| Охват | Полный forward pass внутри движка | 235 отдельных CUDA ядер | Отдельные ядра Triton | 37 задач редактирования vLLM/SGLang |
| Измерение | Постоянный движок, hot reload, 2 уровня, реальный трафик | SOL-ExecBench на 27 GPU B200 | TritonBench-revised и ROCm | Верификатор строит движок и обслуживает модель |
| Железо | B200, B300, GB300, H100, MI355X, Trainium2 | B200 | AMD Instinct MI300X | H100, B200 |
| Главный результат | До 2,6x TPS vs InferenceX | 1,38x геометрическое среднее | До 2,59x ускорения | Оценивает агентов; нет единого результата |
| Бюджет времени | Менее 24 часов на настройку | 3 недели | Не раскрыто | До 8 часов на задачу |
| Доступность | Ограниченная бета для клиентов Together | Результаты в публичном репозитории | Open source | Лицензия Apple Sample Code |
Как видно из таблицы, Together Compiler выделяется своим подходом к измерению (реальный трафик, постоянный движок) и скоростью настройки (менее 24 часов против недель у конкурентов). В то время как AMD GEAK и NVIDIA multi-agent фокусируются на отдельных ядрах, TKCC оптимизирует весь процесс инференса в целом.
08Что это значит на практике?
Для разработчиков и компаний, использующих AI-модели в России и других регионах, Together Compiler открывает новые возможности. Во-первых, это снижает порог входа в высокопроизводительный инференс. Раньше для достижения максимальной скорости требовалась команда экспертов, понимающих низкоуровневую оптимизацию CUDA и архитектуры GPU. Теперь эта задача делегируется AI-агентам.
Во-вторых, непрерывная оптимизация позволяет экономить на инфраструктуре. Увеличение TPS в 2,6 раза означает, что для обработки того же объема трафика можно использовать в 2,6 раза меньше GPU. В условиях, когда спрос на AI-вычисления растет, а стоимость оборудования остается высокой, это прямая экономия средств.
В-третьих, система адаптируется к локальным особенностям. Если ваш сервис популярен в регионах с медленным интернетом, где пользователи отправляют более длинные промпты для компенсации потерь пакетов, TKCC автоматически подстроится под этот паттерн, оптимизировав ядра под длинные контексты. Это особенно актуально для рынков с нестабильной сетевой инфраструктурой.
Однако важно помнить, что система находится в стадии ограниченной беты. Для широкого внедрения потребуется интеграция с существующими пайплайнами MLOps. Тем не менее, направление, выбранное Together AI, выглядит перспективным. Будущее оптимизации AI — за автономными системами, которые учатся, адаптируются и оптимизируются без участия человека.
09Заключение
Together Compiler — это не просто еще один инструмент в арсенале разработчика. Это шаг к автономной инфраструктуре, где оптимизация становится непрерывным процессом, а не разовой задачей. Используя AI-агентов, постоянные движки и реальный трафик, Together AI демонстрирует, что можно достичь значительного прироста производительности (до 2,6x) за короткое время. Для индустрии это сигнал: статическая оптимизация уходит в прошлое. Пришло время для динамических, самообучающихся систем, которые растут вместе с вашим продуктом.
Следите за развитием проекта. Если вы работаете с LLM и хотите максимизировать эффективность своих GPU, идеи, заложенные в Together Compiler, стоит взять на вооружение, даже если вы пока не используете саму платформу. Понимание принципов непрерывной компиляции и важности тестирования на реальном трафике уже сейчас может дать вам конкурентное преимущество.
Источник: MarkTechPost ↗