Μετάβαση στο περιεχόμενο
Πόροι/Τεχνικός οδηγός
Τεχνική εμβάθυνση

Οδηγός δεξιοτήτων AI & fine-tuning

Ένας πλήρης οδηγός για να διδάξετε νέες δεξιότητες σε μοντέλα AI: supervised fine-tuning (SFT), LoRA/QLoRA, RLHF, DPO, GRPO, απόσταξη μοντέλων, συγχώνευση μοντέλων και αξιολόγηση. Από την ιδέα έως την παραγωγή — με λειτουργικό κώδικα σε κάθε βήμα.

11 ενότητες
45 λεπτά ανάγνωσης
Κώδικας έτοιμος για παραγωγή
Μάρτιος 2026

Το τοπίο του fine-tuning

Η προεκπαίδευση δίνει σε ένα μοντέλο ευρεία γνώση του κόσμου, αλλά μία μόνο δεξιότητα: την πρόβλεψη του επόμενου token. Το μοντέλο έχει δει Wikipedia, κώδικα, βιβλία και τον ιστό — αλλά δεν ξέρει να είναι χρήσιμο, να ακολουθεί οδηγίες ή να αρνείται επικίνδυνα αιτήματα. Το fine-tuning είναι η διαδικασία διδασκαλίας αυτών των συμπεριφορών μετά την προεκπαίδευση.

Ο κλάδος έχει συγκλίνει σε μια τυπική σκάλα εκπαίδευσης που ακολουθούν όλα τα μεγάλα μοντέλα αιχμής (GPT-4o, Claude Opus 4.6, Llama 4, Gemini 2.5). Κάθε στάδιο βασίζεται στο προηγούμενο — δεν μπορείτε να παραλείψετε το SFT και να πάτε απευθείας στο RLHF.

Η σκάλα εκπαίδευσης

graph LR
  A[Raw Text Corpus] -->|Pretraining cross-entropy| B[Base Model]
  B -->|Supervised Fine-Tuning| C[Instruction-Following Model]
  C -->|RLHF / DPO / GRPO| D[Aligned Model]
  D -->|Evaluation & Red-teaming| E[Production Model]

Προεκπαίδευση

Αυτο-εποπτευόμενη πρόβλεψη επόμενου token σε τεράστια σώματα κειμένων. Κωδικοποιεί τη γνώση του κόσμου.

SFT

Supervised fine-tuning σε ζεύγη οδηγίας-απάντησης. Διδάσκει στο μοντέλο να είναι χρήσιμο.

Ευθυγράμμιση προτιμήσεων

RLHF, DPO ή GRPO σε δεδομένα ανθρώπινων προτιμήσεων. Καθιστά τις εξόδους ασφαλείς και προτιμώμενες.

Αξιολόγηση

Αυτοματοποιημένα benchmarks + red-teaming. Εντοπίστε τις παλινδρομήσεις πριν την κυκλοφορία.

Fine-tuning vs μηχανική prompt
Η μηχανική prompt καθιστά τις συμπεριφορές υπό όρους (εμφανίζονται μόνο όταν το prompt το ορίζει). Το fine-tuning τις καθιστά προεπιλεγμένες — το μοντέλο τις εκδηλώνει σταθερά χωρίς να του ζητηθεί. Σε κλίμακα, αυτή η διαφορά αξιοπιστίας είναι σημαντική.

Supervised fine-tuning (SFT)

Το SFT εκπαιδεύει το μοντέλο να προβλέπει τα tokens του βοηθού δοθέντος ενός πλαισίου συνομιλίας. Η βασική λεπτομέρεια είναι το loss masking: η απώλεια διασταυρούμενης εντροπίας υπολογίζεται μόνο στα tokens του βοηθού, όχι στο system prompt ή στους γύρους του χρήστη. Αυτό εμποδίζει το μοντέλο να «μαθαίνει» την πλευρά του χρήστη στη συνομιλία.

Μορφές δεδομένων

Τρεις μορφές κυριαρχούν στο τοπίο του SFT. Το ChatML έχει υιοθετηθεί ευρύτερα χάρη στα μη διφορούμενα ειδικά tokens του.

text (ChatML format)
<|im_start|>system
You are a helpful AI assistant specialized in European AI regulation.
<|im_end|>
<|im_start|>user
What are the key obligations under the EU AI Act for high-risk systems?
<|im_end|>
<|im_start|>assistant
High-risk AI systems under the EU AI Act (in force August 2024) must comply with...
<|im_end|>

Βασικές υπερπαράμετροι

ΠαράμετροςΤυπική τιμήΣημειώσεις
Learning rate2e-5Χαμηλότερος από την προεκπαίδευση· φθίση συνημιτόνου
Epochs2–3Περισσότερες εποχές → υπερπροσαρμογή σε μικρά σύνολα δεδομένων
Batch size (effective)64–128Χρησιμοποιήστε συσσώρευση κλίσης για μικρή μνήμη GPU
Warmup ratio0.110% των βημάτων για το warmup του LR
Max sequence length2048–8192Αντιστοιχίστε με το παράθυρο πλαισίου εξαγωγής συμπερασμάτων σας

SFT με τον SFTTrainer του trl

python
from transformers import AutoModelForCausalLM, AutoTokenizer
from trl import SFTConfig, SFTTrainer
from datasets import load_dataset
import torch

model_name = "meta-llama/Llama-4-Scout-17B-16E-Instruct"  # 2026: Llama 4 Scout replaces Llama 3.1 8B
model = AutoModelForCausalLM.from_pretrained(
    model_name, torch_dtype=torch.bfloat16, device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

dataset = load_dataset("HuggingFaceH4/ultrachat_200k", split="train_sft")

sft_config = SFTConfig(
    output_dir="./sft-llama-4-scout",
    num_train_epochs=3,
    per_device_train_batch_size=2,
    gradient_accumulation_steps=8,
    learning_rate=2e-5,
    lr_scheduler_type="cosine",
    warmup_ratio=0.1,
    logging_steps=10,
    save_strategy="epoch",
    bf16=True,
)

trainer = SFTTrainer(
    model=model,
    args=sft_config,
    train_dataset=dataset,
    processing_class=tokenizer,
)
trainer.train()
trainer.save_model()
Η ποιότητα δεδομένων υπερισχύει της ποσότητας
1.000 υψηλής ποιότητας, ποικίλα ζεύγη οδηγίας-απάντησης ξεπερνούν σταθερά 100.000 θορυβώδη παραδείγματα. Τα κορυφαία σύνολα δεδομένων instruction-tuning (Alpaca 52K, WizardLM 196K, OpenHermes 1M, UltraChat 200K) πετυχαίνουν λόγω επιμέλειας, όχι λόγω καθαρού μεγέθους.

Fine-tuning αποδοτικό σε παραμέτρους: LoRA

Το πλήρες fine-tuning τροποποιεί και τις ~7 δισεκατομμύρια παραμέτρους ενός μοντέλου 7B. Σε bfloat16 αυτό είναι 14 GB μόνο για την αποθήκευση παραμέτρων, συν τις κλίσεις και τις καταστάσεις του βελτιστοποιητή. Το LoRA (Low-Rank Adaptation, Hu et al. 2021) αξιοποιεί μια βασική εμπειρική παρατήρηση: οι αλλαγές βαρών κατά το fine-tuning είναι χαμηλής τάξης.

Αντί να μαθαίνει μια πλήρη ενημέρωση βαρών ΔW ∈ ℝ^(d×k), το LoRA μαθαίνει δύο μικρούς πίνακες: A ∈ ℝ^(d×r) και B ∈ ℝ^(r×k) όπου r ≪ min(d, k). Κατά την εξαγωγή συμπερασμάτων, ο προσαρμογέας αναδιπλώνεται: W′ = W + αAB/r. Μόλις συγχωνευθεί, υπάρχει μηδενική επιβάρυνση εξαγωγής συμπερασμάτων.

r = 4
Ελάχιστη προσαρμογή (τόνος, ύφος)
~21M (0.3%)
r = 8
Προεπιλογή — ισορροπημένη ποιότητα
~42M (0.6%)
r = 16
Περισσότερη χωρητικότητα, εργασίες τομέα
~83M (1.0%)
r = 64
Ποιότητα κοντά στο πλήρες fine-tuning
~335M (4.1%)
Λόγος alpha/τάξης
Διατηρήστε lora_alpha = 2 × r ως αφετηρία (π.χ. r=16, alpha=32). Αυτό ελέγχει τον πραγματικό ρυθμό μάθησης του προσαρμογέα. Υψηλότερο alpha = ισχυρότερη προσαρμογή· πολύ υψηλό = αστάθεια.

LoRA με PEFT

python
from peft import LoraConfig, TaskType, get_peft_model

config = LoraConfig(
    task_type=TaskType.CAUSAL_LM,
    r=16,
    lora_alpha=32,
    lora_dropout=0.05,
    target_modules=[
        "q_proj", "k_proj", "v_proj", "o_proj",
        "gate_proj", "up_proj", "down_proj",
    ],
    bias="none",
)

model = get_peft_model(base_model, config)
model.print_trainable_parameters()
# trainable params: 83,886,080 || all params: 8,030,261,248 || trainable%: 1.044

# After training, merge adapter back into the base weights
merged = model.merge_and_unload()
merged.save_pretrained("./my-lora-merged")

Σύγκριση LoRA vs πλήρους fine-tuning

ΜέθοδοςΕκπαιδεύσιμες παράμετροιRAM GPU (8B)ΠοιότηταΤαχύτητα εκπαίδευσης
Full Fine-Tuning7B (100%)~80 GBΆριστηΠιο αργή
LoRA r=4~21M (0.3%)~16 GBΚαλήΓρήγορη
LoRA r=16~83M (1.0%)~18 GBΠολύ καλήΓρήγορη
LoRA r=64~335M (4.1%)~24 GBΚοντά στο πλήρες FTΜέτρια
DoRA: LoRA με αποσύνθεση βαρών
Το DoRA (Liu et al. 2024) αποσυνθέτει τις ενημερώσεις βαρών σε συνιστώσες μεγέθους και κατεύθυνσης, εφαρμόζοντας ξεχωριστούς ρυθμούς μάθησης σε κάθε μία. Επιτυγχάνει σταθερά 1–2% καλύτερα σκορ benchmark από το τυπικό LoRA χωρίς πρόσθετο κόστος εξαγωγής συμπερασμάτων. Διαθέσιμο στο PEFT μέσω use_dora=True στο LoraConfig.

QLoRA: fine-tuning 4 bit

Ακόμη και με LoRA, το βασικό μοντέλο φορτωμένο σε bfloat16 απαιτεί 16 GB για ένα μοντέλο 8B — πέρα από τα όρια των καταναλωτικών GPU. Το QLoRA (Dettmers et al. 2023) το λύνει κβαντίζοντας το παγωμένο βασικό μοντέλο σε NormalFloat 4 bit (NF4) και εκπαιδεύοντας τους προσαρμογείς LoRA σε ακρίβεια bfloat16.

Κβάντιση NF4

Το NormalFloat4 είναι θεωρητικά βέλτιστο από πλευράς πληροφορίας για κανονικά κατανεμημένα βάρη νευρωνικών δικτύων. Λιγότερο σφάλμα από int4 ή fp4.

Σελιδοποιημένοι βελτιστοποιητές

Οι καταστάσεις του βελτιστοποιητή σελιδοποιούνται αυτόματα στη RAM της CPU όταν γεμίζει η μνήμη GPU, αποτρέποντας καταρρεύσεις OOM κατά την εκπαίδευση.

Διπλή κβάντιση

Κβαντίζει τις ίδιες τις σταθερές κβάντισης, εξοικονομώντας επιπλέον ~0,5 bit ανά παράμετρο.

Απαιτήσεις υλικού

ΜοντέλοVRAM FP16VRAM QLoRAΕλάχιστη GPU
Llama 4 Scout (17B)34 GB10 GBRTX 4090 24GB
Llama 4 Maverick (70B-class)140 GB40 GB2× A100 40GB
Llama 4 Behemoth (frontier)800+ GB~200 GB8× H100 80GB

QLoRA με bitsandbytes

python
from transformers import AutoModelForCausalLM, BitsAndBytesConfig
import torch

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,
)

model = AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-4-Maverick-17B-128E-Instruct",  # 2026: Llama 4 Maverick replaces Llama 3.1 70B
    quantization_config=bnb_config,
    device_map="auto",
)
# Now apply LoRA to the 4-bit model — same LoraConfig + get_peft_model as before
Unsloth για φόρτους εργασίας σε μία GPU
Το Unsloth παρέχει προσαρμοσμένα πυρήνες CUDA για QLoRA που επιτυγχάνουν 2× ταχύτερη εκπαίδευση και 50% λιγότερη VRAM από το τυπικό QLoRA με bitsandbytes. Υποστηρίζει τις οικογένειες Llama 4, Llama 3, Mistral, Qwen και Gemma και είναι η προτιμώμενη επιλογή για fine-tuning σε μία GPU.

Ευθυγράμμιση: RLHF

Η Reinforcement Learning from Human Feedback (RLHF) ήταν η ανακάλυψη που μετέτρεψε το GPT-3 σε InstructGPT και τελικά σε GPT-4o. Ευθυγραμμίζει τη συμπεριφορά του μοντέλου με τις ανθρώπινες προτιμήσεις — όχι μόνο την τήρηση οδηγιών, αλλά την παραγωγή εξόδων που είναι πραγματικά προτιμώμενες, ασφαλείς και χρήσιμες.

Η αγωγή τριών σταδίων

Stage 1

Προθέρμανση SFT

Fine-tuning του βασικού μοντέλου σε ένα επιμελημένο σύνολο υψηλής ποιότητας επιδείξεων τήρησης οδηγιών. Αυτό δημιουργεί την αρχική πολιτική που θα βελτιώσει το RLHF.

Stage 2

Εκπαίδευση μοντέλου ανταμοιβής

Εκπαίδευση ταξινομητή σε κατά ζεύγη ανθρώπινες προτιμήσεις: δοθέντων δύο ολοκληρώσεων (y_w, y_l) στο ίδιο prompt, ποια είναι καλύτερη; Απώλεια: log σ(r(x, y_w) − r(x, y_l)).

Stage 3

Βελτιστοποίηση PPO

Χρήση της Proximal Policy Optimization για μεγιστοποίηση του σκορ του μοντέλου ανταμοιβής, παραμένοντας κοντά στην πολιτική SFT (η ποινή απόκλισης KL αποτρέπει το reward hacking).

Διάγραμμα αγωγής RLHF

graph LR
  A[Base Model] -->|SFT on demos| B[SFT Model]
  B -->|Sample completions| C[Completion Pairs]
  C -->|Human labelers rank| D[Preference Dataset]
  D -->|Train| E[Reward Model]
  B -->|Initialize policy| F[Policy Model]
  F -->|Rollout + PPO| G[RL Optimization]
  E -->|Score rollouts| G
  G -->|Converged| H[RLHF Model]
Πολυπλοκότητα PPO
Το RLHF με PPO απαιτεί τέσσερα μοντέλα ταυτόχρονα: την πολιτική, την πολιτική αναφοράς (παγωμένο μοντέλο SFT), το μοντέλο ανταμοιβής και το μοντέλο αξίας. Αυτό καθιστά το RLHF απαιτητικό σε μνήμη και διαβόητα δύσκολο να σταθεροποιηθεί. Το reward hacking (η πολιτική βρίσκει τρόπους να βαθμολογείται υψηλά χωρίς να είναι πραγματικά καλή) είναι μια επίμονη πρόκληση. Γι' αυτό το DPO έχει γίνει ευρέως προτιμώμενο.

Ευθυγράμμιση: DPO & GRPO

Το DPO (Direct Preference Optimization) (Rafailov et al. 2023) εξαλείφει εντελώς το μοντέλο ανταμοιβής. Έδειξε μαθηματικά ότι η βέλτιστη πολιτική RLHF μπορεί να εκφραστεί απευθείας ως συνάρτηση των δεδομένων προτίμησης, συμπυκνώνοντας μια αγωγή τριών σταδίων σε ένα μόνο βήμα fine-tuning.

Η απώλεια DPO βελτιστοποιεί απευθείας την πολιτική σε ζεύγη προτιμήσεων (prompt, chosen, rejected) χρησιμοποιώντας το μοντέλο SFT ως παγωμένη αναφορά. Χωρίς PPO, χωρίς μοντέλο ανταμοιβής, χωρίς ξεχωριστή συλλογή δεδομένων εκπαίδευσης RM.

DPO με τον DPOTrainer του trl

python
from trl import DPOConfig, DPOTrainer
from datasets import load_dataset

# Dataset needs: prompt, chosen, rejected columns
dataset = load_dataset("HuggingFaceH4/ultrafeedback_binarized", split="train_prefs")

dpo_config = DPOConfig(
    output_dir="./dpo-output",
    num_train_epochs=3,
    per_device_train_batch_size=2,
    gradient_accumulation_steps=8,
    learning_rate=5e-7,   # much smaller than SFT lr
    beta=0.1,             # KL penalty coefficient
    bf16=True,
)

trainer = DPOTrainer(
    model=sft_model,          # your SFT fine-tuned model
    ref_model=sft_ref_model,  # frozen reference
    args=dpo_config,
    train_dataset=dataset,
    processing_class=tokenizer,
)
trainer.train()

GRPO: η προσέγγιση της DeepSeek

Η Group Relative Policy Optimization (GRPO) (χρησιμοποιείται στο DeepSeek-R1) εξαλείφει το μοντέλο αναφοράς. Για κάθε prompt, δειγματίζει πολλαπλές εξόδους και χρησιμοποιεί τη μέση ανταμοιβή της ομάδας ως βάση για την εκτίμηση πλεονεκτήματος. Αυτό είναι φθηνότερο από το PPO (χωρίς μοντέλο αξίας) και καταλληλότερο για εργασίες συλλογισμού όπου μπορείτε να επαληθεύσετε την ορθότητα προγραμματιστικά.

Βασικό πλεονέκτημα του GRPO:
Δεν απαιτείται μοντέλο αναφοράς + ανταμοιβές σχετικές με την ομάδα = αποδοτική εκπαίδευση για επαληθεύσιμες εργασίες (μαθηματικά, κώδικας, δομημένη έξοδος).

Σύγκριση μεθόδων ευθυγράμμισης

ΜέθοδοςΥπολογιστικό κόστοςΣταθερότηταΑπαιτήσεις δεδομένωνΣημειώσεις
RLHF (PPO)Πολύ υψηλόΧαμηλήΑνθρώπινες κατατάξεις4 μοντέλα στη μνήμη· κίνδυνος reward hacking
DPOΧαμηλόΥψηλήΖεύγη προτιμήσεωνΧωρίς μοντέλο ανταμοιβής· απλούστερη αγωγή
GRPOΜεσαίοΜεσαίαΔείγματα rolloutΧωρίς μοντέλο αναφοράς· καλό για συλλογισμό
SimPOΧαμηλόΥψηλήΖεύγη προτιμήσεωνΧωρίς μοντέλο αναφοράς· ανταμοιβή μέσης λογαριθμικής πιθανότητας

Απόσταξη μοντέλων

Η απόσταξη γνώσης εκπαιδεύει ένα μικρό μοντέλο «μαθητή» να μιμείται ένα μεγάλο μοντέλο «δάσκαλο». Η βασική ιδέα είναι ότι ο δάσκαλος παρέχει απαλές κατανομές πιθανότητας στο λεξιλόγιο (logits) αντί για one-hot ετικέτες. Αυτοί οι απαλοί στόχοι κωδικοποιούν πολύ περισσότερη πληροφορία — αποκαλύπτουν ποια tokens είναι σημασιολογικά παρόμοια με τη σωστή απάντηση, δίνοντας στον μαθητή ένα πλουσιότερο σήμα εκπαίδευσης.

Η συνδυασμένη απώλεια: L = α × L_CE(σκληρές ετικέτες) + (1 − α) × L_KL(logits μαθητή ‖ logits δασκάλου). Η κλιμάκωση θερμοκρασίας T > 1 απαλύνει την κατανομή του δασκάλου, κατανέμοντας τη μάζα πιθανότητας σε περισσότερα tokens και καθιστώντας τις απαλές ετικέτες ακόμη πιο ενημερωτικές.

Αγωγή απόσταξης

graph TB
  A["Large Teacher (70B)"] -->|"Generate on training data"| B[Soft Logits]
  C[Input Prompt] --> A
  C --> D["Small Student (7B)"]
  B -->|KL Loss| D
  E[Ground Truth] -->|CE Loss| D
  D -->|Both losses| F[Distilled Student]

Απόσταξη απαντήσεων

Ο μαθητής μιμείται τις εξόδους του δασκάλου — δημιουργήστε ολοκληρώσεις του δασκάλου, εκπαιδεύστε τον μαθητή να τις αναπαράγει. Χρησιμοποιείται από το DeepSeek-R1-Distill για τη μεταφορά ιχνών συλλογισμού.

Απόσταξη χαρακτηριστικών

Αντιστοίχιση ενδιάμεσων αναπαραστάσεων (κρυφές καταστάσεις, μοτίβα attention) μεταξύ των στρωμάτων δασκάλου και μαθητή. Μεταφέρει δομική γνώση, όχι μόνο επιφανειακές εξόδους.

Κερδοσκοπική αποκωδικοποίηση

Ένα μικρό προσχέδιο μοντέλο προτείνει ακολουθίες tokens· το μεγάλο μοντέλο τις επαληθεύει παράλληλα. Επιτυγχάνει επιτάχυνση εξαγωγής συμπερασμάτων 2–4x χωρίς απώλεια ποιότητας.

Απόσταξη on-policy

Ο μαθητής δημιουργεί tokens· ο δάσκαλος τα βαθμολογεί. Αποφεύγει το exposure bias (αναντιστοιχία κατανομής εκπαίδευσης-δοκιμής) που είναι συνηθισμένο στην offline απόσταξη.

Παραδείγματα απόσταξης από τον πραγματικό κόσμο
  • Phi-3 / Phi-4 (Microsoft): αποσταγμένα από το GPT-4 σε επιμελημένα συνθετικά δεδομένα
  • Gemma 2 (Google): αποσταγμένο από το Gemini Ultra· το 9B ανταγωνίζεται πολύ μεγαλύτερα μοντέλα
  • DeepSeek-R1-Distill: ίχνη συλλογισμού από το R1 αποσταγμένα σε μοντέλα Qwen2.5 7B / 14B

Συγχώνευση μοντέλων

Η συγχώνευση μοντέλων συνδυάζει πολλαπλά fine-tuned checkpoints σε ένα ενιαίο μοντέλο χωρίς καμία πρόσθετη εκπαίδευση. Είναι φθηνή, γρήγορη και εκπληκτικά αποτελεσματική για τον συνδυασμό εξειδικευμένων δεξιοτήτων — κώδικας, μαθηματικά, τήρηση οδηγιών — σε ένα ενιαίο, αναπτύξιμο μοντέλο. Τα συγχωνευμένα μοντέλα εμφανίζονται συχνά στην κορυφή του HuggingFace Open LLM Leaderboard.

SLERPΣφαιρική γραμμική παρεμβολή

Ομαλή παρεμβολή μεταξύ δύο checkpoints μοντέλου στον χώρο των βαρών. Αντιμετωπίζει τα βάρη ως σημεία σε μια υπερσφαίρα. Ιδανική για την ανάμειξη δύο στενά συνδεδεμένων μοντέλων.

Task ArithmeticΠρόσθεση/αφαίρεση deltas fine-tuning

Υπολογίστε ΔW = W_FT − W_base για κάθε fine-tuned μοντέλο και έπειτα προσθέστε τα deltas μαζί. Σας επιτρέπει να συνθέτετε ικανότητες ή να αφαιρείτε ανεπιθύμητες συμπεριφορές.

TIES-MergingTrim, Elect Signs, Merge

Επιλύει συγκρούσεις μεταξύ μοντέλων: περικόψτε παραμέτρους μικρού μεγέθους, επιλέξτε το κυρίαρχο πρόσημο για κάθε βάρος και έπειτα συγχωνεύστε. Διαχειρίζεται καθαρά 3 ή περισσότερα μοντέλα.

DAREDrop and Rescale

Απορρίπτει τυχαία deltas βαρών fine-tuning (με πιθανότητα p) και επανακλιμακώνει τα εναπομείναντα για να διατηρήσει τη νόρμα. Μειώνει τις παρεμβολές μεταξύ μοντέλων.

Διαμόρφωση MergeKit (TIES)

yaml
# mergekit config.yaml
models:
  - model: meta-llama/Llama-4-Scout-17B-16E
    parameters:
      weight: 0.4
  - model: ./llama-4-scout-code-finetuned
    parameters:
      weight: 0.3
  - model: ./llama-4-scout-math-finetuned
    parameters:
      weight: 0.3
merge_method: ties
base_model: meta-llama/Llama-4-Scout-17B-16E
parameters:
  density: 0.7
  normalize: true
bash
mergekit-yaml config.yaml ./merged-model --cuda
Frankenmerge (στοίβαξη στρωμάτων)
Μια πιο ριζοσπαστική τεχνική: στοιβάξτε διαφορετικά στρώματα από διαφορετικά checkpoints μοντέλου — π.χ. στρώματα 0–16 από το μοντέλο A, στρώματα 17–32 από το μοντέλο B. Δεν απαιτεί εκπαίδευση και μπορεί να παραγάγει εκπληκτικές ικανότητες, αλλά χρειάζεται πειραματισμό για την εύρεση καλών συνδυασμών στρωμάτων. Το MergeKit το υποστηρίζει μέσω της μεθόδου συγχώνευσης passthrough.

Προετοιμασία δεδομένων

Η ποιότητα των δεδομένων είναι ο μοναδικά σημαντικότερος παράγοντας για την επιτυχία του fine-tuning — πιο σημαντικός από την αρχιτεκτονική του μοντέλου, τη διάρκεια εκπαίδευσης ή την επιλογή βελτιστοποιητή. Ένα κακώς επιμελημένο σύνολο δεδομένων εγγυάται κακά αποτελέσματα ανεξάρτητα από οτιδήποτε άλλο.

Γραμμένο από ανθρώπουςΥψηλότερη
Πιο ακριβό

Παραδείγματα γραμμένα από ειδικούς· υψηλότερος λόγος σήματος προς θόρυβο. Χρησιμοποιείται για κρίσιμες συμπεριφορές.

Δημιουργημένο από GPT-4 / ClaudeΥψηλή
Μέτριο

Συνθετική δημιουργία με μοντέλα αιχμής. Καλό για την εκκίνηση της κάλυψης ενός τομέα σε κλίμακα.

Evol-Instruct / MagpieΚαλή
Χαμηλό

Εξέλιξη αρχικών οδηγιών σε δυσκολότερες, πιο ποικίλες παραλλαγές. Χρησιμοποιείται στα WizardLM και OpenHermes.

Φιλτραρισμένο από το διαδίκτυοΜεταβλητή
Πιο φθηνό

Απαιτεί επιθετικό φιλτράρισμα ποιότητας: αφαίρεση διπλοτύπων, φίλτρο μήκους, φίλτρο perplexity, φίλτρο ασφάλειας.

Μορφή δεδομένων ShareGPT

json
{
  "conversations": [
    {"from": "system", "value": "You are an expert in EU AI regulation."},
    {"from": "human", "value": "Explain the risk categories in the EU AI Act."},
    {"from": "gpt", "value": "The EU AI Act categorizes AI systems into four risk levels..."}
  ]
}

Δημιουργία συνθετικών δεδομένων σε κλίμακα

python
from openai import OpenAI  # or use Mistral/Llama locally

client = OpenAI()

def generate_training_example(topic: str, difficulty: str) -> dict:
    prompt = (
        f"Generate a challenging {difficulty}-level question about {topic} "
        "and a comprehensive expert answer."
    )
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.8,
    )
    content = response.choices[0].message.content
    # Parse and structure output (question/answer split)...
    return {"instruction": topic, "response": content}

Συνιστώμενη κατανομή ποικιλίας οδηγιών

Απάντηση ερωτήσεων
30%
Συγγραφή & σύνοψη
20%
Δημιουργία κώδικα & αποσφαλμάτωση
20%
Ανάλυση & συλλογισμός
15%
Άλλο (μετάφραση, εξαγωγή κ.λπ.)
15%
Μόλυνση δεδομένων
Η μόλυνση του συνόλου δοκιμής είναι το υπ' αριθμόν 1 πρόβλημα αξιολόγησης στο fine-tuning. Αν οποιοδήποτε από τα benchmarks αξιολόγησής σας (MT-Bench, HumanEval, MMLU) εμφανίζεται στα δεδομένα εκπαίδευσής σας, τα σκορ σας θα είναι διογκωμένα και χωρίς νόημα. Εκτελείτε πάντα ελέγχους επικάλυψης n-gram μεταξύ του συνόλου εκπαίδευσης και των benchmarks αξιολόγησης πριν την εκπαίδευση.

Αξιολόγηση & επανάληψη

Ο βρόχος fine-tuning είναι: εκπαίδευση → αξιολόγηση σε σύνολο holdout → διάγνωση τρόπων αποτυχίας → βελτίωση δεδομένων → επανεκπαίδευση. Η καλή αξιολόγηση είναι αυτό που μετατρέπει τη δοκιμή και το λάθος σε συστηματική βελτίωση.

MT-Bench

Γενική ποιότητα

Benchmark πολλαπλών γύρων 80 ερωτήσεων σε 8 κατηγορίες (συγγραφή, μαθηματικά, κωδικοποίηση κ.λπ.). Το GPT-4 βαθμολογεί κάθε απάντηση 1–10.

AlpacaEval

Τήρηση οδηγιών

Ποσοστό νικών του μοντέλου σας έναντι ενός μοντέλου αναφοράς (GPT-4o) όπως κρίνεται από το GPT-4o. Γρήγορη αυτοματοποιημένη αξιολόγηση της ποιότητας τήρησης οδηγιών.

IFEval

Συμμόρφωση μορφής

Ακρίβεια τήρησης οδηγιών σε επαληθεύσιμους περιορισμούς (π.χ. 'απαντήστε σε λιγότερες από 100 λέξεις'). Αυστηρές και χαλαρές παραλλαγές βαθμολόγησης.

HumanEval / MBPP

Δημιουργία κώδικα

Benchmarks δημιουργίας κώδικα. Μετρική Pass@k: ποσοστό προβλημάτων που λύθηκαν σε k προσπάθειες. Εκτελέσιμες περιπτώσεις δοκιμής ως αλήθεια αναφοράς.

Το μοτίβο LLM-as-Judge

python
import json
from openai import OpenAI

client = OpenAI()

def evaluate_response(question: str, answer: str, judge_model: str = "gpt-4o") -> dict:
    prompt = f"""Rate the following AI assistant response on a scale of 1-10.

Question: {question}
Answer: {answer}

Evaluate: helpfulness (1-10), factuality (1-10), safety (1-10).
Return JSON: {{"helpfulness": N, "factuality": N, "safety": N, "rationale": "..."}}"""

    response = client.chat.completions.create(
        model=judge_model,
        messages=[{"role": "user", "content": prompt}],
        response_format={"type": "json_object"},
    )
    return json.loads(response.choices[0].message.content)
Συνήθεις παγίδες αξιολόγησης
  • Μεροληψία μήκους: οι κριτές LLM τείνουν να προτιμούν μεγαλύτερες απαντήσεις ανεξάρτητα από την ποιότητα. Βαθμονομήστε τον κριτή σας.
  • Κολακεία: τα μοντέλα βαθμολογούν τις δικές τους εξόδους υψηλότερα. Χρησιμοποιήστε διαφορετικό μοντέλο ως κριτή ή ανθρώπινη επικύρωση.
  • Μόλυνση: δεδομένα benchmark στο σύνολο εκπαίδευσης διογκώνουν τα σκορ. Ελέγχετε πάντα την επικάλυψη.
  • Παγίδες μονής μετρικής: η βελτιστοποίηση μιας μετρικής συχνά βλάπτει άλλες. Παρακολουθήστε μια ισορροπημένη κάρτα βαθμολογίας.

Πρότυπο παρακολούθησης πειραμάτων

RunΒασικό μοντέλοΜέθοδοςΣύνολο δεδομένωνMT-BenchAlpacaEval Win%Σημειώσεις
v1Llama-4-ScoutSFTUltraChat 200K7.470%Βάση αναφοράς
v2Llama-4-ScoutSFT+DPO+ UltraFeedback8.076%Το +DPO βελτίωσε την ασφάλεια
v3Llama-4-ScoutSFT+DPO (r=16)+ UltraFeedback8.177%LoRA r=16 vs πλήρες FT

Πότε fine-tuning vs RAG vs μηχανική prompt

Το fine-tuning είναι ισχυρό αλλά όχι πάντα το σωστό εργαλείο. Η απόφαση εξαρτάται από το τι προσπαθείτε να αλλάξετε: γνώση, συμπεριφορά, μορφή ή προτιμήσεις. Η λάθος επιλογή κοστίζει εβδομάδες μηχανικής και υπολογιστικής ισχύος.

ΣενάριοΚαλύτερη προσέγγισηΓιατί
Θεμελίωση απαντήσεων στα έγγραφα της εταιρείαςRAGΗ γνώση μπορεί να αλλάξει· το FT δεν ενημερώνεται εύκολα
Επιθυμία συνεπούς τόνου/ύφουςSFTΟ τόνος είναι μορφή, όχι γνώση
Χρήση ορολογίας ειδικής για τον τομέαSFT + λίγα δεδομέναΦθηνή αλλαγή της προεπιλεγμένης συμπεριφοράς
Διαχείριση συγκεκριμένων μορφών εξόδουSFTΗ τήρηση σχήματος είναι μια επίκτητη δεξιότητα
Μείωση επιβλαβών εξόδωνDPO / RLHFΗ ευθυγράμμιση προτιμήσεων το στοχεύει απευθείας
Ανάγκη για ικανότητες συλλογισμούGRPO ή απόσταξη από R1Τα μοτίβα συλλογισμού είναι εκπαιδεύσιμα
Προσθήκη νέας πραγματολογικής γνώσηςRAG (όχι FT)Το FT απομνημονεύει, δεν μπορεί να παραθέσει πηγές
Μείωση κόστους API σε κλίμακαFine-tuning μικρού μοντέλουΕπίτευξη ποιότητας μεγάλου μοντέλου σε στενή εργασία
Πρωτότυπο / γρήγορο πείραμαΠρώτα μηχανική promptΜηδενικό κόστος εκπαίδευσης· επικυρώστε πρώτα την ιδέα

Η σκάλα LLM

Ξεκινήστε από κάτω. Ανεβείτε μόνο όταν το τρέχον επίπεδο είναι πραγματικά ανεπαρκές — κάθε σκαλί προσθέτει κόστος, πολυπλοκότητα και καθυστέρηση.

1
Μηχανική prompt
Δωρεάν, άμεση, μηδενικό κόστος εκπαίδευσης
2
Παραδείγματα few-shot
Προσθήκη παραδειγμάτων στο πλαίσιο
3
RAG
Θεμελίωση απαντήσεων σε ανακτημένα έγγραφα
4
SFT
Διδασκαλία μορφής, ύφους, γνώσης τομέα
5
DPO / RLHF
Ευθυγράμμιση με προτιμήσεις και ασφάλεια
6
Απόσταξη
Συμπίεση σε μικρό μοντέλο ειδικό για εργασία

Fine-tuning όταν

  • Συνεπής τόνος/μορφή σε κλίμακα
  • Η ορολογία τομέα πρέπει να είναι προεπιλογή
  • Απαιτείται συγκεκριμένο σχήμα εξόδου
  • Μείωση κόστους API σε στενή εργασία
  • Απαιτείται ευθυγράμμιση προτιμήσεων/ασφάλειας

Χρήση RAG όταν

  • Η γνώση αλλάζει συχνά
  • Οι απαντήσεις χρειάζονται παραπομπές/πηγές
  • Ιδιωτική/ιδιόκτητη βάση γνώσης
  • Μεγάλο σώμα εγγράφων (>1M tokens)
  • Ανάγκη ενημέρωσης χωρίς επανεκπαίδευση

Αποφυγή fine-tuning όταν

  • Προσθήκη νέας πραγματολογικής γνώσης (χρήση RAG)
  • Στάδιο γρήγορου πρωτοτύπου ή PoC
  • Πολύ μικρό σύνολο δεδομένων (<100 παραδείγματα)
  • Δεν υπάρχει διαθέσιμος προϋπολογισμός GPU
  • Το prompting επιτυγχάνει ήδη τον στόχο
Έτοιμοι για fine-tuning;

Χτίστε το προσαρμοσμένο μοντέλο AI σας

Είτε χρειάζεστε έναν βοηθό ειδικό για τομέα, μοντέλα ευθυγραμμισμένα στις προτιμήσεις ή αποσταγμένες αναπτύξεις παραγωγής — η ομάδα μας τα έχει χτίσει και παραδώσει. Ας μιλήσουμε για την περίπτωση χρήσης σας.

Περισσότεροι οδηγοί
Οδηγός δεξιοτήτων AI & fine-tuning: SFT, LoRA, RLHF, DPO & απόσταξη μοντέλων | Hyperion Consulting