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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yudai yamamoto
July 11, 2024
Technology
4
1.9k
大規模言語データの前処理と LLM-as-a-Judge の活用
yudai yamamoto
July 11, 2024
Tweet
Share
More Decks by yudai yamamoto
See All by yudai yamamoto
AIコーディングネイティブ世代のバイブコーディングに対する雑感
yyo616
0
620
安全性を高めるAzure AI Content Safety について
yyo616
1
430
コンテンツモデレーション入門の入門
yyo616
2
180
2024年における生成AIエンジニアとは何者か
yyo616
11
4.2k
Docusaurus を使った開発ドキュメントの作成と運用
yyo616
0
570
Playwrightでテストを楽に実装したい
yyo616
0
99
Other Decks in Technology
See All in Technology
DatabricksホストモデルでAIコーディング環境を構築する
databricksjapan
0
150
AI時代のPMに求められるのは 「Ops」と「Enablement」
shimotaroo
1
340
Azure SQL Databaseでベクター検索を活用しよう
nakasho
0
110
[Iceberg Meetup #4] ゼロからはじめる: Apache Icebergとはなにか? / Apache Iceberg for Beginners
databricksjapan
0
480
AWS Devops Agent ~ 自動調査とSlack統合をやってみた! ~
kubomasataka
2
220
全員が「作り手」になる。職能の壁を溶かすプロトタイプ開発。
hokuo
1
570
開発メンバーが語るFindy Conferenceの裏側とこれから
sontixyou
2
160
BiDiってなんだ?
tomorrowkey
2
490
Amazon Bedrock AgentCore EvaluationsでAIエージェントを評価してみよう!
yuu551
0
170
「AIでできますか?」から「Agentを作ってみました」へ ~「理論上わかる」と「やってみる」の隔たりを埋める方法
applism118
5
4.2k
OCI技術資料 : OS管理ハブ 概要
ocise
2
4.3k
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
0
150
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
66k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Are puppies a ranking factor?
jonoalderson
1
2.6k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Writing Fast Ruby
sferik
630
62k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
160
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
340
How STYLIGHT went responsive
nonsquared
100
6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
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の学習コストの点から⼤変
ご清聴ありがとうございました 🙇