大型モデル Baichuan 2 技術レポートの詳細共有

作者: ディクウ

原文:https://zhuanlan.zhihu.com/p/655606405

NLP グループに入る -> NLP 交換グループに参加する

大規模言語モデル (LLM) は、自然言語タスクで優れたパフォーマンスを示し、大規模な特徴量エンジニアリングの必要性を軽減します。しかし、最も効果的な LLM は英語に焦点を当てているか、クローズドソースです。この技術レポートでは、2 兆 6,000 億のトークンに基づいてゼロからトレーニングされた、70 億と 130 億のパラメーターを含む大規模な多言語モデル ファミリである Baichuan 2 を紹介します。Baichuan 2 は、MMLU、CMMLU、GSM8K、HumanEval などの公開ベンチマークで他の同様のオープンソース モデルのパフォーマンスを満たすかそれを上回り、医学や法律などの垂直分野でも優れたパフォーマンスを発揮します。研究コミュニティが Baichuan 2 トレーニング プロセスをよりよく理解できるように、事前トレーニングされたモデル チェックポイントをすべてリリースします。

導入

大規模な言語モデルの重要性と進歩、特にオープンソースと多言語処理における課題と機会が強調されています。新しい多言語モデルである Baichuan 2 は、これらの課題に対処し、コミュニティに貴重なリソースを提供することを目的としています。

  1. 大規模言語モデルの進歩: 近年、大規模言語モデル (LLM) の分野が大幅に進歩しました。モデルのサイズは、数百万のパラメーター (ELMo や GPT-1 など) から、数十億、さらには数兆のパラメーター (GPT-3、PaLM、スイッチ トランスフォーマーなど) まで増加しました。この規模の増加により、言語モデルの能力が大幅に向上し、さまざまな自然言語タスクをより人間らしく流暢に実行できるようになります。特に、OpenAI の ChatGPT は、さまざまなドメインで人間のようなテキストを生成するこれらのモデルの機能を示しています。

  2. オープンソースとクローズド モデル: LLM のエキサイティングなブレークスルーとアプリケーションにもかかわらず、ほとんどの主要な LLM (GPT-4、PaLM-2、Claude など) はクローズド ソースのままです。これにより、開発者や研究者による完全なモデル パラメーターへのアクセスが制限され、コミュニティによるこれらのシステムの詳細な調査や微調整が困難になります。対照的に、完全にオープンソースの LLM (LLaMA、OPT、Bloom、MPT、Falcon など) は研究者にモデルに自由にアクセスする機会を提供するため、この分野の研究と進歩が加速します。

  3. 中国語モデルの欠如: オープンソースの大規模言語モデルのほとんどは、主に英語に焦点を当てています。たとえば、LLaMA の主なデータ ソースは Common Crawl で、これには LLaMA の事前トレーニング データの 67% が含まれていますが、英語のコンテンツのみを含むようにフィルターされています。MPT や Falcon などの他のオープンソース LLM も主に英語に重点を置いており、他の言語での機能は限られています。

  4. Baichuan 2 の紹介: この技術レポートでは、大規模な多言語言語モデル ファミリである Baichuan 2 を紹介します。Baichuan 2 には、Baichuan 2-7B (70 億パラメータ) と Baichuan 2-13B (130 億パラメータ) の 2 つの個別のモデルがあります。どちらのモデルも 2 兆 6,000 億トークンでトレーニングされました。Baichuan 2 は、さまざまなベンチマークで大幅な改善を達成し、医療および法律の分野でも優れたパフォーマンスを発揮します。

  5. オープンソース: 研究協力と継続的改善を促進するために、著者らは、2,000 億トークンから完全な 2 兆 6,000 億トークンまでのさまざまなトレーニング段階で Baichuan 2 のチェックポイントもリリースしています。これらの中間結果のリリースは、コミュニティに Baichuan 2 トレーニングに対するより深い理解を提供することを目的としています。

事前トレーニング

データ

Baichuan 2 モデルの事前トレーニング時に使用されるデータのソースと処理方法の重要性を調整しました。大規模な言語モデルをトレーニングするには、データの包括性と高品質が鍵となります。

情報元

データ収集プロセスにおける目標は、データの包括性と代表性を追求することです。データは、一般的なインターネット Web ページ、書籍、研究論文、コード ライブラリなどのさまざまなソースから取得され、世界の知識の広範なシステムを構築します。

df36bdcb3e4559b7ed43710051c527d5.jpeg

データクリーニング

  • データの頻度: データの頻度と品質に焦点を当てます。データの頻度はクラスタリングと重複排除に依存します。この目的のために、大規模な重複排除およびクラスタリング システムが構築されました。このシステムは、数時間で何兆ものデータをクラスタリングして重複排除できます。

  • クラスターベース: クラスター化に基づいて、個々のドキュメントを高、中、または低頻度としてラベル付けできます。これは、データの品質と多様性の最適化に役立ちます。モデル構造

インフラストラクチャー:

Baichuan 2 のモデル アーキテクチャは、人気のある Transformer に基づいています。ただし、著者はそれにいくつかの修正を加えました。

トークナイザー:

  • トークナイザーは 2 つの重要な要素のバランスをとる必要があります。1 つは効率的な推論を可能にする高圧縮、もう 1 つは各単語の埋め込みを適切にトレーニングするための適切なサイズの語彙です。

  • 計算効率とモデルのパフォーマンスのバランスをとるために、Baichuan 2 の語彙サイズは Baichuan 1 の 64,000 から 125,696 に拡張されました。

  • Baichuan 2 のトークナイザーの語彙サイズとテキスト圧縮率を他のモデルと比較して表に示します。このうち、テキスト圧縮率は低いほど良い。

  • Baichuan 2 は、SentencePiece (Kudo および Richardson、2018) のバイトペア エンコーディング (BPE) (Shimata et al.、1999) を単語の分割に使用します。具体的には、入力テキストに正規化を適用せず、Baichuan 1 のようなダミーのプレフィックスを追加しません。数値を個々の桁に分割して、数値データをより適切にエンコードします。余分なスペースを含むコード データを処理するために、トークナイザーにスペースのみのトークンが追加されます。文字カバレッジは 0.9999 に設定され、まれな文字は UTF-8 バイトに戻ります。

098b77d5b7dfb6820ae0130ccb61e80b.jpeg

トークンジャーの比較

場所コード:

Baichuan 2 は、7B バージョンで Rotary Positional Embedding (RoPE) を使用し、13B バージョンで ALiBi (2021 年に Press らが提案) を使用します。ALiBi は、外挿パフォーマンスの向上を示した新しい位置エンコーディング テクノロジです。

  • オープン ソース モデルの選択: ほとんどのオープン ソース モデルは、位置埋め込みとして RoPE を使用します。現在、Flash アテンションなどの最適化されたアテンション実装は、乗算に基づいており、attention_mask をアテンション操作に渡す必要がないため、RoPE により適しています。

  • 予備実験: 予備実験では、位置埋め込みの選択はモデルのパフォーマンスに大きな影響を与えませんでした。

バイアスベースおよび乗算ベースの注意に関するさらなる研究を促進するために、著者らは Baichuan 2-7B に RoPE を適用し、Baichuan 1 と一致する ALiBi を Baichuan 2-13B に適用しました。

活性化関数と正規化

  • アクティベーション関数: Baichuan 2 は、アクティベーション関数として SwiGLU (Shazeer、2020) を使用します。SwiGLU は GLU (Dauphin et al., 2017) の変形であり、スイッチ起動メカニズムを通じてより良い結果を示します。従来の Transformer のフィードフォワード層には 2 つの行列しかありませんが、SwiGLU には 3 つのパラメータ行列が含まれています。したがって、モデルは隠れ層のサイズを 4 倍から 8/3 倍に縮小し、適切な調整を行います。

  • アテンション層: Baichuan 2 は、xFormers2 によって実装されたメモリ効率の高いアテンションを採用しています (Rabe および Staats、2021)。xFormers の最適化されたアテンション機能とバイアス機能を活用することで、モデルはメモリ オーバーヘッドを削減しながら、ALiBi のバイアスベースの位置エンコーディングを効果的に統合できます。これにより、Baichuan 2 の大規模トレーニングにパフォーマンスと効率のメリットがもたらされます。

  • 正規化:

    • Baichuan 2 は、ウォームアップに対してより堅牢な Transformer ブロックの入力にレイヤー正規化を適用します。

    • さらに、モデルは RMSNorm を使用して実装されており、効率を向上させるために入力特徴の分散のみを計算します。

オプティマイザ

  • ハイパーパラメータ:

    • トレーニング中に AdamW オプティマイザーを使用し、β1 を 0.9 に設定し、β2 を 0.95 に設定しました。

    • 0.1 の重み減衰が使用され、勾配ノルムは 0.5 にクリップされます。

    • モデルの学習率は、まず 2,000 ステップの線形スケーリングを通じて最大学習率までウォームアップされ、次にコサイン減衰が最小学習率に適用されます。

    • モデル全体は BFloat16 混合精度を使用してトレーニングされます。BFloat16 は Float16 よりも優れたダイナミック レンジを備えていますが、精度が低いため、一部の設定では問題が発生する可能性があります。したがって、特定の値に依存する操作 (位置埋め込みなど) では、完全な精度が使用されます。

ca9fa43ae01f159b137df14ed737ec09.png

トレーニングパラメータ

ノームヘッド

トレーニングを安定させ、モデルのパフォーマンスを向上させるために、出力の埋め込みが正規化されます。

洞察力:

1.出力エンベディングは不安定になる傾向があります。トレーニング プロセス中に、まれなトークンの埋め込みの基準が小さくなり、トレーニングが妨げられる

2. KNN 検索タスクの場合、意味情報は主に、L2 距離ではなく埋め込みのコサイン類似度によってエンコードされることがわかります。現在の線形分類器は、L2 距離とコサイン類似度を組み合わせたドット積を介してロジットを計算します。NormHead は、ロジットを計算する際の L2 距離の干渉を軽減します。付録に追加されたアブレーション実験では、NormHead が取り外されるとトレーニングが非常に不安定になることが確認されています。

8f11beddc2b53e3f4004dd0d34b65c75.jpeg

NormalHead トレーニングありとなしの比較

Max-Z 損失

洞察力:

deepspeed を使用したトレーニング プロセス中に、明らかにロジットが非常に大きくなることがありますが、この状況について著者が deepspeed の問題を検索したところ、同様のバグについて言及している人がいることを発見しました。では、事前トレーニング中に発生するこの種のバグに加えて、deepspeed が SFT 中に大きなロジット ドリフトを経験する可能性もあるのでしょうか?
反復ペナルティが存在するため、ロジットが大きいと推論中に問題が発生します。ロジットが非常に大きいと、ソフトマックス後の確率が大幅に変化する可能性があり、モデルが反復ペナルティのハイパーパラメータの選択に敏感になる可能性があります。
NormSoftmax のインスピレーションに基づいて、Baichuan チームは、この状況を解決するために Max-z 補助損失を提供します。
�max-z =2�−4∗�2

スケーリングの法則

大規模モデルのパフォーマンスを予測する際のスケーリング則の重要性と、それらの則がこれらのモデルのトレーニングをどのようにガイドして望ましい結果を達成するかが強調されます。

  • スケーリング則は、モデルの誤差がトレーニング セット サイズ、モデル サイズ、またはその両方の関数としてどのように減少するかを記述します。深層学習モデルのトレーニングの計算量がますます増加するにつれて、これらの法則はますます重要になります。

  • 大規模なモデル (数十億のパラメータを使用) をトレーニングする前に、著者らはまず小規模なモデルをトレーニングして、より大きなモデルをトレーニングするためのスケーリング則を確立しました。Baichuan 2 と同じデータセットと一貫したハイパーパラメーターを使用して、1,000 万から 30 億のパラメーター (最大 1 兆トークン) のモデルがトレーニングされました。

  • スケーリング則は、トレーニング フロップとターゲット損失の関係を説明する Henighan et al. (2020) によって提供された公式を使用して定式化されます。この式は既約損失と被約数損失で構成され、被約数損失はべき乗則のスケーリング項として定式化されます。

  • 適合したスケーリング則により、Baichuan 2 モデルの最終的な損失を正確に予測できます。具体的には、スケーリング則は Baichuan 2-7B および Baichuan 2-13B モデルの最終損失を正確に予測しました。

3b595b1d8356bb069b82c566cf9c37cb.jpeg 73a5e735b1c0d1224c69e641ae904f7c.jpeg

与えられたデータの下では、モデルが大きいほど損失は小さくなります。奇妙に思えるのは、これら 3 つのモデルが同時に 600B に収束していることです。

インフラストラクチャー

Deepspeed はトレーニングを最適化するために変更されました。ここではスキップしてください。

アライメントアライメントステージ

Baichuan 2 の位置合わせプロセスは主に、教師あり微調整 (SFT) とヒューマン フィードバックに基づく強化学習 (RLHF) という 2 つの主要コンポーネントで構成されます。

1 監視と微調整

監視付き微調整フェーズでは、ヒューマン アノテーターを使用して、さまざまなデータ ソースから収集したキューに注釈を付けます。各ヒントには、Claude (2023) と同様の重要な原則に基づいて、役立つか無害かがラベル付けされています。データ品質を検証するために、相互検証を使用します。つまり、権威あるアノテーターが、特定のクラウドソーシング ワーキング グループによって注釈が付けられたサンプルのバッチの品質をチェックし、低品質のデータを除外します。SFTステージでは合計10,000個のSFTデータが使用されました。

2 報酬モデル:

すべてのヒントに対して、6 つの主要カテゴリ、30 の二次カテゴリ、200 を超える三次カテゴリを含む 3 層の分類システムを設計しました。ユーザーの観点からは、分類システムがあらゆる種類のユーザーのニーズを包括的にカバーできるようにしたいと考えています。報酬モデルのトレーニングの観点から、各カテゴリのキューには、報酬モデルが適切に一般化できるように十分な多様性がなければなりません。

詳細:

72a831a2e2775bb417a6ef8e9e8f8f7d.jpeg

ギャップの異なるペアデータに対するRMモデルの正解率

洞察力:

RM データは、Shirakawa 2 の異なるサイズのモデルとステージ (SFT、PPO) モデルを使用して応答を生成し、応答の多様性を強化します。RM トレーニングでは、Shirakawa 2 モデル ファミリによって生成された応答のみが使用されました。他のオープンソース データセットや独自のモデルからの応答では、報酬モデルの精度は向上しませんでした。これは、別の観点から Baichuan モデル シリーズの内部一貫性を強調するものでもあります。ここでは、嗜好データは SFT または PPO モデル自体から生成され、RM モデルのトレーニングが PPO の同じ分布を持つデータから得られるようにする必要があることが説明されています。これは、モデルの精度にとって、同一に分散されたデータの重要性を示しています。

3PPO:

報酬モデルを取得した後、PPO (PPO アルゴリズム) を使用して言語モデルをトレーニングします。アクター モデル (応答の生成を担当)、参照モデル (固定パラメーターで KL ペナルティを計算するために使用)、報酬モデル (応答全体が全体的な報酬を提供します)と批評家モデル(各トークンの価値を学習するように設計されています)。

4 トレーニングの詳細:

RLHF トレーニング プロセスでは、まず批評家モデルが事前に 20 トレーニング ステップでウォームアップされました。その後、批評家モデルと俳優モデルが標準の PPO アルゴリズムを通じて更新されます。すべてのモデルで、勾配クリッピング 0.5、定数学習率 5e-6、および PPO クリッピングしきい値 ϵ = 0.1 を使用します。すべてのチャット モデルに対して 350 回の反復を設定し、その結果、Baichuan 2-7B-Chat と Baichuan 2-13B-Chat が得られました。

18311cb2e21409c344d41e527b153d7c.jpeg

PPO 反復プロセス

評価と概要

354731a7f40a0b1245b1d2d441f0b2cc.jpeg e7a3126346112c8b156a2fe86cb88772.jpeg

Baichuan 2 が Baichuan 1 と同じ数のトークンにトレーニングされた場合、実際には ceval スコアと cmmlu スコアに大きな違いはないようです。これは、Baichuan 2 の主な改善はデータによるものであることを示しており、努力して努力するのは理にかなっています。奇跡を起こす!


NLP グループに入る -> NLP 交換グループに参加する

おすすめ

転載: blog.csdn.net/qq_27590277/article/details/132913737