Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

LLMアプリケーションの安定性を高めるための精度評価・改善

Ryuya Nakamura
September 26, 2023

 LLMアプリケーションの安定性を高めるための精度評価・改善

LLMアプリケーションの安定性を高めるための精度評価・改善

Ryuya Nakamura

September 26, 2023
Tweet

More Decks by Ryuya Nakamura

Other Decks in Technology

Transcript

  1. © 2023 LayerX Inc. 2 中村 龍矢 (Twitter: @nrryuya_jp) 機械学習エンジニア

    東京大 工学部 • データサイエンスと出会う Gunosy データ分析部 • 推薦システム開発等 セキュリティ研究者 (現在) 事業責任者 LayerX 創業時からR&D • プログラムの形式検証 • ブロックチェーン ◦ Ethereumへのコント リビューション • LayerX 事業部執行役員 • IPA 未踏スーパークリエータ • 2020年度 電子情報通信学会 インターネットアーキテクチャ研 究賞 最優秀賞 (共著) • Forbes JAPAN 30 UNDER 30 2023 LayerXの新規事業 • プライバシーテック • 大規模言語モデル 自己紹介
  2. © 2023 LayerX Inc. 5 LayerXの事業概要 LayerX LLM Labsの紹介 *

    資本準備金含む 会社名     代表取締役  創業      資本金* 関連会社 株主一覧  取得認証 | 株式会社LayerX(レイヤーエックス) | 代表取締役CEO 福島 良典    代表取締役CTO 松本 勇気 | 2018年 | 112.6億円 | バクラク事業、Fintech事業、Privacy Tech事業 | 三井物産デジタル・アセットマネジメント   三井物産、LayerX、三井住友信託銀行、SMBC日興証券、JA三井リースによる合弁会社 |  | 情報セキュリティマネジメントシステム、      JIIMA認証 次世代のプライバシー保護 秘匿化技術 バクラク事業 企業活動のインフラとなる 法人支出管理(BSM)SaaSを 開発・提供 Fintech事業 ソフトウェアを駆使したアセットマネジメント 証券事業を合弁会社にて展開 Privacy Tech事業 IS 747702 / ISO 27001
  3. © 2023 LayerX Inc. 8 AI・データ活用支援の実績 LayerX LLM Labsの紹介 •

    決済データの更なる活用に関する協業 • 複数企業間の取引記録インフラの事業検討・技術検証 • 自動車走行データの分析サービスを共同で開発 • LayerXのデータ分析基盤を活用 • テキストデータの活用に関する共同研究 • 医療データ流通における安心・安全なデータ加工に関する共同研究 • LayerXのデータ集計基盤が住民意見収集システムとして採用(秘匿化技術 国内初の実用化事例) 国土交通省様 リクルート様 • 不動産情報の更なる利活用に向けた調査・検証業務においてLayerX のデータ活用基盤が採用 JCB様 つくば市様 JMDC様 あいおいニッセイ 同和損保様
  4. © 2023 LayerX Inc. 10 (手前味噌ながら、、、) LayerXの強み LayerX LLM Labsの紹介

    「バズワード」的な技術を現実的に評価・改善し、 お客様の「ペイン」に集中する 1 BtoC出身者で構成される、 「使いやすい」サービスへのこだわり 2
  5. © 2023 LayerX Inc. 11 余談: LLMによる文章データの標準化 LayerX LLM Labsの紹介

    従来のDXの難しさ: データのフォーマットが、人・会社によってバラバラで、自動連携できない LLMによって「本当は中身が同じなのに、見た目が違う」 データを標準化 エンタープライズ向けブロックチェーン が実現したかったことに近づく(?)
  6. © 2023 LayerX Inc. 13 LayerXにおける、ブロックチェーンやプライバシーテックなどの「新技術」活用の苦い経験から得られたもの 新技術の活用をPoC・実験で終わらせないために “Beyond PoC” させるLLM活用

    技術だけではなく、 問題設定も新しい 既存の業務の 明確な課題(ペイン) PoCで終わりやすいもの 本番業務に載せやすいもの 技術の新しさに つられないように PoCと受託開発を重ね ゼロから作っていく (機動力がなくなる) 汎用的なプロダクトに 落とし込む サンクコストにより 誰も欲しくないものに 固執しないように
  7. © 2023 LayerX Inc. 14 チューニングにより切り拓けるユースケース “Beyond PoC” させるLLM活用 ChatGPT・APIをそのまま使うだけでは、精度が安定せず、本番業務に耐えられることは少ない

    https://thebridge.jp/2023/07/chatgpt-sees-10-percent-mom-decline https://business.nikkei.com/atcl/gen/19/00466/070400013/ 既存ツールで十分 なユースケース 粘り強い 精度改善により 実現できる ユースケース
  8. © 2023 LayerX Inc. 15 ② 正解に至るプロセスが   明確な業務か Beyond PoCしやすいユースケース選定の観点

    “Beyond PoC” させるLLM活用 ① 正解が明確な業務か • LLMに期待する正しいアウトプットが明確に定義できるか • 答えが定まらないと、精度評価できない • LLMに人間の手順・思考回路を再現させる方が簡単 • 「職人芸」「第六感」的な業務は難しい 業務効率化系においては、改善サイクルを回すための「精度評価のやりやすさ」が重要
  9. © 2023 LayerX Inc. 17 単語の部分一致 (ROUGE等) 評価指標 精度評価と改善 完全一致

    • シンプルだが、ちょっとした表記揺れも×になってしまう • 比較的直感的に部分正解を評価できるが、類義語などが×に 出力が正しいかどうかの採点は、方法もツールも既に色々ある (自作も簡単) LLMによる比較 Embedding (ベクトルの類似度) • 柔軟な評価ルールを定義できるが、ここ自体のチューニングが面倒 • 単語の違いなどがあっても意味が近ければ評価できる 参考: https://speakerdeck.com/nohanaga/azure-machine-learning-prompt-flow-ping-jia-metorikusujie-shuo
  10. © 2023 LayerX Inc. 18 精度が出ない原因の分析 精度評価と改善 採点までは簡単なので、その後にうまくいかない箇所の原因を突き止める方が重要 一般的なLLMのユースケースにおける、原因箇所のパターン インプット

    データ (ファイル) LLMの処理 アウトプット プロンプト 生成 ①前処理での欠損・毀損 ②検索での欠損 ③結果をまとめる際の欠損・毀損 ④LLM処理での誤り ④のLLM部分(特にプロンプト)に目が行きがちだが、実は他に問題があるかも
  11. © 2023 LayerX Inc. 20 原因②: 検索での欠損 精度評価と改善 PDFやdocxからテキストを抜き出す際に、重要な情報が抜けたり単語・文章が崩れたりする 間違ったチャンクが取得されている

    例: インプットのテキストを分割したチャンクの検索で、必要なチャンクが選ばれていない Query 正解に必要なチャンク
  12. © 2023 LayerX Inc. 21 原因③: 結果をまとめる際の欠損・毀損 精度評価と改善 例えばLangchainのmap_reduceやrefineで、チャンクごとの結果を合体する過程で欠損したりする 例:

    map_reduceでmapでは取れた正解がreduceで欠損する 出典: https://python.langchain.com/docs/modules/chains/document/map_reduce reduceで欠損! mapでは取れている 途中の結果を確認すると良い
  13. © 2023 LayerX Inc. 22 LLMに限らない、アルゴリズム改善の一般的な話 1. パラメタ・アルゴリズムを変えるときは一箇所だけ • 一度に色々変えると、どれの影響なのかわかりづらい

    2. 問題を切り分ける • 例: LLMに「AとBをせよ」と指示してうまくいかない場合、Aだけの処理、Bだけの処理に分ける 3. 対象データ・処理内容を段階的に難しくする • “toy example” を作る チューニングにおける一般的な心がけ 精度評価と改善