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.9k
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.8k
抜擢されるには
nrryuya
19
13k
キャッチアップ速度が速い #とは
nrryuya
75
38k
20230425 PRIVACY TECH NIGHT #02 「統計化すれば安全」の罠 ──差分プライバシーの背景
nrryuya
0
850
Other Decks in Technology
See All in Technology
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
CustomCopを使ってMongoidのコーディングルールを整えてみた
jinoketani
0
220
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
1
230
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
31k
Qiita埋め込み用スライド
naoki_0531
0
860
UI State設計とテスト方針
rmakiyama
2
370
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1k
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Facilitating Awesome Meetings
lara
50
6.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Agile that works and the tools we love
rasmusluckow
328
21k
Side Projects
sachag
452
42k
BBQ
matthewcrist
85
9.4k
Docker and Python
trallard
42
3.1k
Practical Orchestrator
shlominoach
186
10k
Into the Great Unknown - MozCon
thekraken
33
1.5k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
The Cult of Friendly URLs
andyhume
78
6.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
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