> ## 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.

# Escolhendo Modelos

> Como selecionar o modelo certo para seu hardware e caso de uso

# Escolhendo o Modelo Certo

O modelo que você escolhe afeta drasticamente o tempo de treinamento, qualidade e requisitos de hardware. Este guia ajuda você a fazer a escolha certa.

## Tamanho do Modelo vs Hardware

<Note>
  **A regra de ouro**: Um modelo precisa de aproximadamente 2x sua contagem de parâmetros em GB de memória para treinamento. Um modelo de 7B precisa de \~14GB de VRAM para treinamento completo, ou \~8GB com LoRA.
</Note>

### Referência Rápida

| Seu Hardware                 | Tamanho Máximo do 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` com quantização     |

### Fórmula de Estimativa de Memória

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

**Exemplo**: Modelo de 7B

* Treinamento completo: 7B × 16 = \~112GB (precisa de multi-GPU)
* Com LoRA: 7B × 2 + 2GB = \~16GB
* Com LoRA + int4: 7B × 0.5 + 2GB = \~6GB

## Modelos Base vs Instruction-Tuned

Esta é uma das decisões mais importantes que você fará.

### Modelos Base (Pré-treinados)

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

**O que são**: Treinados em texto bruto para prever a próxima palavra. Eles conhecem linguagem mas não sabem como ser úteis.

**Quando usar**:

* Você tem muitos dados de treinamento (10k+ exemplos)
* Você quer controle total sobre o comportamento do modelo
* Você está treinando para um formato específico (não chat)
* Você quer criar seu próprio estilo de instrução

**Comportamento de exemplo antes do treinamento**:

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

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

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

**O que são**: Modelos base que já foram treinados para seguir instruções e ser úteis.

**Quando usar**:

* Você tem dados de treinamento limitados (100-5k exemplos)
* Você quer refinar comportamento útil existente
* Você está construindo um chatbot ou assistente
* Você quer resultados mais rápidos com menos dados

**Comportamento de exemplo antes do treinamento**:

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

### Matriz de Decisão

| Situação                                 | Use Base | Use Instruction-Tuned    |
| ---------------------------------------- | -------- | ------------------------ |
| Menos de 1k exemplos                     |          | ✓                        |
| 1k - 10k exemplos                        | Depende  | ✓                        |
| 10k+ exemplos                            | ✓        |                          |
| Caso de uso chat/assistente              |          | ✓                        |
| Formato customizado (não chat)           | ✓        |                          |
| Específico de domínio (médico, jurídico) | ✓        | ✓ (qualquer um funciona) |
| Geração de código                        |          | ✓                        |
| Escrita criativa                         | ✓        | ✓ (qualquer um funciona) |

## Famílias de Modelos

### Google Gemma

**Versões**: Gemma 2, Gemma 3

| Modelo                | Tamanho | Melhor Para                                          |
| --------------------- | ------- | ---------------------------------------------------- |
| `google/gemma-3-270m` | 270M    | Testes, aprendizado, CPU/Apple Silicon               |
| `google/gemma-2-2b`   | 2B      | GPUs de consumo, bom equilíbrio qualidade/velocidade |
| `google/gemma-2-9b`   | 9B      | Alta qualidade em hardware bom                       |
| `google/gemma-2-27b`  | 27B     | Melhor qualidade Gemma, precisa de hardware sério    |

**Pontos fortes**: Ótimo para tamanhos menores, eficiente, bom suporte multilíngue
**Dica**: Adicione sufixo `-it` para versões instruction-tuned

### Meta Llama

**Versões**: Llama 3.1, Llama 3.2

| Modelo                     | Tamanho | Melhor Para                                    |
| -------------------------- | ------- | ---------------------------------------------- |
| `meta-llama/Llama-3.2-1B`  | 1B      | Mobile, dispositivos edge                      |
| `meta-llama/Llama-3.2-3B`  | 3B      | Hardware de consumo                            |
| `meta-llama/Llama-3.1-8B`  | 8B      | Propósito geral, qualidade excelente           |
| `meta-llama/Llama-3.1-70B` | 70B     | Qualidade de produção, precisa de GPU na nuvem |

**Pontos fortes**: Qualidade excelente, raciocínio forte, grande suporte da comunidade
**Nota**: Requer aceitar licença no HuggingFace primeiro

### Mistral

| Modelo                      | Tamanho | Melhor Para                          |
| --------------------------- | ------- | ------------------------------------ |
| `mistralai/Mistral-7B-v0.3` | 7B      | Ótima proporção qualidade/eficiência |
| `mistralai/Mixtral-8x7B`    | 8x7B    | Arquitetura MoE, inferência rápida   |

**Pontos fortes**: Eficiente, inferência rápida, bom em código
**Dica**: Mistral frequentemente supera sua classe de peso

### Qwen (Alibaba)

| Modelo              | Tamanho | Melhor Para                                 |
| ------------------- | ------- | ------------------------------------------- |
| `Qwen/Qwen2.5-0.5B` | 500M    | Ultra-pequeno, dispositivos edge            |
| `Qwen/Qwen2.5-3B`   | 3B      | Equilibrado para hardware de consumo        |
| `Qwen/Qwen2.5-7B`   | 7B      | Excelente multilíngue, especialmente chinês |

**Pontos fortes**: Excelente multilíngue, especialmente idiomas asiáticos

## Buscando Modelos

No assistente, use estes comandos:

```
# Search by name
/search llama

# Search by capability
/search code
/search multilingual

# Filter by size
/filter

# Sort options
/sort
```

### Opções de Ordenação

| Opção         | Quando Usar                     |
| ------------- | ------------------------------- |
| **Trending**  | Veja o que está popular agora   |
| **Downloads** | Modelos mais comprovados/usados |
| **Likes**     | Favoritos da comunidade         |
| **Recent**    | Lançamentos mais recentes       |

## Dicas para Escolher

<AccordionGroup>
  <Accordion title="Comece pequeno, escale depois">
    Sempre comece com um modelo menor como `gemma-3-270m`. Faça seu pipeline funcionar, verifique se seu dataset está formatado corretamente, depois escale para modelos maiores.
  </Accordion>

  <Accordion title="Não persiga o maior modelo">
    Um modelo de 3B bem treinado frequentemente supera um modelo de 7B mal treinado. Foque na qualidade dos dados primeiro, depois escale o modelo.
  </Accordion>

  <Accordion title="Combine modelo com dados">
    Se você só tem 500 exemplos, um modelo de 270M-1B é suficiente. Usar um modelo de 7B vai apenas memorizar seus dados em vez de aprender padrões.
  </Accordion>

  <Accordion title="Considere custos de inferência">
    Se você está implantando o modelo, lembre-se: modelos maiores custam mais para executar. Um modelo de 1B é 7x mais barato para servir do que um modelo de 7B.
  </Accordion>

  <Accordion title="Tente instruction-tuned primeiro">
    A menos que você tenha 10k+ exemplos de alta qualidade, comece com um modelo instruction-tuned. Você obterá melhores resultados mais rápido.
  </Accordion>
</AccordionGroup>

## Validando Sua Escolha

Após selecionar um modelo, o assistente valida se ele existe:

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

Se não existir:

```
❌ 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 Passos

<CardGroup cols={2}>
  <Card title="Guia de Datasets" href="/wizard/dataset-guide" icon="database">
    Prepare seus dados de treinamento
  </Card>

  <Card title="LoRA para Modelos Grandes" href="/advanced/lora-peft" icon="bolt">
    Treine modelos maiores em hardware limitado
  </Card>
</CardGroup>
