Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

Interpretação dos principais parâmetros do big model: Token, comprimento do contexto e limites de saída

Os modelos de linguagem em grande escala (LLMs) estão desempenhando uma função cada vez mais importante no campo da inteligência artificial. Para entender e aplicar melhor os LLMs, precisamos entender melhor seus conceitos principais. Neste artigo, vamos nos concentrar em três conceitos-chave, a saber, Token, Comprimento Máximo de Saída e Comprimento do Contexto, para ajudar os leitores a eliminar as barreiras de compreensão, de modo que possam fazer uso mais eficaz da tecnologia LLM.

 

Token: unidade básica de processamento do LLM

Token Token é a unidade básica de um Modelo de Linguagem Ampla (LLM) para processamento de texto em linguagem natural e pode ser entendido como a menor unidade semântica que o modelo pode reconhecer e processar. Embora o token possa ser vagamente comparado a uma "palavra" ou "frase", ele é descrito com mais precisão como o bloco de construção no qual o modelo baseia sua análise e geração de texto.


Na prática, há uma certa relação de conversão entre Token e contagem de palavras. Em termos gerais:

  • 1 caractere inglês ≈ 0,3 token
  • 1 caractere chinês ≈ 0,6 token

Portanto, podemosestimativa aproximada(matemática) gênerocomo regra geralUm caractere chinês pode ser considerado como um Token.

Exemplo de token

Conforme mostrado na figura acima, quando inserimos um texto no LLM, o modelo primeiro divide o texto em sequências de tokens e, em seguida, processa essas sequências de tokens para gerar o resultado desejado. A figura a seguir demonstra claramente o processo de tokenização do texto:

Processo de tokenização

Comprimento máximo de saída (limite de saída): o limite superior da geração de texto único do modelo

para DeepSeek Como exemplo, podemos observar que os diferentes modelos definem um limite para o comprimento máximo de saída.

Parâmetros do modelo DeepSeek

Acima.bate-papo com o deepseek correspondência de modelos DeepSeek-V3 enquanto a versão raciocínio profundo então corresponde a DeepSeek-R1 Versões. Tanto o modelo de inferência R1 quanto o modelo de diálogo V3 têm seu comprimento máximo de saída definido como 8K.

Considerando a relação de conversão aproximada, um kanji é aproximadamente igual a um token.8K O comprimento máximo de saída de pode ser interpretado como: O modelo é capaz de gerar até cerca de 8.000 caracteres chineses em uma única interação..

O conceito de comprimento máximo de saída é relativamente intuitivo e fácil de entender; ele limita a quantidade máxima de texto que o modelo pode produzir em cada resposta. Quando esse limite for atingido, o modelo não poderá continuar gerando mais conteúdo.

 

Janela de contexto: a extensão da memória do modelo.

O comprimento do contexto, também conhecido no campo técnico como Janela de contextoé um parâmetro fundamental para entender os recursos do LLM. Continuamos com o DeepSeek O modelo é ilustrado como um exemplo:

Janela de contexto do DeepSeek

Conforme mostrado na figura, tanto o modelo de inferência quanto o modelo de diálogo, oDeepSeek (usado em uma expressão nominal) Janela de contexto todos são 64K. Portanto.64K O que exatamente o comprimento do contexto do

Para entender o comprimento do contexto, primeiro precisamos esclarecer sua definição. A janela de contexto refere-se ao número máximo de tokens que podem ser processados por um modelo de linguagem grande (LLM) em uma única sessão de inferência.. Essa soma consiste em duas partes:

(1) seção de entradaTodas as entradas fornecidas pelo usuário, como prompts, histórico de diálogo e qualquer conteúdo adicional do documento.
(2) seção de saídaConteúdo da resposta que o modelo está gerando e retornando no momento: O conteúdo da resposta que o modelo está gerando e retornando no momento.

Em resumo, quando temos uma única interação com o LLM, todo o processo, começando quando inserimos uma pergunta e terminando quando o modelo dá uma resposta, é chamado de "inferência única". Durante essa inferência, a soma de todo o conteúdo textual de entrada e saída (contado em token) não pode ser superior a Janela de contexto As limitações para o DeepSeek Em termos do modelo, essa restrição é 64KO número de caracteres chineses usados no estudo é de cerca de 60.000, que é o mesmo que o número de caracteres chineses usados no estudo.

Caso esteja se perguntando.Então, há um limite para o que pode ser inserido? A resposta é sim. Como mencionado anteriormente, o modelo tem um comprimento de contexto de 64K e um comprimento máximo de saída de 8K. Portanto, em uma única rodada de diálogo, o número máximo de tokens para o conteúdo de entrada é teoricamente o comprimento do contexto menos o comprimento máximo de saída, ou seja, 64K - 8K = 56K. Para resumir, em uma única interação de pergunta e resposta, o usuário pode inserir até cerca de 56.000 palavras e o modelo pode produzir até cerca de 8.000 palavras.

Mecanismos de tratamento de contexto para diálogos de várias rodadas

Na prática, muitas vezes temos várias rodadas de diálogo com LLMs. Então, como um diálogo de várias rodadas lida com o contexto? Pegue DeepSeek Por exemplo, ao iniciar um diálogo de várias rodadas, o lado do servidorO contexto de diálogo do usuário não é salvo por padrão. Isso significa que emPara cada nova solicitação de diálogo, o usuário precisa juntar todo o conteúdo, incluindo o histórico do diálogo, e passá-lo para a API como informação de entrada.

Para ilustrar mais claramente a mecânica de um diálogo de várias rodadas, aqui está um exemplo de código Python para um diálogo de várias rodadas usando a API do DeepSeek:

from openai import OpenAI
cliente = OpenAI(api_key="", base_url="https://api.deepseek.com")
Rodada 1 do #
messages = [{"role": "user", "content": "What's the highest mountain in the world?"}]
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages
)
messages.append(response.choices[0].message)
print(f "Messages Round 1: {messages}")
Rodada 2 do #
messages.append({"role": "user", "content": "What is the second?"})
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages
)
messages.append(response.choices[0].message)
print(f "Messages Round 2: {messages}")

O conteúdo do parâmetro de mensagens passado para a API durante a primeira rodada de solicitações de diálogo é o seguinte:

[
{"role": "user", "content": "What's the highest mountain in the world?"}
]

Necessário para a segunda rodada de solicitações de diálogo:
(1) Adicione o resultado do modelo da rodada anterior de diálogo ao mensagens O fim da lista;
(2) Adicione a nova pergunta do usuário também à lista mensagens O fim da lista.

Portanto, na segunda rodada de diálogo, o parâmetro de mensagens passado para a API conterá o seguinte:

[
{"role": "user", "content": "What's the highest mountain in the world?"}, {"role": "assistant", "content": "The highest mountain in the world is Mount Everest."}, }
{"role": "assistant", "content": "The highest mountain in the world is Mount Everest."}, {"role": "user", "content": "What is the second?
{"role": "user", "content": "What is the second?"}
}

Portanto, a essência de um diálogo de várias rodadas é combinar asAs transcrições de diálogos históricos (incluindo a entrada do usuário e a saída do modelo) são emendadas antes da última entrada do usuário e, em seguida, o diálogo completo emendado é enviado ao LLM de uma só vez.

Isso significa que, em um cenário de diálogo de várias rodadas, a janela de contexto para cada rodada de diálogo nem sempre permanece a mesma em 64K, mas diminui à medida que o número de rodadas aumenta. Por exemplo, se as entradas e saídas da primeira rodada de diálogo usarem um total de 32 mil tokens, na segunda rodada de diálogo, a janela de contexto disponível será de apenas 32 mil. O princípio é consistente com a limitação do comprimento do contexto analisada acima.

Você também pode ter uma pergunta: Se, de acordo com esse mecanismo, as entradas e saídas de cada rodada de diálogo forem muito longas, não seriam necessárias algumas rodadas de diálogo para exceder os limites do modelo? Na prática, porém, o modelo parece ser capaz de responder adequadamente mesmo com várias rodadas de diálogo.

Essa é uma pergunta muito boa, que nos leva a outro conceito importante: "truncamento contextual".

Truncamento contextual: estratégias para lidar com diálogos muito longos

Quando usamos produtos baseados em LLM (por exemplo, DeepSeek, Wisdom Spectrum, etc.), os provedores de serviços geralmente não expõem diretamente os limites rígidos da janela de contexto ao usuário, mas empregam a truncagem de contexto para A estratégia de truncamento de contexto é usada para realizar o processamento de textos muito longos.

Por exemplo, digamos que o modelo ofereça suporte nativo a uma janela de contexto de 64K. Se o usuário tiver acumulado 64K ou quase isso em várias rodadas de diálogo e, em seguida, iniciar uma nova solicitação (por exemplo, para 2K tokens), o limite da janela de contexto será excedido. Nesse caso, o servidor normalmente manterá a solicitação mais recente 64K Token (incluindo a entrada mais recente), enquanto descarta a parte mais antiga do histórico do diálogo**. Para o usuário, a entrada mais recente é mantida, enquanto a entrada mais antiga (ou mesmo a saída) é "esquecida" pelo modelo. **

É por isso que, ao ter várias rodadas de diálogo, o modelo às vezes sofre de "amnésia", embora ainda possamos obter respostas normais do modelo. Como a capacidade da Janela de Contexto é limitada, o modelo não consegue se lembrar de todas as informações históricas do diálogo, ele só consegue "lembrar as mais recentes e esquecer as mais antigas".

É preciso enfatizar queO "truncamento contextual" é uma estratégia implementada em nível de engenharia, e não um recurso inerente ao próprio modelo**. Normalmente, os usuários não percebem a presença do processo de truncamento no momento do uso, pois o lado do servidor faz isso em segundo plano. **

texto alternativo

Para resumir, podemos tirar as seguintes conclusões sobre o comprimento do contexto, o comprimento máximo de saída e o truncamento do contexto:

  • A janela de contexto (por exemplo, 64K) é um limite rígido para o modelo lidar com uma única solicitaçãoO número total de entradas e saídas de token não deve exceder esse limite.
  • Gerenciamento no lado do servidor de textos muito longos em conversas de várias rodadas por meio de políticas de truncamento contextualPermite que os usuários participem de várias rodadas de diálogo Janela de contexto mas isso seria feito às custas da capacidade de memória de longo prazo do modelo.
  • Os limites de janela de contexto geralmente são uma estratégia do provedor de serviços para controlar os custos ou reduzir os riscosA capacidade técnica do modelo em si não é exatamente igual à do modelo.

 

Comparação dos parâmetros do modelo: OpenAI e Anthropic

As configurações de parâmetros para o comprimento máximo de saída e o comprimento do contexto variam entre os fornecedores de modelos. A figura a seguir mostra as configurações de parâmetros de alguns modelos, usando o OpenAI e o Anthropic como exemplos:

texto alternativo

Na figura, "Tokens de contexto" representa o comprimento do contexto e "Tokens de saída" representa o comprimento máximo de saída.

 

Princípios técnicos: razões por trás das restrições

Por que o LLM estabelece limites para o comprimento máximo de saída e o comprimento do contexto? Do ponto de vista técnico, isso envolve restrições na arquitetura do modelo e nos recursos computacionais. Em resumo, o limite da janela de contexto é determinado pelos seguintes fatores principais:

(1) Faixa de códigos de posição: Transformador O modelo se baseia na codificação posicional (por exemplo, RoPE, ALiBi) para atribuir informações posicionais a cada token, e a gama de designs de codificação posicional determina diretamente o comprimento máximo da sequência que o modelo pode manipular.
(2) Cálculo do mecanismo de autoatençãoAo gerar cada novo token, o modelo precisa computar o peso da atenção entre esse token e todos os tokens históricos (tanto de entrada quanto de saída gerada). Portanto, o comprimento total da sequência é estritamente limitado. Além disso, o uso da memória do KV Cache está positivamente correlacionado com o comprimento total da sequência, e exceder o comprimento da janela de contexto pode resultar em estouro de memória ou erros de computação.

 

Cenários típicos de aplicativos e estratégias de resposta

É fundamental entender os conceitos de comprimento máximo de saída e comprimento de contexto e os princípios técnicos por trás deles. Depois de adquirir esse conhecimento, os usuários devem desenvolver estratégias correspondentes ao usar ferramentas de modelos grandes para aumentar a eficiência e a eficácia de seu uso. A seguir, listamos vários cenários típicos de aplicação e fornecemos as estratégias de resposta correspondentes:

  • Entrada curta + saída longa
    • cenário do aplicativoToken: os usuários inserem uma pequena quantidade de Token (por exemplo, 1K) e querem que o modelo gere conteúdo longo, como artigos, histórias etc.
    • Configuração de parâmetrosNo momento da chamada à API, você pode definir o max_tokens é definido como um valor maior, por exemplo 63,000 (Certifique-se de inserir o mesmo número de tokens que no max_tokens e não superior a Janela de contexto limites, por exemplo, 1K + 63K ≤ 64K).
    • risco potencialO resultado do modelo pode ser encerrado antecipadamente devido a verificações de qualidade (por exemplo, repetição excessiva, inclusão de palavras sensíveis, etc.).
  • Entrada longa + saída curta
    • cenário do aplicativoDocumento longo: o usuário insere um documento longo (por exemplo, 60 mil tokens) e solicita que o modelo o resuma, extraia informações etc. e produza um resultado curto.
    • Configuração de parâmetros: Você pode definir max_tokens é definido para um valor menor, por exemplo 4,000 (por exemplo, 60K + 4K ≤ 64K).
    • risco potencialSe o modelo realmente exigir mais tokens de saída do que o número de max_tokens Se o documento de entrada for compactado (por exemplo, os parágrafos principais são extraídos, as informações redundantes são reduzidas etc.) para garantir a integridade da saída, então a saída será compactada.
  • Gerenciamento de diálogo em várias rodadas
    • regras e regulamentosDurante várias rodadas de diálogo, é necessário tomar cuidado para que o número total de tokens de entrada e saída acumulados não exceda Janela de contexto (que excederem serão truncadas).
    • exemplo típico::
      (1) Diálogo da Rodada 1: o usuário insere 10 mil fichas, o modelo produz 10 mil fichas, acumula 20 mil fichas.
      (2) Diálogo da segunda rodada: entrada do usuário 30 mil tokens, saída do modelo 14 mil tokens, 64 mil tokens acumulados.
      (3) Diálogo da terceira rodada: o usuário insere 5 mil tokens, o servidor trunca os 5 mil tokens mais antigos e mantém os 59 mil mais recentes. tokens Histórico, além de uma nova entrada de 5K tokens para um total de 64K tokens.

Ao compreender os três conceitos principais de Token, Comprimento Máximo de Saída e Comprimento do Contexto, e ao formular uma estratégia razoável com base em cenários de aplicativos específicos, podemos aproveitar a tecnologia LLM de forma mais eficaz e utilizar todo o seu potencial.

CDN1
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Interpretação dos principais parâmetros do big model: Token, comprimento do contexto e limites de saída

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil