このリポジトリは、記事「大型言語モデル(LLMS)」に触発され、スタンフォードセンチメントツリーバンク(SST-2)データセットとLORA(大規模な言語モデルの低ランク適応)を使用してテキスト分類モデルをトレーニングするためのコードが含まれています。 Loraは、言語モデルをより順応性と効率的にする方法です。各タスクでモデル全体を再度トレーニングする代わりに、LORAは事前に訓練されたモデルをフリーズし、各モデルレイヤーに小さなトレーニング可能なマトリックスを追加します。これらのマトリックスは、すべてのパラメーターを変更することなく、モデルがさまざまなタスクに適応するのに役立ちます。
このリポジトリでコードを使用する前に、必要なライブラリをインストールする必要があります。次のコマンドを実行することでこれを行うことができます。
! pip install datasets
! pip install transformers
! pip install peft
! pip install evaluateこれらのコマンドは、データセット、トランス、ロラ、および評価メトリックを操作するために必要なPythonライブラリをインストールします。
このリポジトリでコードを使用する方法は次のとおりです。
SST-2データセットをロードします:
このコードは、ハグするフェイスdatasetsライブラリを使用してSST-2データセットをロードします。 SST-2は、感情ラベルが注釈された映画レビューからの文で構成されています。 SST-2データセットの詳細については、こちらをご覧ください。
LORAモデルアーキテクチャを定義します。
このコードは、LORA技術を使用して、テキスト分類のために事前に訓練された言語モデルを微調整します。 LORAは、重量差の低いランク特性を活用することにより、モデルをタスクに効率的に適応させます。 LORAの実装はコードに記載されています。
データセットのトークン:
データセットはモデルのトークナイザーを使用してトークン化され、 [PAD]のような特別なトークンがまだ存在しない場合は追加されます。
LORAモデルをトレーニングします:
コードは、トレーニングハイパーパラメーターを定義し、提供されたデータセットを使用してロラ適応モデルをトレーニングします。学習率、バッチサイズ、エポックの数などのトレーニング引数は、 training_args変数で調整できます。
訓練されたロラモデルで推測します:
トレーニング後、新しいテキスト入力への推論のためにトレーニングされたロラ適応モデルを使用できます。コードは、モデルをロードし、例の例のリストで予測を行う方法を示しています。
このコードは、事前に訓練された言語モデルアーキテクチャに基づいてテキスト分類モデルを使用します。 Lora微調整は、この事前に訓練されたモデルを効率的に適応させるために適用されます。 LORA技術は、体重差の低いランク構造を活用して、適応性能を向上させます。
Lora技術の詳細については、Lora Paperを参照できます。
ロラ適応モデルをトレーニングするには、次の手順に従ってください。
インストールセクションに記載されているように、必要なライブラリをインストールします。
トレーニングデータセットを定義するか、提供されたSST-2データセットを使用します。
コードでモデルアーキテクチャとハイパーパラメーターを構成します。
トレーニングコードを実行すると、モデルはデータセットのLORAテクニックを使用して微調整されます。
トレーニング後、新しいテキスト入力への推論のためにトレーニングされたロラ適応モデルを使用できます。これを行うには:
コードに示されているように、訓練されたロラ適応モデルをロードします。
モデルのトークンザーを使用して入力テキストをトークン化します。
センチメント分類のためにトークン化された入力をモデルに渡します。
モデルは、入力テキストに肯定的な感情か否定的なものかを予測します。

