生成式AIの急速な進化に伴い、企業は自社データを基盤とした問答サービスの構築を模索しています。本記事では、私有データを活用した拡張生成(RAG)サービスの設計と実裝に焦點を當て、Kubernetesを基盤としたスケーラブルなインフラストラクチャ、動的リソース管理、可観測性の実現方法を解説します。特に、クラスター自動拡縮、CNCF(Cloud Native Computing Foundation)の技術スタック、多クラスター艦隊管理器の活用が重要な役割を果たします。
生成式AIインフラストラクチャは、大規模言語モデル(LLM)の運用に必要な計算リソース、クラスター管理、データ処理を統合した環境を指します。Kubernetesは、コンテナ管理プラットフォームとして、アプリケーションのデプロイ、スケーリング、監視を自動化するためのオープンソースのオーケストレーションツールです。Cluster Autoscalerは、クラスター內のリソース使用狀況に応じて自動的にノードを追加または削除する機能を提供し、コスト効率と可用性を両立させます。CNCFは、クラウドネイティブ技術の標準化と普及を推進するコミュニティで、Kubernetesを含む主要な技術を提供しています。多クラスター艦隊管理器は、複數のクラスターを統合管理し、一貫したポリシーを適用するためのツールです。
Kubernetesを基盤としたインフラストラクチャは、GPUとCPUの混在型インスタンス(例:AWS EKS)を用いて、計算リソースを動的に調整します。自研のLunaクラスター自動拡縮器とCarpenterなどのオープンソースツールを組み合わせることで、ピーク負荷時に4kから4GPUへの迅速な拡張が可能になります。これにより、コスト効率と可用性のバランスを取ることが可能です。
Phoenixというオープンソースの自動儀表化ツールを導入し、入力/出力トークン數、推論時間、RAGが選択したデータフラグメントなどの指標を可視化します。この監視により、モデルパラメータの最適化(例:コンテキスト長、KVキャッシュ、テンソル並列)が可能となり、推論性能の向上が実現されます。
Microsoftの53BパラメータモデルとAON LabsのRubra AIによるファインチューニングモデルを採用し、ツール呼び出し(Function Calling)をサポートします。私有データはRAGプロキシとベクターデータベース(Vector DB)を用いて処理され、構造化データはSQLプロキシとSQLデータベースで処理されます。問題のルーティングには、JiraやZendeskなどの內部データセットを用いたランダムフォレスト分類器が使用されます。
実際のデータはAIパイプラインのテストとチューニングに不可欠です。データクリーニングやRAGパイプラインのメタデータ選択、SQLフィールドの重要性分析に多くの時間を費やす必要があります。合成データは、実際のユーザーが提供する問題例が不足する場合に、97%のルーティング精度を達成するための代替手段として活用されます。
Pythonが主な実裝言語として選ばれ、データ処理やモデルチューニングに豊富なライブラリとツールチェーンを提供するためです。初期にはGo技術スタックを検討しましたが、生成式AI分野のモジュールニーズに応じてPythonに切り替えることになりました。
LLMをブラックボックスとみなさず、モデルごとにパラメータを最適化する必要があります。KVキャッシュ、コンテキスト長、テンソルパイプライン並列などの調整により、推論効率を向上させます。ローカルテスト(例:OLAMLモデル)はワークフローの検証に有用ですが、最終モデルでの早期テストが重要です。
本記事では、自社データを活用したRAGサービスの設計と実裝に必要な生成式AIインフラストラクチャの要素を解説しました。Kubernetesを基盤としたスケーラブルなクラスター管理、動的リソース調整、可観測性の実現が鍵となります。実裝においては、Pythonとオープンソースツールの活用、モデルチューニングの徹底、データ品質の確保が重要です。今後は、CNCFの技術スタックや多クラスター艦隊管理器の統合により、さらなる拡張性と信頼性を追求していく必要があります。