日本語版:OpenWebMath: An Open Dataset of High-Quality Mathematical Web Text~高品質な数学関連のウェブテキストを集めたオープンデータセット~

AI・機械学習

はじめに (Introduction)

近年、大規模言語モデル(large language models)の発展により、数学的推論能力の向上が注目を集めています。特に、arXivやウェブ上の数十億トークンの数学文書を用いて事前学習を行ったMinervaモデルは、定量的推論のベンチマークにおいて飛躍的な性能向上を示しました。

しかし、Minervaと同様のデータセットは一般公開されておらず、研究コミュニティにおいては大規模な定量的ウェブ文書を用いた学習の恩恵を受けることができません。そこで本研究では、Common Crawlから抽出した14.7Bトークンの数学的ウェブページを含むオープンデータセットOpenWebMathを紹介します。

本論文では、HTMLドキュメントからテキストとLaTeXコンテンツを抽出し、ボイラープレートを除去する方法、品質フィルタリングと重複排除の手法について詳細に説明します。さらに、OpenWebMathの14.7Bトークンで1.4Bパラメータの言語モデルを小規模に学習させたところ、一般的な言語データの20倍以上の量で学習したモデルの性能を上回ることを示します。


こちらの記事もおすすめ

DeepSeek-Mathリポジトリの概要
DeepSeek-Mathは、大規模言語モデルDeepSeekをベースに、数学関連タスクで高い性能を発揮するように追加学習したモデルです。このリポジトリでは、以下のモデルが公開されています。DeepSeekMath-Base: ベースモデル...

関連研究 (Related Work)

数学データセットとベンチマーク (Mathematics Datasets and Benchmarks)

近年、複数の数学データセットが登場しています。AMPSは、Khan Academyの10万以上の問題と段階的解法、Mathematicaスクリプトで生成された500万以上の問題を含む23GBの非公式数学データセットです。NaturalProofsは、ProofWiki、Stacksプロジェクト、数学教科書から得られた32,000の定理、14,000の定義、2,000のその他のページ(公理、系など)を含みます。

Proof-Pileは、arXiv、Stack Exchange、ProofWiki、Wikipedia、オープンライセンスの書籍、MATHデータセットから得られた14.5GB以上の非公式数学テキストを含むデータセットです。WebMathやMathMixなどの独自の大規模データセットもあります。

数学ベンチマークとしては、MATH、GSM8k、OCWCourses、MMLU-STEMなどが一般的に使用されています。

ウェブデータ処理パイプライン (Web Data Processing Pipelines)

大規模言語モデルの事前学習には、大規模で多様なデータセットが必要です。Common Crawlのようなウェブスクレイピングされたデータは主要な情報源の1つですが、低品質や重複コンテンツが多いため、フィルタリングと重複排除が不可欠です。

C4、RefinedWeb、CCNet、The Pile、GPT-3などの先行研究では、言語モデルの学習に適したデータを抽出するための様々なパイプラインを紹介しています。これらのパイプラインは通常、テキスト抽出、フィルタリング、重複排除の3つの主要ステップで構成されています。

OpenWebMathの構築 (Building OpenWebMath)

目的 (Objectives)

OpenWebMathの目的は、LaTeX方程式などの数学的コンテンツの書式を保持しつつ、ウェブから可能な限り多くの数学的文書を収集したデータセットを構築することです。本研究では、数学的文書を、定理、定義、証明、質問と回答、形式的数学などの中核的な数学コンテンツ、または物理学、化学、生物学、経済学、金融などの分野における数学的公式を含む学際的な文書と定義します。

パイプラインの概要 (High-level Overview of the Pipeline)

file

図1に示すように、OpenWebMathの処理パイプラインは5つのステージに分かれています。

  1. Common CrawlのすべてのHTMLドキュメントに対して、数学的コンテンツの有無を素早く判断するプレフィルターを適用し、数学的コンテンツがない場合はスキップします。
  2. HTMLドキュメントからテキストと数式を抽出します。
  3. 言語識別フィルタ、パープレキシティベースの品質フィルタ、数学的コンテンツ分類器フィルタを適用します。
  4. SimHashを使用してデータセットの重複を排除します。
  5. 前のステップで収集したドキュメントを手動で検査し、ドキュメント数と文字数で上位のドメインから高品質でないドメインを削除します。

プレフィルタリング (Prefiltering)

Common Crawlには2000億以上のHTMLドキュメントが存在するため、各ドキュメントに対して処理を適用するには膨大な計算が必要です。パイプラインの効率を上げるため、処理が必要なドキュメント数を減らすために再現率の高いプレフィルタのスタックを適用します。

最初のフィルタでは、LaTeXクラス、タグ、"mathjax"などの一般的な数式文字列の有無をチェックします(表8参照)。これらの用語が存在しない場合、HTMLドキュメントのプレーンテキストから上位100のLaTeXシンボルの有無を検索します。それでもシンボルが見つからない場合、MathScoreクラシファイア(3.5.1項参照)を使用してドキュメントを評価し、信頼度が0.8を超えるドキュメントを保持します。

これらのフィルタを調整し、より正確だが計算コストの高いフィルタを階層的に適用することで、関連ドキュメントの高い再現率を維持しつつ、データセット処理に必要な計算量を数倍に削減できました。

テキスト抽出 (Text Extraction)

先行研究とは対照的に、HTMLドキュメントからメインコンテンツを抽出するために独自のパイプラインを構築しました。これは、他のツールがウェブ上の多くの文書に対して平均的に適度な性能を示すものの、数学的コンテンツの最も一般的な情報源に対しては最適に機能しないためです。

代わりに、HTMLページの解析、DOMの処理、メインコンテンツの抽出に適したパフォーマンスの高いツールを含む、高速で効率的なCythonライブラリであるResiliparse(Bevendorff et al., 2018; 2021)をベースに構築しました。

テキスト抽出パイプラインは、LaTeX抽出、テキスト抽出、DOM処理、行処理の4つのステージで構成されています。

フィルタリング (Filtering)

英語以外のドキュメントの除去(英語に最適化されているため)、数学的でないドキュメントの除去、言語モデルの学習に有害な低品質のドキュメントの除去を目的としてフィルタリングを適用します。以下の順序でフィルタを適用します。

  1. FastText言語識別モデル(Joulin et al., 2016)を使用して、英語以外のドキュメントを除去します。
  2. MathScoreクラシファイア(3.5.1項参照)を使用して、ドキュメントが数学的である確率を取得します。前の抽出ステップでLaTeX方程式が見つかった場合、確率が0.17を超えるドキュメントを保持します。LaTeX方程式が見つからなかった場合、確率が0.8を超えるドキュメントを保持します。
  3. ProofPile(Azerbayev et al., 2023)で学習したKenLM言語モデル(Heafield, 2011)を使用して、各ドキュメントのパープレキシティスコアを取得します。パープレキシティスコアが15,000を超えるドキュメントを除去します。

MathScore

フィルタリング処理の際、ドキュメントが数学的である確率を予測するモデルMathScoreを学習します。最初に、プロジェクトの初期段階でパイプラインから抽出した数十万のドキュメントのデータセットを収集し、上位100の一般的なLaTeXコマンドが含まれているかどうかでラベル付けします。

file

次に、ドキュメントからLaTeXコードを削除し、これらの一般的なLaTeXコマンドが含まれているかどうかを予測するようにクラシファイアを学習します。MathScoreの学習プロセスを図4に示します。モデルに入力する特徴量からすべてのLaTeXコードを削除するため、モデルはLaTeXコンテンツに最も関連する単語やフレーズを学習する必要があります。

このモデルの学習にはFastText(Joulin et al., 2016)を使用し、手動検査に基づいてスコアが0.2未満のコンテンツは有用な数学的コンテンツを含む可能性が非常に低いことがわかりました。

重複排除 (Deduplication)

Common Crawlには大量の重複ドキュメントが存在するため、ほぼ重複するドキュメントを削除する重複排除ステップを適用します。text-dedup(Mou et al., 2023)のSimHash実装を使用し、閾値0.7でデータセットの重複を排除します。この閾値は、テキストにわずかな違いがあっても、ほとんどの重複ドキュメントを削除するのに十分高いことがわかりました。

手動検査 (Manual Inspection)

最後に、ドキュメント数と文字数で上位のドメインと、データセット内の最長のドキュメントを手動で検査し、ドキュメントの品質を確認します。高品質でないドメインや明らかに数学的でないドメインをブラックリストに追加し、ユーザープロファイルページ、抄録ホスティングウェブサイト、検索結果ページなどのドメインフィルタを追加して削除します。

データセット分析 (Dataset Analysis)

トークン数:

14.7Bトークンで、OpenWebMathはMinervaのMath Web Pages(17.5Bトークン)よりもわずかに小さく、他のデータセットのウェブ部分よりも大幅に大きくなっています。OpenWebMathのLLaMAトークン数はProofPile(14.2B)(Azerbayev et al., 2023)とほぼ同じですが、2つのデータセット間の重複はほとんどありません。

その結果、OpenWebMathは、これまでオープンソースコミュニティでは利用できなかった多数の新しい数学トークンをもたらします。データキュレーション戦略の違いにより、モデルを学習させる以外の方法でこれらのデータセットを比較するのは困難です。適切なフィルタリング方法についてはあまり知られていないため、可能な限り多くの関連コンテンツを維持することを選択しました。

データ構成:

OpenWebMathに含まれるドキュメントの種類を分析するために、ランダムに抽出した100,000のドキュメントを分析しました。まず、SentenceTransformers(Reimers & Gurevych, 2019)のall-MiniLM-L12-v2(Wang et al., 2020)を使用してこのデータの埋め込みを作成しました。次に、k-Meansを使用してk=128でこれらの埋め込みをクラスタリングしました。

最後に、各クラスタ中心に最も近い5つのドキュメントを取得し、gpt-3.5-turboに各クラスタを数学、物理学、統計学、化学、経済学、コンピュータサイエンス、その他に分類するように求めました。各クラスタのサイズを使用してこれらの統計を集計し、各カテゴリのドキュメント数の推定値を取得しました。

file

結果を図2に示します。データセットのドキュメントの大部分は数学に直接関連していますが、残りは物理学、コンピュータサイエンス、統計学、化学、経済学などに分散しており、12%のドキュメントはこれらのカテゴリのいずれにも明確に分類されません。

下流のパフォーマンス:

本データセットが他の言語モデリングデータセットとどのように比較されるかを調べるために実験を行いました。OpenWebMathで1エポック(14.7Bトークン)学習したモデルを、一般的な言語モデリングデータセットであるThe Pile(Gao et al., 2020)と、形式的および非形式的な数学のデータセットであるProofPile(Azerbayev et al., 2023)で同じトークン数だけ学習したモデルと比較します。また、実際の適用では他のデータセットとの混合が一般的であるため、ProofPileとOpenWebMathを50/50で混合したデータセットでOpenWebMathのパフォーマンスを評価します。

Pythia 1.4B(Biderman et al., 2023)と同じアーキテクチャで、ランダムに初期化されたモデルを学習します。バッチサイズを1Mトークンとし、それ以外はPythiaと同じハイパーパラメータを使用します。これらのモデルは、このサイズのモデルで信号を示す数学ベンチマークのコレクションで評価されます。

これには、MATHのレベル1の代数問題のサブセット、コーディング能力をテストするためのLILA-multiarith、およびよりスムーズにスケーリングするGSM8kとMATHのパープレキシティが含まれます。また、同じアーキテクチャでThe Pile(Gao et al., 2020)の300Bトークンで学習したPythia 1.4B(Biderman et al., 2023)とも比較します。

file

表1にパープレキシティ評価の結果を示します。OpenWebMathで学習したモデルと混合モデルは明らかにパフォーマンスが優れています。Pythiaは20倍以上のトークン数で学習しているにもかかわらず、パープレキシティベンチマークにおけるモデルのパフォーマンスは、Pythiaのパフォーマンスを大幅に上回っており、数学に特化したモデルの可能性を示しています。

file

同様に、表2はMATH-Algebra-EasyとLILA-multiarith(Mishra et al., 2022)におけるモデルのパフォーマンスを示しています。OpenWebMathで学習したモデルは、OpenWebMathで学習していないモデルを大幅に上回っています。

結論 (Conclusion)

本論文では、ウェブから収集した14.7Bの高品質な数学的ドキュメントを含むオープンデータセットOpenWebMathについて説明しました。LaTeX数式の抽出、ボイラープレートの削減、データセットのフィルタリングなど、いくつかの新しい方法論を含むパイプラインを詳細に文書化しました。

OpenWebMathは、数学、物理学、コンピュータサイエンス、その他の技術分野に広がる高品質のQ&Aフォーラム投稿、教育文書、ブログなどで構成されています。また、OpenWebMathやその他の言語モデリングデータセットでいくつかのモデルを学習し、本データセットで学習することで達成可能な下流のパフォーマンスを比較しました。

特筆すべきは、OpenWebMathで学習したモデルが、一般的なドメインのトークンの20倍以上で学習したモデルを数学で上回ることがわかりました。OpenWebMathが、数学的推論能力が向上した言語モデルの作成につながることを願っています。

参考サイト

GitHub - keirp/OpenWebMath
Contribute to keirp/OpenWebMath development by creating an account on GitHub.

https://arxiv.org/pdf/2310.06786.pdf

コメント

タイトルとURLをコピーしました