「大規模言語モデルのパディング — Llama 2を用いた例」

Padding in Large Language Models An Example Using Llama 2

因果的LLMのトレーニング例をパッドするためのベストプラクティス

作者による画像—Pixabayの画像を元に作成

パディングは、大規模言語モデル(LLM)において最も文書化されていない側面の一つです。なぜでしょうか?それは、通常、LLMはパディングなしで事前学習されるためです。

ただし、カスタムデータセットでのLLMのファインチューニングには、パディングが必要です。トレーニング例を正しくパディングしないと、トレーニング中のヌルロスまたは無限ロス、過剰生成、または推論中の空の出力など、さまざまな予期しない動作が発生する可能性があります。

この記事では、まずパディングとは何か、なぜ必要なのかを説明します。次に、パディングなしで事前学習されたLLMに適切なパディング戦略を見つける方法を示します。Hugging FaceのTransformersを使用してLLMにパディングサポートを追加するための2つの異なる解決策も提案します。

記事の最後には、Llama 2のトレーニング例をパディングする方法を示す例も提供します。

この記事を読むと、ドキュメントやチュートリアルを読まずに、自分自身でLLMのトレーニング例をパディングする方法を理解できるようになるはずです。

パッドとバッチ

パディングとは何か、なぜパディングするのか?

ファインチューニングに使用する例を1つ取り上げましょう。

example = "あなたはチャットボットではありません。"

この例をトークンのシーケンスに変換する必要があります。Transformersなどのライブラリでは、通常、次の手順に従ってトークン化されます:

  • 与えられた語彙に基づいて、例をサブワードに分割する:
example = ["▁あなた", "▁は", "▁チャット", "ボット", "ではありません", "。"]
  • 単語を語彙のインデックスで置き換えて、整数のシーケンスを得る:
example = [887, 526, 451, 263, 13563, 7451, 29889]
  • シーケンスに特殊トークンを追加する:BOSトークン、EOSトークン、UNKトークン、PADトークンなど
example = [1, 887, 526, 451, 263, 13563, 7451, 29889]

注意:この例では、Llama 2のトークナイザーを使用しています。以下で詳しく説明します。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

「ディープラーニングベースのフレームワークを使用した高速かつ正確な音響ホログラム生成」

DGIST電気工学およびコンピュータサイエンス学科の黄宰潤教授率いるチームは、ホログラムに基づいたリアルタイムでの焦点超音...

データサイエンス

「Jupyter AIに会おう Jupyterノートブックで人工知能の力を解き放つ」

人工知能(AI)とコーディングの革新的な進歩において、Project Jupyterはそのツールキットに画期的な追加を導入します。それ...

機械学習

xAIはPromptIDEを発表しました:Promptエンジニアリングと人工知能AIの透明性における新たなフロンティア

人工知能開発における画期的な一手として、xAIはPromptIDEを公開しました。PromptIDEは、プロンプトエンジニアリングと機械学...

AIニュース

Googleの安全なAIフレームワークを紹介します

今日、GoogleはSecure AI Frameworkをリリースし、協力してAI技術を安全に保護するのを支援します

AI研究

「医療分野における生成型AI」

はじめに 生成型人工知能は、ここ数年で急速に注目を集めています。医療と生成型人工知能の間に強い関係性が生まれていること...

機械学習

画像認識におけるディープラーニング:技術と課題

「人工知能の広大な領域において、特に画像認識の分野において、ディープラーニングはゲームチェンジャーとして登場しました」