Масштабирование платформы Habitat: опыт OpenAI в обслуживании миллиарда пользователей

OpenAI рассказала об эволюции своей системы хранения данных Habitat, которая выросла из простой библиотеки на Python в распределенную платформу, обрабатывающую 70 миллионов запросов в секунду.

Обновлено:
2 мин чтения
Масштабирование платформы Habitat: опыт OpenAI в обслуживании миллиарда пользователей

Суть

Компания OpenAI раскрыла технические детали масштабирования своей внутренней платформы хранения данных Habitat. Эта система отвечает за быстрый и надежный доступ к информации для всех продуктов компании, включая ChatGPT. На сегодняшний день Habitat обрабатывает более 70 миллионов запросов каждую секунду и хранит более 500 петабайт данных, обслуживая свыше миллиарда пользователей еженедельно. Переход от локального решения к глобальному сервису стал ключевым фактором в поддержании стабильности при беспрецедентном росте аудитории.

Контекст

Jalapeño inference — Art Card

Jalapeño inference — Art Card

Два года назад Habitat представлял собой простую клиентскую библиотеку на языке Python, подключенную к единой базе данных Azure Cosmos DB. Основная идея заключалась в том, чтобы разработчики продуктов не думали об управлении базами данных. Библиотека брала на себя маршрутизацию, авторизацию, шифрование и формирование запросов. Это решение быстро стало популярным внутри компании, так как позволяло командам сосредоточиться на создании новых функций, а не на инфраструктуре.

Детали

Со временем использование клиентской библиотеки стало проблемой. По мере роста количества микросервисов внутри OpenAI, обновление библиотеки превратилось в сложную задачу. Внесение изменений, таких как добавление регионального шардирования для снижения риска сбоев, требовало координации десятков команд и занимало дни. Любая ошибка или откат версии одной из команд могли привести к глобальному сбою.

Чтобы решить эту проблему, инженеры выделили Habitat в отдельный централизованный сервис. Это дало единую точку контроля для развертывания обновлений, мониторинга и обеспечения безопасности данных. Интересно, что команда решила оставить сервис на языке Python, несмотря на его неэффективность для высоконагруженных сетевых задач (I/O) и проблемы с глобальной блокировкой интерпретатора (GIL). Задержки планировщика asyncio часто становились причиной медленного ответа системы при высоких нагрузках.

Continuous voice interaction with GPT Live - art card

Continuous voice interaction with GPT Live - art card

Анализ

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

Перспектива

Инженеры OpenAI сделали необычную ставку: они предположили, что к моменту, когда ограничения Python станут критическими и потребуется полное переписывание системы, их собственные большие языковые модели (LLM), такие как Codex и новые версии GPT, достигнут уровня, позволяющего автоматизировать этот процесс. Этот расчет оправдался. В будущем компания планирует рассказать о том, как именно они оптимизировали производительность чтения и масштабировали партнерство с инфраструктурой Azure для поддержки дальнейшего роста.

GPT-5.6 efficiency article — art card

GPT-5.6 efficiency article — art card

TL;DR

Главное

Выделение логики работы с данными из клиентской библиотеки в отдельный микросервис позволило OpenAI взять под контроль обновления и справиться с ростом нагрузки до 70 млн запросов в секунду.

Ключевые факты

  • /Платформа Habitat обрабатывает 70+ млн запросов в секунду.
  • /Объем хранимых данных превышает 500 петабайт.
  • /Аудитория продуктов OpenAI составляет более 1 млрд пользователей в неделю.

Инсайт

OpenAI сознательно оставила высоконагруженный сервис на медленном Python, сделав ставку на то, что их будущие нейросети помогут быстро переписать код на другой язык, когда это станет необходимым.

Источник:Openai

Читайте также

Гайды по теме