Noções básicas de tokens
Tokens são palavras, conjuntos de caracteres ou combinações de palavras e pontuação geradas por LLMs (modelos de linguagem grandes) quando eles decompõem o texto. A geração de tokens é a primeira etapa no treinamento. O LLM analisa as relações semânticas entre tokens, como a frequência com que eles são usados juntos ou se são usados em contextos semelhantes. Após o treinamento, o LLM usa esses padrões e relações para gerar uma sequência de tokens de saída com base na sequência de entrada.
Transformar texto em tokens
O conjunto de tokens exclusivos em que um LLM é treinado é conhecido como seu vocabulário.
Por exemplo, considere a seguinte sentença:
I heard a dog bark loudly at a cat
Esse texto pode ter o token gerado como:
I
heard
a
dog
bark
loudly
at
a
cat
Ao ter um conjunto suficientemente grande de texto de treinamento, a geração de tokens pode compilar um vocabulário de milhares de tokens.
Métodos comuns de geração de tokens
O método de geração de tokens específico varia de acordo com a LLM. Os métodos comuns de geração de tokens incluem:
- Geração de tokens de palavra (o texto é dividido em palavras individuais com base em um delimitador)
- Geração de tokens de caracteres (o texto é dividido em caracteres individuais)
- Geração de tokens de subpalavra (o texto é dividido em palavras parciais ou conjuntos de caracteres)
Por exemplo, os modelos GPT, desenvolvidos pela OpenAI, usam um tipo de geração de tokens de subpalavra que é conhecido como BPE (Codificação de Par de Bytes). O OpenAI fornece uma ferramenta para visualizar como os tokens do texto serão gerados.
Há vantagens e desvantagens em cada método de geração de tokens:
Tamanho do token | Vantagens | Desvantagens |
---|---|---|
Tokens menores (geração de tokens de subpalavra ou caractere) | - Permite que o modelo manipule um intervalo maior de entradas, como palavras desconhecidas, erros de digitação ou sintaxe complexa. - Pode permitir que o tamanho do vocabulário seja reduzido, exigindo menos recursos de memória. |
- Um determinado texto é dividido em mais tokens, exigindo recursos computacionais adicionais durante o processamento. - Dado um limite de token fixo, o tamanho máximo da entrada e da saída do modelo é menor. |
Tokens maiores (geração de tokens de palavra) | – Um determinado texto é dividido em menos tokens, exigindo menos recursos computacionais durante o processamento. - Dado o mesmo limite de token, o tamanho máximo da entrada e da saída do modelo é maior. |
- Pode causar um vocabulário maior, exigindo mais recursos de memória. - Pode limitar a capacidade dos modelos de lidar com palavras desconhecidas, erros de digitação ou sintaxe complexa. |
Como os LLMs usam tokens
Depois que a LLM conclui a geração de tokens, ela atribui uma ID a cada token exclusivo.
Considere nossa frase de exemplo:
I heard a dog bark loudly at a cat
Depois que o modelo usa um método de geração de tokens de palavra, ele pode atribuir IDs de token da seguinte maneira:
-
I
(1) -
heard
(2) -
a
(3) -
dog
(4) -
bark
(5) -
loudly
(6) -
at
(7) a
(o token "a" já foi atribuído o ID 3)-
cat
(8)
Ao atribuir IDs, o texto pode ser representado como uma sequência de IDs de token. A frase de exemplo seria representada como [1, 2, 3, 4, 5, 6, 7, 3, 8]. A frase "I heard a cat
" seria representada como [1, 2, 3, 8].
À medida que o treinamento continua, o modelo adiciona novos tokens no texto de treinamento ao seu vocabulário e atribui a ele uma ID. Por exemplo:
-
meow
(9) -
run
(10)
As relações semânticas entre os tokens podem ser analisadas usando essas sequências de ID de token. Vetores numéricos de vários valores, conhecidos como inserções, são usados para representar essas relações. Uma inserção é atribuída a cada token com base na frequência com que ele é usado junto ou em contextos semelhantes aos outros tokens.
Depois de treinado, um modelo pode calcular uma inserção para um texto que contém vários tokens. O modelo gera tokens do texto e calcula um valor geral de inserções com base nas inserções aprendidas dos tokens individuais. Esta técnica pode ser usada para pesquisas semânticas de documentos ou adição de repositórios de vetores a uma IA.
Durante a geração de saída, o modelo prevê um valor de vetor para o próximo token na sequência. Em seguida, o modelo seleciona o próximo token em seu vocabulário com base nesse valor de vetor. Na prática, o modelo calcula vários vetores usando vários elementos das inserções dos tokens anteriores. Em seguida, o modelo avalia todos os tokens potenciais desses vetores e seleciona o mais provável para continuar a sequência.
A geração de saída é uma operação iterativa. O modelo acrescenta o token previsto à sequência até agora e o usa como entrada para a próxima iteração, criando a saída final de um token de cada vez.
Limites de token
Os LLMs têm limitações em relação ao número máximo de tokens que podem ser usados como entrada ou gerados como saída. Essa limitação geralmente faz com que os tokens de entrada e saída sejam combinados em uma janela de contexto máxima. Juntos, o limite de token e o método de geração de tokens de um modelo determinam o comprimento máximo do texto que pode ser fornecido como entrada ou gerado como saída.
Por exemplo, considere um modelo que tenha uma janela de contexto máxima de 100 tokens. O modelo processa as frases de exemplo como texto de entrada:
I heard a dog bark loudly at a cat
Usando um método de geração de tokens baseado em palavras, a entrada é de nove tokens. Isso deixa 91 tokens de palavra disponíveis para a saída.
Usando um método de geração de tokens baseado em caracteres, a entrada é de 34 tokens (incluindo espaços). Isso deixa somente 66 tokens de caractere disponíveis para a saída.
Preço baseado em token e limitação de taxa
Os serviços de IA generativos geralmente usam preços baseados em token. O custo de cada solicitação depende do número de tokens de entrada e saída. O preço pode ser diferente entre entrada e saída. Por exemplo, consulte os Preços do Serviço OpenAI do Azure.
Os serviços de IA generativos também podem ser limitados em relação ao número máximo de tokens por minuto (TPM). Esses limites de taxa podem variar dependendo da região do serviço e da LLM. Para obter mais informações sobre regiões específicas, consulte Cotas e limites do Serviço OpenAI do Azure.