Dolma 3: 事前学習データセット
Dolma 3 は、Olmo 3 Base モデルの事前学習に使用される大規模なデータセットである。Dolma 3 Mix として知られる約 6 兆トークンの多様なデータで構成されており、Web ページ、学術 PDF、コードリポジトリ、数学データなど、複数のデータソースを含んでいる。
概要と目的
Dolma 3 の主な目的は、Olmo 3 Base モデルに幅広い知識と能力を与えることである。データセットは、最も計算集約的な事前学習ステージ(全体の計算量の 90% 以上を消費)で使用されるため、スケーラビリティと品質が重要視されている。
データ戦略の基本原則:
- 規模の重要性: 事前学習に影響を与えるには、兆トークンスケールで十分な量のデータが必要
- タスクデータの扱い: 構造化されたタスクデータ(QA ペア、チャットインスタンスなど)は、後の中間訓練や長文脈拡張のステージで使用し、事前学習では使用しない
データソースの構成
Dolma 3 Mix は、複数のデータソースから構成されている。以下の表は、各ソースのトークン数と文書数を示している。
| データソース | タイプ | 9T プール | 6T Mix | 6T Mix 割合 |
|---|---|---|---|---|
| Common Crawl | Web ページ | 8.14T トークン 9.67B 文書 |
4.51T トークン 3.15B 文書 |
76.1% |
| olmOCR science PDFs | 学術文書 | 972B トークン 101M 文書 |
805B トークン 83.8M 文書 |
13.6% |
| Stack-Edu (Rebalanced) | GitHub コード | 137B トークン 167M 文書 |
409B トークン 526M 文書 |
6.89% |
| arXiv | LaTeX 論文 | 21.4B トークン 3.95M 文書 |
50.8B トークン 9.10M 文書 |
0.86% |
| FineMath 3+ | 数学 Web ページ | 34.1B トークン 21.4M 文書 |
152B トークン 95.5M 文書 |
2.56% |
| Wikipedia & Wikibooks | 百科事典 | 3.69B トークン 6.67M 文書 |
2.51B トークン 4.24M 文書 |
0.04% |
| 合計 | 9.31T トークン 9.97B 文書 |
5.93T トークン 3.87B 文書 |
100% |
データソースの説明
Common Crawl (Web ページ):
- 最も大きな割合を占めるデータソース(76.1%)
- 多様な Web ページから抽出されたテキストデータ
- 2024 年 12 月 31 日までのデータを含む
olmOCR science PDFs (学術文書):
- 学術 PDF を線形化プレーンテキストに変換した新しいデータソース
- 238 百万件のユニークな PDF 文書から抽出
- olmOCR ツールを使用してテキスト抽出
Stack-Edu (GitHub コード):
- The Stack v2 データセットから厳選した教育的プログラミングコンテンツ
- プログラミング言語別に分割され、最適なミックスが適用される
arXiv (LaTeX 論文):
- Proof-Pile-2 データセットから取得
- 元の LaTeX 記法を保持し、数学的内容と適切なフォーマットの両方を学習可能
FineMath 3+ (数学 Web ページ):
- 数学的教育コンテンツを含む Common Crawl 文書のサブセット
- 数学記法を適切に保持するように再処理
Wikipedia & Wikibooks (百科事典):
- 英語版と Simple 版の Wikipedia と Wikibooks
- 百科事典的知識のベースソース
主要な革新点
Dolma 3 は、3 つの主要な技術革新を導入している。
1. グローバル重複排除 (Deduplication)
Dolma 3 では、兆トークンスケールで高速かつスケーラブルなグローバル重複排除を実現するために、Duplodocus という新しいツールを開発した。
重複排除は 3 つのステージで実施される:
Stage 1: 完全重複排除 (Exact Deduplication):
- 文書テキストハッシュに基づくグローバル重複排除
- すべての完全コピーを削除
- 67% のデータを重複として識別し、38.7B から 12.8B 文書に削減
Stage 2: 曖昧重複排除 (Fuzzy Deduplication):
- MinHash ベースの重複排除で、ほぼ同一の文書を識別・削除
- ヘッダーやフッターのみが異なる文書(複数ドメイン間でコピーされた文書)を削除
- 23% のデータを重複として識別し、9.8B 文書に削減
Stage 3: 部分文字列重複排除 (Substring Deduplication):
- 新しいファジー suffix-array ベースの重複排除手順
- 個別文書内の繰り返しコンテンツ(ボイラープレートテキストや HTML アーティファクト)を削除
- 500 バイト以上の繰り返し部分文字列をマーク
- 14% のテキストバイトを削除し、9.7B 文書(36.5T バイト)に削減
この 3 段階の手順により、Web コーパスは 38.7B から 9.7B 文書に削減された(文書数で 75% 削減)。
2. Token-constrained Mixing と Quality-aware Upsampling
Dolma 3 では、データミキシングの 2 つの新しい手法を導入している。
Token-constrained Mixing (トークン制約付きミキシング):
- Swarm ベースのアプローチを使用して、多数の小型プロキシモデルを訓練・評価
- これらの結果を使用して最適なミックスを決定
- 条件付きミキシング手順により、データソースが継続的に改善・更新される開発サイクルに対応
Token-constrained Mixing の手順:
- Swarm 構築: 異なるミキシング比率で多数の小型プロキシモデルを訓練
- タスクごとの回帰: 各プロキシモデルがミキシング重みをタスク性能にマッピング
- ミックス最適化: 平均タスク BPB(bits-per-byte)を最小化するミキシングを発見
Quality-aware Upsampling (品質認識アップサンプリング):
- 各トピック内の品質バリエーションを考慮
- 高品質な文書を選択的に繰り返すことで、全体的な繰り返しを最小限に抑えながら、高品質データの繰り返しを集中させる
3. olmOCR science PDFs
olmOCR science PDFs は、学術 PDF を線形化プレーンテキストに変換した新しいデータソースである。従来の peS2o データセットを置き換える形で導入された。
特徴:
- AI2Bot として識別される「礼儀正しい」クローリング
- robots.txt を遵守し、ペイウォールを回避しない
- 学術サイトと論文リポジトリに焦点を当てたクローリング
- olmOCR(バージョン 0.1.49-0.1.53)を使用してテキスト抽出
データ規模:
- 238 百万件のユニークな PDF 文書(2024 年 12 月までのカットオフ日)
- テキスト抽出後、160 百万件の PDF 文書
- 重複排除後、156 百万件の文書
データキュレーションのパイプライン
Dolma 3 Mix のデータキュレーションは、以下のフローで実施される。
┌──────────────────────────────────────────────────────────────┐
│ Data Curation Pipeline │
├──────────────────────────────────────────────────────────────┤
│ Common Crawl (Web pages) │
│ └─> HTML text extraction │
│ └─> Heuristic filtering │
│ └─> Deduplication │
│ └─> Topic & quality classification │
├──────────────────────────────────────────────────────────────┤
│ Academic PDFs │
│ └─> OCR text extraction │
│ └─> Heuristic filtering │
│ └─> Deduplication │
│ └─> Topic & quality classification │
├──────────────────────────────────────────────────────────────┤
│ GitHub repos (Stack-Edu) │
│ └─> Language classification │
├──────────────────────────────────────────────────────────────┤
│ FineMath, arXiv, Wiki │
│ └─> (Preprocessed) │
├──────────────────────────────────────────────────────────────┤
│ Mixing │
│ └─> Quality upsampling │
│ └─> Dolma 3 Mix (6T tokens) │
└──────────────────────────────────────────────────────────────┘
パイプラインの主要ステップ:
- テキスト抽出: HTML または PDF からテキストを抽出
- ヒューリスティックフィルタリング: 低品質文書、スパム、アダルトコンテンツを削除
- 重複排除: 完全重複、曖昧重複、部分文字列重複を削除
- トピック・品質分類: WebOrganizer ツールで 24 のトピックに分類し、品質スコアを付与
- ミキシング: Token-constrained mixing でデータソースの最適な比率を決定
- 品質アップサンプリング: 高品質文書を選択的に繰り返す
3 つのステージでの使用方法
Dolma 3 データセットは、Olmo 3 の訓練プロセスの 3 つのステージで使用される。
Stage 1: Pretraining (事前学習)
使用データ: Dolma 3 Mix(6T トークン)
目的: 多様な知識と能力を持つ基盤モデルを構築
データソース:
- Common Crawl: 76.1%
- olmOCR science PDFs: 13.6%
- Stack-Edu: 6.89%
- arXiv: 0.86%
- FineMath 3+: 2.56%
- Wikipedia & Wikibooks: 0.04%
Stage 2: Midtraining (中間訓練)
使用データ: Dolma 3 Dolmino Mix(100B トークン)
目的: コード、数学、一般知識 QA などの重要な能力を強化
特徴: Post-training の下準備として、指示データと思考トレースを意図的に含める
詳細な Midtraining の説明は別の文書で扱われる。
Stage 3: Long-context Extension (長文脈拡張)
使用データ: Dolma 3 Longmino Mix(50-100B トークン)
目的: 最大 65K トークンのコンテキストをサポートする長文脈能力を獲得
データ規模:
- 7B モデル: 50B トークン
- 32B モデル: 100B トークン
データソースの規模:
- 8K トークン以上: 22.3M 文書(640B トークン)
- 32K トークン以上: 4.5M 文書(380B トークン)
これは、長文脈研究のための最大のオープン利用可能なコレクションである。
詳細な Long-context Extension の説明は別の文書で扱われる。
データミキシングの結果
Token-constrained mixing により、データソースの最適な比率が決定された。
Web テキストのトピック分布:
- STEM ドメイン(「Science, Math, and Technology」、「Software Development」)を大幅にアップウェイト
- 1B パラメータモデルで 5x Chinchilla の訓練を行った結果、平均 0.056 BPB の改善を達成
- 54 タスク中 13 タスクでのみ性能低下が見られ、最大でも 0.035 BPB の低下に留まる
Stack-Edu のプログラミング言語分布:
- Python を Java や Markdown よりも優先
- ほぼすべてのコーディングベンチマークで改善を達成
Dolma 3 では、より少ない計算リソースで実験できるように、サンプルミックスも公開している。
Pretraining サンプルミックス:
- 150B トークン
- Dolma 3 Mix と同じデータソース構成
利点:
- 小規模な実験が可能
- データミキシングのアブレーション研究に有用
- コンピューティングリソースが限られた研究者も利用可能
まとめ
Dolma 3 は、Olmo 3 Base モデルの事前学習に使用される大規模で高品質なデータセットである。グローバル重複排除、Token-constrained mixing、Quality-aware upsampling などの革新的な手法により、最適なデータミキシングを実現している。
主な特徴:
- 多様なデータソース: Web、学術 PDF、コード、数学、百科事典など
- 大規模: 6 兆トークン(Dolma 3 Mix)
- 高品質: 重複排除とヒューリスティックフィルタリングによる品質管理
- 最適化されたミキシング: Swarm ベースの手法で最適な比率を決定
- 3 つのステージ: Pretraining、Midtraining、Long-context Extension で使用
Dolma 3 は完全にオープンで、研究者が再現性の高い研究を行えるようにすべてのデータソース、処理パイプライン、ミキシング比率を公開している。