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
4
1.5k
大規模言語データの前処理と LLM-as-a-Judge の活用
yudai yamamoto
July 11, 2024
Tweet
Share
More Decks by yudai yamamoto
See All by yudai yamamoto
安全性を高めるAzure AI Content Safety について
yyo616
1
300
コンテンツモデレーション入門の入門
yyo616
2
160
2024年における生成AIエンジニアとは何者か
yyo616
11
3.8k
Docusaurus を使った開発ドキュメントの作成と運用
yyo616
0
490
Playwrightでテストを楽に実装したい
yyo616
0
66
Other Decks in Technology
See All in Technology
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
440
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
940
PostgreSQL Unconference #52 pg_tde
nori_shinoda
1
220
ルートユーザーの活用と管理を徹底的に深掘る
yuobayashi
6
730
大規模サービスにおける カスケード障害
takumiogawa
1
210
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
330
ひまプロプレゼンツ 「エンジニア格付けチェック 〜春の公開収録スペシャル〜」
kaaaichi
0
140
問題解決に役立つ数理工学
recruitengineers
PRO
7
2.2k
Explainable Software Engineering in the Public Sector
avandeursen
0
360
バクラクでのSystem Risk Records導入による変化と改善の取り組み/Changes and Improvement Initiatives Resulting from the Implementation of System Risk Records
taddy_919
0
220
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
210
Go の analysis パッケージで自作するリファクタリングツール
kworkdev
PRO
1
420
Featured
See All Featured
Making Projects Easy
brettharned
116
6.1k
Visualization
eitanlees
146
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Statistics for Hackers
jakevdp
798
220k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
8
700
Raft: Consensus for Rubyists
vanstee
137
6.8k
Adopting Sorbet at Scale
ufuk
75
9.3k
Being A Developer After 40
akosma
90
590k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
How STYLIGHT went responsive
nonsquared
99
5.4k
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の学習コストの点から⼤変
ご清聴ありがとうございました 🙇