Fine-tuning de Gemma 4 con Unsloth
Unsloth es una biblioteca de código abierto que hace el fine-tuning de LLMs hasta 2 veces más rápido usando 60% menos memoria. Lo logra mediante kernels CUDA personalizados y bucles de entrenamiento optimizados — con cero pérdida de precisión comparado con el entrenamiento estándar.
Gemma 4 es totalmente compatible con Unsloth, incluyendo las cuatro variantes (E2B, E4B, 26B MoE, 31B). Esta guía cubre la instalación, la preparación del dataset, la configuración del entrenamiento y la exportación de tu modelo ajustado.
¿Por qué hacer fine-tuning con Unsloth?
Entrenamiento 2x más rápido
Los kernels Triton personalizados optimizan las capas de atención, MLP y embedding. El fine-tuning que toma 10 horas con métodos estándar toma ~5 horas con Unsloth.
60% menos memoria
El gradient checkpointing inteligente y la gestión de memoria te permiten hacer fine-tuning de modelos más grandes en GPUs más pequeñas. El modelo E4B puede ajustarse en una sola RTX 3090.
Cero pérdida de precisión
Las optimizaciones de Unsloth son matemáticamente equivalentes al entrenamiento estándar. Obtienes la misma calidad de modelo con menos cómputo — sin aproximaciones ni compromisos.
Exportación fácil
Exporta modelos ajustados a GGUF (para Ollama/llama.cpp), SafeTensors (para vLLM) o súbelos directamente a Hugging Face — todo con un solo comando.
Instalación
Instala Unsloth con pip. Requiere Python 3.10+ y PyTorch 2.0+:
pip install unslothInicio rápido: fine-tuning de E4B
Un ejemplo mínimo para hacer fine-tuning de Gemma 4 E4B con LoRA en tu propio dataset:
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="google/gemma-4-e4b-it",
max_seq_length=4096,
load_in_4bit=True,
)
model = FastLanguageModel.get_peft_model(
model, r=16, lora_alpha=16,
target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
)
# Train with your dataset
from trl import SFTTrainer
trainer = SFTTrainer(
model=model, tokenizer=tokenizer,
train_dataset=dataset,
max_seq_length=4096,
)
trainer.train()Preparando tu dataset
Unsloth admite múltiples formatos de dataset para hacer fine-tuning de Gemma 4:
unslothPage.datasets.formats.0.title
Conversaciones con turnos de usuario/asistente. Mejor para fine-tuning de chatbots y asistentes.
unslothPage.datasets.formats.1.title
Texto sin procesar para pre-entrenamiento continuado o adaptación de dominio.
unslothPage.datasets.formats.2.title
Pares elegidos/rechazados para entrenamiento basado en preferencias.
Requisitos de hardware para fine-tuning
unslothPage.hardware.desc
| unslothPage.hardware.headers.model | unslothPage.hardware.headers.gpu | unslothPage.hardware.headers.time |
|---|---|---|
| E2B LoRA | RTX 3060 (12 GB) | ~15 min / 1K steps |
| E4B LoRA | RTX 4060 Ti (16 GB) | ~25 min / 1K steps |
| E4B QLoRA | RTX 3060 (12 GB) | ~30 min / 1K steps |
| 27B MoE LoRA | RTX 4090 (24 GB) | ~60 min / 1K steps |
| 27B MoE QLoRA | RTX 4070 Ti (16 GB) | ~90 min / 1K steps |
Exportando tu modelo
Después del fine-tuning, exporta a tu formato preferido:
# Save to GGUF for Ollama
model.save_pretrained_gguf("gemma4-custom", tokenizer, quantization_method="q4_k_m")
# Save to SafeTensors for vLLM
model.save_pretrained_merged("gemma4-custom-merged", tokenizer)
# Push to Hugging Face
model.push_to_hub_merged("your-username/gemma4-custom", tokenizer)Preguntas frecuentes de Unsloth + Gemma 4
¿Qué es Unsloth?
Unsloth es una biblioteca de fine-tuning de código abierto que hace el entrenamiento de LLMs 2 veces más rápido y usa 60% menos memoria mediante kernels CUDA personalizados. Soporta Gemma 4, Llama, Mistral y otras familias de modelos populares.
¿Puedo hacer fine-tuning de Gemma 4 E4B en una GPU de consumo?
Sí. Con QLoRA de 4 bits de Unsloth, puedes hacer fine-tuning de E4B en una RTX 4060 (8GB). LoRA requiere una RTX 3090 (24GB). Los modelos más grandes necesitan GPUs profesionales (A100/H100) o instancias en la nube.
¿Qué es LoRA vs QLoRA?
LoRA (Low-Rank Adaptation) agrega pequeñas matrices entrenables al modelo mientras mantiene los pesos base congelados. QLoRA adicionalmente cuantiza el modelo base a 4 bits, reduciendo drásticamente la memoria. Ambos producen resultados de calidad similar.
¿Cuántos datos necesito para el fine-tuning?
Para adaptación de dominio, 1K-10K ejemplos de alta calidad suelen ser suficientes. Para ajuste de instrucciones, 5K-50K pares de conversación funcionan bien. La calidad importa más que la cantidad — 1K ejemplos excelentes supera a 100K ruidosos.
¿Puedo fusionar los pesos de LoRA en el modelo base?
Sí. Unsloth admite la fusión de los pesos de LoRA en el modelo base para el despliegue sin la sobrecarga del adaptador. Expórtalo como un modelo fusionado único en formato GGUF o SafeTensors.
¿Unsloth admite el modelo MoE?
Sí, Unsloth admite fine-tuning del modelo Gemma 4 26B A4B MoE. Debido a la arquitectura MoE, LoRA típicamente se aplica a las capas compartidas y al enrutamiento de expertos, requiriendo más VRAM que los modelos densos con un conteo similar de parámetros activos.
unslothPage.faq.items.6.q
unslothPage.faq.items.6.a
unslothPage.faq.items.7.q
unslothPage.faq.items.7.a
unslothPage.faq.items.8.q
unslothPage.faq.items.8.a
unslothPage.faq.items.9.q
unslothPage.faq.items.9.a
Empieza el fine-tuning de Gemma 4
Instala Unsloth, prepara tu dataset y crea un modelo Gemma 4 personalizado en horas.