Slide 1

Slide 1 text

PharmaXの LLMアプリケーション開発の 失敗を語る 2024.04.24 # pharmaX_tech_collab しくじり先生!

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

(C)PharmaX Inc. 2024 All Rights Reserve 3 趣味で勉強会コミュニティStudyCoも運営

Slide 4

Slide 4 text

4 (C)PharmaX Inc. 2024 All Rights Reserve はじめに

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

(C)PharmaX Inc. 2024 All Rights Reserve 10 今回対象とするアプリケーション 薬剤師にチャットの返答メッセージをサジェッションするために LLMを活用している ● 患者(ユーザー)からのメッセージを受信するとメッセージ提案が生成される ○ 少し前までは、薬剤師が管理画面のボタンを押せばメッセージ提案が生成される仕組みだった が、対応スピード向上のために受信時にメッセージ提案が作成される形式にした ○ 薬剤師が再度メッセージを作り直せるように管理画面上にもボタンがあり、押せばメッセー ジ提案が作成される ● 薬剤師が確認・修正して送るフローを想定しているが、当然修正が少なければ少ないほどス ピーディーに患者対応できるのでよい ○ 薬剤師による承認を不要にできるどうかという論点は、メッセージ提案の精度向上以外にも、薬機法 および薬剤師法、AI関連ガイドラインにも関わるので、本日は深くは立ち入らない ● 重大な影響を及ぼし得る医療的判断を下すことは OpenAIの利用規約で禁止されているので、 現時点では影響が限定的なメッセージ提案に限定している

Slide 11

Slide 11 text

(C)PharmaX Inc. 2024 All Rights Reserve 11 薬剤師の意思でメッセージを(再)提案させることも可能 「作成可」ボタンを押すと再度提案される ユーザーからのメッセージを受信すると自動で作成され 薬剤師がユーザーとのトーク画面に入った時にはすでに メッセージ作成欄に作成されている

Slide 12

Slide 12 text

(C)PharmaX Inc. 2024 All Rights Reserve 12 対応フェーズの切り替えも LLMが行い、フェーズごとに異なるエージェントがメッセージ提案を行う マルチエージェントによる チャットアプリケーションの概念図

Slide 13

Slide 13 text

13 (C)PharmaX Inc. 2024 All Rights Reserve リリース前後の課題とその解決策

Slide 14

Slide 14 text

(C)PharmaX Inc. 2024 All Rights Reserve 14 本番環境でも実験できる環境を整備 実験用のボタンを押すと 実験用のテンプレートを読み込む

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

(C)PharmaX Inc. 2024 All Rights Reserve 16 ● 本番環境での実験を行っていてもプロンプトをアップデートした際にデグレを起こしてしまったこと は何度かある ○ 本番環境で実験を行っていても、実験できるデータ数に限界はあるので、デグレを見抜け ない可能性は十分にある ○ 特にGPTのモデルをGPT-4-1106-previewからGPT-4-0125-previewに変更した時に は、同じような出力を得るために tempertureを下げる対応を行った ● 事前評価を行うことで大幅なデグレを防ぎつつ、リリース後に可視化を行うことで継続的なモニタ リングも行う ○ 事前に準備した大量(数百件程度を想定)のデータセットで事前評価 ○ 評価スコアを定期的にBigQueryにインポートして分析・可視化しつつ、プロンプトの変更 前後でどの程度評価結果が変わったのかを統計データで比較できるようにしたい 課題と解決策①:アップデートの本番適用後のデグレ プロンプトやモデルのアップデート後の本番適用後にデグレってしまったケースが多々発生した

Slide 17

Slide 17 text

(C)PharmaX Inc. 2024 All Rights Reserve 17 メッセージが提案される度に複数の観点で評価し、評価が一定の水準を下回ったら修正する マルチエージェントによる メッセージ提案アプリケーションの概念図

Slide 18

Slide 18 text

(C)PharmaX Inc. 2024 All Rights Reserve 18 様々な観点で提案されたメッセージを評価している LLMからのメッセージ提案を評価させるためのプロンプトを定義し、 LLMにLLMの評価をさせる 不整脈でしんどいお気持ち、そして高血圧にもお 悩みの様子、とても心配ですね😢
 
 不整脈や呼吸がしんどくなる際、特に感じるスト レスや不安などはありますか?
 不整脈でお辛い思いをされているのですね😢
 特に夜の睡眠時にも不整脈が多いとのこと、非 常に心配です。
 
 不整脈が感じられる際、他に身体に変化を感じ ることはありますか?
 特定の観点で生成AIに評価させる 


Slide 19

Slide 19 text

(C)PharmaX Inc. 2024 All Rights Reserve 19 ● (単一の理由ではないかもしれないがなぜか)ほとんどの評価で想定よりも評価の点数が不当 に低く出てしまう可能性が高かった ● 例えば、会話の流れとそれに対する返答を与えているようなケースでは、どの文章を評価してい るのか分からないような評価も散見された 問題と解決策②:評価が想定よりも低く出てしまう LLMによる正確な評価は想像よりも難しく、想定していないような評価が出てしまうケースが多い

Slide 20

Slide 20 text

(C)PharmaX Inc. 2024 All Rights Reserve 20 ● 評価対象の文章や評価理由をプロパティとして出力させることで、精度が高まりかつデバッグし やすくなる ○ ちなみに、GPT-3.5で減点方式の評価を行うと、引き算を間違うので、減点 (deduced_score)を一度出力させて最終scoreを出すことで正答率は高くなった 問題と解決策②:評価が想定よりも低く出てしまう LLMによる評価は想像よりも難しく、想定していないような評価が出てしまうケースが多い

Slide 21

Slide 21 text

(C)PharmaX Inc. 2024 All Rights Reserve 21 問題と解決策③:プロンプトごとに必要な変数や メタデータが異なり、開発者との認識の齟齬が生じた プロンプトごとに必要な変数がかなり異なり、実装の漏れが発生してしまったため仕様書を別途記述

Slide 22

Slide 22 text

(C)PharmaX Inc. 2024 All Rights Reserve 22 【メッセージ作成】 ● メッセージ作成_共感 ● メッセージ作成_新規FAQ …etc 【メッセージ修正】 ● メッセージ修正_共感 ● PSチャット提案_共感フェーズ_修正用【新規用】 …etc 【評価】 ● 評価_文章作成マニュアルに従っているか ● 評価_質問内容が適切かどうか …etc 問題と解決策④:プロンプトの数が多く管理が大変 プロンプト数がかなり多いため、下記のように命名規則を厳密化した

Slide 23

Slide 23 text

(C)PharmaX Inc. 2024 All Rights Reserve 23 問題と解決策④:プロンプトの数が多く管理が大変 稼働バージョンの可視化やリリースルールを整備した

Slide 24

Slide 24 text

(C)PharmaX Inc. 2024 All Rights Reserve 24 ● アップデートのリリース後にデグレが生じてしまった、特にモデルのバージョンを変更した際には 注意 ○ 事前評価の整備と、リリース後の評価の分析・可視化を行い継続モニタリング ● 評価が想定よりも低く出てしまう(低く出がちな傾向にある) ○ デバッグできるようにscore以外も出力しつつ、評価のプロンプトを改善する ● プロンプト(エージェント)ごとに必要な変数やメタデータが異なり、開発者との認識の齟齬が生じ た ○ プロンプトごと仕様書を整える ● プロンプトの数が多く管理が大変 ○ 変更ルールや命名規則・バージョン管理のルールを整備する リリース前後の課題とその解決策まとめ 今回は下記のような課題と解決方法を紹介した