Contexto longo

O Gemini 1.5 Flash vem por padrão com uma janela de contexto de 1 milhão de tokens e O Gemini 1.5 Pro vem com uma janela de contexto com 2 milhões de tokens. Historicamente, os modelos grandes de linguagem grandes (LLMs) estavam significativamente limitados pela quantidade de texto tokens) que poderiam ser transmitidos ao modelo de uma só vez. Gemini 1.5 longo janela de contexto, com recuperação quase perfeita (> 99%), e libera muitos novos casos de uso e paradigmas de desenvolvedor.

O código que você já usa para casos como texto de geração de imagens ou multimodal de entrada funcionam imediatamente com contexto longo.

Ao longo deste guia, você explora brevemente os fundamentos da janela de contexto, como os desenvolvedores devem pensar em um contexto longo, vários casos de uso do mundo real para contexto longo e maneiras de otimizar o uso de contexto longo.

O que é uma janela de contexto?

A forma básica de usar o modelo Gemini 1.5 é transmitir informações (contexto) ao modelo, o que gera uma resposta. Uma analogia com o a janela de contexto é a memória de curto prazo. Há uma quantidade limitada de informações que podem ser armazenadas na memória de curto prazo, e o mesmo vale para modelos generativos.

Leia mais sobre como os modelos funcionam em segundo plano em nossos modelos generativos guia.

Introdução ao contexto longo

A maioria dos modelos generativos criados nos últimos anos só foi capaz de processando 8.000 tokens de uma vez. Os modelos mais recentes avançaram ainda mais, aceitando 32.000 tokens ou 128.000 tokens. O Gemini 1.5 é o primeiro modelo capaz de aceitando 1 milhão de tokens e agora 2 milhões de tokens com o Gemini 1.5 profissional.

Na prática, um milhão de tokens seriam assim:

  • 50.000 linhas de código (com os 80 caracteres padrão por linha)
  • Todas as mensagens de texto que você enviou nos últimos cinco anos
  • 8 romances com duração média
  • Transcrições de mais de 200 episódios de podcast de duração média

Os modelos podem ter cada vez mais contexto, sabedoria convencional sobre o uso de modelos de linguagem grandes assume essa limitação no modelo, que, a partir de 2024, não ocorrerá mais.

Algumas estratégias comuns para lidar com a limitação de pequenas janelas de contexto incluído:

  • Eliminar arbitrariamente o texto / mensagens antigas da janela de contexto como novo texto chega em
  • Resumir o conteúdo anterior e substituí-lo pelo resumo quando o a janela de contexto fica perto de ficar cheia
  • Usar o RAG com pesquisa semântica para mover dados para fora da janela de contexto e em um banco de dados de vetores
  • Usar filtros determinísticos ou generativos para remover determinados textos / caracteres de prompts para salvar tokens

Embora muitos deles ainda sejam relevantes em certos casos, o local padrão para start é colocar todos os tokens na janela de contexto. Devido ao Os modelos Gemini 1.5 foram criados especificamente com uma longa janela de contexto, são muito mais capazes de aprender em contexto. Por exemplo, com instruções materiais (uma gramática de referência de 500 páginas, um dicionário e IMAP 400 frases) todas fornecidas em contexto, o Gemini 1.5 Pro e o Gemini 1.5 Flash são capaz de aprender a traduzir do inglês ao kalamang, um idioma papuano com menos de 200 falantes e portanto, quase nenhuma presença online, com qualidade similar à de uma pessoa que aprendeu dos mesmos materiais.

Esse exemplo ressalta como você pode começar a pensar sobre o que é possível com contexto longo e os recursos de aprendizado contextual do Gemini 1.5.

Casos de uso de contexto longo

Embora o caso de uso padrão para a maioria dos modelos generativos ainda seja a entrada de texto, o A família de modelos Gemini 1.5 possibilita um novo paradigma de casos de uso multimodais. Esses podem entender textos, vídeos, áudios e imagens de forma nativa. São acompanhado pela API Gemini, que recebe arquivos multimodais de classificação para comodidade.

Texto longo

O texto provou ser a camada de inteligência que sustenta grande parte do em torno dos LLMs. Como mencionado anteriormente, grande parte da limitação prática Os LLMs eram por não ter uma janela de contexto grande o suficiente para realizar determinadas tarefas. Isso levou à rápida adoção da geração aumentada de recuperação (RAG, na sigla em inglês) e outras técnicas que fornecem dinamicamente ao modelo informações contextuais. Agora, com janelas de contexto cada vez maiores (atualmente até 2 milhões no Gemini 1.5 Pro), novas técnicas são disponibilizadas o que possibilita novos casos de uso.

Alguns casos de uso emergentes e padrão para contexto longo baseado em texto incluem:

  • Resumir grandes corpus de texto
    • As opções de resumo anteriores com modelos de contexto menores exigiriam uma janela deslizante ou outra técnica para manter o estado das seções anteriores conforme novos tokens são passados para o modelo
  • Perguntas e respostas
    • Historicamente, isso só era possível com a RAG, dada a quantidade limitada de de contexto e modelos" o recall factual sendo baixo
  • Fluxos de trabalho agente
    • O texto é a base de como os agentes mantêm o estado do que fizeram e o que eles precisam fazer; não ter informações suficientes sobre o mundo e o objetivo dele é uma limitação na confiabilidade dos agentes

O aprendizado multishot em contexto é uma das recursos exclusivos liberados por modelos de contexto longos. As pesquisas mostram que usar o "único tiro" comum ou "multi-shot" exemplo de paradigma, em que é apresentado com um ou alguns exemplos de uma tarefa e escalonando-o até centenas, milhares ou mesmo centenas de milhares de exemplos, podem levar novos recursos do modelo. Essa abordagem multiple-shot também tem demonstrado semelhante aos modelos que foram ajustados para uma tarefa específica. Para casos de uso em que a performance do modelo Gemini ainda não é suficiente para uma produção é possível testar a abordagem multiple-shot. Como você pode explorar mais tarde seção longa de otimização de contexto, o armazenamento em cache de contexto torna esse tipo de entrada com tokens muito mais viáveis e com latência ainda menor em alguns casos de uso diferentes.

Vídeo mais longo

A utilidade do conteúdo de vídeo é, há muito tempo, limitada pela falta de acessibilidade da própria mídia. Foi difícil ler o conteúdo, e muitas vezes as transcrições falhavam para capturar as nuances de um vídeo, e a maioria das ferramentas não processa imagem, texto e áudio. No Gemini 1.5, os recursos de texto de contexto longo são traduzidos para a capacidade de raciocinar e responder perguntas sobre entradas multimodais com e desempenho contínuo. Gemini 1.5 Flash, quando testado na agulha em um vídeo problema de palheiro com 1 milhão de tokens, obtidos >99,8% de recall do vídeo na janela de contexto, e o 1.5 Pro alcançou um desempenho de última geração no Comparativo de mercado de vídeo/MME.

Alguns casos de uso emergentes e padrão para contexto longo de vídeo incluem:

  • Perguntas e respostas sobre vídeos
  • Memória de vídeo, conforme mostrado com o Projeto Astra do Google
  • Legendas de vídeos
  • Sistemas de recomendação de vídeo, enriquecendo os metadados existentes com novos compreensão multimodal
  • Personalização de vídeo, analisando um conjunto de dados e vídeos associados metadados e, em seguida, removendo partes dos vídeos que não são relevantes para os leitor
  • Moderação de conteúdo em vídeo
  • Processamento de vídeo em tempo real

Ao trabalhar com vídeos, é importante considerar como os vídeos são processado em tokens, o que afeta os limites de faturamento e uso. Saiba mais sobre comandos com arquivos de vídeo em a seção Comando guia.

Áudio de longa duração

O Gemini 1.5 foi os primeiros modelos de linguagem grandes multimodais nativos que pudesse entender áudio. Antes, o fluxo de trabalho típico de um desenvolvedor envolve unir vários modelos específicos de domínio, como um de conversão de voz em texto e de conversão de texto em texto para processar o áudio. Isso levou ao aumento da latência exigida pela execução de várias solicitações de ida e volta e menor desempenho, geralmente atribuída a arquiteturas desconectadas a configuração de vários modelos.

Em avaliações padrão de palheiro de áudio, o Gemini 1.5 Pro encontra a áudio oculto em 100% dos testes, e o Gemini 1.5 Flash consegue encontrá-lo 98,7% das de testes. O Gemini 1.5 Flash aceita até 9,5 horas de áudio em uma única solicitação e O Gemini 1.5 Pro aceita até 19 horas de áudio usando os 2 milhões de tokens janela de contexto. Além disso, em um conjunto de teste de 15 minutos de áudio, o Gemini 1.5 Pro arquiva uma taxa de erro de palavras (WER, na sigla em inglês) de cerca de 5,5%, muito menor do que conversão de voz em texto, sem a complexidade adicional de segmentação de entrada extra e pré-processamento.

Alguns casos de uso emergentes e padrão para contexto de áudio incluem:

  • Transcrição e tradução em tempo real
  • Perguntas e respostas sobre podcasts / vídeos
  • Transcrição e resumo de reuniões
  • Assistentes de voz

Saiba mais sobre comandos com arquivos de áudio em Comando guia.

Otimizações de contexto longo

A otimização principal ao trabalhar com contexto longo e o Gemini 1.5 modelos é usar contexto armazenamento em cache. Além do anterior impossibilidade de processar muitos tokens em uma única solicitação, o outro restrição foi o custo. Se você tiver uma conversa "com seus dados" em que um usuário carrega 10 PDFs, um vídeo e alguns documentos de trabalho que, historicamente, você teria para trabalhar com uma ferramenta de geração aumentada de recuperação (RAG) mais complexa / estrutural para processar essas solicitações e pagar um valor significativo por foram movidos para a janela de contexto. Agora, é possível armazenar em cache os arquivos que o usuário uploads e pagar para armazená-los por hora. O custo de entrada / saída por solicitação ao Gemini 1.5 Flash, por exemplo, é cerca de quatro vezes menor que o custo padrão de entrada / saída. Portanto, se o usuário conversa com os dados o suficiente, isso representa uma grande economia para você, pois pelo desenvolvedor.

Limitações de contexto longo

Em várias seções deste guia, falamos sobre como os modelos Gemini 1.5 alcançam alto desempenho em várias avaliações de recuperação "agulha no palheiro". Esses os testes consideram a configuração mais básica, em que você tem apenas uma agulha. o que você está procurando. Nos casos em que há várias "agulhas" ou partes específicas de informações que você está procurando, o modelo não funciona com a mesma precisão. O desempenho pode variar bastante, dependendo do contexto. Isso é importante considerar, pois há uma compensação inerente entre obter as informações corretas são recuperadas e custam. É possível conseguir cerca de 99% em uma única consulta, você precisa pagar o custo do token de entrada sempre que enviar essa consulta. Então, para 100 informações a serem recuperadas. Se você precisasse de 99% de desempenho, provavelmente vai precisar enviar 100 solicitações. Este é um bom exemplo de quando o contexto o armazenamento em cache pode reduzir significativamente o custo associado ao uso de modelos do Gemini mantendo o alto desempenho.

Perguntas frequentes

O desempenho do modelo é perdido quando adiciono mais tokens a uma consulta?

Geralmente, se você não precisa que tokens sejam passados para o modelo, é melhor evitar ultrapassá-las. No entanto, se você tiver um grande bloco de tokens com alguns e quiser fazer perguntas sobre elas, o modelo capaz de extrair essas informações (até 99% de precisão em muitas casos de uso diferentes.

Qual é o desempenho do Gemini 1.5 Pro no teste padrão "agulha no palheiro"?

O Gemini 1.5 Pro alcança 100% de recall até 530 mil tokens e mais de 99,7% de recall até 530 mil tokens 1 milhão tokens.

Como posso reduzir o custo com consultas de contexto longo?

Se você tiver um conjunto semelhante de tokens / contexto que queira reutilizar muitos vezes, o armazenamento em cache de contexto pode ajudar a reduzir os custos associadas a fazer perguntas sobre essas informações.

Como faço para ter acesso à janela de contexto de dois milhões de tokens?

Agora todos os desenvolvedores têm acesso à janela de contexto de dois milhões de tokens com o Gemini 1.5 pro

O tamanho do contexto afeta a latência do modelo?

Há uma quantidade fixa de latência em qualquer solicitação, independentemente tamanho, mas consultas mais longas têm latência maior (tempo inicial token).

Os recursos de contexto longo são diferentes no Gemini 1.5 Flash e no Gemini 1.5 Pro?

Sim, alguns dos números foram mencionados em seções diferentes deste guia, geralmente o Gemini 1.5 Pro tem melhor desempenho na maioria dos casos de uso de contexto longos.