Skip to Main Content

テキストファインチューニングモデルのトレーニング

現在、LLamaやChatGLMなどの人気のあるテキスト生成モデルは、比較的小さいサイズでも、消費者向けのGPUで完全にファインチューニングするのは困難です。そのため、ここでは、テキストファインチューニングモデルの完全なパラメーターファインチューニングの実行方法については説明せず、軽量ファインチューニングの実行方法にのみ焦点を当てます

トレーニングツール 🔧

画像生成モデルの分野では、Stable Diffusionに基づいており、通常同じネットワーク構造を持っています。異なるテキスト生成モデルは、異なる基本モデルから来る場合があります。ここでは、text-generation-webuiのトレーニングファインチューニングモデル機能のみを使用して、ファインチューニングモデルのトレーニング方法を説明します。

現在、text-generation-webuiは以下のような人気のあるモデルをサポートしています。(text-generation-webuiがサポートしていない他のモデルの場合、対応するモデルのファインチューニング方法を使用してトレーニングできます。製品はpeftのloraモデル形式である必要があります)

基本モデルファインチューニング
LLaMAサポート
OPTサポート
GPT-Jサポート
GPT-NeoXサポート
RWKVサポートされていません
ChatGLMサポートされていません。サードパーティーのツールを使用してください

モデル選択

LLaMAシリーズモデルは現在、最も主流のモデルです。

ただし、トレーニングで使用されるコーパスは主に英語なので、他の言語のサポートは弱いです。

英語の場合、WizardLM-7B-Uncensoredまたはvicuna-7b-1.1を使用して、独自のデータでさらにファインチューニングすることをお勧めします。

中国語の場合、Linly-Chinese-LLaMA-7b-hfを使用してファインチューニングすることをお勧めします。

韓国語の場合、kollama-7bを使用することをお勧めします。

モデル言語
WizardLM-7B-Uncensored英語
vicuna-7b-1.1英語
Linly-Chinese-LLaMA-7b-hf中国語
kollama-7b韓国語

データの準備 📚

テキストファインチューニングモデルには、2種類のデータがあります。

データ形式用途使用する場合欠点関数
純粋なテキストコーパスデータ特別なデータ形式は必要ありません。すべてのテキストを1つまたは複数のtxtファイルに入れます。テキストの補完たとえば、物語作成モデルをファインチューニングする場合、物語の始まりを入力して、モデルに残りの内容を埋めさせます。ファインチューニング後、元の機能を失う可能性があります。
指示データ特別なデータ形式が必要です対話、コマンドモデルが人間の意図をよりよく理解するようにする

指示データは、データセットによって調整され、モデルが人間の意図をよりよく理解できるようにします。

指示データであろうと純粋なテキストコーパスであろうと、テキストの補完タスクです。

指示データの場合、残りのテキストを完了するための指示を含むモデルの入力と見なすことができます。

text-generation-webuiは、現在、どちらのデータ形式に対してもloraファインチューニングをサポートしています。

ファインチューニングモデルのトレーニング

  1. text-generation-webuiのインストールガイドに従って、text-generation-webuiをインストールします。

  2. text-generation-webuiを起動し、トップタブからモデルタブを選択します。

  3. モデルタブの下で、ehartford/WizardLM-7B-Uncensoredなどの対応する基本モデルの名前を入力し、ダウンロードをクリックして基本モデルをダウンロードします(モデルを手動でダウンロードして、text-generation-webuiのインストールディレクトリのmodelsディレクトリに置くこともできます)。

    Untitled

  4. 準備したデータセットをtext-generation-webuiのインストールディレクトリのtraining/datasetsディレクトリに置きます。

    Untitled

  5. text-generation-webuiのトレーニングタブに切り替えて、準備したデータを選択します。

    Untitled

    トレーニングにはデフォルトのパラメータを使用します。コンテキストの長さを増やしたい場合は、cutoffパラメータを増やすことができます。

    トレーニングを開始すると、text-generation-webuiでトレーニングの進捗状況を確認できます。

    Untitled

    通常、トレーニングが完了するまで1〜8時間かかります。トレーニングデータのサイズ、トレーニングパラメータ、およびGPUモデルの違いは、モデルのトレーニング速度に影響を与えます。

    トレーニングプロセス中の製品はloraディレクトリに保存されます。トレーニングを途中で中断し、loraディレクトリの既存のチェックポイントモデルを使用することもできます。

    Untitled

    loraディレクトリに、使用したいloraモデルの名前でフォルダを手動で作成します。

    Untitled

    フォルダから最新のチェックポイントモデルをloraディレクトリにコピーします。

    次に、text-generation-webuiでloraモデルを選択して使用します。

    モデルの使用方法については、「モデルの概要/テキストモデルの使用」を参照してください。

モデルのファインチューニング方法についてまだ疑問がある場合は、2つの実際のファインチューニングケースプロセスを参照してください。