Slide 1

Slide 1 text

2024.03.27 # pharmax_tech_collabo LLMアプリケーションの 改善プロセスの構築

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 今回対象とするアプリケーションの簡単な説明

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

9 (C)PharmaX Inc. 2023 All Rights Reserve LLMアプリケーションの改善プロセスについて

Slide 10

Slide 10 text

(C)PharmaX Inc. 2023 All Rights Reserve 10 ● LLMに与えるプロンプトやパラメータの変更履歴と、プロンプトやパラメータの変更前後で出力が どのように変化したのかを管理することを実験管理という ● LLMの出力結果の”良し悪し”を定量的・定性的に判断することを評価という ● 実験管理と評価をセットで行うことで、プロンプトやパラメータを変更したことで出力が良くなった のか悪くなったのかを判断することができる ○ 評価と実験管理はセットで運用されることが望ましいが、実験管理すらないとパラメーターの変更履 歴が分からなくなるので、最低限実験管理から導入してみることはオススメ LLMアプリケーションの改善に必要なこと LLMアプリケーションを改善していくためには、特に実験管理と評価が必要

Slide 11

Slide 11 text

(C)PharmaX Inc. 2023 All Rights Reserve 11 ● ①PromptLayerによるプロンプトテンプレートの管理とテンプレートへの出力結果の紐づけ ● ②プロンプトの全体への適用の前に誰でもプロンプトを実験できるように本番環境に実験環境を 用意したこと ○ プロンプトを変更してしまうと全薬剤師の生産性に影響を及ぼすため、本番環境で入念な実験をおこ なってからプロンプトの変更をしたい ● ③LLMの出力結果を様々な観点で評価し、 PromptLayerに記録したこと ○ サジェスト内容が医学的に正しい内容だったか、マニュアルに従っているかなど、複数の観点で評価 している ○ LLMがサジェストしたメッセージと実際に送ったメッセージの文章の類似度( Levenshtein-distance やembedding-distance)も評価している LLMアプリケーションの改善のためのPharmaXの工夫 LLMアプリケーションの改善のために PharmaXで行って特に効果があったのは以下のようなことです

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

(C)PharmaX Inc. 2023 All Rights Reserve 13 各テンプレートの各バージョンを使用した際の入出力結果の一覧を見ることができる ①PromptLayerによるテンプレートと出力の管理

Slide 14

Slide 14 text

(C)PharmaX Inc. 2023 All Rights Reserve 14 ②本番環境でプロンプトの実験の実施 実験用のボタンを押すと実験用のテンプレートを読み込む 本番環境で実験することで、ローカルでは不可能なあらゆる会話場面で出力を生成することが可能になる

Slide 15

Slide 15 text

(C)PharmaX Inc. 2023 All Rights Reserve 15 ②本番環境でプロンプトの実験の実施 本番環境で実験用のプロンプトを分け、実験用のボタンからは実験用のプロンプトを読み込む 実験用のテンプレートを分けることで、影響範囲を狭くして 本番環境で実験することができる 本番環境で実験してよかったものを全体に適用させる

Slide 16

Slide 16 text

(C)PharmaX Inc. 2023 All Rights Reserve 16 ③様々な観点でLLMの出力結果の評価を実施 ● 特にLLMの評価は、例えば、画像認識などの分類問題などとは異なり、正解が 1つに定まるわ けでないので難しい ○ 例えば、「日本で一番高い山は?」という質問に「富士山」「富士山です」「富士山に決まってんだろー が!」「富士山。標高 3776.12 m。その優美な風貌は …(略)」と答えるのはどれも正解 ● LLMの出力は毎度ばらつくため、運用しながら都度評価を行って、運用期間を通じてそのプロン プトやパラメータがよかったのかどうかを判断する必要がある ○ 定量的な評価ができていれば、プロンプトやパラメータの変更前後で評価の平均点を比べるというよ うな統計的な比較も可能になる AIの評価に関するプラクティス自体は LLMの発展の前から存在していたが、 LLM特有の論点がある

Slide 17

Slide 17 text

(C)PharmaX Inc. 2023 All Rights Reserve 17 ③様々な観点でLLMの出力結果の評価を記録 LLMの出力を評価させるためのプロンプトを定義し、 LLMにLLMの評価をさせる

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 ● 実験管理によって、どのようなプロンプト・パラメータのときにどのような出力だったかの一覧を見 ることができるので、誰でも改善案を出すことができる ● 本番環境から実験用プロンプトテンプレートを使えるようにしたことで、エンジニア以外のメンバー もプロンプトやパラメータを変更できるようになり改善速度が劇的に上がった ○ 定量的な評価がなくとも、本番環境で何度も実験すればプロンプトの良し悪しを定性的に判断するこ とができるので、本番環境で実験できるようにすることは非常にオススメ ● 評価ができるようになったことで、プロンプトの変更の良し悪しを定量的に判断できるようになった 上に、出力結果の評価が一定の数値を下回ったら自動で出力し直すといった応用も可能に 今回紹介したプラクティスの恩恵 実験管理をすることで、パラメータを変更したことでどのような影響があったのかを振り返る事ができる

Slide 20

Slide 20 text

(C)PharmaX Inc. 2023 All Rights Reserve 20 課題と今後の展望 特に評価周りの課題が大きいため、改善していく必要がある ● プロンプトの運用期間を通しての評価の可視化を行いたい ○ 現在はPromptLayerに記録している評価スコアを出力ごとに 1つずつ手動で見ており不便なため、 評価スコアを定期的に BigQueryにインポートして分析、可視化することを想定 ○ プロンプトの変更前後でどの程度評価結果が変わったのかを統計データで比較できるようにしたい ● 類似度計算以外の評価はLLMで評価を行っている以上、その評価が意図した通りの scoreを出 しているのか(直感に則した結果になっているか)を評価し、評価用のプロンプトそのものも改善 していく必要がある ○ 出力された評価が評価者の直感に反していれば(明らかに医学的に間違ったことを出力しているの に点数は高くなっているなど)、評価用のプロンプトを改善して意味ある評価にする必要がある