Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜

AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜

みのるん

March 04, 2025
Tweet

More Decks by みのるん

Other Decks in Technology

Transcript

  1. 公開情報 1 KDDI Agile Development Center Corporation $ whoami 御⽥

    稔(みのるん) @minorun365 テックエバンジェリスト KDDIアジャイル開発センター株式会社(KAG) クラウドや⽣成AIで内製開発を⾏いながら 技術の楽しさを広める活動をしています AWS Community Hero AWS Samurai 2023-2024 2024 Japan AWS Top Engineer 2024 Japan AWS All Certs Engineer Qiita 2024 Top Contributor
  2. 公開情報 4 KDDI Agile Development Center Corporation 今⽇はLLMOpsの話をします • LLMOps

    = Large Language Model Operationsの略 ◦ 雑に⾔うとDevOpsのLLMアプリ版 ◦ ⽣成AIアプリケーションの開発&運⽤サイクルをいい感じに回すための取り組みのこと (ツールやベストプラクティスなどをまとめてフワッと指すバズワード) ※似た⾔葉が多いので注意 ◦ MLOps, LLMOps︓ AI⾃体のOps ◦ AIOps︓ AI「で」⼀般的なアプリケーションのOpsを改善する取り組み 【参考】AIOps vs. MLOps vs. LLMOps(Weights & Biases社) https://wandb.ai/mostafaibrahim17/ml-articles/reports/AIOps-vs-MLOps-vs-LLMOps--Vmlldzo1MTQzODMz
  3. 公開情報 5 KDDI Agile Development Center Corporation なぜLLMOpsが必要か︖ • 開発中のデバッグが⾟い

    • リリースしたけど、使われ⽅が把握しづらい • 出⼒品質にユーザーが満⾜しているのか分からない
  4. 公開情報 7 KDDI Agile Development Center Corporation LLMアプリケーションのよくある実装要素 • 推論(Inference)︓

    単発のテキスト⽣成 • RAG(Retrieval-Augmented Generation)︓ 検索結果をコンテキストに含めて推論 • AIエージェント︓ ⾏動計画を推論したのち、ツールを⽤いて各タスクを実⾏ ➡ 特にAIエージェントは処理フローが複雑になりやすいので、 エラーが出たときどこの区間でミスが発⽣しているのか、可観測性がとても重要
  5. 公開情報 8 KDDI Agile Development Center Corporation LLMアプリの開発アプローチ • ローコード︓

    Dify、Bedrockフローなど • マネージドサービス︓ Bedrockナレッジベース/エージェントなど • コーディング⽤ライブラリ/フレームワーク︓ ◦ AWS SDK(Bedrock Converse API、マネージドサービス呼び出し) ◦ LangChain(⼈気処理を抽象化、マルチプロバイダー対応) ◦ LlamaIndex(LangChainよりシェアは低いが、RAGに強みをもつ) ➡ 選んだ開発フレームワークによって、採⽤しやすいLLMOpsツールが変わる︕
  6. 公開情報 10 KDDI Agile Development Center Corporation LLMOps その①「監視」 監視が必要な主要項⽬

    • メトリクス︓ リソースに関する特定の数値データ(例︓モデルの呼び出し回数) • ログ︓ システムコンポーネントの動作記録(例︓Python APIサーバーの実⾏ログ) • トレース︓ ⼀回のアプリケーション動作がたどる痕跡(例︓RAG処理のトレース)
  7. 公開情報 11 KDDI Agile Development Center Corporation AWSアカウント LLMOps その①「監視」

    「LLM処理」と「普通のアプリ部分」で監視ツールを使い分けよう︕ その他の機能 クライアント フロントエンド バックエンド • LLM • RAG • エージェント この辺はLLM特有の 監視を適⽤
  8. 公開情報 12 KDDI Agile Development Center Corporation LLMOps その①「監視」 「LLM処理」部分の監視に使われる主なツール

    • AWS CloudWatch︓ AWSネイティブの監視機能ファミリー ◦ メトリクス︓Bedrockのモデルに関するメトリクスを確認できる ◦ ログ︓Bedrockのモデル呼び出しログを記録できる(S3も選択可) • LangSmith︓ LLMアプリ特化の監視SaaS。LangChain社が提供する「先発品」 • Langfuse︓ LangSmithのオープンソース版といえる製品。 ⾃分のクラウド上にセルフホストがしやすい。SaaS版もあり ➡ LangSmith/Langfuseは、PythonアプリやLangChainアプリには計装しやすい。 (ローコードやマネージドサービスでは、詳細なトレースを取るのがかなり⼤変)
  9. 公開情報 14 KDDI Agile Development Center Corporation LLMOps その①「監視」 AWS

    CloudWatch(ログ) BedrockのModel Invocation Loggingを 事前に有効化しておく 👇
  10. 公開情報 15 KDDI Agile Development Center Corporation LLMOps その①「監視」 LangSmith(トレース)

    ※画像はLangChain社 公式Xアカウントより ⼀連の処理がたどった イベントの⼀覧 選択した箇所の ⼊⼒と出⼒
  11. 公開情報 18 KDDI Agile Development Center Corporation LLMOps その②「評価」 そもそも評価って何︖

    ⾃動 評価 ⼈⼒ 評価 (LLM-as-a-Judge) LLMアプリケーション 出⼒結果 • 正確性︓1.0 • ⽂脈回収︓ 0.65 • Good 👍 / Bad 👎 • 「xxx が⾜りない」 評価結果を 改善に活かす
  12. 公開情報 19 KDDI Agile Development Center Corporation LLMOps その②「評価」 評価エンジン

    • Ragas︓ 有名なOSS。もともとRAG⽤だったが、最近エージェントにも対応 • OpenEvals/AgentEvals︓ 最近LangChainが発表したOSS 評価結果のGUI管理ツール(内蔵エンジンもあり) • LangSmith/Langfuse︓ 評価結果をトレースと紐づけるには必須 オフライン評価ツール(エンジン+簡易GUI) • Bedrock Evaluations︓ モデルもしくはナレッジベースをバッチ評価できる
  13. 公開情報 21 KDDI Agile Development Center Corporation LLMOps その②「評価」 Ragas

    使いたい評価メトリクスと、 その判定をするLLMを指定 LLMアプリへの⼊出⼒を設定して 評価メソッドを実⾏ 評価スコアが出⼒される(0〜1)
  14. 公開情報 23 KDDI Agile Development Center Corporation LLMOps その②「評価」 Langfuse(Evaluation

    / Score) 👈 評価メトリクスをGUIで作成可能 評価結果のスコアをトレースに記録できる (評価⾃体は他のツールを使ってもOK)
  15. 公開情報 24 KDDI Agile Development Center Corporation LLMOps その②「評価」 Bedrock

    Evaluations 使いたいメトリクスを選択し、⼊⼒データをS3にJSONLで格納
  16. 公開情報 26 KDDI Agile Development Center Corporation プロンプト テンプレート LLMOps

    その③「プロンプト管理」 プロンプト管理とは︖ バージョン1 バージョン2 エンジニア が更新 プロダクトオーナー が更新 LLMアプリ チーム開発で、プロンプトの更新がデグれないように かつ更新履歴や差分がわかるように管理するための⼿法のこと
  17. 公開情報 27 KDDI Agile Development Center Corporation LLMOps その③「プロンプト管理」 プロンプト管理に使えるツール

    • Bedrockプロンプト管理︓ AWSのマネージドサービス。マネコン&APIともに対応 • LangSmith/Langfuse︓ GUI & SDKでプロンプトの管理が可能 • テキストファイルでGit管理︓ 触るのがエンジニアだけなら全然アリ ➡ ようは、クソ⻑い⾃然⾔語のプロンプトがアプリのコードに混ざるとしんどいので まずは分けて管理できればOK︕
  18. 公開情報 31 KDDI Agile Development Center Corporation まずはSaaS版を無料で使ってみよう︕ AWSアカウント クライアント

    フロントエンド バックエンド LLM機能 通常の監視 Langfuse (SaaS版) トレースしたい 関数をデコる