> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monostate.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Eligiendo Modelos

> Cómo seleccionar el modelo correcto para tu hardware y caso de uso

# Eligiendo el Modelo Correcto

El modelo que elijas afecta dramáticamente el tiempo de entrenamiento, calidad y requisitos de hardware. Esta guía te ayuda a tomar la decisión correcta.

## Tamaño del Modelo vs Hardware

<Note>
  **La regla de oro**: Un modelo necesita aproximadamente 2x su conteo de
  parámetros en GB de memoria para entrenamiento. Un modelo de 7B necesita \~14GB
  de VRAM para entrenamiento completo, o \~8GB con LoRA.
</Note>

### Referencia Rápida

| Tu Hardware                  | Tamaño Máximo del Modelo | Modelos Recomendados                |
| ---------------------------- | ------------------------ | ----------------------------------- |
| MacBook Air M1 (8GB)         | 500M - 1B                | `google/gemma-3-270m`               |
| MacBook Pro M2 (16GB)        | 1B - 3B                  | `google/gemma-2-2b`, `Llama-3.2-1B` |
| MacBook Pro M3 Max (36-64GB) | 7B - 13B                 | `Llama-3.2-8B`, `Mistral-7B`        |
| RTX 3060/3070 (8-12GB)       | 1B - 3B                  | `gemma-2-2b`, `Llama-3.2-3B`        |
| RTX 3090/4090 (24GB)         | 7B - 13B                 | `Llama-3.2-8B`, `Mistral-7B`        |
| A100 (40-80GB)               | 30B - 70B                | `Llama-3.1-70B` con cuantización    |

### Fórmula de Estimación de Memoria

```
Full training:   params × 4 bytes × 4 (model + optimizer + gradients + activations)
With LoRA:       params × 2 bytes + ~2GB
With LoRA + int4: params × 0.5 bytes + ~2GB
```

**Ejemplo**: Modelo de 7B

* Entrenamiento completo: 7B × 16 = \~112GB (necesita multi-GPU)
* Con LoRA: 7B × 2 + 2GB = \~16GB
* Con LoRA + int4: 7B × 0.5 + 2GB = \~6GB

## Modelos Base vs Instruction-Tuned

Esta es una de las decisiones más importantes que tomarás.

### Modelos Base (Preentrenados)

Ejemplos: `google/gemma-2-2b`, `meta-llama/Llama-3.2-1B`

**Qué son**: Entrenados en texto crudo para predecir la siguiente palabra. Conocen el lenguaje pero no saben cómo ser útiles.

**Cuándo usar**:

* Tienes muchos datos de entrenamiento (10k+ ejemplos)
* Quieres control total sobre el comportamiento del modelo
* Estás entrenando para un formato específico (no chat)
* Quieres crear tu propio estilo de instrucción

**Comportamiento de ejemplo antes del entrenamiento**:

```
User: What is the capital of France?
Model: The question was first posed in 1789 when...
```

### Modelos Instruction-Tuned (IT/Instruct)

Ejemplos: `google/gemma-2-2b-it`, `meta-llama/Llama-3.2-1B-Instruct`

**Qué son**: Modelos base que ya han sido entrenados para seguir instrucciones y ser útiles.

**Cuándo usar**:

* Tienes datos de entrenamiento limitados (100-5k ejemplos)
* Quieres refinar comportamiento útil existente
* Estás construyendo un chatbot o asistente
* Quieres resultados más rápidos con menos datos

**Comportamiento de ejemplo antes del entrenamiento**:

```
User: What is the capital of France?
Model: The capital of France is Paris.
```

### Matriz de Decisión

| Situación                             | Usa Base | Usa Instruction-Tuned   |
| ------------------------------------- | -------- | ----------------------- |
| Menos de 1k ejemplos                  |          | ✓                       |
| 1k - 10k ejemplos                     | Depende  | ✓                       |
| 10k+ ejemplos                         | ✓        |                         |
| Caso de uso chat/asistente            |          | ✓                       |
| Formato personalizado (no chat)       | ✓        |                         |
| Específico de dominio (médico, legal) | ✓        | ✓ (cualquiera funciona) |
| Generación de código                  |          | ✓                       |
| Escritura creativa                    | ✓        | ✓ (cualquiera funciona) |

## Familias de Modelos

### Google Gemma

**Versiones**: Gemma 2, Gemma 3

| Modelo                | Tamaño | Mejor Para                                         |
| --------------------- | ------ | -------------------------------------------------- |
| `google/gemma-3-270m` | 270M   | Pruebas, aprendizaje, CPU/Apple Silicon            |
| `google/gemma-2-2b`   | 2B     | GPUs de consumo, buen equilibrio calidad/velocidad |
| `google/gemma-2-9b`   | 9B     | Alta calidad en buen hardware                      |
| `google/gemma-2-27b`  | 27B    | Mejor calidad Gemma, necesita hardware serio       |

**Fortalezas**: Excelente para tamaños más pequeños, eficiente, buen soporte multilingüe
**Consejo**: Agrega sufijo `-it` para versiones instruction-tuned

### Meta Llama

**Versiones**: Llama 3.1, Llama 3.2

| Modelo                     | Tamaño | Mejor Para                                     |
| -------------------------- | ------ | ---------------------------------------------- |
| `meta-llama/Llama-3.2-1B`  | 1B     | Móvil, dispositivos edge                       |
| `meta-llama/Llama-3.2-3B`  | 3B     | Hardware de consumo                            |
| `meta-llama/Llama-3.1-8B`  | 8B     | Propósito general, calidad excelente           |
| `meta-llama/Llama-3.1-70B` | 70B    | Calidad de producción, necesita GPU en la nube |

**Fortalezas**: Calidad excelente, razonamiento fuerte, gran soporte de la comunidad
**Nota**: Requiere aceptar licencia en HuggingFace primero

### Mistral

| Modelo                      | Tamaño | Mejor Para                          |
| --------------------------- | ------ | ----------------------------------- |
| `mistralai/Mistral-7B-v0.3` | 7B     | Gran proporción calidad/eficiencia  |
| `mistralai/Mixtral-8x7B`    | 8x7B   | Arquitectura MoE, inferencia rápida |

**Fortalezas**: Eficiente, inferencia rápida, bueno en código
**Consejo**: Mistral a menudo supera su clase de peso

### Qwen (Alibaba)

| Modelo              | Tamaño | Mejor Para                                 |
| ------------------- | ------ | ------------------------------------------ |
| `Qwen/Qwen2.5-0.5B` | 500M   | Ultra-pequeño, dispositivos edge           |
| `Qwen/Qwen2.5-3B`   | 3B     | Equilibrado para hardware de consumo       |
| `Qwen/Qwen2.5-7B`   | 7B     | Excelente multilingüe, especialmente chino |

**Fortalezas**: Excelente multilingüe, especialmente idiomas asiáticos

## Buscando Modelos

En el asistente, usa estos comandos:

```
# Search by name
/search llama

# Search by capability
/search code
/search multilingual

# Filter by size
/filter

# Sort options
/sort
```

### Opciones de Ordenación

| Opción        | Cuándo Usar                 |
| ------------- | --------------------------- |
| **Trending**  | Ver qué está popular ahora  |
| **Downloads** | Modelos más probados/usados |
| **Likes**     | Favoritos de la comunidad   |
| **Recent**    | Lanzamientos más recientes  |

## Consejos para Elegir

<AccordionGroup>
  <Accordion title="Comienza pequeño, escala después">
    Siempre comienza con un modelo más pequeño como `gemma-3-270m`. Haz que tu pipeline funcione, verifica que tu dataset esté formateado correctamente, luego escala a modelos más grandes.
  </Accordion>

  {" "}

  <Accordion title="No persigas el modelo más grande">
    Un modelo de 3B bien entrenado a menudo supera a un modelo de 7B mal
    entrenado. Enfócate en la calidad de los datos primero, luego escala el
    modelo.
  </Accordion>

  {" "}

  <Accordion title="Combina modelo con datos">
    Si solo tienes 500 ejemplos, un modelo de 270M-1B es suficiente. Usar un
    modelo de 7B solo memorizará tus datos en lugar de aprender patrones.
  </Accordion>

  {" "}

  <Accordion title="Considera los costos de inferencia">
    Si estás desplegando el modelo, recuerda: los modelos más grandes cuestan más
    para ejecutar. Un modelo de 1B es 7x más barato de servir que un modelo de 7B.
  </Accordion>

  <Accordion title="Prueba instruction-tuned primero">
    A menos que tengas 10k+ ejemplos de alta calidad, comienza con un modelo instruction-tuned. Obtendrás mejores resultados más rápido.
  </Accordion>
</AccordionGroup>

## Validando Tu Elección

Después de seleccionar un modelo, el asistente valida que existe:

```
✓ Model: google/gemma-3-270m
```

Si no existe:

```
❌ Model 'google/gemma3-270m' not found on HuggingFace Hub.
  Suggestions: Did you mean 'google/gemma-3-270m'?
  Check the model ID at https://huggingface.co/models

Try again with a different model? [Y/n]:
```

## Próximos Pasos

<CardGroup cols={2}>
  <Card title="Guía de Datasets" href="/wizard/dataset-guide" icon="database">
    Prepara tus datos de entrenamiento
  </Card>

  <Card title="LoRA para Modelos Grandes" href="/advanced/lora-peft" icon="bolt">
    Entrena modelos más grandes en hardware limitado
  </Card>
</CardGroup>
