Saltar a contenido

fine-tuning/ — Guía completa de fine-tuning Gemma 4

Cuándo fine-tunear, cómo hacerlo en M4 Pro 24 GB con Unsloth o MLX-LM, cuándo migrar a cloud GPU. Format esperado de datasets.


Cuándo fine-tunear (y cuándo NO)

NO fine-tunees si...

  • Tu producto está en MVP < 5 clientes.
  • No tienes >500 ejemplos etiquetados.
  • Prompt engineering + RAG resuelve >90% de tu caso.
  • No tienes eval set para medir improvement.

Fine-tunea cuando...

  • El modelo base falla sistemáticamente en un patrón específico.
  • Necesitas tono / estilo específico (ej: español jurídico formal).
  • Quieres reducir prompt size (system prompt → "horneado" en pesos).
  • Tienes >500 ejemplos etiquetados de calidad.
  • Tu eval set confirma que prompt-only no llega.

Recetas por situación

Receta 1: LoRA local en M4 Pro (recomendado)

Cuándo: tienes 500-5000 ejemplos, modelo E2B/E4B.

Tool: Unsloth (CLI o Studio).

Ver unsloth-lora.md.

Receta 2: MLX-LM nativo

Cuándo: prefieres stack 100% Apple, sin dependencias CUDA.

Tool: mlx-lm.

Ver mlx-tune.md.

Receta 3: Cloud GPU para modelos grandes

Cuándo: necesitas fine-tunear 26B/31B, o tienes >10K ejemplos.

Tools: Modal, Lambda Cloud, Together AI, Replicate.

Brief: - Spot H100 SXM: $1.50-2/h. - LoRA Gemma 4 26B en 10K ejemplos: ~2-4h. - Costo total: $5-15 por experimento.


Format de datasets

Ver datasets-format.md.

Resumen rápido — JSONL con conversaciones OpenAI-style:

{"messages": [{"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]}
{"messages": [{"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]}

Flujo end-to-end

1. Define tarea + eval set
2. Recolecta dataset (500+ ejemplos)
3. Split: 80% train / 10% val / 10% eval
4. Baseline: evalúa modelo base contra eval set
5. LoRA fine-tune (Unsloth o MLX)
6. Evalúa modelo fine-tuneado contra eval set
7. Si improvement >5% absoluto, deploy
8. Export a GGUF → vuelve a Ollama

Storage y costos

Etapa Almacenamiento
Modelo base (Gemma 4 E4B Q4) ~5.5 GB
LoRA adapter 50-200 MB
Dataset JSONL 5-50 MB
Checkpoints intermedios 1-5 GB
Total experimentación ~15 GB

Decision tree rápido

¿Tienes >500 ejemplos etiquetados? ──No──> RAG primero, dataset después.
¿Modelo cabe en M4 Pro 24 GB? ──No──> Cloud GPU.
        Sí (E2B/E4B)
¿Necesitas <1h de entreno? ──Sí──> Unsloth en M4 Pro.
        No (>1h o más calidad)
Cloud GPU H100 spot.

Subdocumentos