Slide 1

Slide 1 text

LLMアプリケーションの 評価・実験管理についての知見を まとめてみた 2024.01.24 # pharmaX_tech

Slide 2

Slide 2 text

(C)PharmaX Inc. 2023 All Rights Reserve 2 自己紹介 上野彰大 PharmaX共同創業者・エンジニアリング責任者 好きな料理はオムライスと白湯とコーラ マイブームはLLMとRust Twitter:@ueeeeniki

Slide 3

Slide 3 text

(C)PharmaX Inc. 2023 All Rights Reserve 3 趣味で勉強会コミュニティも運営 自己紹介

Slide 4

Slide 4 text

(C)PharmaX Inc. 2023 All Rights Reserve 4 デブサミ登壇します!(残枠少ないみたいです)

Slide 5

Slide 5 text

5 (C)PharmaX Inc. 2023 All Rights Reserve はじめに

Slide 6

Slide 6 text

(C)PharmaX Inc. 2023 All Rights Reserve 6 本発表のスコープや注意事項について LLMアプリケーションの実験管理と評価について取り組んで来たことや今後の展望をお話します ● 個人的に参考になった記事やPharmaXで取り組んできたこと、今後のどのようなことをやってい きたいのかについて中心にお話します ○ 個人的な感想や考えを多分に含みます ● LLMアプリケーションの実験管理や評価はまだベストプラクティスが出揃っておらず、今回お話 する内容が各社にどの程度取り入れ可能かは不明です ○ 皆さまでご判断いただければと幸いです ● できる限りPharmaXでのリアルな事例や実験結果をお伝えしますが、より詳しく聞きたい方やお 困りごとについて議論したい方は是非 DM等いただければ幸いです

Slide 7

Slide 7 text

(C)PharmaX Inc. 2023 All Rights Reserve 7 前提とする知識 ● LLMの基礎知識は説明しません ○ AIのモデルについての基礎知識もあることが望ましい ● 少しでもLLMを使ってアプリケーション開発した経験があることがあることが望ましい ● できればLLMアプリケーションを本番運用した経験があるとより話の内容が想像つくと思います LLMのアプリケーション開発の一定の事前知識を仮定します

Slide 8

Slide 8 text

8 (C)PharmaX Inc. 2023 All Rights Reserve PharmaXのプロダクトの簡単な説明

Slide 9

Slide 9 text

(C)PharmaX Inc. 2023 All Rights Reserve 9 「薬局」は医療体験の中でも身近な存在 日用品から処方薬まで。「薬局」は皆さまの日常の近くに存在している ドラックストア 調剤薬局

Slide 10

Slide 10 text

(C)PharmaX Inc. 2023 All Rights Reserve 10 医療体験を横断する2つの事業領域 YOJO事業 (漢方メインのOTC医薬品) 未病・予防 治療 薬局DX事業 (医療用医薬品) オンライン薬局サービスを展開している 処方せん不要 処方せん必要

Slide 11

Slide 11 text

(C)PharmaX Inc. 2023 All Rights Reserve 11 LINEから利用できるバーチャルな薬局 最短 即日 ※ お薬をもっと手軽に、もっと安心して受け取れる「 YOJO薬局」 お薬はお家までお届け LINEで薬剤師にいつでも相談 好きなときにお薬の説明 ※東京23区内のみ

Slide 12

Slide 12 text

(C)PharmaX Inc. 2023 All Rights Reserve 12 ソフトウェアに閉じないプロダクト開発 独自の薬局オペレーションシステムを構築し、最適化されたオンライン薬局を実現 × 自社薬局をプロトタイプラボ化 ソフトウェア オペレーション リモート 薬剤師組織 薬局業務を効率化す るオペレーションシス テム(薬局OS) 質の高い患者さま対応 のためのオンライン特 化組織 対人業務の質を高め るための対物業務効 率化 「ソフトウェア×オペレーション×薬剤師組織」を プロダクトとして開発

Slide 13

Slide 13 text

(C)PharmaX Inc. 2023 All Rights Reserve 13 その他 BI インフラストラクチャー フロントエンド バックエンド 技術スタック サービスに取り込むべき技術をプロダクト横断的に議論する場を設け、新しい技術も積極的に採用

Slide 14

Slide 14 text

(C)PharmaX Inc. 2023 All Rights Reserve 14 生成AI/LLMチームの立ち上げ 生成AI/LLMチームを立ち上げ複数のPoCを並行して行っている

Slide 15

Slide 15 text

15 (C)PharmaX Inc. 2023 All Rights Reserve Applicationの概要

Slide 16

Slide 16 text

(C)PharmaX Inc. 2023 All Rights Reserve 16 医療体験を横断する2つの事業領域 YOJO事業 (漢方メインのOTC医薬品) 未病・予防 治療 薬局DX事業 (医療用医薬品) オンライン薬局サービスを展開している

Slide 17

Slide 17 text

(C)PharmaX Inc. 2023 All Rights Reserve 17 医療アドバイザーに体調 のことをいつでも気軽に相 談できる 相談型医療体験 30種類以上の漢方薬からあ なたに合ったものを月毎に 提案 パーソナライズ漢方薬 定期的に漢方をお届けし、 一人ひとりに寄り添うかか りつけ医療を提供 継続的なかかりつけ 一生涯にわたって寄り添うかかりつけ漢方薬局「YOJO」

Slide 18

Slide 18 text

(C)PharmaX Inc. 2023 All Rights Reserve 18 今回対象とするアプリケーション 「作成可」ボタンを押すと LLMによってサジェストされる

Slide 19

Slide 19 text

(C)PharmaX Inc. 2023 All Rights Reserve 19 今回対象とするアプリケーション ● 管理画面上でボタンを押す(ショートカットキーをタイプする)とチャットがサジェストされる ○ Chat Completions APIで対象ユーザーによってプロンプトを切り替えてサジェストさせている ● 最終的には薬剤師が内容をチェック&修正して送ることを想定しており、完全な自動化を目指して いるわけではない ○ GithubのCopilotのようなイメージで使いたい ● 将来的にかなりの精度でサジェストすることができて、薬剤師がほとんど修正しなくてもいいような レベルまで達すれば、ユーザーとのトーク画面に入った時点でサジェッションを始めるようにしたい ○ 現時点ではそこまでの精度ではないので、薬剤師の自由意志で使用して FBを集めている段階 薬剤師にチャットの返答をサジェッションするために LLMを活用している

Slide 20

Slide 20 text

(C)PharmaX Inc. 2023 All Rights Reserve 20 プロンプト一部抜粋 薬剤師にチャットの返答をサジェッションするために LLMを活用している Systemプロンプト 以下の条件に従って返信してください。 前提: ・あなたの役割は、PharmaX株式会社のYOJOというサービスのかかりつけ薬剤師です。健康や漢方の専門家として、常にユーザーの 感情に寄り添いアドバイスをします。 ...(略) Userプロンプト 対応の基本方針: ・おすすめの漢方薬をよりきちんと提案できるように適宜質問を行ってください。 ・「検討します」とすぐに購入意欲がないような返答をされた方には、それ以上強く営業しすぎないようにしてください。 …(略)… 上記に気をつけながら私があなたが提案する漢方の選択について納得が行くように、共感しながら深掘り質問を行ってください。

Slide 21

Slide 21 text

(C)PharmaX Inc. 2023 All Rights Reserve 21 プロンプト一部抜粋 Chat Completion APIに過去の会話履歴を与えることで、文脈を理解したサジェストを可能にしている

Slide 22

Slide 22 text

(C)PharmaX Inc. 2023 All Rights Reserve 22 今後は、ユーザーの対応場面によって、プロンプトや与えるデータを切り替えていく想定 今後作りたいLLMアプリケーションのイメージ https://speakerdeck.com/masatoto/llmmarutiezientowofu-kan-suru

Slide 23

Slide 23 text

23 (C)PharmaX Inc. 2023 All Rights Reserve LLMの評価・実験管理の概要

Slide 24

Slide 24 text

(C)PharmaX Inc. 2023 All Rights Reserve 24 評価とはなにか?なぜ評価が必要なのか ● AIの評価とは、AIの出力結果の”良し悪し”を定量的・定性的に判断すること ● AIの出力はそもそも毎度ばらつく上、パラメータを変化させるたびに出力が変化するので、評価 を行ってその時のパラメータがよかったのかどうかを判断する必要がある ● 特にLLMの評価は、例えば、画像認識などの分類問題などとは異なり、正解が 1つに定まるわ けでないので難しい ○ 例えば、「日本で一番高い山は?」という質問に「富士山」「富士山です」「富士山に決まってんだろー が!」「富士山。標高 3776.12 m。その優美な風貌は …(略)」と答えるのはどれも正解 AIの評価に関するプラクティス自体は LLMの発展の前から存在していたが、 LLM特有の論点もある

Slide 25

Slide 25 text

(C)PharmaX Inc. 2023 All Rights Reserve 25 ● LLMの評価というときに①事前学習した LLMのモデルそのものや②fine-tuningしたモデルの 評価を指すこともあれば、③LLMを使ったアプリケーションでの評価(プロンプトや RAGにフォー カス)を指すこともあるので注意が必要 ○ ①では、そもそも様々な分野で日本語の質問に正しく答えられるか?と言ったことを評価する ■ 例えば、医学的な問いに正しく答えれるか?というように特定のドメインを扱うことはある一方 で、特定のアプリケーションの評価ではない ○ ②、③では、特定のユースケースで正しく答えられているか?と言ったことが問われている ■ ②は特定のドメインに特化させてはいるが比較的一般的な知識を問うもの、特定のアプリケー ションのユースケースに特化させたもののどちらも言うことがある ■ 特に③はプロンプトを工夫した場合や RAGでデータを与えた場合の出力が、特定のアプリケー ションの特定のユースケースで良い出力であるかが問われている ● ③では、アプリケーション開発者がモデル内部のパラメータを変化させられるわけではないの で、temperatureや事前に与えるプロンプトなどが評価するパラメータにあたる 評価とはなにか?なぜ評価が必要なのか ここではモデルそのものの評価ではなく、③の LLMを使ったアプリケーションの評価について扱う

Slide 26

Slide 26 text

(C)PharmaX Inc. 2023 All Rights Reserve 26 参考:①LLMモデルそのものの評価 https://prtimes.jp/main/html/rd/p/000000007.000119963.html 代表的なデータセットに対して公開されているモデルで評価を行ったリーダーボードが公開されている

Slide 27

Slide 27 text

(C)PharmaX Inc. 2023 All Rights Reserve 27 参考:①LLMモデルそのものの評価 https://wandb.ai/wandb-japan/llm-leaderboard/reports/Nejumi-Leaderboard-Neo--Vmlldzo2MTkyMTU0 どのモデルを使うのか迷った際には複数のリーダーボードを参考にしみるのも良い

Slide 28

Slide 28 text

(C)PharmaX Inc. 2023 All Rights Reserve 28 ● 特定のユースケースを想定したLLMアプリケーションでは、回答が妥当だったかだけではなく、 実際にどの程度ユーザーに”役立ったか”やどの程度ビジネス上の数値を向上させたのかも評 価の対象 ○ 例えば、薬剤師の生産性をどの程度高めたか ■ 生産性を高めるためには、受入率(どの程度修正せずに受け入れられたか)が高い必要があ る ■ もちろんサジェストのレイテンシが小さい必要もある ○ その結果、例えば、どの程度購入率が高まったのかというビジネス指標までを最終的には評価する 必要がある ● 事前に準備した評価項目を使って評価することもできるが、実際のビジネス指標を評価するには リリース後しばらく運用する必要がある ○ 事前に準備した評価項目は、データセットなどを使ってパラメータの修正後すぐに評価を実施するこ とができるが、ビジネス指標はしばらく本番運用しないと分からない 評価とはなにか?なぜ評価が必要なのか ここではモデルそのものの評価ではなく、 LLMを使ったアプリケーションの評価について扱う

Slide 29

Slide 29 text

(C)PharmaX Inc. 2023 All Rights Reserve 29 実験管理とはなにか?なぜ実験管理が必要なのか? ● プロンプトやtemperatureなどのパラメータを変更した際にその前後でどの程度評価項目が変 化したのかを確認することを実験管理という ○ 事前に準備したデータセットと評価項目を使って評価することもできるが、ビジネス指標への影響の 評価はしばらく運用しないとわからないので、履歴管理(いつどのようにプロンプトを修正したのか) が必要 ○ もちろんやり方次第では ABテストのようなことも可能 ● 実際のLLMアプリケーションの現場では、開発者以外もプロンプト等を変更できるようなアーキ テクチャを取ることができれば、複数人で高速で PDCAを回すことが可能になる ○ 複数人でプロンプト等を変更するには、誰いつどのようにプロンプト等を変更したのかを管理すること の重要性が増す 実験管理をすることで、パラメータを変更したことでどのような影響があったのかを振り返る事ができる

Slide 30

Slide 30 text

30 (C)PharmaX Inc. 2023 All Rights Reserve PromptLayerで実験管理してみた

Slide 31

Slide 31 text

(C)PharmaX Inc. 2023 All Rights Reserve 31 PromptLayerとは 特に注目を集めている実験管理用の SaaSの1つで、簡易な使い勝手が特長のサービス https://promptlayer.com/

Slide 32

Slide 32 text

(C)PharmaX Inc. 2023 All Rights Reserve 32 その他のLLM実験管理の有名サービス PromptLayer以外も複数の有名サービスは存在している ● Lunary(https://llmonitor.com) ○ PromptLayer同様にマネージドなサービスで管理画面なども提供されている ○ PromptLayerとほぼ似たような機能を備えているものの Chat Completion APIの記録に難あり ● MLflow ○ AIの実験管理としては老舗の OSS版が有名で、有料でマネージドなサービスも展開している ○ MLflow 2.3(2023/4リリース)からLLMをネイティブサポートするようになった ○ 他のサービスと比較すると、記述方法が多少複雑 ● LangSmith ○ LangChainを使うなら追加の実装なしで簡単に使い始めることができる ○ LangChainの各chainの入出力結果を追うこともできる ○ 機能もかなり豊富だが、 template機能がないのが不便

Slide 33

Slide 33 text

(C)PharmaX Inc. 2023 All Rights Reserve 33 参考〜MLflow MLflowにはマネージドなサービスも存在し、クラウド上で可視化やチームでの共有などにも対応 https://www.databricks.com/jp/product/managed-mlflow

Slide 34

Slide 34 text

(C)PharmaX Inc. 2023 All Rights Reserve 34 参考〜LangChain LangChainを使う場合は、LangSmithも有力な選択肢になるだろう https://www.langchain.com/langsmith

Slide 35

Slide 35 text

(C)PharmaX Inc. 2023 All Rights Reserve 35 PromptLayer〜入出力結果の履歴管理 PromptLayerに記録した入出力結果の一覧が見ることができる

Slide 36

Slide 36 text

(C)PharmaX Inc. 2023 All Rights Reserve 36 PromptLayer〜入出力結果の履歴管理 各入出力の詳細ページを見ることもできる

Slide 37

Slide 37 text

(C)PharmaX Inc. 2023 All Rights Reserve 37 PromptLayer〜入出力結果の検索 入出力結果をメタデータ検索することなどが可能

Slide 38

Slide 38 text

(C)PharmaX Inc. 2023 All Rights Reserve 38 PromptLayer〜入出力結果の検索 入出力結果をtag検索することも可能

Slide 39

Slide 39 text

(C)PharmaX Inc. 2023 All Rights Reserve 39 PromptLayerの使い方 SDKを使えば、簡単に入出力結果を保存することが可能 https://docs.promptlayer.com/quickstart

Slide 40

Slide 40 text

(C)PharmaX Inc. 2023 All Rights Reserve 40 PromptLayerの使い方 metaデータの付与も簡単にできる https://docs.promptlayer.com/quickstart

Slide 41

Slide 41 text

(C)PharmaX Inc. 2023 All Rights Reserve 41 PromptLayer〜テンプレート管理 プロンプトのテンプレートを作成することができ、バージョン管理を行うこともできる

Slide 42

Slide 42 text

(C)PharmaX Inc. 2023 All Rights Reserve 42 PromptLayer〜テンプレートの編集 プロンプトのテンプレートにはパラメータなども設定することが可能

Slide 43

Slide 43 text

(C)PharmaX Inc. 2023 All Rights Reserve 43 PromptLayer〜テンプレートの編集 テンプレートを変更した際にはコミットメッセージを残して version管理することもできる

Slide 44

Slide 44 text

(C)PharmaX Inc. 2023 All Rights Reserve 44 PromptLayer〜テンプレート管理 作成したテンプレートの一覧を見ることもでき、フォルダも作成可能

Slide 45

Slide 45 text

(C)PharmaX Inc. 2023 All Rights Reserve 45 PromptLayer〜テンプレートと入出力結果の紐づけ 各テンプレートを使用した入出力結果の一覧を見ることができる

Slide 46

Slide 46 text

(C)PharmaX Inc. 2023 All Rights Reserve 46 PromptLayer〜テンプレートと入出力結果の紐づけ 各入出力の詳細ページからもどのテンプレートを使用していたのかが分かる

Slide 47

Slide 47 text

(C)PharmaX Inc. 2023 All Rights Reserve 47 PromptLayer〜テンプレートの使用 テンプレートを取得して、プロンプトの作成に使うことができる https://docs.promptlayer.com/features/prompt-registry

Slide 48

Slide 48 text

(C)PharmaX Inc. 2023 All Rights Reserve 48 PromptLayer〜テンプレートと入出力結果の紐づけ 入出力結果を簡単にテンプレートと紐づけることができる https://docs.promptlayer.com/features/prompt-history/tracking-templates

Slide 49

Slide 49 text

(C)PharmaX Inc. 2023 All Rights Reserve 49 PromptLayer〜テンプレートと入出力結果のExport 入出力結果の履歴を JSON形式でExportすることも可能

Slide 50

Slide 50 text

(C)PharmaX Inc. 2023 All Rights Reserve 50 PromptLayer〜アナリティクス機能 アナリティクス機能もあって、ワークスペースごとに複数のメトリクスが可視化可能

Slide 51

Slide 51 text

(C)PharmaX Inc. 2023 All Rights Reserve 51 PromptLayerを選定した理由 特にテンプレート機能の使い勝手が良いことが PromptLayerを選定した一番の理由 ● PromptLayerのようにテンプレートを登録することができて、管理画面から編集可能、テンプレー トをコード上で呼び出し、入出力をテンプレートに紐づけることのできる機能が便利 ○ どのテンプレートのどのバージョンを使っている時にその出力結果が出たのかが分かる ○ 出力の評価と組み合わせれば、テンプレート変更の前後でどの程度出力が改善したのかが分かる ○ やり方次第ではテンプレートの ABテストすることも可能になる ● 管理画面から編集可能なことで、開発者以外のメンバーもプロンプトを変更できるようになる ○ 開発者以外がプロンプトを変更して実験を行うことができるようになることで、実験管理の民主化が起 こり、テンプレート改善の PDCAを回す速度が速くなる

Slide 52

Slide 52 text

(C)PharmaX Inc. 2023 All Rights Reserve 52 PromptLayerの使い方 ローカルと本番でワークスペースを分け、さらに本番も実験用のプロンプトを分けている

Slide 53

Slide 53 text

(C)PharmaX Inc. 2023 All Rights Reserve 53 PromptLayerの使い方〜本番環境での実験 実験用のボタンを押すと実験用のテンプレートを読み込む

Slide 54

Slide 54 text

(C)PharmaX Inc. 2023 All Rights Reserve 54 PromptLayerの使い方〜テンプレートの管理 本番でも実験用のプロンプトを分けていることで、本番環境でも実験可能にしている 実験用のテンプレートを分けることで、影響範囲を狭くし て本番環境で実験することができる 本番環境で実験してよかったものを PSチーム全体に適 用させる

Slide 55

Slide 55 text

(C)PharmaX Inc. 2023 All Rights Reserve 55 本番でもPromptLayerで実験ができるようにした理由 PharmaXの今回対象としている機能では、利用者が内部のメンバーなので、本番環境でも実験可能 ● 新しい機能を作るときは開発者がローカルで実験してからリリースする ○ 一方で、ローカルでできるのは事前に準備したデータセットで評価することだけ ○ 特に新機能の場合は、データセットを新しく準備する必要もある ● ローカルでは開発者以外のメンバーが実験しようとしても、環境構築を行わなければならず、本番 さながらのデータ、状況で実験することもできない ○ 本番で実際の状況で実験するのが一番 PDCAが回る ● 本番でプロンプトテンプレートを変更し、 PSチーム全体に適用されてしまうと生産性に悪影響を及 ぼす可能性もあるので、PdMやPSチームのリーダーなど一部のメンバーが実験用のプロンプトを 使って実験する ○ 実験してよかったテンプレートを全体のプロンプトに適用させる

Slide 56

Slide 56 text

(C)PharmaX Inc. 2023 All Rights Reserve 56 LLMアプリケーションのアーキテクチャ 現状はレイテンシーを考え左図のアーキテクチャを採用している

Slide 57

Slide 57 text

(C)PharmaX Inc. 2023 All Rights Reserve 57 PromptLayerを使う上での課題 ● SDKがブラウザ上で動作しないので、 REST APIを自分で実装しなければならない点 ● Streamモードには対応していないので、 Streamモードの出力結果はこっちらでまとめて、 trackにpostしないとイケない=PythonやTSでサーバー上で実行する場合でも SDKの関数を 使えない ○ テンプレートでもStreamがTrueかどうかを設定する項目はない ● テンプレートを変更するたびに事前に準備したデータセットなどで評価したいが、評価項目に自由ドが低い など、評価としては使っていない(後述) PromptLayerでも多少の不便さはあるので、今後の進化に期待

Slide 58

Slide 58 text

(C)PharmaX Inc. 2023 All Rights Reserve 58 評価と実験管理の考え方 評価指標の確立や可視化が進んでいなくとも、実験管理だけでも始めてみるのはいかがでしょうか ● PharmaXのように必ずしも評価指標が完全に確立されていなくても、実験管理から導入してみ ることはできるしオススメ ○ 特にPharmaXの場合は、ユーザーが内部にいるので、まずは定性的な評価・ FBだけでもアプリケー ションの改善は進む ○ どのようなパラメータのときにどのような結果だったのかが紐づいて可視化されているだけでもエン ジニア以外のメンバーも改善案を出しやすい ○ 一方でユーザーがtoCの場合など、直接FBを集めづらい場合は、評価と実験管理はある程度セット が望ましいが、実験管理すらないとパラメーターの変更履歴が分からなくなるので、実験管理からの 導入はオススメ ● 特にPromptLayerのようにプロンプト等をエンジニア以外のメンバーも変更できるようになって いると改善速度が劇的に上がる ○ 本番環境でもアグレッシブに実験できる環境が整っているとなお良い

Slide 59

Slide 59 text

59 (C)PharmaX Inc. 2023 All Rights Reserve 評価について

Slide 60

Slide 60 text

(C)PharmaX Inc. 2023 All Rights Reserve 60 評価の大枠 テンプレートを変更した後、①事前に用意したデータでの評価、②しばらく運用してみての評価を行う ● LLMアプリケーションの評価という時、事前に用意したデータセットを入力とし、出力結果を定量 的に評価することを指すことが多い ○ プロンプトのテンプレートを変更した時に、その変更の良し悪しを事前に用意した入力データセットに 対して出力を計算し、その出力を評価する ○ 例えば、モデルとなる答えと出力との類似度を計算したり、出力自体の読みやすさを LLMに評価さ せる ● 一方で、特定のユースケースを想定した LLMアプリケーションでは、回答が妥当だったかだけで はなく、実際にどの程度ユーザーに ”役立ったか”やどの程度ビジネス上の数値を向上させたの かも評価の対象にすべき ○ PSチームの生産性などのビジネス指標は可視化されているが、 LLM機能以外の複数の施策が同時 並行されているため影響が明確ではないので、本番環境での受入れ率(どの程度修正せずに受け 入れられたか)などを取得して記録し、運用していく中で良し悪しを判断する必要がある

Slide 61

Slide 61 text

(C)PharmaX Inc. 2023 All Rights Reserve 61 PromptLayerの評価(evaluation)機能 直近は、PromptLayerの評価機能はカスタマイズ性が低いので使わない想定

Slide 62

Slide 62 text

(C)PharmaX Inc. 2023 All Rights Reserve 62 MLflowに用意されている評価のメトリクス MLflowなどでは、出力に対する評価関数が準備されているので参考にするとよい https://mlflow.org/docs/latest/python_api/mlflow.metrics.html# 出力の毒性(ヘイトの度合い)の評価

Slide 63

Slide 63 text

(C)PharmaX Inc. 2023 All Rights Reserve 63 LangChainに用意されている評価のメトリクス≈ LangChainでも同様に、出力に対する評価関数が準備されているので参考にするとよい embeddingを用いた 意味的な距離を評価 https://api.python.langchain.com/en/latest/evaluation/langchain.evaluation.schema.EvaluatorType.html

Slide 64

Slide 64 text

(C)PharmaX Inc. 2023 All Rights Reserve 64 カスタム評価関数を定義することも可能 MLflowやLangChainでは、準備された評価関数以外にも自分自身で評価関数を定義可能 https://python.langchain.com/docs/langsmith/walkthrough

Slide 65

Slide 65 text

(C)PharmaX Inc. 2023 All Rights Reserve 65 評価用のサービスの選定基準 評価は下記の基準で LangChain(LangSmith)で行うことを想定してる ● デフォルトでサポートしている評価基準が多い ○ LLMを使った評価には当然コストと実行時間がかかるので注意が必要 ● カスタムの評価をサポートしている ○ こちらが定義した評価用の関数を実行して結果の一覧の中に含めることができるか ● 実行結果をチームでUIで確認可能 ○ LangSmithはPromtLayerほどテンプレート機能が充実していないので、 PromptLayerをメインに 使いつつ、事前準備したデータセットでの評価のみ LangSmithに見に行くという運用を想定している

Slide 66

Slide 66 text

(C)PharmaX Inc. 2023 All Rights Reserve 66 参考:評価項目が複数ある場合のスコア計算について 評価項目が複数ある場合、総合評価を計算するという手法もあり得そう https://speakerdeck.com/naoki_0531/amazon-bedrock-amazon-aurorawozu-mihe-wasetaragdehui-da-jing-du-noxiang-shang-niqu-rizu-ndemita

Slide 67

Slide 67 text

(C)PharmaX Inc. 2023 All Rights Reserve 67 本番運用での評価の展望 本番運用をしていく中での評価も蓄積し、可視化していくことでテンプレートの良し悪しを評価する ● リアルタイムに受け入れ率やその他評価項目を非同期で計算し、 PromptLayerに記録していく ○ 例えば、受け入れ率は LLMがサジェストしたメッセージと実際に送ったメッセージの文章の類似度を 計算する ○ PSチームに(例えば5段階評価で)点数で評価してもらい、その点数も記録する ● PromptLayerに保存した評価スコアをPromptLayer上でも可視化可能だが、定期的に BigQueryなどにインポートして分析、可視化することも想定 ○ PromptLayerでは、保存可能なリクエスト数に上限がある ○ 可視化も自由度高くやりたいので、 BigQueryなどを使うことも想定している

Slide 68

Slide 68 text

68 (C)PharmaX Inc. 2022 All Rights Reserve まとめ

Slide 69

Slide 69 text

(C)PharmaX Inc. 2023 All Rights Reserve 69 ● LLMアプリケーションの評価では、実際のユースケースでどの程度役に立ったかを評価しなけれ ばならない ○ KGIとなるビジネス指標への影響は様々な要因が混ざり合ってしまうので、その手前の指標 から評価していくのが望ましい ● 評価項目の確立・自動化・可視化ができていなくても実験管理から始めてみるのもオススメ ○ 実験管理はチームで使用できる簡単なツールから始めてみるのもオススメ ○ 開発者以外もプロンプトを修正できるようにすることで、プロンプトエンジニアリングの民主化 を起こし、PDCAサイクルを爆速で回す まとめ 実験管理・評価周りの知見はまだ少ないのでどんどん出てくると嬉しい