Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LLMアプリケーションの安定性を高めるための精度評価・改善
Search
Ryuya Nakamura
September 26, 2023
Technology
4
2.5k
LLMアプリケーションの安定性を高めるための精度評価・改善
LLMアプリケーションの安定性を高めるための精度評価・改善
Ryuya Nakamura
September 26, 2023
Tweet
Share
More Decks by Ryuya Nakamura
See All by Ryuya Nakamura
学生時代のキャリア探索の心がけ
nrryuya
0
95
フィードバックされやすい人になろう
nrryuya
22
15k
間違いが許されなくてもLLMが使えるユースケースとは @GenAI Playground Meetup #01
nrryuya
13
6k
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
4
2.3k
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
9
12k
20240130 エンプラDXにおける2024年の生成AIトレンド予測 @生成AI新年会2024
nrryuya
2
2.1k
20240125 開発側・ビジネス側という壁を作らない LLMアプリ開発 @生成AI Conf
nrryuya
8
3.9k
抜擢されるには
nrryuya
19
14k
キャッチアップ速度が速い #とは
nrryuya
75
38k
Other Decks in Technology
See All in Technology
シフトライトなテスト活動を適切に行うことで、無理な開発をせず、過剰にテストせず、顧客をビックリさせないプロダクトを作り上げているお話 #RSGT2025 / Shift Right
nihonbuson
3
2.1k
Copilotの力を実感!3ヶ月間の生成AI研修の試行錯誤&成功事例をご紹介。果たして得たものとは・・?
ktc_shiori
0
340
30分でわかる「リスクから学ぶKubernetesコンテナセキュリティ」/30min-k8s-container-sec
mochizuki875
3
440
技術に触れたり、顔を出そう
maruto
1
140
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
170
信頼されるためにやったこと、 やらなかったこと。/What we did to be trusted, What we did not do.
bitkey
PRO
0
2.1k
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
140
30分でわかるデータ分析者のためのディメンショナルモデリング #datatechjp / 20250120
kazaneya
PRO
22
4.8k
Evolving Architecture
rainerhahnekamp
3
250
Goで実践するBFP
hiroyaterui
1
120
Fabric 移行時の躓きポイントと対応策
ohata_ds
1
150
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
1
200
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
41
7.2k
GraphQLとの向き合い方2022年版
quramy
44
13k
Why Our Code Smells
bkeepers
PRO
335
57k
Optimizing for Happiness
mojombo
376
70k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Music & Morning Musume
bryan
46
6.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
170
The World Runs on Bad Software
bkeepers
PRO
66
11k
Optimising Largest Contentful Paint
csswizardry
33
3k
Transcript
Confidential © 2023 LayerX Inc. LLMアプリケーションの安定性を高めるための精度評価・改善 2023/9/26 中村龍矢 (LayerX 事業部執行役員)
© 2023 LayerX Inc. 2 中村 龍矢 (Twitter: @nrryuya_jp) 機械学習エンジニア
東京大 工学部 • データサイエンスと出会う Gunosy データ分析部 • 推薦システム開発等 セキュリティ研究者 (現在) 事業責任者 LayerX 創業時からR&D • プログラムの形式検証 • ブロックチェーン ◦ Ethereumへのコント リビューション • LayerX 事業部執行役員 • IPA 未踏スーパークリエータ • 2020年度 電子情報通信学会 インターネットアーキテクチャ研 究賞 最優秀賞 (共著) • Forbes JAPAN 30 UNDER 30 2023 LayerXの新規事業 • プライバシーテック • 大規模言語モデル 自己紹介
目次 Agenda • LayerXの紹介 • “Beyond PoC” させるLLM活用 • 精度評価と改善
LayerXの紹介
© 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
© 2023 LayerX Inc. 6 法人支出管理SaaS 『バクラク』 LayerX LLM Labsの紹介 toCレベルの使いやすさを追求
AI-OCRの精度にこだわり
© 2023 LayerX Inc. 7 MDM(三井物産デジタル・アセットマネジメント) LayerX LLM Labsの紹介
© 2023 LayerX Inc. 8 AI・データ活用支援の実績 LayerX LLM Labsの紹介 •
決済データの更なる活用に関する協業 • 複数企業間の取引記録インフラの事業検討・技術検証 • 自動車走行データの分析サービスを共同で開発 • LayerXのデータ分析基盤を活用 • テキストデータの活用に関する共同研究 • 医療データ流通における安心・安全なデータ加工に関する共同研究 • LayerXのデータ集計基盤が住民意見収集システムとして採用(秘匿化技術 国内初の実用化事例) 国土交通省様 リクルート様 • 不動産情報の更なる利活用に向けた調査・検証業務においてLayerX のデータ活用基盤が採用 JCB様 つくば市様 JMDC様 あいおいニッセイ 同和損保様
© 2023 LayerX Inc. 9 大規模言語モデル(LLM)のチームを設置 LayerX LLM Labsの紹介
© 2023 LayerX Inc. 10 (手前味噌ながら、、、) LayerXの強み LayerX LLM Labsの紹介
「バズワード」的な技術を現実的に評価・改善し、 お客様の「ペイン」に集中する 1 BtoC出身者で構成される、 「使いやすい」サービスへのこだわり 2
© 2023 LayerX Inc. 11 余談: LLMによる文章データの標準化 LayerX LLM Labsの紹介
従来のDXの難しさ: データのフォーマットが、人・会社によってバラバラで、自動連携できない LLMによって「本当は中身が同じなのに、見た目が違う」 データを標準化 エンタープライズ向けブロックチェーン が実現したかったことに近づく(?)
“Beyond PoC” させる LLM活用
© 2023 LayerX Inc. 13 LayerXにおける、ブロックチェーンやプライバシーテックなどの「新技術」活用の苦い経験から得られたもの 新技術の活用をPoC・実験で終わらせないために “Beyond PoC” させるLLM活用
技術だけではなく、 問題設定も新しい 既存の業務の 明確な課題(ペイン) PoCで終わりやすいもの 本番業務に載せやすいもの 技術の新しさに つられないように PoCと受託開発を重ね ゼロから作っていく (機動力がなくなる) 汎用的なプロダクトに 落とし込む サンクコストにより 誰も欲しくないものに 固執しないように
© 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/ 既存ツールで十分 なユースケース 粘り強い 精度改善により 実現できる ユースケース
© 2023 LayerX Inc. 15 ② 正解に至るプロセスが 明確な業務か Beyond PoCしやすいユースケース選定の観点
“Beyond PoC” させるLLM活用 ① 正解が明確な業務か • LLMに期待する正しいアウトプットが明確に定義できるか • 答えが定まらないと、精度評価できない • LLMに人間の手順・思考回路を再現させる方が簡単 • 「職人芸」「第六感」的な業務は難しい 業務効率化系においては、改善サイクルを回すための「精度評価のやりやすさ」が重要
精度評価と改善
© 2023 LayerX Inc. 17 単語の部分一致 (ROUGE等) 評価指標 精度評価と改善 完全一致
• シンプルだが、ちょっとした表記揺れも×になってしまう • 比較的直感的に部分正解を評価できるが、類義語などが×に 出力が正しいかどうかの採点は、方法もツールも既に色々ある (自作も簡単) LLMによる比較 Embedding (ベクトルの類似度) • 柔軟な評価ルールを定義できるが、ここ自体のチューニングが面倒 • 単語の違いなどがあっても意味が近ければ評価できる 参考: https://speakerdeck.com/nohanaga/azure-machine-learning-prompt-flow-ping-jia-metorikusujie-shuo
© 2023 LayerX Inc. 18 精度が出ない原因の分析 精度評価と改善 採点までは簡単なので、その後にうまくいかない箇所の原因を突き止める方が重要 一般的なLLMのユースケースにおける、原因箇所のパターン インプット
データ (ファイル) LLMの処理 アウトプット プロンプト 生成 ①前処理での欠損・毀損 ②検索での欠損 ③結果をまとめる際の欠損・毀損 ④LLM処理での誤り ④のLLM部分(特にプロンプト)に目が行きがちだが、実は他に問題があるかも
© 2023 LayerX Inc. 19 原因①: 前処理での欠損・毀損 精度評価と改善 PDFやdocxからテキストを抜き出す際に、重要な情報が抜けたり単語・文章が崩れたりする 人間が読む順番と異なる
例: 段落の順番が崩れている (縦割りの学術論文等) ① ② ③ ④ ① ② ③ ④
© 2023 LayerX Inc. 20 原因②: 検索での欠損 精度評価と改善 PDFやdocxからテキストを抜き出す際に、重要な情報が抜けたり単語・文章が崩れたりする 間違ったチャンクが取得されている
例: インプットのテキストを分割したチャンクの検索で、必要なチャンクが選ばれていない Query 正解に必要なチャンク
© 2023 LayerX Inc. 21 原因③: 結果をまとめる際の欠損・毀損 精度評価と改善 例えばLangchainのmap_reduceやrefineで、チャンクごとの結果を合体する過程で欠損したりする 例:
map_reduceでmapでは取れた正解がreduceで欠損する 出典: https://python.langchain.com/docs/modules/chains/document/map_reduce reduceで欠損! mapでは取れている 途中の結果を確認すると良い
© 2023 LayerX Inc. 22 LLMに限らない、アルゴリズム改善の一般的な話 1. パラメタ・アルゴリズムを変えるときは一箇所だけ • 一度に色々変えると、どれの影響なのかわかりづらい
2. 問題を切り分ける • 例: LLMに「AとBをせよ」と指示してうまくいかない場合、Aだけの処理、Bだけの処理に分ける 3. 対象データ・処理内容を段階的に難しくする • “toy example” を作る チューニングにおける一般的な心がけ 精度評価と改善
None