OpenAI、大規模AI開発を支える新Gitバックエンド『Pando』を発表

OpenAI、大規模AI開発を支える新Gitバックエンド『Pando』を発表

この記事のポイント

  • OpenAIはAI開発の急増に伴うGitスケーリング問題解決のため、新バックエンドシステム『Pando』を開発しました。
  • Pandoは既存のGitプロトコルとクライアントとの互換性を維持しつつ、プッシュ遅延を約5分の1に短縮、1日あたり約1ペタバイトのデータ処理を実現しています。
  • 水平スケーラブルな書き込みと最大化された読み込みスループットを両立し、大規模なモノレポ運用におけるGitの限界を克服しました。

OpenAIは、AI開発の加速に伴い直面したGitリポジトリのスケーリング課題を解決するため、新しいGitバックエンドシステム『Pando』を開発したと発表しました。AI開発ツール『Codex』の登場により、同社のモノレポに対する要求が急増したことが背景にあります。Pandoは、既存のGitワークフローを維持しつつ、プッシュ遅延を大幅に削減し、大規模なデータ処理能力を実現しています。

OpenAIが直面したGitスケーリングの課題

OpenAIのAI開発は、特に『Codex』のようなツールの登場により、その規模とペースが飛躍的に拡大しました。これにより、エンジニアはより多くの作業を並行して進めることが可能になり、結果としてブランチ数、プッシュ回数、マージ、そして開発環境やCIからのフェッチやクローンといったGit操作が爆発的に増加しました。

この急激な需要増大に対し、従来のGitモノレポを支えるシステムは対応しきれなくなり、フェッチやプッシュの遅延、マージの失敗が頻発。信頼性は一時90%を下回るほど悪化しました。Gitは元々、Linuxカーネル開発のようにパッチをメールで交換するようなコミュニティから生まれたシステムであり、現代の大規模並行開発における要求とは乖離が生じていたのです。

従来の分散型Gitサービスパターンとその限界

Pandoの開発にあたり、OpenAIは従来のGitスケーリング手法を評価しました。主なアプローチとして、三相コミット(3PC)とライトアヘッドログ(WAL)に基づく設計が挙げられます。

三相コミット(3PC)によるアプローチ

3PCモデルでは、Gitサービスはリポジトリの完全なコピーを複数のレプリカで保持します。プッシュが発生すると、受信したパックファイルがすべてのレプリカに並行してコピーされ、リファレンス更新を公開するには過半数のレプリカが承認する必要があります。このプロセスは、コーディネーターと各レプリカ間の複数回の通信ラウンドトリップを必要とし、レプリカのディスク性能や通信遅延がプッシュパスに直接影響します。結果として、リファレンスの更新は一度に一つしか行えず、書き込み量が増えるにつれてスケーラビリティのボトルネックとなります。

ライトアヘッドログ(WAL)に基づくアプローチ

WALモデルでは、Gitサービスは共有のログを用いてリポジトリ全体の更新順序を管理します。プッシュ時にパックファイルをブロブストレージにアップロードし、リファレンス更新を記録するエントリを共有マニフェストに追加します。このマニフェストは比較交換操作によってアトミックに更新されます。書き込みは並行して行えますが、無関係なブランチへのプッシュであっても同じ共有マニフェストを更新する必要があるため、マニフェストの更新頻度が全体のボトルネックとなります。また、レプリカがブロブストレージからパックファイルを読み込み、インデックス化する作業が書き込みに追いつかない場合、クライアントは新しいコミットをフェッチするまで長く待つことになります。

Pandoが実現するGitの水平スケーリングと高速化

OpenAIが開発したPandoは、これらの従来の課題を克服するために設計されました。Pandoの目標は、多数のクライアントが同時にプッシュできる水平スケーラブルな書き込みと、クライアントが利用可能なネットワーク帯域を完全に飽和させるほどの高速な読み込みスループットを両立することです。

革新的な設計思想

Pandoは、Gitプロトコルとクライアントとの互換性を維持しつつ、バックエンドのアーキテクチャを根本的に見直しました。その主要な特徴は以下の2点です。

  • ブランチごとの独立した更新: Pandoは各ブランチへの更新を独立して調整します。これにより、無関係なブランチへのプッシュは並行して処理され、書き込みのスケーラビリティが大幅に向上します。
  • パックファイルの再利用: Gitのオブジェクト圧縮形式であるパックファイルを、クライアントごとに個別に生成するのではなく、フェッチ間で再利用します。これにより、サーバーは同じバイトデータを多くのクライアントに少ない計算負荷で提供でき、読み込みスループットが最大化されます。

導入効果

Pandoの導入により、OpenAIのモノレポにおけるGit運用は劇的に改善されました。プッシュの平均遅延は約5分の1に短縮され、現在では1日あたり約1ペタバイトものGitデータを処理しています。これは、AI開発の高速化と大規模化を支える上で不可欠なインフラとなっています。

【管理人の視点】

OpenAIのPando開発は、大規模なモノレポを運用する企業、特にAI開発のような高速なイテレーションが求められる分野において、Gitのスケーリングが重要な課題であることを明確に示しています。日本のIT企業においても、マイクロサービス化が進む一方で、特定のプロジェクトやチームでモノレポを採用するケースは増加傾向にあります。このような環境では、OpenAIが直面したようなプッシュやフェッチの遅延、信頼性の低下といった問題は他人事ではありません。

PandoがGitプロトコルとの互換性を維持しつつバックエンドを刷新した点は、既存のワークフローや開発者の慣れを大きく変えずにスケーリングを実現したい企業にとって、非常に示唆に富むアプローチと言えるでしょう。国内のGitホスティングサービス(GitHub EnterpriseやGitLabなど)もエンタープライズ向けのスケーリングソリューションを提供していますが、Pandoのようなカスタムバックエンドは、特定のワークロード(例えば、大規模な機械学習モデルのバージョン管理)に特化した最適化の可能性を示唆しています。

OpenAIがGitエコシステムへの貢献を継続する姿勢は、Pandoで得られた知見が将来的にオープンソースコミュニティ全体に還元され、日本の開発者もその恩恵を受けられる可能性があることを意味します。大規模開発におけるバージョン管理の未来を考える上で、Pandoの技術的アプローチとOpenAIの取り組みは、今後も注目に値します。

こんな人におすすめ

  • 大規模なモノレポを運用している開発チームのインフラ担当者
  • AI開発や機械学習プロジェクトでバージョン管理のスケーリングに課題を感じているエンジニア
  • Gitの内部構造や分散型バージョン管理システムの進化に関心がある技術者

まとめ

OpenAIが開発した新しいGitバックエンド『Pando』は、AI開発の急激な進展によって生じたGitスケーリングの課題に対する革新的な解決策です。既存のGitワークフローとの互換性を保ちながら、水平スケーラブルな書き込みと高速な読み込みを実現し、プッシュ遅延の大幅な削減と膨大なデータ処理能力を達成しました。OpenAIはPandoを通じてGitエコシステムへの貢献も継続しており、大規模なソフトウェア開発におけるバージョン管理の未来に大きな影響を与える可能性があります。

情報元:openai.com

合わせて読みたい  Apple Vision Pro責任者がOpenAIへ移籍:AIハードウェア市場の激化か

類似投稿

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です