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-as-a-Judge の活用
Search
yudai yamamoto
July 11, 2024
Technology
2k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
大規模言語データの前処理と LLM-as-a-Judge の活用
yudai yamamoto
July 11, 2024
More Decks by yudai yamamoto
See All by yudai yamamoto
AIコーディングネイティブ世代のバイブコーディングに対する雑感
yyo616
0
760
安全性を高めるAzure AI Content Safety について
yyo616
1
510
コンテンツモデレーション入門の入門
yyo616
2
210
2024年における生成AIエンジニアとは何者か
yyo616
11
4.3k
Docusaurus を使った開発ドキュメントの作成と運用
yyo616
0
630
Playwrightでテストを楽に実装したい
yyo616
0
120
Other Decks in Technology
See All in Technology
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
290
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
110
ホームラボ紹介
y_sera15
0
220
Android skills に学ぶ
kokiko
0
130
強化学習「理論」入門
enakai00
3
3.6k
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
ytaka23
0
440
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
110
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
290
トークンマネジメントでAIにとって働きやすい環境を実現する
hikaruegashira
0
130
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
270
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
3
690
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
510
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Scaling GitHub
holman
464
140k
Un-Boring Meetings
codingconduct
0
390
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The untapped power of vector embeddings
frankvandijk
2
1.8k
BBQ
matthewcrist
89
10k
Building Adaptive Systems
keathley
44
3.2k
Transcript
⼤規模⾔語データの前処理と LLM-as-a-Judge の活⽤ 2024/07/11 ChatGPT Meetup Tokyo #8 Yudai Yamamoto
(@yyo616)
👦 ⾃⼰紹介 ⼭本 雄⼤ (@yyo616) AIエンジニア - NTT Communications -
Moderation 周りの研究開発とプロダクト開発 - 4⽉まで Cybozu でフロントエンドエンジニア - 最近は刃⽛にハマり中 @yyo616
少し前まで GENIAC 松尾研 LLM開発プロジェクトに参加 今⽇はその際に取り組んだ内容をもとに話します💪
🧐 松尾研 LLM開発プロジェクト とは GENIAC 松尾研 LLM開発プロジェクト
🧭 LLMの開発⼯程 1 データセットの整備 ⼤量のテキストデータを収 集し、品質の⾼いデータを 得るための前処理を⾏う 2 モデルの構築・学習 3
指⽰チューニング 様々なタスクのデータを指⽰ と回答のようなつながった⽂ 章として⾔語モデルに与え追 加学習させることで、⾔語モ デルの対話性能を向上させる ⼤量のテキストデータを利⽤ し、学習を⾏うことで⾔語理 解能⼒を獲得させる
🧭 データセットの整備チームに所属 • それぞれの⼯程ごとにサブチームに分かれることになった • ⾃分はデータセットの整備チームに所属 • チームの活動内容としてはデータの選定、ライセンス調査、前処理など 1 データセットの整備
⼤量のテキストデータを収 集し、品質の⾼いデータを 得るための前処理を⾏う 2 モデルの構築・学習 ⼤量のテキストデータを利⽤ し、学習を⾏うことで⾔語理 解能⼒を獲得させる 3 指⽰チューニング 様々なタスクのデータを指⽰ と回答のようなつながった⽂ 章として⾔語モデルに与え追 加学習させることで、⾔語モ デルの対話性能を向上させる 担当
💪Try, Cleaning その頃は⽬の前に⽴ちはだかる⾼い壁を知るよしもなかった...
😩 ⼤規模⾔語コーパスは汚い • 事前学習では Common Crawl や C4 のようなデータセットを⽤いることが多い •
ある程度の前処理は⾏われているデータセットもあるが実際は結構汚い • データの品質はモデル性能に関わるので磨き上げたい Textbooks Are All You Need The RefinedWeb Dataset for Falcon LLM: Outperforming Curated Corpora with Web Data, and Web Data
🧹 定番の前処理を実施 • まず論⽂やブログによく書いてあるようなルールベースの前処理を実施 • テキスト正規化、テキストチャンキング、重複削除など • 性的・差別的・暴⼒的などの有害カテゴリのコンテンツ除去 • 個⼈情報のマスキング
A Survey of Large Language Models
💻 実装には HojiChar を利⽤ • 前処理コードの実装には主に HojiChar を利⽤ • Common
Crawl のようなデータに対しての前処理⽤ライブラリ • 処理操作のシーケンスを宣⾔的に記⼊できる • ⽇本語にも対応
📊 結果 • 前処理したデータの質がイマイチに⾒えた • 多様なデータに対してルールベースの 前処理は厳しい 登録されている NGワードが⽂章中に⼀定以上の割合で 含まれる場合に排除する
→ 逆にNGワードリストに含まれない単語には対応できない 有害コンテンツを排除するためのモジュール例
🧐 機械学習ベースのフィルタリングを試みる
🧭 機械学習ベースのフィルタリング • どのような⼿段でフィルタリングするか • 分類器による分類 • フィルタリング⽤のAPIの利⽤ • Perplexity
を利⽤した判定 → LLM as a judge「Ask LLM」という⼿法を採⽤
🧠 Ask LLM とは • 事前学習データを代理LLMを利⽤し品質フィルタリング • 事前学習データセットC4に対して、サンプリング20%でも下流タスクの性能を 33%向上 •
Flan-T5-XL(3B)という⽐較的⼩さな代理LLMでも有効 How to Train Data-Efficient LLMs
🧠 Ask LLM とは Ask-LLM論⽂紹介: How to Train Data-Efficient LLMs
🧭 Ask LLM の採⽤理由 • 品質フィルタリングとして他⼿法に⽐べて優秀 • いくつかの予備実験で⽇本語データにおける有効性が確認できた • フィルタリングに要する時間が現実的な範囲に収まった
• 他チームとの差別化 • メンバー(@susumuota)の尽⼒ Ask-LLM論⽂紹介: How to Train Data-Efficient LLMs
📊 品質フィルタリングの結果とPJの感想 • 結果としては定性的にはうまくいっていそう • 時間とコストの都合上、定量的に測ることはできなかった • 今後もデータエンジニアリングにLLMを利⽤する事例は増えていく • 広告系のテキストを低品質データとみなすかどうか
• 広告系のテキストは全データのうち、結構な割合を占める • 有害とまでは⾔い切れないが、⽣成能⼒に悪影響を与える可能性は考えられそう • 結局LLMにとっての良いデータセットの基準がよくわからない • 現状は良さそうなデータを⼈間基準で選んでいる状況 • 多くの場合、選定に明確な根拠があるわけではない • しかも前処理の効能を学習結果から測るのはLLMの学習コストの点から⼤変
ご清聴ありがとうございました 🙇