AI・機械学習
中級

LLMデータ品質フィルタリング(エルエルエムデータヒンシツフィルタリング)

大規模言語モデルの学習データから低品質テキスト・有害コンテンツ・個人情報(PII)を自動検出・除外するフィルタリング技術。fastText分類器やperplexityベースのスコアリングが代表的な手法である。

0 回閲覧
0 いいね

LLMデータ品質フィルタリングとは

LLMデータ品質フィルタリングは、前処理・重複排除を経たテキストデータに対して、学習に不適切なコンテンツを検出・除外する工程である。Webクロールデータには広告テキスト、スパム、自動生成コンテンツ、有害・違法コンテンツ、個人情報(PII)などが含まれており、これらを除去することでモデルの品質と安全性を確保する。MicrosoftのPhi シリーズが「教科書品質」のデータで小規模モデルの性能を大幅に向上させたことから、データ品質への注目が一層高まっている。

フィルタリング手法の分類

ルールベースフィルタ

フィルタ名判定基準除外率目安
文長フィルタ50単語未満 or 100,000単語超5〜10%
記号比率フィルタ記号・数字が全体の50%超3〜5%
単語繰り返しフィルタ同一単語が全体の20%超2〜3%
行繰り返しフィルタ同一行が3回以上連続1〜2%
停止語比率フィルタ停止語の比率が2%未満(自然文ではない)3〜5%
アルファベット比率英字が全体の80%未満(英語コーパスの場合)5〜8%
URL密度フィルタURLが全体の10%超1〜2%

これらのフィルタは C4 データセット(Google)や The Pile(EleutherAI)の構築で確立された。Datatrove では GopherQualityFilter と C4QualityFilter としてプリセットが提供されている。

分類器ベースフィルタ

機械学習モデルを使って文書の品質をスコアリングし、閾値以下のデータを除外する。

分類器学習データ判定対象精度(F1)速度
fastText品質分類器Wikipedia(正例)vs Random Web(負例)テキスト品質約 0.92非常に高速
PerplexityフィルタKenLM 5-gram言語流暢性N/A(スコアベース)高速
有害コンテンツ分類器Jigsaw/HateBERT毒性・差別表現約 0.88中速
NSFW分類器OpenAI Moderation成人コンテンツ約 0.95API依存
PII検出器Presidio/spaCy NER個人情報約 0.90中速

fastText 品質分類器の詳細

FineWeb で採用された手法で、最も広く使われている品質フィルタリング手法の一つである。

学習プロセス:

  1. 正例: Wikipedia の記事テキスト(高品質テキストの代表)
  2. 負例: Common Crawl からランダムサンプリングしたWebテキスト
  3. 特徴量: 文字 n-gram(2〜5gram)
  4. モデル: fastText の教師あり分類(学習時間: 数分)
  5. 推論: 各文書に 0.0〜1.0 の品質スコアを付与
  6. 閾値: スコア 0.5 以上のみを採用(FineWeb の設定)

この手法は「Wikipedia に似たテキストは高品質」という仮定に基づいており、学術論文や技術文書に偏る傾向がある。対話形式や口語体のテキストが過度に除外されるリスクがある。

Perplexity ベースのフィルタリング

KenLM(5-gram 言語モデル)で文書の perplexity を計算し、極端に高い値(文法的に不自然)や極端に低い値(テンプレート・繰り返し)を除外する。

  • 高perplexity除外(> 10,000): 文字化け、非自然言語テキスト、ランダム文字列
  • 低perplexity除外(< 10): 繰り返しテキスト、テンプレート生成ページ
  • 適正範囲: 100〜5,000(自然な文章の典型的な範囲)

CCNet(Meta)はこの手法を大規模に適用し、Common Crawl を「頭(高品質)」「中間」「尾(低品質)」の3層に分類した。

有害コンテンツフィルタリング

カテゴリと対策

カテゴリ検出手法対応策
ヘイトスピーチBERT/RoBERTa分類器完全除去
成人コンテンツURLブラックリスト + テキスト分類完全除去
暴力表現キーワード + 分類器完全除去
著作権侵害書籍/論文との類似度検査除去または許諾確認
偽情報・デマファクトチェックDB照合信頼度スコアで重み付け
SEOスパムキーワード密度 + リンクファーム検出除去

URLブラックリストは UT1(フランスの大学が管理する 300万+ URL のカテゴリ別リスト)が業界標準で、FineWeb・RefinedWeb の両方で採用されている。

PII(個人情報)の検出と除去

検出対象と手法

PII種別検出手法対処
メールアドレス正規表現マスキング or 除去
電話番号正規表現 + 国コード判定マスキング
クレジットカード番号Luhnチェック + 正規表現完全除去
住所NER(spaCy/Presidio)マスキング
人名NER + 文脈判定確率的マスキング
IPアドレス正規表現マスキング
SSN/マイナンバー国別正規表現完全除去

Microsoft の Presidio が PII 検出のオープンソース標準ツールで、50+ のPII種別を20+言語で検出できる。BigScience(BLOOM プロジェクト)でも Presidio ベースの PII 除去パイプラインが使用された。

マスキング戦略

  • 完全除去: PII を含む文全体を削除(最も安全だがデータ損失大)
  • トークン置換: [EMAIL], [PHONE], [NAME] などのプレースホルダに置換
  • 合成データ置換: 偽のメールアドレスや名前に置換(データの自然さを維持)
  • 差分プライバシー: ノイズを加えて元データの復元を困難にする

品質フィルタリングの評価

アブレーション実験の重要性

品質フィルタの効果はモデル学習の下流タスク評価でしか正確に測定できない。FineWeb チームは以下のアブレーション実験プロセスを公開している。

  1. フィルタあり/なしの2つのデータセットを作成(各 28B トークン)
  2. 同一アーキテクチャ・ハイパーパラメータで 1.5B パラメータモデルを学習
  3. HellaSwag, ARC, MMLU 等の標準ベンチマークで性能比較
  4. 有意な改善が見られたフィルタのみを採用

この手法により、直感的には有効に見えるフィルタが実は性能を低下させるケースも発見されている。

よくある質問(FAQ)

Q1: フィルタリングで除外しすぎるとモデル性能は下がるか? A: 下がる場合がある。過度なフィルタリングはデータの多様性を損ない、特定ドメイン(Wikipedia 風テキスト)への過学習を招く。DCLM の実験では、fastText 品質スコアの閾値を 0.3 → 0.5 → 0.7 と上げると、一定の閾値を超えた時点で下流タスクの性能が低下し始めることが確認された。

Q2: 日本語コンテンツのフィルタリングで注意すべき点は? A: 英語向けに学習された品質分類器(fastText Wikipedia 分類器など)は日本語テキストに対して精度が低い。日本語 Wikipedia で別途分類器を学習するか、perplexity ベースの言語非依存フィルタを使用する。また、日本語特有の「全角記号の多用」「顔文字」がルールベースフィルタで誤除去されやすいため閾値調整が必要。

Q3: 有害コンテンツフィルタの偽陽性はどう対処するか? A: 完全な自動化は困難で、偽陽性率 1〜3% は許容範囲とされている。対策としては、複数の分類器のアンサンブル(2/3以上が有害と判定した場合のみ除外)や、除外候補のサンプリング検証(定期的に人手で確認)が有効。

まとめ

  • 品質フィルタリングはルールベース + 分類器ベースの2層構成が標準
  • fastText 品質分類器と perplexity フィルタが最も広く採用
  • PII 除去は Presidio が業界標準ツール
  • フィルタの効果はアブレーション実験で定量検証が必須
  • 過度なフィルタリングはデータ多様性の損失につながるため注意