Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
効果的なLLM評価法 LangSmithの技術と実践 2024/06/29 第36回勉強会
Slide 2
Slide 2 text
自己紹介 ● 名前: 西岡 賢一郎 ○ Twitter: @ken_nishi ○ note: https://note.com/kenichiro ○ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル (https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg) ● 経歴 ○ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得 ○ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト ライディアを設立 ○ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職 ○ CDPのスタートアップ (Sr. CSM)・株式会社データインフォームド (CEO)・株式会社ディース タッツ (CTO) ○ 自社 よび他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験
Slide 3
Slide 3 text
今日のお話 ● プレゼンの目的: ○ LangSmithの機能とその利点を紹介し、LLMの評価プロセスの改善を図る。 ● トピック ○ LLMの評価 ○ LangSmithを使った評価 + デモ
Slide 4
Slide 4 text
LLMの評価
Slide 5
Slide 5 text
LLMの主な評価方法 LLM(大規模言語モデル)アプリケーションを開発すると に 評価 必要となる背景 ● 品質保証 ○ 誤情報 (ハルシネーション) を防 、正確な応答を提供するため の評価 必要 ○ 特に重要な分野では信頼性の確保 不可欠 ● ユーザーエクスペリエンス ○ ユーザーの満足度を向上させるために応答の質を評価 ○ 対話の質 ユーザー体験に直結する ● モデル改善 ○ モデルの強みと弱みを把握し、次のアプリの改善に役立てる ○ 評価を通じて性能を向上させ、より良い結果を目指す LLMの現場で見られる3つの評価 1. ユーザのフィードバック 2. プロダクトチームのフィードバック 3. 期待する出力を使った評価
Slide 6
Slide 6 text
ユーザのフィードバック ● フィードバック収集 ○ 親指マークやコメントでの評価 ○ 簡便で直感的なインターフェース ● 応答の質の分析 ○ 高評価と低評価の応答を比較 ○ 改善点の特定 ● ユーザー満足度の向上 ○ フィードバックを基にアプリを改善 ○ 継続的なユーザーエクスペリエンスの 向上をめざす
Slide 7
Slide 7 text
プロダクトチームのフィードバック ● 手動のチェック ○ 開発中の応答を人力で確認 ○ モデルの精度と一貫性の評価 ● プロダクトログデータの活用 ○ 実際の使用データを分析 ○ ユーザーの行動パターンや傾向を把握 ● パフォーマンス指標のモニタリン グ ○ 応答速度やエラーレートの監視 ○ システムの信頼性と効率性の向上 ● ダッシュボードの作成 ○ リアルタイムのデータを可視化 ○ 評価結果の一元管理と迅速な対応。
Slide 8
Slide 8 text
期待する出力を使った評価 ● 特定のInputに対するOutputを準備 ○ 具体的なInputと期待されるOutputを設定 ○ 実際のLLMのOutputと比較して評価 ● 曖昧性の考慮 ○ LLMの生成するテキスト 必ず同じになる わけではない ○ 完全一致ではな 、意味的な一致も考慮す る ● InputとOutputの管理は課題となる ○ InputとOutputは追加・更新される可能性 ある ● 評価基準の設定 ○ 実際のOutputを評価するための基準の設 定 必要 ○ 一貫性、正確性、関連性の評価
Slide 9
Slide 9 text
LangSmithを使った評価
Slide 10
Slide 10 text
LangSmithの評価機能 LLMアプリケーション開発でよ 使われるLangChainのサー ビスである「LangSmith」は、LLMを楽に評価で る機能を 提供している。 ● Evaluatorの設定 ○ コードを書 ずにEvaluatorを設定し、データ セットに紐づけられる ● PlayGround ○ プログラムを書 ずにプロンプトやモデルの設 定をテスト ● 中間ステップの評価 ○ RAGパイプラインなどの中間ステップを詳細に 評価 ● 標準Evaluatorの利用: ○ カスタムコードを書 ことな 、標準の Evaluatorを使用 ● Annotationの利用 ○ 実行結果に注釈を追加し、詳細なフィードバッ クを提供
Slide 11
Slide 11 text
評価に使える2つの機能「Feedback」と「Evaluation」 ● 評価文脈で使える機能は、FeedbackとEvaluationの 2種類 ○ Feedback: ユーザやプロダクトチーム LLM の実行結果に対してAnnotate (注釈付け) ○ Evaluation: 期待する出力を使ってLLMの出 力を特定の基準をもとに評価 ● FeedbackはRun (LLMの実行等) を絞り込むのに使 い、実行のInputとOutputをDatasetに保存するこ とでEvaluationに利用すること で るようになる (Annotateした内容はDatasetには保存されない)
Slide 12
Slide 12 text
Feedback ● Traceされた実行の中に含まれるRunに、自分で定義 したTagやKeyをAnnotate ○ trace_id1つに対して複数のrun_id 含まれる 構造 ○ 最初のrun_idはtrace_idと同一 ● API経由のfeedbackではKey, 手動のfeedbackでは TagでAnnotateする仕組みとなっている 、Tagも Keyとして保存されている ● API経由のfeedbackはrecord 追加・上書 で る のに対して、手動のfeedbackは上書 のみという違 い ある ● 数値データで同じキーのものは集計されて表示され る ● LLMアプリを使っているユーザ らのフィードバッ クは、基本的にAPI経由の登録となる Runに対して定義したTagをAnnotateしてい
Slide 13
Slide 13 text
Evaluation ● Datasetにあら じめInputとOutputの組み合わせ らなるExampleを保存 ● ExampleのInputを使ってLLMを実行し、出て た Outputを保存されているOutputを使って評価 ● 評価にはLangSmith あら じめ用意している評価 や、カスタム評価を利用すること で る ● 評価結果は、key (評価指標の名前), score (評価結 果), commentとして残すこと 可能
Slide 14
Slide 14 text
LangSmith導入の課題 ● データの送信: ○ LangSmithにInput、Output、Prompt などを送ることとなる ○ 意図せずセキュアな情報を送らないよ うに実装時に注意 必要 ● コスト: ○ チームで使うと1ユーザあたり $39 (6000円強)/月で少し高め ● アプリとLangSmithの密結合: ○ ユーザ らのフィードバックを保存す る仕組みなどで、アプリとLangSmith 密結合してしまうこと ある
Slide 15
Slide 15 text
Appendix
Slide 16
Slide 16 text
自動Evaluatorの設定 ● 手順: ○ データセットで「Add Evaluator」ボタンを クリック ○ Evaluatorに名前を付け、使用するプロンプト を設定 ○ 評価基準をスキーマフィールドに指定 ○ Evaluatorを保存し、設定後の実験実行 自動 的に評価される ● 利点: 評価プロセス 簡素化され、一貫した評価基準 適用される
Slide 17
Slide 17 text
PlayGround ● 手順: ○ プロンプトプレイグラウンドでプロンプトを 選択または作成 ○ データセットに切り替えて実験を開始 ○ 結果を確認し、プロンプトを再調整して実験 を繰り返す ● 利点: 効率的にプロンプトやモデルの設定をテストで る
Slide 18
Slide 18 text
中間ステップの評価 ● 手順: ○ パイプラインを定義。 ○ データセットと評価例を作成。 ○ カスタム評価者を定義。 ○ パイプラインを評価。 ● 利点: 各ステップのパフォーマンスを最適化で る
Slide 19
Slide 19 text
標準Evaluatorの利用 ● 種類: ○ QA Evaluator(qa、context_qa、cot_qa) ○ 基準Evaluator(criteria) ○ ラベル付 基準Evaluator(labeled_criteria) ○ 文字列距離メトリックEvaluator(string_distance) ○ 埋め込み距離メトリックEvaluator(embedding_distance) ● 利点: 多様な評価基準をカバーし、迅速に評価で る
Slide 20
Slide 20 text
Annotationの利用 ● 手順: ○ 実行結果ページで「Add Annotation」ボタンをクリック。 ○ 注釈内容を入力して保存 ○ 注釈は実行結果ページで確認・編集可能 ● 利点: ○ 詳細なフィードバック: 各実行結果に具体的なフィードバックを追加。 ○ エラーの特定: 特定のエラーや問題点を明確化。 ○ チーム間の共有: チームメンバー間での情報共有 容易。
Slide 21
Slide 21 text
LangSmithの高度な評価機能 ● ペアワイズ評価の実行 ● 評価者スコアの監査 ● 実験のパフォーマンス指標の取得