re:Invent 2024: RobinhoodのAWS Bedrock活用LLM推論プラットフォーム構築
はじめに
海外の様々な講演を日本語記事に書き起こすことで、隠れた良質な情報をもっと身近なものに。そんなコンセプトで進める本企画で今回取り上げるプレゼンテーションはこちら!
📖 AWS re:Invent 2024 - Scaling secure large language models with Robinhood (FSI317)
この動画では、RobinhoodがAWS Bedrockを活用してLLM推論プラットフォームを構築した事例を紹介しています。不正調査業務の効率化のためにClaude Sonnetモデルを導入し、Provisioned Throughput Modeの課題を克服するためにOn-demand APIへと移行した経緯を詳しく解説しています。また、PII削減サービスやフォールバックメカニズムを備えたLLM Gatewayの構築により、セキュリティとスケーラビリティを両立させた点が特徴的です。さらに、クロスリージョン推論による容量の2倍化や、複数のSDKとの互換性確保など、実用的な工夫が随所に盛り込まれています。2025年に向けた展望として、AIデータガバナンスの一元化やPrompt Playgroundの提供なども計画されています。
※ 画像をクリックすると、動画中の該当シーンに遷移します。
re:Invent 2024関連の書き起こし記事については、こちらのSpreadsheet に情報をまとめています。合わせてご確認ください!
本編
Robinhoodのミッションと大規模言語モデル活用の概要
セッションへようこそ。これからRobinhoodと共に、Large Language Modelを信頼性高くセキュアにスケールさせる方法について掘り下げていきたいと思います。私はAWSのSolutions ArchitectのTrevor Spiersです。過去6ヶ月間、RobinhoodがBedrockでLLM推論プラットフォームを構築するのをサポートしてきました。本日は、彼らの取り組みの過程や様々な設計の試行錯誤、そしてアーキテクチャやLLM Gateway、さらに推論を安全にスケールさせるために構築したツールについてお話しします。
こんにちは、RobinhoodのMachine Learning EngineerのDollyです。本日は、RobinhoodのAIプラットフォームがスケーラビリティとセキュリティの主要な課題にどのように対応し、最先端のユースケースを実現しているかをご紹介します。まずプラットフォームのミッションと、それを形作った設計上の判断についてお話しし、柔軟性とコントロールを提供するLLM Gatewayの役割について探っていきます。最後に、インフラのスケーリングと強化を続けていく中での2025年に向けた目標を共有させていただきます。
Robinhoodをご存じない方のために説明させていただきますと、Robinhoodは2013年に手数料無料の取引を先駆けて実現しました。クラウドサービス上で完全にホストされた初めての証券会社です。証券取引、暗号資産、ジョイントアカウント、先物取引、クレジットカード、支出カードなどのサービスを提供しています。私たちのミッションは、最も直感的なユーザー体験を通じて、すべての人のための金融の民主化を実現することです。RobinhoodのAIとMLプラットフォームのミッションは、開発者に強力なAIとML抽象化を提供しながら、パワーユーザーには高度なツールをサポートすることです。実験から本番環境への移行をスムーズにし、オープンソース、クローズドソース、自社開発を問わず、最先端のGen AI技術の迅速な導入を可能にすることに注力しています。
LLM Gatewayの実装と将来の展望:Robinhoodの事例から学ぶ
現在、私たちのプラットフォームは、不正調査、文書処理、エージェントワークフロー、データ分析、テキストからSQLへの変換、チャットアプリケーション、マーケティング向けコンテンツ生成など、様々な重要なユースケースを支えています。不正調査のユースケースについて詳しく見てみましょう。80人以上の不正調査担当者が毎日300件以上のケース結論を手作業で作成しています。このナラティブの一貫性を確保し、高品質を維持することは常に課題でした。不正調査担当者は不正管理ダッシュボードを使用して、メモを取り、調査結果をまとめ、最終的に長く複雑な解決フォームに記入します。以前は、調査結果に基づいて全てのナラティブを手作業で書く必要があり、30分から1時間以上かかることもありました。
私たちは、AWS BedrockのProvisioned Throughput Modeを活用し、Claude Sonnetモデルを使用したソリューションを導入しました。このモデルは、生のメモやフォームの重要な詳細を取り込み、数秒で構造化された結論の下書きに変換します。この機能の誤用を防ぐため、いくつかの安全対策を実装しました - ナラティブ生成ボタンはフォームに変更が加えられた時のみ有効になり、エージェントは1回のブラウザセッションで2回までしかクリックできません。生成されたナラティブはプロセスを効率化しますが、正確性と完全性を確保するため、エージェントには手動での改善を推奨しています。また、エージェントが生成結果を1から5の段階で評価できるフィードバックループを追加し、オフラインでパフォーマンスを分析し、改善点を特定できるようにしています。
しかし、このユースケースには独特の課題があります。Promptは1リクエストあたり15,000トークンを超えることがあり、午前9時のようなピーク時には複数のAgentが同時に作業するため、しばしば重み制限に達してしまいます。この高需要は、私たちの初期のLLM推論アプローチの限界を浮き彫りにしました。FinTech企業は金融情報の機密性が高いため、より厳格なデータ規制の対象となります。そのため、最初にAWS BedrockのProvisioned Throughput Modeを選択しました。Provisioned Throughput Modeでは、Claudeモデルの1ユニットを固定費用で購入します。これにより、Claudeモデルを専用インスタンスとしてデプロイする形で分離された推論が提供され、Bedrockからの重み制限を受けることなく、モデルの生のGPU性能を活用できます。
セキュリティをさらに強化するため、BedrockのVPCエンドポイントを設定し、すべてのトラフィックがPrivate Link経由でAWSネットワーク内に安全に留まるようにしました。VPCエンドポイントにより、RobinhoodのサービスからAWS Bedrockへのトラフィックがパブリックインターネットを経由せずに流れるようになります。この分離された推論とプライベート接続の組み合わせは、FinTechにとって理想的なユースケースとなります。しかし、これらのメリットがある一方で、いくつかの課題も見られます。最初の課題はスケーラビリティの問題です。Provisioned Throughput Modeでは、事前に固定数のモデルユニットを確保する必要がありますが、使用パターンは急速に変化する可能性があるため、これは困難です。Provisionedの運用では、内部オペレーターが同時にシステムと対話するバースト的なトラフィックが発生することが多く、PTの1分あたりのリクエスト制限は比較的固定されているため、需要の急増に対応するのが難しくなります。
もう一つの問題として、Noisy Neighbor問題を特定しました。あるチームが大量のキャパシティを消費すると、同じモデルユニットを共有する他のチームに悪影響を及ぼし、全体のパフォーマンスが低下する可能性があります。Provisioned Throughput Modeを使用することで、いくつかの重要な教訓を得ました。最適な価格を確保するには6ヶ月間のモデルユニットへのコミットメントが必要ですが、トラフィックのスパイクがそのパターンに従わない可能性があるため、数ヶ月先のトラフィックパターンを予測することは大きな課題となりました。新しいLLMは通常、まずOn-demand APIにリリースされ、Provisioned Throughput Modeで利用可能になるまでに数ヶ月のラグがあるため、最新モデルへのアクセスが遅れました。このため、Claude 3.5 Sonnetモデルが最初にリリースされた時点ですぐに採用することができず、イノベーションの機会が制限されました。
コスト制約と6ヶ月のコミットメント期間により、各モデルで購入できるのは1つのモデルユニットに限られました。これにより、SonnetからHaiku、Opusまでの様々なモデルをサポートすることが困難になっただけでなく、異なるユースケースに適応し、プロダクトチームが新しいモデルを実験する柔軟性も低下しました。これは、私たちが協力している多くの顧客に共通する課題です。Gen AIアプリケーションの需要を事前に予測することは、多くの計算が必要で、そのアプリケーションに対してユーザーがどの程度Promptingを行うかについての仮定が必要となるため、困難です。Robinhoodのような革新的な企業にとって、モデルがリリースされたらすぐにアクセスできることは不可欠であり、これが改訂版の設計につながりました。
V2では、より高い柔軟性とスケーラビリティを求めて、AWS BedrockのOn-demand APIに移行し、セキュリティのためにゼロデイデータ保持契約でサポートしています。重要な改善点は、AWS Bedrockのクロスリージョン推論で、推論プロファイルが存在するリージョンの割り当てクォータを2倍にすることができます。これは、複雑なクライアントサイドのロードバランシングなしで、複数のリージョンにトラフィックを動的にルーティングすることで、サージに対応します。これにより、高負荷時の最適な可用性、レイテンシーの削減、そして回復力の向上が確保されます。
クロスリージョン推論モデルは同じ設計を維持しており、VPC Endpointを介したVPCセキュリティも変更はありませんが、モデルがリリースされるとすぐにアクセスできるようになり、異なるタスクに対して複数のモデルをバックエンドで活用できるようになりました。Large Language Modelsで利用可能なトークン数が2倍になる二重の容量は不可欠で、フェイルオーバーのユースケースにも対応できます。多くのお客様は、地域的な影響が発生した場合でも運用を継続できることを望んでおり、このシステムによってAWS上のLLM推論を別のリージョンにスムーズかつ透過的にフェイルオーバーすることが可能になります。
LLM Gatewayのおかげで、クライアントトラフィックに影響を与えることなく、Provisioned Throughput ModeからオンデマンドAPIへのスムーズな移行を実現できました。LLM Gatewayは、OpenAI、Anthropic、その他のオープンソースSDKなど、様々なSDKとの互換性を持つように設計されており、多くの利点を提供します。Gatewayは、文章生成、埋め込み、画像生成のために、プロバイダーのエンドポイントへの入力を変換する処理を行い、シームレスな統合を実現します。また、リクエストが適切で効率的であることを確保するため、トークンサイズ、画像サイズ、その他の入力パラメータの検証も行っています。
さらに、すべてのリクエストとレスポンスはオフラインのハイパイプテーブルに記録され、堅牢な監査証跡を提供し、時間の経過とともに詳細な分析が可能になります。この柔軟性により、Robinhoodの各チームは、好みのスタックを使用しながら、この中央集権的なサービスを通じてLLMにアクセスすることができます。ここでは、LLM Gatewayのいくつかのコンポーネントについてお話しします。
1つ目はPII削減サービスです。Robinhoodの厳格なコンプライアンス要件を考慮して、Gatewayには入出力から機密情報を自動的に検出し、編集するPII削減サービスが組み込まれています。内部ではMicrosoft Presidio APIを使用しています。このサービスにより、データプライバシー規制に完全に準拠しながら、様々なユースケースでLLMを活用することができます。
2つ目のコンポーネントは、高可用性と継続性を確保するためのフォールバックモデルメカニズムです。プライマリモデルが失敗したり、容量制限を超えたりした場合、Gatewayはシームレスにセカンダリのフォールバックモデルに切り替え、進行中のプロセスへの影響を最小限に抑えます。例えば、チームがOpenAI APIを使用している場合はLlamaモデルにフォールバックし、Claude Instantの場合はClaude Haikuにフォールバックします。これらはすべてクライアントチームが設定可能です。
LLMアプリケーションにおいて、評価は最も重要な側面です。Gatewayはリクエストとレスポンスのペイロードを記録し、継続的なモデル評価を可能にすることで、チームがLLMのパフォーマンス、精度、効率性をリアルタイムでベンチマークできるようにします。これにより、チームは新しいモデルを実験し、Fine-tuningを設計し、さまざまなユースケースに最適なオプションを選択することができます。さらに、Gatewayは各リクエストのコストをレスポンス時に自動的に計算します。クライアントチームとして、プロジェクト、APIキー、モデルなど、複数のレベルで予算を設定しレート制限を適用できるため、使用量とコストを非常に細かく制御することができます。
LLM Gatewayについて特に際立っているのは、多くの開発者がモデルに取り組んでいる場合に、開発者に選択肢を与えることです。チームが独自のツールやSDKを持ち込んで構築できる柔軟性は、特に他の場所ですでに構築したものをBedrockのような安全なプラットフォームで再ホストしたい場合に、開発者にとって非常に便利です。
2025年に向けて、私たちはチームがより高い精度と信頼性を持ってより速くイノベーションを起こせるプラットフォームの構築に注力しています。私たちの目標は相互に関連しており、RobinhoodでのAIとMLのスケーリングにおける主要な課題に対応するよう設計されています。モデルとプロンプトの分析のための組み込みツールを導入し、効果的にモデルを改良し反復できるようにしています。一貫性とコンプライアンスを確保するため、AIデータガバナンスを一元化し、プラットフォーム全体でデータを管理するための統一されたフレームワークを作成しています。
私たちはGatewayを強化して、動的なモデルルーティングとFine-tuningオプションを可能にし、適切なリクエストに適切なモデルが適切なタイミングで対応できるようにしています。これらの機能をさらにスケールするため、大規模なタスクを効率的に処理できるバッチ推論パイプラインを展開しています。最後に、モデルを切り替えたりプロダクションデータのパラメータを変更したりできるPrompt Playgroundを提供することで、創造性と実験を促進しています。これはアイデアを探索しテストするための場となります。私たちの取り組みが、AWS Bedrockのさまざまなオプションのメリットとデメリット、そしてLLM Gatewayの重要性を理解する助けとなれば幸いです。ありがとうございました。
※ こちらの記事は Amazon Bedrock を利用することで全て自動で作成しています。
※ 生成AI記事によるインターネット汚染の懸念を踏まえ、本記事ではセッション動画を情報量をほぼ変化させずに文字と画像に変換することで、できるだけオリジナルコンテンツそのものの価値を維持しつつ、多言語でのAccessibilityやGooglabilityを高められればと考えています。
Discussion