ホームページ > テクノロジー周辺機器 > AI > 微調整llama2:大規模な言語モデルをカスタマイズするためのステップバイステップガイド

微調整llama2:大規模な言語モデルをカスタマイズするためのステップバイステップガイド

William Shakespeare
リリース: 2025-03-09 11:09:12
オリジナル
187 人が閲覧しました

メタのラマは、GPT-3.5などのモデルに対抗することを目指して、大規模な言語モデル(LLM)開発の急増を引き起こしました。 オープンソースコミュニティは、ますます強力なモデルを急速に生み出しましたが、これらの進歩には課題はありませんでした。 多くのオープンソースLLMには制限的なライセンスがあり(調査のみ)、微調整にかなりの予算が必要であり、展開に費用がかかりました。

llamaの新しいイテレーションは、これらの問題に商業ライセンスと、メモリが限られている消費者グレードGPUの微調整を可能にする新しい方法で対処しています。これはAIを民主化し、さらに小規模な組織がテーラードモデルを作成できるようにします。

このガイドは、リソースの制約を克服するための効率的な手法を利用して、Google Colabで微調整されたLlama-2を示しています。メモリの使用量を最小限に抑え、トレーニングを加速する方法論を調べます。

Fine-Tuning LLaMA 2: A Step-by-Step Guide to Customizing the Large Language Model dall-e 3

を使用して著者によって生成された画像 微調整llama-2:ステップバイステップガイド

このチュートリアルは、T4 GPU(Google ColabまたはKaggleで入手可能)の70億パラメーターllama-2モデルを微調整します。 T4の16GB VRAMは、特にQlora(4ビット精度)を使用して、パラメーター効率の高い微調整を必要とします。ハグする顔のエコシステム(変圧器、加速、PEFT、TRL、bitsandBytes)を利用します。 1。セットアップ:

必要なライブラリをインストールする:

インポートモジュール:

<code>%%capture
%pip install accelerate peft bitsandbytes transformers trl</code>
ログイン後にコピー
ログイン後にコピー
2。モデルとデータセットの選択:

<code>import os
import torch
from datasets import load_dataset
from transformers import (
    AutoModelForCausalLM,
    AutoTokenizer,
    BitsAndBytesConfig,
    TrainingArguments,
    pipeline,
    logging,
)
from peft import LoraConfig
from trl import SFTTrainer</code>
ログイン後にコピー

(公式のllama-2に容易にアクセス可能な等価)を基本モデルとして、を小規模なトレーニングデータセットとして使用します。

NousResearch/Llama-2-7b-chat-hfハグする顔モデルとデータセットを示す画像は、オリジナルと同じようにここに含まれています。 mlabonne/guanaco-llama2-1k

3。データとモデルの読み込み:
<code>base_model = "NousResearch/Llama-2-7b-chat-hf"
guanaco_dataset = "mlabonne/guanaco-llama2-1k"
new_model = "llama-2-7b-chat-guanaco"</code>
ログイン後にコピー

データセットをロードします:

qlora:を使用して4ビット量子化を構成します

4ビット量子化でllama-2モデルをロードします:

<code>dataset = load_dataset(guanaco_dataset, split="train")</code>
ログイン後にコピー
トークン剤をロードします:

<code>compute_dtype = getattr(torch, "float16")
quant_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=compute_dtype,
    bnb_4bit_use_double_quant=False,
)</code>
ログイン後にコピー

qloraを示す画像は、オリジナルと同じようにここに含まれています

<code>model = AutoModelForCausalLM.from_pretrained(
    base_model,
    quantization_config=quant_config,
    device_map={"": 0}
)
model.config.use_cache = False
model.config.pretraining_tp = 1</code>
ログイン後にコピー
4。 PEFT構成:

効率的な微調整のためのPEFTパラメーターを定義します:
<code>tokenizer = AutoTokenizer.from_pretrained(base_model, trust_remote_code=True)
tokenizer.pad_token = tokenizer.eos_token
tokenizer.padding_side = "right"</code>
ログイン後にコピー

5。トレーニングパラメーター:

トレーニングハイパーパラメーター(出力ディレクトリ、エポック、バッチサイズ、学習レートなど)を設定します。 詳細はオリジナルと同じです。

6。 SFTでの微調整:

<code>peft_params = LoraConfig(
    lora_alpha=16,
    lora_dropout=0.1,
    r=64,
    bias="none",
    task_type="CAUSAL_LM",
)</code>
ログイン後にコピー

TRLライブラリからを使用して、監視された微調整を行います。 トレーニングの進行とモデルの保存を示す

スクリーンショットは、オリジナルと同じようにここに含まれています。

7。評価:

transformersパイプラインを使用して、微調整されたモデルをテストします。例は、オリジナルと同じように提供されています。

8。テンソルボードの視覚化:

トレーニングメトリックを監視するためのテンソルボードを起動します

<code>%%capture
%pip install accelerate peft bitsandbytes transformers trl</code>
ログイン後にコピー
ログイン後にコピー

テンソルボードのスクリーンショットは、オリジナルと同じようにここに含まれています 結論:

このガイドは、限られたハードウェアで効率的なllama-2微調整を紹介しています。 Qloraやその他のテクニックを使用すると、高度なLLMがより多くの視聴者がアクセスできます。 その他のリソースと学習パスは、オリジナルと同様に、最後に言及されていますが、マーケティングの呼び出しはありません。

以上が微調整llama2:大規模な言語モデルをカスタマイズするためのステップバイステップガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート