ホームページ >テクノロジー周辺機器 >AI >PHI-4をローカルに微調整する方法は?
このガイドは、低ランク適応(LORA)アダプターと抱き合った顔を使用した特殊なタスクのMicrosoft Phi-4大言語モデル(LLM)の微調整を示しています。 特定のドメインに焦点を当てることにより、カスタマーサポートや医学的アドバイスなどのアプリケーションのPHI-4のパフォーマンスを最適化できます。 LORAの効率は、このプロセスをより速く、リソース集約的ではないようにします。
重要な学習成果:ターゲットアプリケーションにLORAアダプターを使用してMicrosoft PHI-4を微調整します 4ビット量子化でPHI-4を効率的に構成してロードします。
unsloth
SFTTrainer
python 3.8 pytorch(gpu加速度のCUDAサポートを備えています)
ライブラリunsloth
:transformers
datasets
微調整PHI-4:ステップバイステップのアプローチこのセクションでは、セットアップからハグの顔への展開まで、微調整プロセスについて詳しく説明しています。
pip install unsloth pip install --force-reinstall --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.gitステップ1:モデルのセットアップ
これには、モデルの読み込みと必須ライブラリのインポートが含まれます
ステップ2:データセットの準備
ShareGPT形式でFinetome-100Kデータセットを使用します。
from unsloth import FastLanguageModel import torch max_seq_length = 2048 load_in_4bit = True model, tokenizer = FastLanguageModel.from_pretrained( model_name="unsloth/Phi-4", max_seq_length=max_seq_length, load_in_4bit=load_in_4bit, ) model = FastLanguageModel.get_peft_model( model, r=16, target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"], lora_alpha=16, lora_dropout=0, bias="none", use_gradient_checkpointing="unsloth", random_state=3407, )これをFaceのフォーマットの抱きしめに変換するのに役立ちます:
ステップ3:モデル微調整
unsloth
from datasets import load_dataset from unsloth.chat_templates import standardize_sharegpt, get_chat_template dataset = load_dataset("mlabonne/FineTome-100k", split="train") dataset = standardize_sharegpt(dataset) tokenizer = get_chat_template(tokenizer, chat_template="phi-4") def formatting_prompts_func(examples): texts = [ tokenizer.apply_chat_template(convo, tokenize=False, add_generation_prompt=False) for convo in examples["conversations"] ] return {"text": texts} dataset = dataset.map(formatting_prompts_func, batched=True):
ステップ4:GPUの使用監視
SFTTrainer
from trl import SFTTrainer from transformers import TrainingArguments, DataCollatorForSeq2Seq from unsloth import is_bfloat16_supported from unsloth.chat_templates import train_on_responses_only trainer = SFTTrainer( # ... (Trainer configuration as in the original response) ... ) trainer = train_on_responses_only( trainer, instruction_part="user", response_part="assistant", )
ステップ5:推論
応答を生成:
pip install unsloth pip install --force-reinstall --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.git
ステップ6:保存とアップロード
ローカルで保存するか、顔を抱き締めるようにプッシュ:
from unsloth import FastLanguageModel import torch max_seq_length = 2048 load_in_4bit = True model, tokenizer = FastLanguageModel.from_pretrained( model_name="unsloth/Phi-4", max_seq_length=max_seq_length, load_in_4bit=load_in_4bit, ) model = FastLanguageModel.get_peft_model( model, r=16, target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"], lora_alpha=16, lora_dropout=0, bias="none", use_gradient_checkpointing="unsloth", random_state=3407, )
<your_hf_token></your_hf_token>
を実際の抱きしめている顔のトークンに置き換えることを忘れないでください。
結論:
この合理化されたガイドは、開発者が特定のニーズに合わせてPHI-4を効率的に微調整することを可能にし、LORAの力を活用し、最適化されたパフォーマンスと簡単な展開のために顔を抱きしめます。 完全なコードスニペットと詳細な説明については、元の応答を忘れないでください。以上がPHI-4をローカルに微調整する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。