Slide 1

Slide 1 text

薬剤師のチャットサジェストの 実験管理と評価の本番運用 2024.02.29 # pharmaX_tech_collabo

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

(C)PharmaX Inc. 2023 All Rights Reserve 13 今後は、ユーザーの対応場面によって、プロンプトや与えるデータを切り替えていく想定 今作成中のLLMアプリケーションのイメージ

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

(C)PharmaX Inc. 2023 All Rights Reserve 28 評価の大枠 テンプレートを変更した後、①事前に用意したデータでの評価、②運用中の評価を行う ● ① LLMアプリケーションの評価という時、事前に用意したデータセットを入力とし、出力結果を定 量的に評価することを指すことが多いが、まだ手付かず ○ プロンプトのテンプレートを変更した時に、その変更の良し悪しを事前に用意した入力データセットに 対して出力を計算し、その出力を評価する ○ 例えば、正解となる答えと出力との類似度を計算したり、出力自体の読みやすさを LLMに評価させ る ● ② 本番環境で実際にサジェストされた内容の受け入れ率やその他評価項目を非同期で計算 し、PromptLayerに記録していく ○ サジェスト内容が医学的に正しい内容だったか、マニュアルに従っているかなどを評価 ○ 例えば、受け入れ率は LLMがサジェストしたメッセージと実際に送ったメッセージの文章の類似度 (Levenshtein-distanceやembedding-distance)を計算する

Slide 29

Slide 29 text

(C)PharmaX Inc. 2023 All Rights Reserve 29 カスタム評価関数を定義する LLMにLLMの出力を評価させるためのプロンプトを定義する

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

(C)PharmaX Inc. 2023 All Rights Reserve 31 評価の課題と今後の展望 評価そのものも自分たちにとって意味のある評価になっているのかどうかの PDCAを回す必要がある ● PromptLayerに保存した評価スコアを定期的に BigQueryなどにインポートして分析、可視化 することも想定 ○ プロンプトの変更前後でどの程度評価結果が変わったかなどを観察する ● 類似度計算以外の評価はLLMでやっている以上、その評価が意図した通りの scoreを出してい るのか(直感に則した結果になっているか)を評価し、評価用のプロンプトそのものも改善してい く必要がある ○ メンバーの直感に照らし合わせて反していれば(明らかに医学的に間違ったことを出力しているのに 点数は高くなっているなど)、評価用のプロンプトを改善して意味ある評価にする必要がある

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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