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
22
15k
間違いが許されなくてもLLMが使えるユースケースとは @GenAI Playground Meetup #01
nrryuya
13
5.8k
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
4
2.2k
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
9
12k
20240130 エンプラDXにおける2024年の生成AIトレンド予測 @生成AI新年会2024
nrryuya
2
2.1k
20240125 開発側・ビジネス側という壁を作らない LLMアプリ開発 @生成AI Conf
nrryuya
8
3.8k
抜擢されるには
nrryuya
19
13k
キャッチアップ速度が速い #とは
nrryuya
72
37k
20230425 PRIVACY TECH NIGHT #02 「統計化すれば安全」の罠 ──差分プライバシーの背景
nrryuya
0
830
Other Decks in Technology
See All in Technology
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
180
AGIについてChatGPTに聞いてみた
blueb
0
130
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
A designer walks into a library…
pauljervisheath
204
24k
For a Future-Friendly Web
brad_frost
175
9.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Faster Mobile Websites
deanohume
305
30k
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