Transducing Language Models

Este artigo apresenta um quadro teórico e algoritmos para transformar modelos de linguagem pré-treinados em novos modelos funcionais através da composição com transdutores de estado finito, permitindo a adaptação de inferência para diferentes formatos de saída (como bytes, palavras ou aminoácidos) sem alterar os parâmetros do modelo original.

Vésteinn Snæbjarnarson, Samuel Kiegeland, Tianyu Liu, Reda Boumasmoud, Ryan Cotterell, Tim Vieira

Publicado 2026-03-06
📖 5 min de leitura🧠 Leitura aprofundada

Each language version is independently generated for its own context, not a direct translation.

Imagine que você tem um chef de cozinha de elite (o Modelo de Linguagem) que é especialista em cozinhar apenas com ingredientes pré-embalados (tokens ou subpalavras). Ele sabe exatamente como combinar esses pacotes para criar pratos deliciosos.

O problema é que, às vezes, o cliente (a aplicação final) não quer o prato servido em pacotes. O cliente quer o prato desembrulhado, em gramas exatas (bytes), ou talvez ele queira o prato cortado em fatias de palavras específicas, ou até mesmo transformado em um ingrediente totalmente diferente, como transformar DNA em proteínas.

Até agora, a solução era: "Ok, o chef faz o prato, e depois a gente pega uma tesoura e tenta cortar os pacotes manualmente para servir ao cliente." Isso funciona, mas é bagunçado, lento e você perde informações sobre o sabor original (a probabilidade) durante o corte.

Este artigo apresenta uma nova abordagem: o "Tradutor Mágico" (Transdutor).

A Ideia Central: O Tradutor Mágico

Em vez de cortar o prato depois de pronto, o autores propõem colocar um tradutor automático entre o chef e o cliente.

  1. O Chef (Modelo de Linguagem): Continua fazendo o que faz de melhor: gerando sequências de seus "pacotes" favoritos.
  2. O Tradutor (Transdutor de Estado Finito): É uma máquina simples, como um túnel de controle ou um filtro de peneira. Ele pega cada pacote que sai do chef e o transforma instantaneamente no formato que o cliente pediu.
    • Se o cliente quer bytes, o tradutor desembrulha cada pacote.
    • Se o cliente quer palavras, o tradutor cola os pacotes juntos e coloca um espaço no lugar certo.
    • Se o cliente quer proteínas, o tradutor pega 3 letras de DNA e as transforma em 1 aminoácido.

O Grande Desafio: O "Efeito Borboleta" da Probabilidade

Aqui está a parte difícil (e genial da solução):

Quando o tradutor muda o formato, uma única palavra do cliente pode ter sido criada por milhões de combinações diferentes de pacotes do chef.

  • Exemplo: A palavra "hello" pode vir de um único pacote, ou de "he" + "ll" + "o", ou "h" + "e" + "l" + "l" + "o".
  • Para saber a probabilidade real de "hello", você teria que somar a chance de todas essas combinações. Fazer isso manualmente seria como tentar contar cada gota de chuva em uma tempestade: impossível e demorado.

O papel resolve isso criando um mapa de rotas. Eles desenvolveram algoritmos que, em vez de contar gota por gota, olham para o túnel inteiro e dizem: "Ok, todas as rotas que passam por aqui terminam em 'hello', então vamos somar a probabilidade de todo esse grupo de uma só vez".

As Analogias do Papel

  1. O Tradutor como um "Filtro de Café":
    Imagine que o modelo de linguagem é a água fervendo com pó de café (os tokens). O cliente quer o café coado (as palavras). O tradutor é o filtro. O algoritmo do papel não tenta ver cada grão de café individualmente; ele calcula o fluxo total de café que passa pelo filtro para saber exatamente o quanto de café vai na xícara.

  2. A "Decomposição" (Quociente e Resto):
    O papel divide o problema em duas partes para facilitar a matemática:

    • O Quociente (A Parte Fácil): São os casos onde, não importa o que o chef faça depois, o resultado final será o que queremos. É como se o tradutor já tivesse certeza: "Se o chef começar com 'A', o cliente vai receber 'B', ponto final".
    • O Resto (A Parte Difícil): São os casos onde o chef precisa fazer algo específico para o tradutor funcionar. É como um "caminho de volta" onde precisamos olhar com mais cuidado.
    • O algoritmo é inteligente: ele foca nos caminhos mais prováveis e ignora os que têm chance zero, economizando tempo.
  3. DNA para Proteínas (A Tradução Biológica):
    Imagine que o DNA é um código de 4 letras (A, C, G, T) e as proteínas são um código de 20 letras. O tradutor pega 3 letras de DNA e as transforma em 1 letra de proteína. O papel mostra como calcular a chance de uma proteína específica aparecer, somando todas as combinações de DNA que poderiam gerar aquela proteína, sem precisar re-treinar o modelo de DNA do zero.

Por que isso é importante?

  • Sem Re-treinamento: Você não precisa ensinar o chef a cozinhar de novo. Você apenas muda o "prato de serviço" (o tradutor). Isso economiza milhões de dólares e tempo de computação.
  • Precisão: Você mantém a "alma" do modelo original. A probabilidade de uma palavra ser dita é calculada com base em todas as formas que ela poderia ter sido gerada, não apenas na forma mais óbvia.
  • Versatilidade: Funciona para transformar texto em bytes, corrigir erros de digitação, traduzir DNA, ou adaptar modelos para qualquer unidade que você imaginar, desde que você possa desenhar as regras do tradutor.

Resumo em uma frase

Este trabalho cria uma ponte matemática inteligente que permite pegar modelos de linguagem existentes (que falam em "subpalavras") e fazê-los falar fluentemente em "bytes", "palavras" ou "aminoácidos", calculando as probabilidades corretas sem precisar recriar o modelo do zero. É como dar um novo idioma ao seu assistente de IA sem precisar ensiná-lo a falar de novo, apenas mudando o tradutor que ele usa.