Rafhael Oliveira · IA

Token não mede trabalho entregue. E entre duas pessoas, não mede a mesma coisa

Uma coluna do UOL diz que "token" virou sete coisas e nenhuma delas mede trabalho. Fui medir na bancada: a mesma frase custa 1,89 vez mais em português. A régua não é neutra nem entre dois idiomas.

6 min de leitura

Caiu aqui pelo LinkedIn? Esta é a coluna. Não é curso nem experimento. É a parte pessoal: uma ideia que está circulando, lida com o vocabulário do curso e conferida na bancada quando dá para conferir.

"Token" não mede trabalho entregue. E, entre duas pessoas, também não mede a mesma coisa. Aline Sordili escreveu na coluna de economia do UOL que a palavra token já cobre pelo menos sete objetos diferentes — unidade de processamento, unidade de cobrança de API, crédito promocional, subsídio, benefício corporativo, programa de fidelidade e instrumento transferível — e que quem mede consumo e chama o resultado de produtividade está medindo atividade do sistema, não benefício do processo. Ela está certa, e o problema é pior do que o texto diz. Fui até a bancada e medi: o mesmo parágrafo, com o mesmo sentido, custa 46 tokens em inglês e 87 em português no tokenizador do GPT-2. 1,89 vez mais. Ninguém trabalhou mais. A palavra "produtividade" sozinha custa 4 tokens; "productivity" custa 1.

Os três pontos

  1. O mesmo parágrafo, mesmo sentido, custa 46 tokens em inglês e 87 em português. Medido no tokenizador do GPT-2, na minha máquina. Ninguém escreveu mais, ninguém entregou mais.
  2. Não é preço nem política comercial: é a forma do vocabulário. O merges.txt do GPT-2 foi construído a partir de páginas em inglês, então "produtividade" se parte em ' prod' + 'ut' + 'ivid' + 'ade', e "productivity" é um token só.
  3. É por isso que "token" precisa de glossário antes de virar indicador. A mesma palavra já era credencial de login, unidade de compilador e ativo de blockchain — e nenhum desses sentidos deixou de valer.

O que a coluna diz

Aline Sordili publicou hoje, na editoria de economia do UOL, uma coluna com um título que é a tese inteira: a palavra token já tem sete significados, mas nenhum mede trabalho entregue.

Os sete que ela lista: as unidades de representação que o modelo manipula no processamento; as unidades de cobrança de API, com preços diferentes para entrada, saída e reaproveitamento de contexto; créditos promocionais; subsídios públicos ou privados; benefícios corporativos distribuídos internamente; programas de fidelidade; e instrumentos transferíveis, com função econômica mais ampla.

A partir daí ela descreve dois comportamentos que já ganharam nome: tokenmaxxing, maximizar deliberadamente o consumo como sinal de adesão à IA, e tokenminning, o movimento oposto, cortar consumo para disciplinar despesa. O argumento dela é que os dois são ruins pelo mesmo motivo. Quando uma medida vira objetivo, as pessoas otimizam a medida — vale para token como valeu para pageview, para ligação atendida e para linha de código.

Concordo com a tese. O que quero acrescentar é uma coisa que só aparece quando se abre o tokenizador: mesmo no primeiro dos sete sentidos, o mais técnico de todos, o token já não mede a mesma coisa para duas pessoas diferentes.

O que eu medi

Peguei um parágrafo com o sentido da própria coluna e escrevi as duas versões, inglês e português, dizendo a mesma coisa. Passei os dois pelo tokenizador do GPT-2, que é o que o curso desmonta.

O mesmo conteúdo custa 1,89 vez mais em português. Palavra por palavra fica mais nítido ainda: 'productivity' é um token, 'produtividade' são quatro; 'work' é um, 'trabalho' são três; 'delivered' é um, 'entregue' são três. Até 'não' custa dois, e 'ação' custa três.

Se a régua é o token, duas pessoas fazendo o mesmo trabalho, com a mesma qualidade, no mesmo tempo, produzem números que diferem em quase o dobro — e a única diferença é o idioma em que cada uma escreve.

Mesmo parágrafoTokensPalavrasPor palavra
Inglês46421,10
Português87412,12
Diferença+89%—1,89×
Ninguém escreveu mais. Ninguém entregou mais. O número dobrou porque a frase estava em português.

Por que acontece, e por que não é preço

Isso não é decisão comercial de ninguém, e não se resolve com desconto. É a forma do vocabulário.

O tokenizador do GPT-2 usa BPE: ele começa dos 256 bytes possíveis e vai fundindo o par de pedaços mais frequente no corpus, 50 mil vezes, até formar um vocabulário de 50.257 entradas. O que fica guardado é uma lista ordenada de fusões, o merges.txt, e essa lista é um retrato estatístico do texto que ele viu no treino.

O corpus do GPT-2 foi o WebText: 8 milhões de páginas de internet, coletadas de links votados no Reddit, majoritariamente em inglês. Então as fusões úteis para o inglês foram aprendidas, e as do português, em boa parte, não. 'produtividade' não é uma peça; é quatro peças remontadas na hora.

A consequência não é só de preço: é de memória, de tempo e de contexto. Um texto em português ocupa quase o dobro das posições, e a atenção custa o quadrado do número de posições. Metade do contexto útil, pelo mesmo texto.

O que isso muda no argumento dela

A coluna diz que a comparação honesta é com outras unidades de infraestrutura: chamada de API, hora de CPU ou GPU, crédito de nuvem — e que nem essas são intercambiáveis, porque cada uma mede um aspecto do serviço. Isso é exatamente certo.

O que eu acrescento é que o token não é sequer uma unidade estável dentro do próprio sentido técnico. Hora de GPU é uma hora para todo mundo. Token não é um token para todo mundo: depende do idioma, e depende de qual tokenizador o modelo usa. GPT-1 tem 40.478 entradas, GPT-2 tem 50.257, RoBERTa tem 50.265, e os IDs não têm relação nenhuma entre si.

Ou seja: antes de chegar na crítica boa — de que consumo não é entrega — já existe um problema anterior, de que consumo não é nem consumo comparável.

Isso não enfraquece a tese dela. Fortalece. Se a métrica já é instável no nível mais técnico e mais bem definido dos sete sentidos, usá-la como indicador de produtividade em um painel corporativo é ainda menos defensável do que parecia.

A parte pessoal

Escrevo um curso que desmonta o GPT-2 linha a linha, e um leitor me apontou, com razão, uma falha: eu usava token, camada, modelo e máscara como se a inteligência artificial fosse dona dessas palavras. Não é. Token já era a unidade que um compilador separa ao ler código, a credencial que um servidor emite depois do login, e o ativo registrado num contrato de blockchain. Nenhum desses sentidos deixou de valer.

Por causa disso o curso ganhou um glossário: 36 termos, cada um com o sentido em aprendizado de máquina, os sentidos que a mesma palavra tem no resto da TI, e os capítulos onde aparece.

A coluna da Aline chega ao mesmo lugar por outro caminho — pela economia, não pela engenharia — e conta mais três sentidos que eu não tinha: crédito promocional, subsídio e benefício corporativo. Ficam anotados.

É por isso que vale a pena escrever essas duas coisas juntas. Quem lê a palavra de dentro do modelo e quem lê de dentro do orçamento estão descobrindo o mesmo problema: a palavra virou grande demais para ser um número.

GPT-1 e GPT-2, desmontadosAntevisão · Latent Rehearsal

Rafhael Oliveira
Rafhael Oliveira

Escreve o curso do GPT-2 e conduz o experimento Antevisão, medindo cada rodada antes de publicar o número. Os posts no LinkedIn começam aqui e terminam nas apostilas.

Seguir no LinkedIn →