LoRA Adapter Config - Genera Configurazione Fine-Tuning LLM
Calcola automaticamente rank, alpha, target modules, learning rate e batch size per fine-tuning LoRA/QLoRA. Output JSON HuggingFace PEFT pronto all'uso. Basato su LoRA paper (Hu et al. 2022) e best practice Karpathy.
Configurazione euristica basata su LoRA paper, Karpathy best practices e HuggingFace PEFT docs. I valori sono punti di partenza consigliati - sperimenta sempre con validation loss per ottimizzare sul tuo dataset specifico.
Preset rapidi
Configurazione LoRA generata
{
"peft_type": "LORA",
"task_type": "CAUSAL_LM",
"r": 16,
"lora_alpha": 32,
"lora_dropout": 0.05,
"target_modules": [
"q_proj",
"k_proj",
"v_proj",
"o_proj"
],
"bias": "none",
"inference_mode": false
}Come utilizzare LoRA Adapter Config
Scegli modello base e task
Seleziona uno dei 5 modelli base (Llama 3.1 8B/70B, Mistral 7B, Qwen 2.5 14B, Gemma 2 9B) e il tipo di task (instruction tuning, domain adaptation, code, reasoning, multilingual). In alternativa carica uno dei 5 preset comuni.
Imposta VRAM e dataset
Indica la VRAM disponibile in GB, la dimensione del dataset (numero di righe) e il livello di quantizzazione (FP16, QLoRA 4-bit o 8-bit).
Leggi la configurazione generata
Ottieni rank (r), alpha, target modules, learning rate, batch size e gradient accumulation calcolati automaticamente, con la rationale di ogni parametro e il JSON HuggingFace PEFT pronto da copiare.
Suggerimenti
- Parti da un preset simile al tuo caso d'uso e poi affina VRAM e dataset size, invece di configurare tutto da zero.
- Se hai VRAM limitata, preferisci QLoRA 4-bit: nella maggior parte dei task instruction-tuning la perdita di qualità è marginale rispetto al risparmio di memoria.
- Apri la sezione "Rationale" per capire il perché di ogni valore prima di lanciare un training costoso: aiuta a individuare configurazioni palesemente sbagliate per il tuo hardware.
Domande frequenti
Come vengono calcolati rank (r) e alpha?
Rank e alpha sono derivati dalla dimensione del dataset e dal task type: dataset più piccoli e task più semplici usano rank più bassi per evitare overfitting, mentre task complessi (reasoning, code) o dataset grandi giustificano rank più alti. Il razionale specifico è visibile nella tabella "Rationale" del risultato.
Che differenza c'è tra QLoRA 4-bit e 8-bit?
QLoRA 4-bit riduce l'uso di VRAM di circa il 70% con una degradazione di qualità minima, mentre QLoRA 8-bit risparmia circa il 45% di VRAM con qualità molto vicina a FP16. FP16 offre la massima qualità ma richiede VRAM completa senza quantizzazione.
Come viene scelto il batch size e la gradient accumulation?
Il tool bilancia batch size e gradient accumulation steps in base alla VRAM disponibile indicata, calcolando un batch size effettivo (batch x accumulation steps) che approssima un training stabile senza saturare la memoria della GPU.
Il JSON generato è compatibile con qualsiasi libreria di fine-tuning?
Il JSON è formattato per HuggingFace PEFT (LoraConfig), lo standard più diffuso per fine-tuning LoRA/QLoRA: se usi un altro framework potresti dover adattare i nomi dei parametri, ma i valori numerici (r, alpha, target modules, learning rate) restano validi come punto di partenza.
Perché i target modules cambiano in base al modello base?
Ogni architettura (Llama, Mistral, Qwen, Gemma) espone nomi di layer/proiezioni diversi (es. q_proj, v_proj, gate_proj): il tool seleziona i target modules corretti per l'architettura del modello base scelto, evitando errori di configurazione comuni quando si copia-incolla config da un modello all'altro.