Переход к основному контенту
OpenAI

Как GPT‑5.6 сочетает передовые интеллект и эффективность

Загрузка…

Мы разработали семейство моделей GPT‑5.6 так, чтобы обеспечить оптимальное соотношение возможностей и стоимости для всего спектра задач, в которых люди используют наши модели. Наша флагманская модель GPT‑5.6 Sol с уровнем рассуждений Max превосходит Claude Fable 5 в рейтинге Artificial Analysis Coding Agent Index, обходясь при этом более чем вдвое дешевле. Terra при вдвое меньшей цене показывает на тестах интеллекта результаты уровня GPT‑5.5, а Luna — наша самая быстрая и доступная модель, стоимость которой на 80% ниже стоимости Sol. Чтобы достичь такой эффективности, наши исследовательские и технические команды провели значительную оптимизацию на каждом основном уровне стека. Улучшения охватывают наши модели, инференс — процесс запуска моделей для генерации вывода — и агентскую обвязку, которую используют Codex и режим «Работа» в ChatGPT.

За последние четыре года наши модели охватили 1 миллиард активных пользователей и более 2 миллионов компаний, и эффективность оставалась ключом к тому, чтобы сделать преимущества интеллекта доступными всем. Наша миссия — сделать так, чтобы общий искусственный интеллект приносил пользу всему человечеству. Все эти годы мы непрерывно искали новые возможности оптимизации на всех уровнях стека, чтобы предлагать наиболее производительные модели в каждой точке кривой «стоимость — интеллект». С GPT‑5.6 мы достигли максимальной на сегодня эффективности интеллекта на токен: модель обучена выполнять больше работы на каждый токен. При обучении мы оптимизируем как успешность выполнения задач, так и эффективность, помогая модели находить более прямой путь к решению.

В этой публикации мы выйдем за рамки самих моделей и расскажем, как повысили эффективность благодаря достижениям в двух других ключевых частях стека: 1) инференсе — оптимизировав балансировку нагрузки, спекулятивное декодирование, кеширование и ядра, чтобы получать больше результатов на том же оборудовании; 2) агентской обвязке — улучшив управление разрастанием контекста, использованием инструментов и повторяющейся работой. Мы также расскажем, как GPT‑5.6 Sol автономно помогла добиться нескольких из этих улучшений. Каждое отдельное улучшение может казаться небольшим, но вместе они позволяют нам оставаться на переднем крае как интеллекта, так и эффективности.

Схема эффективности GPT-5.6 в агентской обвязке, оркестрации API и инференсе модели: меньше сетевых данных и работы CPU, больше результатов от GPU.

Ускорение инференса с GPT‑5.6 Sol

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

Для этого необходимо оптимизировать всю систему. Модель может быть очень эффективной сама по себе, но дорогой в обслуживании из-за неудачного распределения запросов, простоя оборудования или замедляющего вычисления перемещения данных. Улучшения на каждом уровне усиливают друг друга. Прирост обеспечивают оптимизация маршрутизации (куда направляются запросы), планирования (когда они отправляются), ядер (ПО, выполняемого на GPU), кеширования (сохранение и повторное использование результатов) и реализации модели (порядок выполнения кода на GPU). GPT‑5.6 Sol в Codex сыграла ключевую роль во всех этих оптимизациях.

Первый важный пример — балансировка нагрузки. На глобальном уровне мы маршрутизируем запросы с учетом таких факторов, как географическое положение, доступные мощности и тип ускорителя — GPU или специализированного чипа, на котором работает модель. Внутри кластера мы распределяем работу между экземплярами модели с учетом нагрузки, длины контекста, доступности кеша и других свойств запроса. Затем внутри каждого экземпляра работу необходимо эффективно распределить между ускорителями, подсетями модели и вычислительными ядрами. GPT‑5.6 Sol в Codex помогает анализировать рабочий трафик, выявлять ранее незамеченные источники дисбаланса, тестировать новые стратегии маршрутизации и постоянно настраивать эти эвристики. Одни только эти улучшения балансировки нагрузки значительно снизили стоимость обслуживания наших моделей.

Мы также использовали GPT‑5.6 Sol для оптимизации прямого прохода модели — вычисления, преобразующего входные данные в прогнозы следующего токена. Даже при быстром выполнении отдельных операций избыточное перемещение данных в памяти, синхронизация и неэффективное размещение данных могут приводить к простою GPU. Чтобы этого избежать, GPT‑5.6 Sol нашла операции, которые можно было предварительно вычислить, исключить или распараллелить. С помощью Codex модель GPT‑5.6 Sol автономно переписала и оптимизировала наши рабочие ядра — основной код, выполняющий математические операции, из которых состоит модель. Это стало возможным в том числе благодаря тому, что мы обучили GPT‑5.6 эффективно создавать и улучшать ядра на Triton(открывается в новом окне) и Gluon(открывается в новом окне) — двух языках программирования GPU с открытым исходным кодом, поддерживаемых OpenAI. В совокупности с более масштабными улучшениями ядер, внесенными GPT‑5.6 Sol, эта работа снизила совокупную стоимость обслуживания на 20%. Мы также значительно вложились в инструменты проверки, например в инструмент с открытым исходным кодом FpSan(открывается в новом окне) (санитайзер вычислений с плавающей запятой), который помогает проверять корректность ядер, написанных GPT‑5.6 Sol.

Еще один способ повысить скорость и эффективность — спекулятивное декодирование. При этом вместе с основной моделью запускается меньшая черновая модель, или «спекулятор», которая предлагает несколько токенов для параллельной проверки основной моделью. Если предложения принимаются, система может создать несколько выходных токенов за один проход основной модели, сократив объем дорогостоящих последовательных вычислений. GPT‑5.6 Sol улучшила собственную черновую модель, разработав и проведя сотни экспериментов с ее архитектурой и проверив изменения размера, структуры и функций. Кроме того, GPT‑5.6 Sol запустила и контролировала обучение спекулятора, автономно вмешиваясь при возникновении проблем, включая сбои оборудования и нестабильность обучения. Полученные улучшения повысили эффективность генерации токенов более чем на 15%.

При обработке некешированных входных токенов модель создает кеш ключей и значений (KV) за один ресурсоемкий проход, а при генерации вывода многократно читает и расширяет этот кеш. Оптимальная конфигурация обслуживания — пакетная обработка, сегментирование и управление KV — сильно зависит от нагрузки: длины промпта и вывода, размера пакета, коэффициента попаданий в кеш, характеристик запросов и других факторов. Однако пространство конфигураций прежде было слишком велико для систематической настройки, поэтому инженерам приходилось полагаться на общие эвристики. Благодаря GPT‑5.6 Sol в Codex мы смогли анализировать рабочие нагрузки, создавать и оценивать варианты конфигураций и предельно точно настраивать движок и модель для каждого сценария. Это делает возможным новый уровень оптимизации под конкретные нагрузки и позволяет получать больше полезных результатов инференса на том же оборудовании.

Оптимизация инференса — непрерывный цикл обратной связи. Мы измеряем поведение рабочей системы, выявляем крупнейшие пробелы, вносим изменения и проверяем, улучшают ли они всю систему, а не только отдельный тест. GPT‑5.6 Sol и Codex ускоряют каждый этап этого цикла. Благодаря этому наша команда может исследовать больше идей, быстрее реагировать на изменение нагрузок и создавать стек инференса с меньшей задержкой, большей пропускной способностью и более низкими затратами для пользователей.

Как наша агентская обвязка оптимизирует повторяющиеся операции

Режим «Работа» в ChatGPT и Codex выполняют сложные задачи с помощью серии запросов к модели и вызовов инструментов. За один ход — от запроса пользователя до окончательного ответа — Codex может изучить исходный код, найти историю развертываний, прочитать отчеты об инцидентах, изменить файл и запустить тесты. Каждый шаг может требовать отдельного запроса.

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

Пользовательская задача поступает в модель, которая может вызвать инструмент, получить результат и снова принять решение — и так несколько раз до завершения задачи.

Один запрос пользователя может включать множество итераций модели и инструментов. Любые затраты внутри повторяющейся области могут возникать многократно.

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

Не допускайте разрастания контекста

По мере того как агенты получают доступ к большему числу инструментов, навыков, плагинов и истории диалогов, контекстные окна могут быстро расширяться. Это повышает затраты, отвлекает модель и провоцирует ненужные рассуждения. Обвязка может сократить эти издержки за счет отложенного обнаружения: интеграции, пользовательские инструменты MCP, навыки и плагины становятся доступными только при необходимости. Обвязка также не позволяет отдельным инструментам и интеграциям MCP неожиданно занимать контекстное окно. По умолчанию объем вывода инструмента ограничен 10 000 токенов, если модель не запросит другой лимит.

Сохраняйте точные префиксы для кеширования промптов

Как уже отмечалось, за один ход цикл агента может несколько раз отправлять на GPU одни и те же инструкции, историю диалога, определения инструментов и предыдущие результаты. Обработка таких повторяющихся входных данных обходится дорого, поэтому кеширование промптов позволяет повторно использовать вычисления, выполненные для ранее обработанного префикса промпта. Чтобы сохранить этот префикс, обвязка рассматривает всю доступную модели историю как данные, допускающие только добавление: новые сообщения, результаты работы инструментов и обновления среды добавляются в конец, а не вставляются в предыдущий контекст. Инструменты также предоставляются в детерминированном порядке, а параметры среды выполнения, например политики подтверждения, применяются во время исполнения, а не встраиваются в определения инструментов. Благодаря такому подходу Codex и режим «Работа» в ChatGPT достигают высокого общего коэффициента попаданий в кеш промптов.

Три запроса: сравнение объема данных, отправляемых по постоянному соединению, растущего контекста, доступного модели, и префикса, пригодного для повторного использования из кеша.

Инкрементальная передача меняет объем данных, проходящих по сети, а кеширование промпта — объем вычислений, которых модель может избежать. Ширина указана условно; дополнительный уровень сжатия не показан.

Эффективность на всей шкале интеллекта

Повышение эффективности, достигнутое нами с GPT‑5.6, стало результатом многолетних накопительных улучшений всех уровней стека — от исследований и инференса до нашей агентской обвязки. Роль GPT‑5.6 в реализации многих из этих улучшений позволяет нам с оптимизмом ожидать дальнейшего ускорения темпов оптимизации. Мы продолжим углублять оптимизацию ядер и других областей наряду с фундаментальными улучшениями нашего стека. Мы намерены и дальше передавать пользователям и заказчикам результаты этих внутренних улучшений, делая эффективный по стоимости интеллект доступнее.

Особая благодарность сотрудникам технического отдела Мэтью Феррари, Филиппу Тилле, Ахмеду Ибрагиму, Джо Гершенсону и Стиву Коффи за вклад в эту публикацию.

Автор

Matthew Ferrari, Phil Tillet, Ahmed Ibrahim, Joe Gershenson, Steve Coffey