Zubnet AIAprenderWiki › Vocabulário
Fundamentos

Vocabulário

Também conhecido como: Vocab, Vocabulário de Tokens
O conjunto fixo de tokens que um modelo pode reconhecer e produzir. Um vocabulário é construído pelo tokenizer durante o treinamento e tipicamente contém de 32K a 128K entradas — palavras comuns, fragmentos de subpalavras, caracteres individuais e tokens especiais. Qualquer texto que o modelo processa precisa ser expressável como uma sequência de tokens desse vocabulário. Tokens que não estão no vocabulário são divididos em pedaços menores que estão.

Por que isso importa

O vocabulário determina o que o modelo pode "ver". Um vocabulário treinado majoritariamente em inglês lidará com inglês eficientemente (um token por palavra), mas pode fragmentar chinês, árabe ou código em muitos tokens pequenos (caro, mais lento, menos contexto). O design do vocabulário é uma das decisões mais consequentes e menos discutidas no desenvolvimento de modelos.

Em profundidade

Construindo um vocabulário: o algoritmo do tokenizer (geralmente BPE) começa com bytes ou caracteres individuais e iterativamente mescla os pares mais frequentes. Após 32K–128K mesclagens, você tem um vocabulário onde palavras comuns são tokens únicos ("the", "and", "function") e palavras raras são divididas em pedaços de subpalavras ("un" + "common", "pre" + "process" + "ing"). Tokens especiais como <BOS> (início de sequência), <EOS> (fim) e <PAD> (preenchimento) são adicionados explicitamente.

O Trade-off do Tamanho

Vocabulários maiores comprimem texto melhor (menos tokens por frase = mais barato, cabe mais no contexto) mas aumentam o tamanho da tabela de embeddings do modelo. Um vocabulário de 128K com embeddings de 4096 dimensões adiciona ~500M de parâmetros apenas para as tabelas de tokens. Para um modelo de 7B, isso é 7% do total de parâmetros fazendo nada além de mapear tokens para vetores. Para um modelo de 1B, seria 50%. É por isso que modelos menores tendem a usar vocabulários menores.

Vocabulário Multilíngue

A cobertura linguística de um vocabulário depende de seu corpus de treinamento. O tokenizer inicial do Llama foi treinado predominantemente em inglês e representava caracteres chineses como 3–4 tokens cada, tornando a inferência em chinês 3–4x mais cara que em inglês. O tokenizer do Llama 3 foi treinado em dados multilíngues mais balanceados, melhorando dramaticamente a eficiência para outros idiomas. É um problema solucionável, mas requer esforço deliberado — o padrão é dominância do inglês.

Conceitos relacionados

← Todos os termos
← vLLM Voyage AI →