Heim >Technologie-Peripheriegeräte >KI >Wie kann man phi-4 lokal feinstimmen?
Diese Anleitung zeigt Feinabstimmung des Microsoft Phi-4 großsprachigen Modells (LLM) für spezielle Aufgaben unter Verwendung von LORA-Adaptern (Low-Rank Adaptation) und dem Umarmungsgesicht. Indem Sie sich auf bestimmte Domänen konzentrieren, können Sie die Leistung von PHI-4 für Anwendungen wie Kundenbetreuung oder medizinische Beratung optimieren. Die Effizienz von Lora macht diesen Prozess schneller und weniger ressourcenintensiv.
Key -Lernergebnisse:
unsloth
Bibliothek. SFTTrainer
. Voraussetzungen:
Stellen Sie vor dem Start sicher, dass Sie:
unsloth
transformers
umarmt Face datasets
und Installieren Sie die erforderlichen Bibliotheken mit:
pip install unsloth pip install --force-reinstall --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.git
feinstimmend Phi-4: Ein Schritt-für-Schritt-Ansatz
In diesem Abschnitt wird der Feinabstimmungsvorgang beschrieben, vom Setup bis zur Bereitstellung auf dem Umarmungsgesicht.
Schritt 1: Modell -Setup
Dies beinhaltet das Laden des Modells und das Importieren von essentiellen Bibliotheken:
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, )
Schritt 2: Datensatzvorbereitung
unsloth
Wir werden den Finetome-100K-Datensatz im Sharegpt-Format verwenden.
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)
Schritt 3: Modell Feinabstimmung
SFTTrainer
Fein-Tune mit der
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", )-Face-Face
Schritt 4: GPU -Verwendung Überwachung
GPU -Speicherverbrauch überwachen:
import torch # ... (GPU monitoring code as in the original response) ...
Schritt 5: Inferenz
Antworten generieren:
pip install unsloth pip install --force-reinstall --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.git
Schritt 6: Speichern und Hochladen
lokal speichern oder auf das umarmende Gesicht drücken:
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, )
Denken Sie daran, <your_hf_token></your_hf_token>
durch Ihr tatsächliches Umarmungs -Gesichts -Token zu ersetzen.
Schlussfolgerung:
Dieser optimierte Leitfaden ermöglicht es Entwicklern, den PHI-4 für bestimmte Bedürfnisse effizient fein abzustimmen, die Leistung von Lora zu nutzen und das Gesicht für optimierte Leistung und einfache Einsatz zu umarmen. Denken Sie daran, die ursprüngliche Antwort für vollständige Codeausschnitte und detaillierte Erklärungen zu konsultieren.
Das obige ist der detaillierte Inhalt vonWie kann man phi-4 lokal feinstimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!