Rumah > Peranti teknologi > AI > Bagaimana cara menyempurnakan Phi-4 secara tempatan?

Bagaimana cara menyempurnakan Phi-4 secara tempatan?

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2025-03-08 11:49:14
asal
774 orang telah melayarinya

Panduan ini menunjukkan penalaan halus Microsoft PHI-4 Model Besar (LLM) untuk tugas-tugas khusus menggunakan penyesuaian penyesuaian peringkat rendah (LORA) dan muka yang memeluk. Dengan memberi tumpuan kepada domain tertentu, anda boleh mengoptimumkan prestasi PHI-4 untuk aplikasi seperti sokongan pelanggan atau nasihat perubatan. Kecekapan LORA menjadikan proses ini lebih cepat dan kurang berintensifkan sumber.

Hasil Pembelajaran Utama:

  • Fine-Tune Microsoft Phi-4 menggunakan Adapter LORA untuk aplikasi yang disasarkan.
  • Konfigurasi dan muatkan PHI-4 dengan cekap dengan kuantisasi 4-bit.
  • Sediakan dan ubah dataset untuk penalaan halus dengan memeluk muka dan unsloth perpustakaan.
  • Mengoptimumkan prestasi model menggunakan Hugging Face's SFTTrainer.
  • Pantau penggunaan GPU dan simpan/muat naik model halus untuk memeluk wajah untuk penempatan.

Prasyarat:

Sebelum memulakan, pastikan anda mempunyai:

  • python 3.8
  • pytorch (dengan sokongan CUDA untuk pecutan GPU)
  • unsloth Perpustakaan
  • memeluk muka transformers dan datasets perpustakaan

Pasang perpustakaan yang diperlukan menggunakan:

pip install unsloth
pip install --force-reinstall --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.git
Salin selepas log masuk
Salin selepas log masuk

Fine-Tuning Phi-4: Pendekatan Langkah demi Langkah

Bahagian ini memperincikan proses penalaan halus, dari persediaan untuk digunakan pada muka yang memeluk.

Langkah 1: Persediaan Model

Ini melibatkan memuatkan model dan mengimport perpustakaan penting:

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,
)
Salin selepas log masuk
Salin selepas log masuk

How to Fine-Tune Phi-4 Locally? How to Fine-Tune Phi-4 Locally?

Langkah 2: Penyediaan dataset

Kami akan menggunakan dataset Finetome-100K dalam format ShareGPT. unsloth membantu menukar ini untuk memeluk format wajah:

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)
Salin selepas log masuk

How to Fine-Tune Phi-4 Locally? How to Fine-Tune Phi-4 Locally?

Langkah 3: Model Fine-Tuning

Fine-Tune Menggunakan Hugging Face's 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",
)
Salin selepas log masuk

How to Fine-Tune Phi-4 Locally? How to Fine-Tune Phi-4 Locally?

Langkah 4: Pemantauan Penggunaan GPU

memantau penggunaan memori GPU:

import torch
# ... (GPU monitoring code as in the original response) ...
Salin selepas log masuk

How to Fine-Tune Phi-4 Locally?

Langkah 5: Kesimpulan

Menjana respons:

pip install unsloth
pip install --force-reinstall --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.git
Salin selepas log masuk
Salin selepas log masuk

How to Fine-Tune Phi-4 Locally? How to Fine-Tune Phi-4 Locally?

Langkah 6: Menjimatkan dan memuat naik

simpan secara tempatan atau tolak untuk memeluk wajah:

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,
)
Salin selepas log masuk
Salin selepas log masuk

How to Fine-Tune Phi-4 Locally?

ingat untuk menggantikan

dengan token muka pelukan sebenar anda. <your_hf_token></your_hf_token>

Kesimpulan:

Panduan yang diperkemas ini memberi kuasa kepada pemaju untuk menyempurnakan Phi-4 dengan cekap untuk keperluan khusus, memanfaatkan kuasa LORA dan memeluk muka untuk prestasi yang dioptimumkan dan penggunaan mudah. Ingatlah untuk berunding dengan respons asal untuk coretan kod lengkap dan penjelasan terperinci.

Atas ialah kandungan terperinci Bagaimana cara menyempurnakan Phi-4 secara tempatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan