Суть
Компания OpenAI раскрыла технические детали масштабирования своей внутренней платформы хранения данных Habitat. Эта система отвечает за быстрый и надежный доступ к информации для всех продуктов компании, включая ChatGPT. На сегодняшний день Habitat обрабатывает более 70 миллионов запросов каждую секунду и хранит более 500 петабайт данных, обслуживая свыше миллиарда пользователей еженедельно. Переход от локального решения к глобальному сервису стал ключевым фактором в поддержании стабильности при беспрецедентном росте аудитории.
Контекст
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
Анализ
Решение сохранить Python было осознанным принятием технического долга. Главной целью инженеров на тот момент была стабильность платформы и разблокировка продуктовой разработки, а не оптимизация ресурсов. Переписывание системы на более быстрый язык заняло бы слишком много времени. Выделив логику в отдельный сервис, компания создала надежный фундамент, пожертвовав частью вычислительной мощности ради скорости внедрения архитектурных изменений.
Перспектива
Инженеры OpenAI сделали необычную ставку: они предположили, что к моменту, когда ограничения Python станут критическими и потребуется полное переписывание системы, их собственные большие языковые модели (LLM), такие как Codex и новые версии GPT, достигнут уровня, позволяющего автоматизировать этот процесс. Этот расчет оправдался. В будущем компания планирует рассказать о том, как именно они оптимизировали производительность чтения и масштабировали партнерство с инфраструктурой Azure для поддержки дальнейшего роста.