Slide 1

Slide 1 text

公開情報 AI⾃体のOps 〜LLMアプリの運⽤、AWSサービスとOSSの使い分け〜 KDDIアジャイル開発センター株式会社 テックエバンジェリスト 御⽥ 稔(みのるん)

Slide 2

Slide 2 text

公開情報 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

Slide 3

Slide 3 text

公開情報 2 KDDI Agile Development Center Corporation みなさん、 AIのOps してますか︖

Slide 4

Slide 4 text

公開情報 3 KDDI Agile Development Center Corporation 今してない⽅も、運⽤中のプロダクトに 今年は⽣成AI機能が⽣えるかもしれませんよ︖

Slide 5

Slide 5 text

公開情報 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

Slide 6

Slide 6 text

公開情報 5 KDDI Agile Development Center Corporation なぜLLMOpsが必要か︖ • 開発中のデバッグが⾟い • リリースしたけど、使われ⽅が把握しづらい • 出⼒品質にユーザーが満⾜しているのか分からない

Slide 7

Slide 7 text

公開情報 6 KDDI Agile Development Center Corporation Opsについて学ぶ前に、 ⽣成AIアプリのよくある実装をおさらい

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

公開情報 9 KDDI Agile Development Center Corporation LLMOpsって実際何やるの︖ その① 監視

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

公開情報 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アプリには計装しやすい。 (ローコードやマネージドサービスでは、詳細なトレースを取るのがかなり⼤変)

Slide 14

Slide 14 text

公開情報 13 KDDI Agile Development Center Corporation LLMOps その①「監視」 AWS CloudWatch(メトリクス)

Slide 15

Slide 15 text

公開情報 14 KDDI Agile Development Center Corporation LLMOps その①「監視」 AWS CloudWatch(ログ) BedrockのModel Invocation Loggingを 事前に有効化しておく 👇

Slide 16

Slide 16 text

公開情報 15 KDDI Agile Development Center Corporation LLMOps その①「監視」 LangSmith(トレース) ※画像はLangChain社 公式Xアカウントより ⼀連の処理がたどった イベントの⼀覧 選択した箇所の ⼊⼒と出⼒

Slide 17

Slide 17 text

公開情報 16 KDDI Agile Development Center Corporation LLMOps その①「監視」 Langfuse(トレース)

Slide 18

Slide 18 text

公開情報 17 KDDI Agile Development Center Corporation LLMOpsって実際何やるの︖ その② 評価

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

公開情報 20 KDDI Agile Development Center Corporation LLMOps その②「評価」 Ragasの評価メトリクス(抜粋)

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

公開情報 22 KDDI Agile Development Center Corporation LLMOps その②「評価」 OpenEvals AgentEvals

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

公開情報 24 KDDI Agile Development Center Corporation LLMOps その②「評価」 Bedrock Evaluations 使いたいメトリクスを選択し、⼊⼒データをS3にJSONLで格納

Slide 26

Slide 26 text

公開情報 25 KDDI Agile Development Center Corporation LLMOpsって実際何やるの︖ その③ プロンプト管理

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

公開情報 28 KDDI Agile Development Center Corporation LLMOps その③「プロンプト管理」 Bedrock プロンプト管理 👇 SDKからAPIでも呼び出し可能

Slide 30

Slide 30 text

公開情報 29 KDDI Agile Development Center Corporation LLMOps その③「プロンプト管理」 Langfuse 👇 こちらもSDKで呼び出し可能

Slide 31

Slide 31 text

公開情報 30 KDDI Agile Development Center Corporation 実際にLLMOpsツールを使ってみたい︕ どこから始めればいいの︖

Slide 32

Slide 32 text

公開情報 31 KDDI Agile Development Center Corporation まずはSaaS版を無料で使ってみよう︕ AWSアカウント クライアント フロントエンド バックエンド LLM機能 通常の監視 Langfuse (SaaS版) トレースしたい 関数をデコる

Slide 33

Slide 33 text

公開情報 32 KDDI Agile Development Center Corporation ⼊⾨ハンズオンも公開しています︕

Slide 34

Slide 34 text

公開情報 33 KDDI Agile Development Center Corporation 業務で使うときは、セルフホスト版のIaCコードも公開されています Terraform版 AWS CDK版

Slide 35

Slide 35 text

公開情報 34 KDDI Agile Development Center Corporation 最後に宣伝

Slide 36

Slide 36 text

公開情報 35 KDDI Agile Development Center Corporation 3/25(⽕) 夜にLangfuseのオフライン勉強会やります︕ ⼊⾨ハンズオン&LT⼤会︕ Chaspyさんや、同僚のつよつよLangfuser も出演予定

Slide 37

Slide 37 text

Be a Change Leader. アジャイルに⼒を与え 共に成⻑し続ける社会を創る