SlimPajamaを使って大規模言語モデルを最適化する
SlimPajamaデータセットを使った言語モデルのトレーニング効率を改善するための研究。
― 1 分で読む
目次
この研究の主な目標は、SlimPajamaを使って異なるデータソースが大規模言語モデルのトレーニングにどう影響するかを調べることだよ。新しいデータセットSlimPajamaは、慎重に選んでクリーニングしたソースからできていて、RedPajamaという大きなデータセットに比べて繰り返しのエントリーが少ないんだ。私たちの作業、SlimPajama-DCは、SlimPajamaを大規模言語モデルのトレーニングで効果的に使う方法と重要な特徴を調べているよ。
主な観察
研究中に二つの重要な観察をしたんだ:
グローバル vs. ローカルの重複排除:全てのデータソースから重複を取り除く(グローバル重複排除)ことと、各データソース内の重複を取り除く(ローカル重複排除)がモデルのパフォーマンスにどう影響するかを見たんだ。
データセットの質:高品質で重複がよく整理されたデータセットの混合が全体のトレーニングプロセスにどう影響するかを研究したよ。SlimPajamaデータセットの6つの異なる構成を作って、これを使ってモデルをトレーニングした結果、私たちの最良のセットアップがRedPajamaデータセットよりもかなり良いパフォーマンスを示したんだ。
トレーニングデータの重要性
大規模言語モデルはトレーニングデータに大きく依存しているんだ。単にたくさんのテキストがあればいいってわけじゃなく、異なるソースからの多様なテキストが必要だよ。これによってモデルは言語をうまく学んで、幅広いトピックや視点を理解できるようになるんだ。Github、Wikipedia、本、ウェブテキストなど、いろんな分野のデータがこれらのモデルの全体的なパフォーマンスにとって重要なんだ。
私たちの研究では、異なるデータセット間の重複を除去することの効果と、よく整理されたデータセットの様々な組み合わせの有効性に焦点を当てたんだ。SlimPajamaを使うことで、重複のない全てのソースからモデルが学ぶように促しつつ、情報の異なるソースのバランスをどう取るかを考えたよ。
重複排除プロセス
重複排除って何?
重複排除は、モデルがユニークな情報に集中できるように繰り返しのデータポイントを取り除くんだ。トレーニングの効率にとってこれが重要なんだよ。同じ情報ばかり見ていると、学ぶのに時間がかかって、異なるタスクでのパフォーマンスが悪くなるかもしれないからね。高度に重複排除されたデータセットがあれば、トレーニングがスムーズになって、モデルのパフォーマンスが向上するんだ。
グローバル vs. ローカル重複排除
グローバル重複排除:この方法は全てのデータセットにわたって重複データを取り除くんだ。異なるソースからのオーバーラップをキャッチして、モデルが幅広いユニークなデータから学ぶことを保証するよ。
ローカル重複排除:この方法は各データセット内の重複のみを取り除くんだ。もし二つのデータセットが似た情報を持っていたら、そのオーバーラップは処理後も残るかもしれない。
私たちの観察から、グローバル重複排除の方が特に複数のソースのデータを使うときに、より良いトレーニング結果を得る傾向があるって分かったよ。
データの組み合わせの役割
多様でよく重複排除されたデータでトレーニングしたモデルは、いろんなタスクで一般化がうまくなるんだ。例えば、データソースが異なる文化や視点を反映していると、モデルがもっとバランスが取れて偏りが少なくなるかもしれない。ただ、ソースがあまりにも似ていると、モデルが一般的な偏見を強めることがあるよ。
技術的なデータと一般的なニュースや他の形のテキストを組み合わせることで、モデルが広い理解を得ることができて、詳細な知識をいろんなタスクに応用できるんだ。質は量よりも重要だから、SlimPajamaでの考慮深い組み合わせの重要性を強調したかったんだ。
専門化 vs. 一般化
多くの専門化されたデータセットを組み合わせると、特定のタスクにおいて、専門化された一つのデータセットでトレーニングされたモデルほど優れたスキルを持たないモデルを作るという課題に直面するんだ。このセット間の専門化と一般化のバランスをいろんなデータセットの構成で探求したよ。
データセットの詳細
SlimPajamaは、いくつかのソースから集めた総計6270億トークンを含んでいるんだ。このデータセットはトレーニング、バリデーション、テストセットに分かれているよ。私たちがテストした各構成は、処理後に約3300億トークンを含んでいるんだ。
私たちはデータセットのために異なるサンプリング戦略を用いたんだ。一部のソース、例えばCommonCrawlは一度だけトレーニングされて、WikipediaやGithubのような他のソースは徹底的にトレーニングするために何度もトレーニングされたんだ。
データソースの比率
トレーニングデータのバランスを取るために、データセット構成の中でさまざまなソースの比率を定義したよ。これは、異なるソースタイプの重要性とユニークさに基づいて異なる重みを割り当てることによって変わったんだ。
データセットの類似性の分析
異なるデータセットの比較を見るために、トークン分布の類似性を計算したんだ。文字や数字、珍しい記号など、さまざまなトークンタイプを見て、どれだけ独特か、または似ているかを理解しようとしたよ。
私たちの分析から、多くのデータセットが類似点を共有している一方で、特定の領域、例えば非アルファベットトークンにおいて明確な違いもあったって分かったんだ。
データセットの処理
SlimPajamaは、元のRedPajamaデータセットから低品質なテキストと重複をフィルタリングして作られたんだ。役に立たない情報のない非常に短いドキュメントを排除して、データセット全体が堅牢で関連性のあるものになるようにしたよ。
低品質なドキュメントのフィルタリング
200文字より短いドキュメントを排除するフィルターを適用したんだ。このステップで、トレーニングに意味のある貢献をしない短いフラグメントが含まれないようにしたよ。
グローバル重複排除プロセス
SlimPajamaに含まれるすべてのデータセットには重複があって、CommonCrawlやGithubなどのソースに高い割合で見られたよ。効率的なデータの組み合わせを確保するためにグローバル重複排除を行ったんだ。こうすることで、無駄なオーバーラップなしでより良いトレーニングを実現したよ。
トレーニングのためのデータセットの組み合わせ
データの組み合わせが結果にどう影響するかを確認するために、SlimPajamaのために6つの構成を作成してテストしたんだ:
- CommonCrawlのみ
- CommonCrawl + Github
- CommonCrawl + Github + 本 + Wikipedia
- CommonCrawl + Github(調整したサンプリング比率)
- CommonCrawl + Wikipedia(調整したサンプリング比率)
- 精緻化Web CommonCrawlのみ
各構成は、データソースや比率の変化がモデルのパフォーマンスにどう影響するかを調べることを目指したんだ。
モデルアーキテクチャとトレーニング設定
Cerebras-GPTアーキテクチャ
私たちのアーキテクチャは既存のモデルに似ているけど、密なアプローチとスパースなアプローチを組み合わせたモデルとは違う一貫したアテンションメカニズムを使っているよ。各モデルは最大2,048トークンのシーケンス長を処理できるように作られているんだ。
トレーニングの詳細
GPT-NeoXに基づいたトークナイザーを使って、約2.5日間モデルをトレーニングしたよ。AdamWオプティマイザーを使ってモデルのパフォーマンスを微調整したんだ。
モデルパフォーマンスの評価
私たちの分析では、異なる構成でトレーニングされたモデルがさまざまなベンチマークでどうパフォーマンスを発揮するかを見たんだ。推論、常識推論、マルチタスクの能力、モデルが誤った情報に依存する度合いをテストしたよ。
その結果、私たちの構成がしばしば元のRedPajamaモデルを上回ることが示されて、いくつかの構成は特定のベンチマークで最高スコアを達成したんだ。
ランダム推測スコア
MMLUのようなテストでのモデルパフォーマンスをよりよく理解するために、予測がどれだけランダム推測に似ているかを測定する指標を導入したんだ。高いスコアはモデルの予測が偶然よりも信頼性が高いことを示しているんだ。
トレーニング損失分析
異なる構成のトレーニングプロセスの損失カーブを分析したんだ。いくつかの重要な観察が得られたよ:
- 最良の平均精度を持つ構成は最も高い平均損失があり、これは低い損失が必ずしも良い結果を意味するわけではないってことを示しているよ。
- 主にコードデータから成る構成は最も低いトレーニング損失を示していて、データのタイプと損失パフォーマンスの間に関連があることが分かったんだ。
7Bモデルの大きなバッチサイズトレーニング
7億パラメータの大きなモデルのために、データの組み合わせを調整して、より多くのウェブテキストを含めるようにしたよ。また、ダイバーシティを高めるために他のソースも組み込んだんだ。高いパフォーマンスを達成しつつ、効率的なトレーニングを確保したかったからね。
7Bモデルのトレーニング構成
アーキテクチャを大きなモデルに合わせるように変更して、シーケンス長は2,048トークンを維持したんだ。異なるトークナイザーを使って、この大きな規模に合わせた独自のトレーニングオプティマイザーのパターンを守ったよ。
大きなバッチでの迅速なトレーニング
大きなバッチサイズでのトレーニングは、迅速な収束を実現し、トレーニング効率が向上したんだ。ただ、大きなバッチは場合によってはオーバーフィッティングを引き起こす可能性もあるってこともわかったから、新しい戦略を開発して、ウェイトデケイを使ってこれらのリスクを軽減したんだ。
ウェイトデケイにおけるプログレッシブトレーニング
私たちは、ウェイトデケイにおけるプログレッシブトレーニング(PTWD)という新しい方法を導入したよ。このアプローチでは、トレーニングのさまざまな段階で異なるレベルのウェイトデケイを適用して、収束を改善し、モデルパフォーマンスをうまく管理することができたんだ。
プレトレーニングとインストラクションチューニングの結果
最初のトレーニングの後、指示チューニングを行って、いくつかのベンチマークでスコアが改善したんだけど、他のものでは少しパフォーマンスが下がったよ。全体的に見て、この追加のチューニングの後、平均精度が大幅に向上したんだ。
関連する研究と結論
私たちの研究は、さまざまなデータソースを使って大規模言語モデルをトレーニングすることの重要性を強調しているんだ。データソースの効果的な組み合わせと徹底的な重複排除に焦点を当てることで、より効率的なトレーニングプロセスへの道を示すことができたんだ。これによって、さまざまなタスクでのパフォーマンスが向上し、将来のデータ中心の言語モデルトレーニングの研究に影響を与えることができるんだ。
SlimPajama-DCを通じて、異なるデータの組み合わせが大規模言語モデルのトレーニング効率をどう高めるかについてのさらなる探求を促したいと思ってるよ。
タイトル: SlimPajama-DC: Understanding Data Combinations for LLM Training
概要: This paper aims to understand the impacts of various data combinations (e.g., web text, Wikipedia, GitHub, books) on the pretraining of large language models using SlimPajama. SlimPajama is a rigorously deduplicated, multi-source dataset, which has been refined and further deduplicated to 627B tokens from the extensive 1.2T token RedPajama dataset contributed by Together. We have termed our research as SlimPajama-DC, an empirical analysis designed to uncover fundamental characteristics and best practices associated with employing SlimPajama in the training of large language models. During our research with SlimPajama, two pivotal observations emerged: (1) Global deduplication vs. local deduplication. We analyze and discuss how global (across different sources of datasets) and local (within the single source of dataset) deduplications affect the performance of trained models. (2) Proportions of highly-deduplicated multi-source datasets in the combination. To study this, we construct six configurations on SlimPajama dataset and train individual ones using 1.3B Cerebras-GPT model with Alibi and SwiGLU. Our best configuration outperforms the 1.3B model trained on RedPajama using the same number of training tokens by a significant margin. All our 1.3B models are trained on Cerebras 16$\times$ CS-2 cluster with a total of 80 PFLOP/s in bf16 mixed precision. We further extend our discoveries (such as increasing data diversity is crucial after global deduplication) on a 7B model with large batch-size training. Our SlimPajama-DC models are available at: https://huggingface.co/MBZUAI-LLM/SlimPajama-DC and the separate SlimPajama-DC datasets are available at: https://huggingface.co/datasets/MBZUAI-LLM/SlimPajama-627B-DC.
著者: Zhiqiang Shen, Tianhua Tao, Liqun Ma, Willie Neiswanger, Zhengzhong Liu, Hongyi Wang, Bowen Tan, Joel Hestness, Natalia Vassilieva, Daria Soboleva, Eric Xing
最終更新: 2024-05-09 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2309.10818
ソースPDF: https://arxiv.org/pdf/2309.10818
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。