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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

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

More Decks by PharmaX(旧YOJO Technologies)開発チーム

Other Decks in Technology

Transcript

  1. (C)PharmaX Inc. 2023 All Rights Reserve 2 自己紹介 上野彰大 PharmaX共同創業者・エンジニアリング責任者

    好きな料理はオムライスと白湯とコーラ マイブームはLLMとRust Twitter:@ueeeeniki
  2. (C)PharmaX Inc. 2023 All Rights Reserve 4 本発表のスコープや注意事項について LLMアプリケーションの実験管理と評価について取り組んで来たことや今後の展望をお話します •

    個人的に参考になった記事やPharmaXで取り組んできたこと、今後のどのようなことをやってい きたいのかについて中心にお話します ◦ 個人的な感想や考えを多分に含みます • LLMアプリケーションの実験管理や評価はまだベストプラクティスが出揃っておらず、今回お話 する内容が各社にどの程度取り入れ可能かは不明です ◦ 皆さまでご判断いただければと幸いです • できる限りPharmaXでのリアルな事例や実験結果をお伝えしますが、より詳しく聞きたい方やお 困りごとについて議論したい方は是非 DM等いただければ幸いです
  3. (C)PharmaX Inc. 2023 All Rights Reserve 7 医療体験を横断する2つの事業領域 YOJO事業 (漢方メインのOTC医薬品)

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

    未病・予防 治療 薬局DX事業 (医療用医薬品) オンライン薬局サービスを展開している 処方せん不要 処方せん必要
  5. (C)PharmaX Inc. 2023 All Rights Reserve 9 医療アドバイザーに体調 のことをいつでも気軽に相 談できる

    相談型医療体験 30種類以上の漢方薬からあ なたに合ったものを月毎に 提案 パーソナライズ漢方薬 定期的に漢方をお届けし、 一人ひとりに寄り添うかか りつけ医療を提供 継続的なかかりつけ 一生涯にわたって寄り添うかかりつけ漢方薬局「YOJO」
  6. (C)PharmaX Inc. 2023 All Rights Reserve 11 今回対象とするアプリケーション • 管理画面上でボタンを押す(ショートカットキーをタイプする)とチャットがサジェストされる

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

    Systemプロンプト 以下の条件に従って返信してください。 前提: ・あなたの役割は、PharmaX株式会社のYOJOというサービスのかかりつけ薬剤師です。健康や漢方の専門家として、常にユーザーの 感情に寄り添いアドバイスをします。 ...(略) Userプロンプト 対応の基本方針: ・おすすめの漢方薬をよりきちんと提案できるように適宜質問を行ってください。 ・「検討します」とすぐに購入意欲がないような返答をされた方には、それ以上強く営業しすぎないようにしてください。 …(略)… 上記に気をつけながら私があなたが提案する漢方の選択について納得が行くように、共感しながら深掘り質問を行ってください。
  8. (C)PharmaX Inc. 2023 All Rights Reserve 15 実験管理とはなにか?なぜ実験管理が必要なのか? • プロンプトやtemperatureなどのパラメータを変更した際にその前後でどの程度評価項目が変

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

    • AIの出力はそもそも毎度ばらつく上、パラメータを変化させるたびに出力が変化するので、評価 を行ってその時のパラメータがよかったのかどうかを判断する必要がある • 特にLLMの評価は、例えば、画像認識などの分類問題などとは異なり、正解が 1つに定まるわ けでないので難しい ◦ 例えば、「日本で一番高い山は?」という質問に「富士山」「富士山です」「富士山に決まってんだろー が!」「富士山。標高 3776.12 m。その優美な風貌は …(略)」と答えるのはどれも正解 AIの評価に関するプラクティス自体は LLMの発展の前から存在していたが、 LLM特有の論点もある
  10. (C)PharmaX Inc. 2023 All Rights Reserve 17 • 特定のユースケースを想定したLLMアプリケーションでは、回答が妥当だったかだけではなく、 実際にどの程度ユーザーに”役立ったか”やどの程度ビジネス上の数値を向上させたのかも評

    価の対象 ◦ 例えば、薬剤師の生産性をどの程度高めたか ▪ 生産性を高めるためには、受入率(どの程度修正せずに受け入れられたか)が高い必要があ る ▪ もちろんサジェストのレイテンシが小さい必要もある ◦ その結果、例えば、どの程度購入率が高まったのかというビジネス指標までを最終的には評価する 必要がある • 事前に準備した評価項目を使って評価することもできるが、実際のビジネス指標を評価するには リリース後しばらく運用する必要がある ◦ 事前に準備した評価項目は、データセットなどを使ってパラメータの修正後すぐに評価を実施するこ とができるが、ビジネス指標はしばらく本番運用しないと分からない 評価とはなにか?なぜ評価が必要なのか ここではモデルそのものの評価ではなく、 LLMを使ったアプリケーションの評価について扱う
  11. (C)PharmaX Inc. 2023 All Rights Reserve 26 本番でもPromptLayerで実験ができるようにした理由 PharmaXの今回対象としている機能では、利用者が内部のメンバーなので、本番環境でも実験可能 •

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

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

    • PromptLayerに保存した評価スコアを定期的に BigQueryなどにインポートして分析、可視化 することも想定 ◦ プロンプトの変更前後でどの程度評価結果が変わったかなどを観察する • 類似度計算以外の評価はLLMでやっている以上、その評価が意図した通りの scoreを出してい るのか(直感に則した結果になっているか)を評価し、評価用のプロンプトそのものも改善してい く必要がある ◦ メンバーの直感に照らし合わせて反していれば(明らかに医学的に間違ったことを出力しているのに 点数は高くなっているなど)、評価用のプロンプトを改善して意味ある評価にする必要がある
  14. (C)PharmaX Inc. 2023 All Rights Reserve 33 • 評価項目の確立・自動化・可視化ができていなくても実験管理から始めてみるのもオススメ ◦

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