ホームページ  >  記事  >  テクノロジー周辺機器  >  言語モデルのトレーニングに対する語彙選択の影響の調査: 画期的な研究

言語モデルのトレーニングに対する語彙選択の影響の調査: 画期的な研究

王林
王林転載
2023-10-04 14:25:011308ブラウズ

言語モデルはさまざまな語彙リストによってどのような影響を受けますか?これらの効果のバランスをとるにはどうすればよいでしょうか?

最近の実験では、研究者はさまざまなコーパスを使用して 16 の言語モデルを事前トレーニングし、微調整しました。この実験では、小規模アーキテクチャ (GPT-2 SMALL に基づく) NanoGPT を使用し、合計 12 個のモデルをトレーニングしました。 NanoGPT のネットワーク アーキテクチャ構成は、12 個のアテンション ヘッド、12 層のトランスフォーマー、ワード埋め込み次元は 768、約 400,000 回の反復 (約 10 エポック) が実行されました。次に、4 つのモデルが GPT-2 MEDIUM でトレーニングされ、GPT-2 MEDIUM のアーキテクチャは 16 個のアテンション ヘッド、24 層のトランスフォーマー、単語埋め込み次元 1024 に設定され、600,000 回の反復が実行されました。すべてのモデルは、NanoGPT および OpenWebText データセットを使用して事前トレーニングされています。微調整の観点から、研究者らは baize-chatbot が提供する指示データセットを使用し、2 種類のモデルにそれぞれ 20,000 と 500,000 の「辞書」エントリを追加しました。研究者らは将来、コード、事前トレーニングされたモデル、命令調整されたモデル、および微調整されたデータセットをリリースする予定です

# ただし、GPU スポンサーが不足しているため (これはは無料のオープンソースプロジェクトです)、コスト削減のため、研究者は現在継続していませんが、研究内容をさらに改善する余地があります。事前トレーニング段階では、これら 16 のモデルを 8 つの GPU で合計 147 日間実行する必要があります (1 つの GPU を 1,176 日間使用する必要があります)。費用は 8,000 米ドルです。

調査結果は次のように要約できます:

エンコード方式に関しては、TokenMonster (550256-strict-nocapcode) ボキャブラリは GPT-2 Tokenizer よりも優れたパフォーマンスを発揮します。すべてのインジケーターのtiktoken p50k_base。

  • #最適な語彙サイズは 32,000 です。
  • 語彙が単純であればあるほど、モデルの収束は速くなりますが、収束後に必ずしもより良い結果が得られるとは限りません。
  • 単語比率 (各トークンに対応する平均文字数) の増加は、モデルの品質だけに悪影響を及ぼすわけではありません。
  • 複数の単語に対応する単一のトークンを持つ語彙は、SMLQA (グラウンド トゥルース) ベンチマークに 5% のマイナスの影響を与えますが、単語の比率は 13% 高くなります。
  • Capcode ボキャブラリを使用すると、モデルの学習に時間がかかりますが、モデルが収束すると、SMLQA (グラウンド トゥルース) や SQuAD にはどの方向にも影響を与えないようです。 (データ抽出) ベンチマークには影響があります。
  • 異なるトークナイザーを比較する場合、検証損失と F1 は両方とも無意味な指標です。
  • トークナイザーの欠陥と複雑さは、モデルの言語学習能力よりもモデルの事実学習能力に大きな影響を与えます。
実験結果によると、englishcode-32000-consistent の結果が最も優れています。ただし、前述したように、1 つのトークンが複数の単語に対応する TokenMonster を使用する場合、SMLQA (Ground Truth) の精度と単語比率の間にトレードオフがあり、学習曲線の傾きが増加します。研究者らは、トークンの 80% を 1 つの単語に対応させ、トークンの 20% を複数の単語に対応させることで、このトレードオフを最小限に抑え、「両方の利点を生かした」語彙を実現できると確信しています。研究者らは、この方法は単語の比率を約 50% 向上させながら、1 単語の語彙リストと同じパフォーマンスがあると考えています。


#この文の意味するところは、トークナイザーの欠陥と複雑さが、モデルの言語能力よりも事実を学習するモデルの能力に大きな影響を与えるということです

##この現象は、トレーニング プロセス中に発見された興味深い機能です。モデル トレーニングの仕組みを考えると、当然のことです。研究者は自分の推論を正当化する証拠を何も持っていない。しかし本質的には、言語の流暢さは言語の事実性(非常に微妙で文脈に依存する)よりもバックプロパゲーション中に修正するのが簡単であるため、トークナイザーの効率の向上は言語の事実性よりも一貫性が低いことを意味します。性別に関係なくSMLQA (Ground Truth) ベンチマークで見られるように、情報の忠実度の向上に直接つながる波及効果が生じます。簡単に言えば、より優れたトークナイザーはより現実的なモデルですが、必ずしもよりスムーズなモデルであるとは限りません。逆に、非効率なトークナイザーを備えたモデルでも流暢に書くことを学習できますが、流暢さによる追加コストによりモデルの信頼性が低下します。

語彙サイズの影響

これらのテストを実施する前、研究者らは 32,000 が最適な語彙サイズであると信じていました。テーブルスケール、実験結果もこれを裏付けています。 SMLQA (Ground Truth) ベンチマークでは、50256 バランス モデルのパフォーマンスは 32000 バランス モデルよりも 1% 優れているだけですが、モデル サイズは 13% 増加します。この観点を明確に証明するために、この記事では MEDIUM に基づく複数のモデルで、語彙を 24000、32000、50256、および 100256 語に分割して実験を実施しました。

最適化モードの影響

研究者らは TokenMonster をテストし、バランス、一貫性、厳密という 3 つの特定の最適化モードをテストしました。さまざまな最適化モードは、句読点とキャップコードを単語トークンと組み合わせる方法に影響します。研究者らは当初、一貫性モードのほうが (複雑さが少ないため) パフォーマンスは向上するが、単語比率 (つまり、文字とトークンの比率) はわずかに低くなるだろうと予測していました。実験結果は上記の推測を裏付けるようですが、研究者はいくつかの現象も観察しています。まず、SMLQA (Ground Truth) ベンチマークでは、コンシステント モードのパフォーマンスがバランス モードよりも約 5% 優れているようです。ただし、コンシステント モードのパフォーマンスは、SQuAD (データ抽出) ベンチマークで大幅に低下します (28%)。ただし、SQuAD ベンチマークは大きな不確実性 (繰り返し実行すると異なる結果が得られる) を示しており、説得力がありません。研究者らはバランスの取れたパターンと一貫性のあるパターンの間の収束をテストしなかったので、これは単純に一貫したパターンの方が学習しやすいことを意味しているのかもしれません。実際、SQuAD は学習が難しく、幻覚を起こす可能性が低いため、SQuAD (データ抽出) では一貫性がより優れている可能性があります。

これは、句読点と単語を 1 つのトークンに組み合わせることに明らかな問題がないことを意味するため、それ自体興味深い発見です。これまでの他のすべてのトークナイザーは、句読点を文字から分離する必要があると主張してきましたが、ここでの結果からわかるように、目立ったパフォーマンスの低下なしに単語と句読点を単一のトークンにマージできます。これは、50256-consistent-oneword によっても確認されており、この組み合わせは 50256-strict-oneword-nocapcode と同等のパフォーマンスを発揮し、p50k_base を上回ります。 50256-consistent-oneword は、単純な句読点と単語トークンを組み合わせます (他の 2 つの組み合わせはそうではありません)。

capcode の厳密モードを有効にすると、明らかな悪影響が生じます。 SMLQA では、50256-strict-oneword-nocapcode のスコアは 21.2、SQuAD では 23.8、50256-strict-oneword のスコアはそれぞれ 16.8 と 20.0 です。理由は明らかです。厳密な最適化モードでは、キャップコードと単語トークンのマージが防止され、その結果、同じテキストを表すためにより多くのトークンが必要となり、単語比率が 8% 減少します。実際、strict-nocapcode は、strict モードよりも一貫したモードに似ています。さまざまな指標において、50256-consistent-oneword と 50256-strict-oneword-nocapcode はほぼ同等です。

ほとんどの場合、研究者は、このモデルがインクルージョンの学習に役立つと結論付けました。句読点や単語のトークンはそれほど難しくありません。つまり、一貫性モデルは、平衡モデルよりも文法精度が高く、文法エラーが少ないということです。研究者らは、あらゆることを考慮して、全員が整合性モードを使用することを推奨しています。 Strict モードは、capcode が無効になっている場合にのみ使用できます

構文の精度への影響

上記のとおり、バランスド モードと比較して一貫性モードでは、構文の精度が高くなります (構文エラーが少なくなります)。これは、以下の図に示すように、単語比率と文法の間の非常にわずかな負の相関関係に反映されています。さらに、最も注目すべき点は、GPT-2 トークナイザーと tiktoken p50k_base の両方の構文結果が、TokenMonster の 50256-strict-oneword-nocapcode (98.6% および 98.4%) と比較して (それぞれ) ひどいことです。98.1% および 97.5%) 。研究者らは当初、これは単なる偶然だと考えていたが、複数のサンプリングで同じ範囲の結果が得られた。原因は不明です。

#MTLD への影響

言語モデルのトレーニングに対する語彙選択の影響の調査: 画期的な研究

MTLD は、生成されたサンプル テキストの言語の多様性を表すために使用されます。これは、語彙サイズ、最適化モード、トークンごとの最大単語数などの機能ではなく、n_embed パラメーターに密接に関連しているようです。これは、6000 バランス モデル (n_embd は 864) と 8000 コンシステント モデル (n_embd は 900) で特に顕著です。

中規模モデルでは、p50k_base の MTLD が最も高くなります。 , これは 43.85 ですが、文法スコアも最低です。この理由は不明ですが、研究者らはトレーニングデータの選択が少し奇妙だったのではないかと推測しています。

SQuAD についての説明

SQuAD ベンチマークの目的は、テキストからデータを抽出するモデルの能力を評価することです。具体的な方法は、テキストの段落を提供して質問し、そのテキストの段落で答えが見つかる必要があるというものです。テスト結果はあまり意味がなく、明らかなパターンや相関関係はなく、モデルの全体的なパラメーターの影響を受けません。実際、SQuAD では、9,100 万個のパラメーターを含む 8000 バランス モデルの方が、3 億 5,400 万個のパラメーターを含む 50256-consistent-oneword モデルよりも高いスコアを獲得しました。この理由としては、このスタイルの例が十分にないか、微調整データセット内の質問と回答のペアが多すぎることが考えられます。あるいは、これは単に理想的とは言えないベンチマークである可能性があります。

SMLQA についての議論

#SMLQA ベンチマークは、Test によって提案されています。 「ジャカルタはどこの国の首都ですか?」「ハリー・ポッターの本を書いたのは誰ですか?」などの常識的な質問に客観的に答えた「真実」。

このベンチマーク テストでは、2 つのリファレンス トークナイザー、GPT-2 Tokenizer と p50k_base が非常に優れたパフォーマンスを示したことは注目に値します。研究者らは当初、数カ月の時間と数千ドルを無駄にしたと考えていたが、tiktokenのパフォーマンスがTokenMonsterよりも優れていたことが判明した。ただし、この問題は各トークンに対応する単語の数に関連していることが判明しました。これは、以下の図に示すように、「MEDIUM」モデルで特に顕著です

言語モデルのトレーニングに対する語彙選択の影響の調査: 画期的な研究


##単一単語の語彙のパフォーマンスは、各トークンが複数の単語に対応する TokenMonster のデフォルトの語彙よりもわずかに優れています。 言語モデルのトレーニングに対する語彙選択の影響の調査: 画期的な研究

もう 1 つの重要な観察は、語彙サイズが 32,000 未満の場合、モデルの n_embd パラメーターが減少を補うように調整されていても、語彙サイズが真の値に直接影響するということです。モデルサイズで。研究者らは当初、n_embd 864 (パラメータ 1 億 2,134 万) で 16000-balance および n_embd 900 (パラメータ 1 億 2,386 万) で 8000-consistent の方が、n_embd 768 (パラメータ1 億 2,134 万)、1 億 2,359 万) の方がパフォーマンスが良かったのですが、そうではありません。どちらもパフォーマンスははるかに悪かったです (13.7 と 15.1 に対して、50256 一貫性の 16.4)。ただし、両方の「調整された」モデルは同じトレーニング時間を受け取り、その結果、事前トレーニング時間は (同じ時間ではあるが) 大幅に短縮されました。トランス層の小さなモデル

研究者らは、デフォルトの NanoGPT アーキテクチャで 12 個のモデルをトレーニングしました。このアーキテクチャは、12 個のアテンション ヘッドと 12 層を備えた GPT-2 アーキテクチャに基づいており、埋め込みパラメータのサイズは 768 です。これらのモデルはいずれも収束状態に達しておらず、簡単に言えば、最大学習能力に達していません。モデルは 400,000 回の反復でトレーニングされましたが、最大の学習能力に達するには 600,000 回の反復が必要であるようです。この状況の理由は非常に単純です。1 つは予算の問題、もう 1 つは収束点の不確実性です。

小規模モデルの結果:

小規模モデルのピアソン相関:

言語モデルのトレーニングに対する語彙選択の影響の調査: 画期的な研究

#小規模モデルの結論:

言語モデルのトレーニングに対する語彙選択の影響の調査: 画期的な研究書き直された内容: 語彙数が 32,000 のときに最適な語彙レベルに達します。 8,000 から 32,000 への語彙増加段階では、語彙を増やすことでモデルの精度が向上します。ただし、語彙サイズが 32,000 から 50,257 に増加すると、モデルの合計パラメーターもそれに応じて増加しますが、精度の向上はわずか 1% です。 32,000 を超えると、ゲインは急激に減少します。

不適切なトークナイザーの設計はモデルの精度に影響を与えますが、文法の正しさや言語の多様性には影響しません。パラメータ範囲が 9,000 万から 1 億 2,500 万の、より複雑な文法ルール (複数の単語に対応するトークン、単語と句読点の組み合わせ、キャップコード エンコード トークン、総語彙削減など) を使用したトークナイザーのグラウンド トゥルース ベンチマークのパフォーマンス 悪い。ただし、この洗練されたトークナイザーの設計は、生成されたテキストの言語の多様性や文法の正しさに対して統計的に有意な影響を及ぼしませんでした。 9,000 万個のパラメータを持つモデルなどのコンパクトなモデルでも、より複雑なマーカーを効果的に利用できます。複雑な語彙ほど学習に時間がかかり、基本的な事実に関連する情報を取得するのにかかる時間が短縮されます。これらのモデルはいずれも完全にトレーニングされていないため、パフォーマンスのギャップを埋めるためのさらなるトレーニングの可能性はまだわかりません。

中国語で書き直すと次のようになります。 3. 検証損失は、異なるトークナイザーを使用したモデルを比較するための有効な指標ではありません。検証損失には、特定のトークナイザーの単語比率 (トークンあたりの平均文字数) と非常に強い相関関係 (0.97 ピアソン相関) があります。トークナイザー間で損失値を比較するには、損失値は各トークンに対応する文字の平均数に比例するため、トークンではなく文字に関連して損失を測定する方が便利な場合があります。

4. F1 スコアは、言語モデルを評価するための指標としては適していません。これらの言語モデルは、可変長の応答を生成するようにトレーニングされているためです (完了はテキスト終了マーカーによって示されます)。これは、テキスト シーケンスが長くなるほど、F1 式のペナルティが厳しくなるためです。 F1 スコアは、より短い応答モデルを生成する傾向があります。文法的に一貫した応答を生成する能力は微調整できます。これらの回答は多くの場合不正確または幻想的ですが、比較的一貫性があり、文脈上の背景を理解していることを示しています。有意であり、単語比率とわずかに負の相関がありました。これは、単語対単語の比率が大きい語彙では、文法的および語彙の多様性の学習が若干難しくなるということを意味します

7. モデル パラメーターのサイズを調整するとき、単語対単語の比率は、ワード比率は、SMLQA (Ground Truth の間に統計的に有意な相関関係はありません) または SQuAD (情報抽出) ベンチマークに関連しています。これは、単語対単語の比率が高いトークナイザーがモデルのパフォーマンスに悪影響を及ぼさないことを意味します。

「バランスのとれた」カテゴリと比較すると、「一貫性のある」カテゴリは、SMLQA (グラウンド トゥルース) ベンチマークではわずかに優れたパフォーマンスを示しているようですが、SQuAD (情報抽出) ベンチマークではパフォーマンスが劣ります。 。これを確認するにはさらに多くのデータが必要ですが、

#16 層のアテンション ヘッドと 24 層のトランス層を備えた中型モデル

#小規模モデルのトレーニングとベンチマークを行った後、研究者らは、測定結果がモデルの学習能力ではなく、モデルの学習速度を反映していることを明らかに発見しました。さらに、デフォルトの NanoGPT パラメータが使用されたため、研究者らは GPU の計算能力を最適化しませんでした。この問題を解決するために、研究者らは 50,257 個のトークンを備えたトークナイザーと中言語モデルを使用して 4 つのバリアントを研究することにしました。研究者らは、24GB GPU の VRAM 機能を最大限に活用するために、バッチ サイズを 12 から 36 に調整し、ブロック サイズを 1024 から 256 に削減しました。次に、小規模モデルの場合の 400,000 回の反復ではなく、600,000 回の反復が実行されました。各モデルの事前トレーニングには平均 18 日強かかりました。これは、小規模なモデルに必要な 6 日の 3 倍です。 言語モデルのトレーニングに対する語彙選択の影響の調査: 画期的な研究

モデルを収束するようにトレーニングすると、単純な語彙とより複雑な語彙の間のパフォーマンスの差が大幅に減少しました。 SMLQA (Ground Truth) と SQuAD (データ抽出) のベンチマーク結果は非常に近いものです。主な違いは、50256-consistent には、p50k_base よりもワード比率が 23.5% 高いという利点があることです。ただし、トークンごとに複数の単語が含まれる語彙の場合、真理値のパフォーマンス コストは小さくなりますが、これはページの上部で説明した方法を使用して解決できます。

のモデルの結果:

560000 回の反復後、すべてのモデルが収束し始めました。下に示された:###############

今後の見通し

次のフェーズでは、englishcode-32000-consistent を使用して MEDIUM モデルのトレーニングとベンチマークを行います。この語彙には 80% の単語トークンと 20% の複数単語トークンが含まれています

以上が言語モデルのトレーニングに対する語彙選択の影響の調査: 画期的な研究の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。