RedPajama-Data-V2: オープンソース大規模言語モデルのゲームチェンジャー
Published on
イントロダクション
人工知能の急速に変化する風景において、強力な大規模言語モデル(LLM)の開発は主に商業団体によって支配されてきました。しかし、オープンソースコミュニティは、最先端のAI技術へのアクセスを民主化するために重要な進展を遂げています。この変化を推進する多くの取り組みの中でも、RedPajamaプロジェクトは革新と協力の象徴として際立っています。
RedPajamaプロジェクトは、Together、Ontocord.ai、ETH DS3Lab、Stanford CRFM、Hazy Research、MILA Québec AI Instituteの共同取り組みで、プロプライエタリな対応物に匹敵する完全なオープンソースのLLMを作成することを目指しています。同プロジェクトの最新のマイルストーンであるRedPajama-Data-V2は、前例のない30兆トークンのデータセットを提供することで、オープンソースLLMのトレーニング方法を変革する予定です。
最新のLLMニュースを知りたいですか?最新のLLMリーダーボードをチェックしてください!
RedPajama-Data-V2: オープンソースLLMに革新をもたらす存在
RedPajama-Data-V2は、LLMのトレーニングのために特に設計された大規模なウェブデータセットです。CCNetパイプラインを使用して処理された84回のCommonCrawlスナップショットから収集された1000億以上のテキストドキュメントが含まれています。これらのドキュメントのうち、3000億個は事前に計算された品質信号を持ち、2000億個は重複がないものです。
このデータセットは、英語、フランス語、スペイン語、ドイツ語、イタリア語の5つの言語をカバーしています。アノテーションと重複排除されたヘッド_ミドル部分のドキュメントの数とトークン数は次の通りです。
言語 | ドキュメント数 | 推定トークン数(重複排除) |
---|---|---|
英語 | 1450億 | 2050兆 |
ドイツ語 | 19億 | 3000兆 |
フランス語 | 16億 | 2700兆 |
スペイン語 | 18億 | 2800兆 |
イタリア語 | 9億 | 1500兆 |
合計 | 208億 | 3040兆 |
40以上の事前計算品質アノテーションの含まれるRedPajama-Data-V2は、他のデータセットとは一線を画しています。これらのアノテーションにより、ユーザーは必要に応じてデータをフィルターおよび重量付けすることができます。これにより、前例のない柔軟性とカスタマイズオプションが提供されます。
RedPajama-Data-V2は、現在LLMのトレーニングに特化した最大のパブリックデータセットであり、重複排除とフィルタリング後に3000兆のトークンを含む1000億以上の生のドキュメントをカバーしています。英語(2050兆トークン)、ドイツ語(3000兆)、フランス語(2700兆)、スペイン語(2800兆)、イタリア語(1500兆)の5つの言語をカバーしています。
比較すると、EleutherAIモデルのトレーニングに使用されるThe Pileなどの他の主要なデータセットには約1.2兆トークンが含まれており、Llama 2のトレーニングに使用されるデータセットには2.4兆トークンが含まれています。RedPajama-Data-V2はその規模が他に類を見ないため、高品質のトレーニングデータが豊富に提供されます。
RedPajama-Data-V2の優れている点
RedPajama-Data-V2を特に優れたものとするのは、各ドキュメントに40以上の事前計算品質アノテーションを含んでいることです。これらのアノテーションは、パープレキシティスコア、クラシファイア予測、自然言語メトリック、コンテンツの有毒性指標など、さまざまなカテゴリをカバーしています。
-
高品質: これらの品質信号を持つことで、研究者はデータを簡単にフィルタリングおよび重量付けすることができます。他のデータセットでは通常固定のヒューリスティックを適用するため、ダウンストリームのカスタマイズが制限されます。RedPajama-Data-V2は、異なるLLMアプリケーションに最適化されたカスタムサブセットを作成するための前例のない柔軟性を提供します。
-
完全オープンソース: RedPajamaプロジェクトは完全にオープンソースであり、データ処理スクリプトはGitHubで利用可能であり、データセットはHuggingFaceでホストされています。この透明性により、コミュニティはデータセットを理解し、再現し、拡張することができます。
-
LLMトレーニングのコスト削減: RedPajama-Data-V2のスケールと品質は、パワフルなLLMのトレーニングの計算コストを大幅に削減する可能性があります。情報の豊富なデータを提供することで、モデルはより少ないパラメータと計算リソースで強力なパフォーマンスを実現できます。
RedPajama-Data-V2のセットアップ
RedPajama-Data-V2を利用するためには、次のPythonコードを使用してサンプルデータセットをロードすることができます。
from datasets import load_dataset
ds = load_dataset("togethercomputer/RedPajama-Data-V2", name="sample")
特定の組み合わせのpartition
x snapshot_id
x language
をダウンロードするには、次のコマンドを使用します。
wget "https://data.together.xyz/redpajama-data-v2/v1.0.0/urls/minhash-urls.txt" -O "minhash-urls.txt"
RedPajama-Data-V2パイプラインの実行
RedPajama-Data-V2パイプラインは、次の3つの主要なステップで構成されています。
- アーティファクトの準備
- 品質信号の計算
- 重複排除
ステップ1: アーティファクトの準備
このステップでは、後続のステップで使用されるアーティファクトが作成されます。これには、品質分類器の構築、重要度の重み付けのためのn-gram生成モデルのトレーニング、LDNOOBWリポジトリからの不正な単語リストの取得、およびUT1ブラックリストからの最新のブラックリストURLリストの取得が含まれます。
アーティファクトを作成するには、コンフィグファイル内の環境変数を設定し、次のコマンドを実行します。
bash scripts/run_prep_artifacts.sh \
--config configs/rp_v2.0.conf \
--listings /path/to/listings/file.txt \
--max_workers 32
ステップ2:品質シグナルの計算
2番目のステップでは、ぼかし除去のためのminhashシグネチャを含む品質シグナルを計算します。設定ファイルで環境変数を設定して実行してください:
bash scripts/apptainer_run_quality_signals.sh \
--config configs/rp_v2.0.conf \
--dump_id "2022-49" \
--input_base_uri "file:///path/to/data/root" \
--output_base_uri "file:///path/to/outout/data/root" \
--max_docs -1
ステップ3:重複除去
3番目のステップでは、完全一致とぼかし除去が行われます。ブルームフィルタを使用した完全一致の重複除去のために、次のコマンドを実行してください:
python3 app/src/bloomfilter.py \
--listings /path/to/listings/file.txt \
--input_base_uri "s3://path/to/ccnet/data" \
--output_dir "/path/to/output" \
--s3_profile "..." \
--endpoint_url "..." \
--parallel_readers 32 \
--batch_size 10 \
--capacity "..." \
--error_rate "..."
ローカリティセンシティブハッシングを使用したぼかし除去のためには、次のコマンドを実行してください:
bash scripts/apptainer_run_lsh.sh \
--config configs/rp_v2.0.conf \
--dump_id "2022-49" \
--input_base_uri "file:///path/to/data/root" \
--output_dir "/path/to/output" \
--similarity "<similarity_threshold>" \
--listings "/minhash/listings/file.txt" \
--max_docs -1
RedPajama-Data-V2品質シグナル
RedPajama-Data-V2には、次のグループに分類される包括的な品質シグナルが含まれています:
- CCNet:CCNetパイプラインから派生したシグナル(パープレキシティスコア、言語識別、ドキュメント長など)
- MLヒューリスティック:機械学習モデルに基づくシグナル(Wikipediaのようなページや重要性リサンプリングのためのクラシファイアなど)
- 自然言語:コンテンツの言語特性に関連するシグナル(単語数、文の数、一意な単語の割合など)
- 繰り返し:コンテンツの繰り返しを測定するシグナル(重複n-gramの文字の割合など)
- 有害性:潜在的に有害なコンテンツを示すシグナル(LDNOOBWブロックリストの単語、UT1ブラックリストのカテゴリなど)
- 重複除去:Jaccard類似度のさまざまなしきい値でのぼかし除去のためのminhashシグネチャ
すべての品質シグナルの詳細なリストは、RedPajama-Data-V2のドキュメントで確認できます。
RedPajamaとオープンソースのLLMの未来
RedPajama-Data-V2は、オープンソースのLLMの開発における重要なマイルストーンです。このプロジェクトは、広範な注釈付きの高品質データセットを提供することで、強力な言語モデルの構築を目指し、研究者や組織の参入障壁を低くすることを目指しています。
RedPajamaチームは、汚染注釈、トピックモデリング、ドキュメントの分類など、追加の品質注釈を持つデータセットの拡張を考えています。彼らは、新しい注釈の提案と開発に対してコミュニティの参加を積極的に推奨しています。
データセットの開発と並行して、TogetherはRedPajama-Data-V2を基にしたオープンモデルを構築しています。これらのモデルは完全なオープンソースであり、商業的にも実現可能であり、既存のLLMに対するクリーンルームでドラマのない代替手段を提供します。このプロジェクトでは、オープンとプロプライエタリなデータの組み合わせを使用してカスタムモデルを構築する企業や組織への支援も提供しています。
結論
RedPajama-Data-V2は、AI技術の民主化における重要な進歩を表しています。完全にオープンソースで高品質なデータセットを提供することで、このプロジェクトはプロプライエタリなAPIによって課される制限なしに、研究者、開発者、組織が強力な言語モデルを作成できるようにします。
RedPajamaプロジェクトが成長し進化していく中で、それはAIの景観を再構築し、イノベーション、協力、アクセシビリティを促進する潜在力を持ちます。AIコミュニティの支援と関与を得ながら、RedPajamaは次世代のLLMおよびそれ以上のものへの触媒となる可能性があります。
最新のLLMニュースを知りたいですか?最新のLLMリーダーボードをチェックしてください!