# Questionário de fim de capítulo

### 1. Qual é a ordem do pipeline para a modelagem de linguagem?

### 2. Quantas dimensões tem o tensor do Transformer de base, e quais são elas?

### 3. Qual dos seguintes é um exemplo de Tokenização por sub-palavras?

### 4. O que é uma *model head*?

{#if fw === 'pt'}
### 5. O que seria um `AutoModel`?

AutoNLP?"
		},
		{
			text: "Um objeto que devolve a arquitetura correta com base em um checkpoint",
			explain: "Exatamente: o AutoModel só precisa saber o checkpoint para saber como inicializar então devolver a arquitetura correta.",
			correct: true
		},
		{
			text: "Um modelo que detecta automaticamente a linguagem utilizada para suas entradas a fim de carregar os pesos corretos",
			explain: "Incorreto; embora alguns checkpoints e modelos sejam capazes de lidar com vários idiomas, não há ferramentas embutidas para seleção automática de checkpoints de acordo com o idioma. Você deve ir para o  Model Hub para encontrar o melhor checkpoint para realizar sua tarefa!"
		} 
	]}
/>

{:else}
### 5. O que seria um `TFAutoModel`?

AutoNLP?"
		},
		{
			text: "Um objeto que devolve a arquitetura correta com base em um checkpoint",
			explain: "Exatamente: o TFAutoModel só precisa saber o checkpoint para saber como inicializar então devolver a arquitetura correta.",
			correct: true
		},
		{
			text: "Um modelo que detecta automaticamente a linguagem utilizada para suas entradas a fim de carregar os pesos corretos",
			explain: "Incorreto; embora alguns checkpoints e modelos sejam capazes de lidar com vários idiomas, não há ferramentas embutidas para seleção automática de checkpoints de acordo com o idioma. Você deve ir para o  Model Hub para encontrar o melhor checkpoint para realizar sua tarefa!"
		} 
	]}
/>

{/if}

### 6. Quais são as técnicas a serem observadas quando realizar batches com sequências de diferentes tamanhos?

### 7. Qual é o objetivo de aplicar uma função SoftMax à saída de logits para um modelo de classificação sequencial??

### 8. Qual é o método core da API tokenizer?

encode, pois pode codificar texto em IDs e IDs em predições",
			explain: "Errado! O método encode existe na tokenização, porém não existe nos modelos."
		},
		{
			text: "Chamando diretamente o objeto de tokenização (tokenizer).",
			explain: "Exatamente! O método __call__ do tokenizer é um método muito poderoso que pode lidar com praticamente qualquer coisa. É também o método usado para recuperar as predições de um modelo.",
			correct: true
		},
		{
			text: "padding",
			explain: "Errado! O padding é muito útil, mas é apenas uma parte da API do tokenizer."
		},
		{
			text: "tokenize",
			explain: "O método tokenize é indiscutivelmente um dos métodos mais úteis, mas não é o núcleo do API do tokenizer."
		}
	]}
/>

### 9. O que a variável `result` contém nesta pedaço de código?

```py
from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
result = tokenizer.tokenize("Hello!")
```

__call__ ou convert_tokens_to_ids!"
		},
		{
			text: "Uma string contendo todos os tokens ",
			explain: "Isto seria subótimo, pois o objetivo é dividir a string em vários tokens."
		}
	]}
/>

{#if fw === 'pt'}
### 10. Tem algo errado com o código abaixo?

```py
from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
model = AutoModel.from_pretrained("gpt2")

encoded = tokenizer("Hey!", return_tensors="pt")
result = model(**encoded)
```

{:else}
### 10. Tem algo errado com o código abaixo?

```py
from transformers import AutoTokenizer, TFAutoModel

tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
model = TFAutoModel.from_pretrained("gpt2")

encoded = tokenizer("Hey!", return_tensors="pt")
result = model(**encoded)
```

{/if}

