Hugging Face ガイド: コード不要で LLaMA 2 チャットボットをトレーニング

Hugging Face は、機械学習エンジニアのバックグラウンドがない個人でも LLaMA 2 ベース モデルをファインチューニングし、共有可能なチャット アプリケーションとしてデプロイできるノーコード ワークフローを導入しました。このプロセスは、Spaces、AutoTrain、ChatUI という統合ツール スイートを利用することで、Large Language Model (LLM) のカスタマイズへのアクセスを民主化します。

The No-Code LLM Toolchain

Hugging Face は、LLM のトレーニングとデプロイに関連する技術的な障壁を取り除くために、3 つの主要なサービスを利用します:

  • Spaces: グラフィカル ユーザー インターフェイス (GUI) を提供し、ウェブホストされた ML デモやアプリの構築とデプロイを行うサービスです。Gradio、Streamlit、Docker コンテナをサポートします。
  • AutoTrain: NLP、コンピュータ ビジョン、音声、表形式データなどさまざまなドメインで最先端の ML モデルをトレーニングするために設計されたノーコード ツールです。LLM のファインチューニングを特にサポートします。
  • ChatUI: HuggingChat を駆動する同じオープンソース ユーザー インターフェイスで、オープンソース LLM との対話をユーザーに可能にします。

実装ワークフローのステップバイステップ

カスタム チャットボットを作成するプロセスは、環境セットアップ、モデル トレーニング、アプリケーション デプロイの 3 つの主要なステージに分かれます。

1. AutoTrain Space を使用した環境セットアップ

始めに、ユーザーは新しい Space を作成し、AutoTrain Docker テンプレートを選択します。主要な構成要件は次のとおりです:

  • ハードウェア: 無料の CPU ベーシック オプションで、AutoTrain アプリ自体を実行するのに十分です。実際のモデル トレーニングは別のコンピューティング リソースで行われるためです。
  • 認証: ユーザーの Hub アカウントにトレーニング済みモデルを保存できるように、Space のシークレットに Hugging Face の書き込みアクセス トークン (HF_TOKEN) を追加する必要があります。

2. LLaMA 2 モデルのファインチューニング

AutoTrain Space がアクティブになると、ユーザーは GUI を通じてトレーニング ジョブを設定できます:

  • モデル選択: ユーザーはリストからモデルを選択したり、モデル カード名を指定したりできます。たとえば、Meta Llama 2 7b ファンデーション モデルを使用できます(Llama 2 は Meta の承認が必要なゲート済みモデルであることに注意してください)。
  • コンピューティング リソース: 7b モデルのトレーニングには通常、「A10G Large」GPU が必要です。より大きなモデルは、モデル全体を収められる十分なメモリを持つ GPU が必要です。
  • トレーニング データ: データは CSV 形式でアップロードする必要があります。このガイドでは、アルパカ インストラクション チューニング データセットを例として使用します。
  • 最適化: AutoTrain は、精度 (FP16)、量子化 (Int4/8)、パラメータ効率の良いファインチューニング (PEFT) のデフォルト設定を提供し、パフォーマンスへの影響を最小限に抑えながらメモリ フットプリントとトレーニング コストを削減します。

3. チャット アプリケーションのデプロイ

モデルがトレーニングされ、Hugging Face Hubに保存された後、2番目の Space を使用してデプロイされます:

  • テンプレート: ユーザーは ChatUI Docker テンプレートを選択します。
  • ハードウェア: 「A10G Small」GPU があれば、7b モデルを実行するのに十分です。
  • 構成: MODEL_NAME 変数には、Hub からトレーニング済みモデルの名前を設定する必要があります。ユーザーはオプションで MONGODB_URL を提供してチャット ログを保存することもできます;それ以外の場合は、ローカル データベースが自動的に作成されます。
  • 推論チューニング: ユーザーは、温度、top-p、生成される最大トークン数などのパラメータを調整して、モデルの応答の性質を変更できます。

Sources