<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fulvio Jorge da Silva</title>
    <description>The latest articles on DEV Community by Fulvio Jorge da Silva (@fulviojorge).</description>
    <link>https://dev.to/fulviojorge</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4117343%2F97a411eb-c006-4ea5-9f05-3aa7c626c22d.jpg</url>
      <title>DEV Community: Fulvio Jorge da Silva</title>
      <link>https://dev.to/fulviojorge</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fulviojorge"/>
    <language>en</language>
    <item>
      <title>Next-Concept Modeling (NCM): uma nova abordagem para geração de linguagem com IA</title>
      <dc:creator>Fulvio Jorge da Silva</dc:creator>
      <pubDate>Tue, 20 Oct 2026 04:12:44 +0000</pubDate>
      <link>https://dev.to/fulviojorge/next-concept-modeling-ncm-uma-nova-abordagem-para-geracao-de-linguagem-com-ia-4e05</link>
      <guid>https://dev.to/fulviojorge/next-concept-modeling-ncm-uma-nova-abordagem-para-geracao-de-linguagem-com-ia-4e05</guid>
      <description>&lt;p&gt;&lt;strong&gt;Análise técnica — 20 de outubro de 2026&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;O &lt;strong&gt;Next-Concept Modeling (NCM)&lt;/strong&gt; é uma arquitetura de modelagem de linguagem apresentada por pesquisadores do grupo &lt;strong&gt;Hazy Research&lt;/strong&gt;, da Universidade Stanford, que propõe uma mudança importante na maneira como modelos de IA geram texto.&lt;/p&gt;

&lt;p&gt;Em vez de produzir uma palavra ou token após o outro, como fazem os LLMs autoregressivos tradicionais, o NCM constrói uma representação hierárquica da resposta, começando por uma estrutura abstrata e refinando progressivamente seus detalhes.&lt;/p&gt;

&lt;p&gt;A proposta central é:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Gerar uma representação global da resposta primeiro e refiná-la em paralelo, em vez de construir a resposta sequencialmente, token por token.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;O trabalho foi divulgado em outubro de 2026 e seus resultados iniciais são bastante relevantes para a pesquisa em modelos não autoregressivos.&lt;/p&gt;

&lt;h3&gt;
  
  
  Resultados destacados
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Indicador&lt;/th&gt;
&lt;th&gt;Resultado&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Aceleração de inferência&lt;/td&gt;
&lt;td&gt;10–31× mais rápido que baselines de difusão avaliados&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Eficiência de treinamento&lt;/td&gt;
&lt;td&gt;Aproximadamente 4–5× menos tokens que baselines específicos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Publicação&lt;/td&gt;
&lt;td&gt;Outubro de 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Organização&lt;/td&gt;
&lt;td&gt;Hazy Research — Stanford&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Licença do repositório&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Importante:&lt;/strong&gt; esses resultados não representam ganhos comprovados sobre GPT, Qwen, Llama ou outros LLMs comerciais e abertos modernos.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Entendendo o conceito
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg7ykxxtxgfzguagenhe6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg7ykxxtxgfzguagenhe6.png" alt="recoverd from https://github.com/HazyResearch/ncm/blob/main/README.md" width="800" height="238"&gt;&lt;/a&gt;&lt;br&gt;
Para compreender por que essa abordagem é interessante, precisamos distinguir três maneiras de gerar linguagem.&lt;/p&gt;
&lt;h3&gt;
  
  
  1.1. Modelo autoregressivo (AR)
&lt;/h3&gt;

&lt;p&gt;É a arquitetura utilizada pela maioria dos LLMs conhecidos.&lt;/p&gt;

&lt;p&gt;O modelo prevê o próximo token com base em tudo aquilo que já produziu.&lt;/p&gt;

&lt;p&gt;Por exemplo, ao escrever:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A inteligência artificial pode transformar a medicina.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;O modelo produz sucessivamente partes da frase até completar a saída.&lt;/p&gt;

&lt;p&gt;Cada etapa depende da anterior, embora o treinamento seja altamente paralelizável.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Características principais:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Geração sequencial de tokens.&lt;/li&gt;
&lt;li&gt;Cada novo token depende dos anteriores.&lt;/li&gt;
&lt;li&gt;Baixa capacidade de paralelização entre posições durante a geração.&lt;/li&gt;
&lt;li&gt;Arquitetura consolidada e amplamente utilizada.&lt;/li&gt;
&lt;li&gt;Ecossistema maduro de ferramentas e infraestrutura.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  1.2. Modelo de difusão (DLM)
&lt;/h3&gt;

&lt;p&gt;Os modelos de difusão aplicados à linguagem adotam uma estratégia diferente.&lt;/p&gt;

&lt;p&gt;Eles começam com representações incompletas, frequentemente mascaradas ou ruidosas, e realizam sucessivas etapas de refinamento.&lt;/p&gt;

&lt;p&gt;A vantagem é poder atualizar vários tokens simultaneamente.&lt;/p&gt;

&lt;p&gt;A desvantagem é que o processo pode exigir muitas avaliações sobre uma sequência inteira.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Características principais:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Refinamento iterativo.&lt;/li&gt;
&lt;li&gt;Possibilidade de atualizar múltiplos tokens simultaneamente.&lt;/li&gt;
&lt;li&gt;Geração não estritamente sequencial.&lt;/li&gt;
&lt;li&gt;Custo potencialmente elevado devido às múltiplas etapas de refinamento.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  1.3. Next-Concept Modeling (NCM)
&lt;/h3&gt;

&lt;p&gt;O NCM utiliza uma hierarquia de representações discretas.&lt;/p&gt;

&lt;p&gt;Nas primeiras etapas, trabalha com poucos códigos que representam aspectos gerais do texto.&lt;/p&gt;

&lt;p&gt;Nas etapas seguintes, introduz quantidades crescentes de informação até produzir a sequência final.&lt;/p&gt;

&lt;p&gt;A diferença fundamental é que o NCM utiliza uma &lt;strong&gt;hierarquia multiescala de códigos discretos&lt;/strong&gt;, prevendo todos os códigos de um nível simultaneamente e condicionando o próximo nível ao que já foi construído.&lt;/p&gt;

&lt;p&gt;Isso reduz o número de etapas sequenciais de geração sem exigir que toda a sequência textual seja refinada em cada etapa.&lt;/p&gt;
&lt;h3&gt;
  
  
  Comparação conceitual
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MODELO AUTOREGRESSIVO

Token 1 → Token 2 → Token 3 → Token 4 → Token 5
   ↓         ↓         ↓         ↓         ↓
Cada token depende da sequência anterior.


MODELO DE DIFUSÃO

[?] [?] [?] [?] [?]
         ↓
[A] [?] [C] [?] [?]
         ↓
[A] [B] [C] [?] [E]
         ↓
[A] [B] [C] [D] [E]

Refinamento iterativo da sequência.


NEXT-CONCEPT MODELING

      [Conceitos globais]
               ↓
    [Representação intermediária]
               ↓
   [Representação mais detalhada]
               ↓
       [Tokens finais]

Geração hierárquica coarse-to-fine.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Observação:&lt;/strong&gt; a expressão "conceito" no NCM não significa necessariamente um conceito semântico interpretável por humanos. Os conceitos são representações latentes discretas aprendidas pelo modelo.&lt;/p&gt;


&lt;h2&gt;
  
  
  2. Como a arquitetura funciona
&lt;/h2&gt;

&lt;p&gt;O NCM possui duas etapas principais de treinamento:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Aprendizado de representações hierárquicas com um tokenizer multiescala.&lt;/li&gt;
&lt;li&gt;Treinamento de um Transformer para gerar progressivamente os níveis da hierarquia.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Arquitetura simplificada
&lt;/h3&gt;


&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A["Texto de treinamento"] --&amp;gt; B["Tokenizer multiescala"]
    B --&amp;gt; C["VQ-VAE residual"]
    C --&amp;gt; D["Representações discretas hierárquicas"]
    D --&amp;gt; E["Transformer NCM"]
    E --&amp;gt; F["Predição de códigos por nível"]
    F --&amp;gt; G["Decodificador"]
    G --&amp;gt; H["Texto final"]&lt;/code&gt;&lt;/pre&gt;


&lt;h3&gt;
  
  
  2.1. Primeira etapa: aprender representações hierárquicas
&lt;/h3&gt;

&lt;p&gt;O sistema utiliza um &lt;strong&gt;Multiscale Residual Vector Quantized Variational Autoencoder&lt;/strong&gt;, uma variante de VQ-VAE.&lt;/p&gt;

&lt;p&gt;Sua função é comprimir e reconstruir texto usando representações discretas em diferentes escalas.&lt;/p&gt;

&lt;p&gt;Os autores empregam técnicas como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Codebooks específicos para cada nível:&lt;/strong&gt; diferentes conjuntos de códigos discretos representam informações em escalas distintas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nested dropout:&lt;/strong&gt; incentiva os primeiros níveis a carregar informações úteis sem depender integralmente dos posteriores.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reconstrução em nível de token:&lt;/strong&gt; auxilia a recuperação correta do texto original.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O resultado é uma estrutura hierárquica de representações latentes.&lt;/p&gt;

&lt;p&gt;Um exemplo simplificado:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Nível 1:
[Representação global]

Nível 2:
[Conceito A] [Conceito B]

Nível 3:
[Detalhe A1] [Detalhe A2] [Detalhe B1] [Detalhe B2]

Nível 4:
[Representações detalhadas dos tokens]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Essa estrutura não deve ser confundida com uma ontologia explícita ou uma árvore de conceitos produzida por um modelo de linguagem convencional.&lt;/p&gt;

&lt;p&gt;Os códigos são aprendidos matematicamente e não possuem necessariamente nomes ou significados diretamente interpretáveis.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.2. Segunda etapa: aprender a geração hierárquica
&lt;/h3&gt;

&lt;p&gt;Depois de treinar o tokenizer, ele é congelado.&lt;/p&gt;

&lt;p&gt;Um Transformer é treinado para gerar os diferentes níveis de representação.&lt;/p&gt;

&lt;p&gt;Durante a inferência:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;O modelo gera os códigos do primeiro nível.&lt;/li&gt;
&lt;li&gt;Usa o resultado acumulado para condicionar a previsão do próximo nível.&lt;/li&gt;
&lt;li&gt;Repete o procedimento até completar a hierarquia.&lt;/li&gt;
&lt;li&gt;Decodifica os códigos resultantes para recuperar o texto.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;O número de passos sequenciais acompanha o número de níveis, não diretamente o número de tokens da saída.&lt;/p&gt;

&lt;p&gt;O método continua tendo dependências sequenciais &lt;strong&gt;entre níveis&lt;/strong&gt;, mas permite paralelismo &lt;strong&gt;dentro de cada nível&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. História e evolução do Next-Concept Modeling
&lt;/h2&gt;

&lt;p&gt;O NCM é uma proposta recente, mas se apoia em várias décadas de pesquisa em representação de dados, geração de linguagem e aprendizado hierárquico.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.1. Décadas de 1980–2010 — Modelagem hierárquica e representações latentes
&lt;/h3&gt;

&lt;p&gt;A pesquisa em modelos probabilísticos, autoencoders e representação distribuída estabelece fundamentos para compactar informações e trabalhar com diferentes níveis de abstração.&lt;/p&gt;

&lt;p&gt;Esses estudos contribuíram para técnicas modernas de representação aprendida.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.2. 2017 — Transformer
&lt;/h3&gt;

&lt;p&gt;A arquitetura Transformer é apresentada no artigo &lt;em&gt;Attention Is All You Need&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;A atenção permite processar sequências de maneira altamente paralelizável durante o treinamento.&lt;/p&gt;

&lt;p&gt;O Transformer torna-se a base de inúmeros modelos generativos, incluindo os componentes utilizados pelo NCM.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.3. 2017–2023 — VQ-VAE e modelos não autoregressivos
&lt;/h3&gt;

&lt;p&gt;A quantização vetorial permite aprender códigos discretos de representações complexas.&lt;/p&gt;

&lt;p&gt;Paralelamente, avançam:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modelos de tradução não autoregressivos.&lt;/li&gt;
&lt;li&gt;Modelos generativos baseados em difusão.&lt;/li&gt;
&lt;li&gt;Modelos de difusão aplicados a sequências discretas.&lt;/li&gt;
&lt;li&gt;Representações hierárquicas de dados.&lt;/li&gt;
&lt;li&gt;Técnicas de compressão e reconstrução com autoencoders.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3.4. 2024 — Visual Autoregressive Modeling (VAR)
&lt;/h3&gt;

&lt;p&gt;Um marco especialmente importante.&lt;/p&gt;

&lt;p&gt;O &lt;strong&gt;Visual Autoregressive Modeling (VAR)&lt;/strong&gt; demonstra a geração de imagens por previsão da próxima escala de resolução (&lt;em&gt;next-scale prediction&lt;/em&gt;), em vez de prever pixels ou tokens visuais sequencialmente.&lt;/p&gt;

&lt;p&gt;Essa é uma inspiração técnica direta declarada pelos autores do NCM.&lt;/p&gt;

&lt;p&gt;A abordagem transforma a geração de imagens em um processo hierárquico de refinamento.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Referência:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2404.02905" rel="noopener noreferrer"&gt;https://arxiv.org/abs/2404.02905&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.5. 2025–2026 — Busca por geração textual paralela mais eficiente
&lt;/h3&gt;

&lt;p&gt;Os modelos de difusão para linguagem demonstram alternativas à geração estritamente token a token.&lt;/p&gt;

&lt;p&gt;Entretanto, permanecem desafios relacionados a:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Alto custo de refinamento iterativo.&lt;/li&gt;
&lt;li&gt;Número elevado de etapas de inferência.&lt;/li&gt;
&lt;li&gt;Qualidade de geração com poucos passos.&lt;/li&gt;
&lt;li&gt;Eficiência computacional.&lt;/li&gt;
&lt;li&gt;Consistência global do texto.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Esses desafios ajudam a contextualizar a proposta NCM.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.6. 9 de outubro de 2026 — Publicação do NCM
&lt;/h3&gt;

&lt;p&gt;Hermann Kumbong, Ishan S. Khare e colaboradores apresentam o artigo:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next-Concept Modeling: Fast, Parallel Coarse-to-Fine Text Generation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ArXiv:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2610.14162" rel="noopener noreferrer"&gt;https://arxiv.org/abs/2610.14162&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.7. 12 de outubro de 2026 — Divulgação pelo Hazy Research
&lt;/h3&gt;

&lt;p&gt;A equipe publica uma explicação detalhada da abordagem, experimentos de inferência e treinamento, checkpoints de modelos e implementação aberta sob licença MIT.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Referências:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hazyresearch.stanford.edu/blog/2026-10-12-ncm" rel="noopener noreferrer"&gt;https://hazyresearch.stanford.edu/blog/2026-10-12-ncm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/HazyResearch/ncm" rel="noopener noreferrer"&gt;https://github.com/HazyResearch/ncm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3.8. A importância histórica
&lt;/h3&gt;

&lt;p&gt;O ponto histórico importante é que o NCM transporta a ideia de geração multiescala, já explorada em imagens, para o domínio textual.&lt;/p&gt;

&lt;p&gt;Essa adaptação não é trivial.&lt;/p&gt;

&lt;p&gt;Diferentemente de imagens, pequenas alterações em textos podem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mudar completamente seu significado.&lt;/li&gt;
&lt;li&gt;Introduzir erros sintáticos.&lt;/li&gt;
&lt;li&gt;Criar contradições.&lt;/li&gt;
&lt;li&gt;Violar restrições de uma tarefa.&lt;/li&gt;
&lt;li&gt;Comprometer informações estruturadas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Por isso, os mecanismos de reconstrução textual e aprendizado de códigos em diferentes escalas são peças centrais da proposta.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Resultados dos experimentos
&lt;/h2&gt;

&lt;p&gt;Os pesquisadores avaliaram:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Geração não condicionada.&lt;/li&gt;
&lt;li&gt;Tradução.&lt;/li&gt;
&lt;li&gt;Sumarização.&lt;/li&gt;
&lt;li&gt;Raciocínio.&lt;/li&gt;
&lt;li&gt;Escalabilidade.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4.1. Aceleração de inferência
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dataset&lt;/th&gt;
&lt;th&gt;Aceleração reportada&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OpenWebText&lt;/td&gt;
&lt;td&gt;10×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LM1B&lt;/td&gt;
&lt;td&gt;21×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;XSum&lt;/td&gt;
&lt;td&gt;31×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Esses ganhos representam comparações com os melhores baselines de difusão considerados em cada tarefa.&lt;/p&gt;

&lt;p&gt;Os experimentos de desempenho foram executados em GPUs NVIDIA H100 SXM de 80 GB.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.2. Qualidade de geração
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Experimento&lt;/th&gt;
&lt;th&gt;Resultado principal&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;LM1B&lt;/td&gt;
&lt;td&gt;Melhor perplexidade generativa que o baseline de difusão, com inferência 21× mais rápida&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenWebText&lt;/td&gt;
&lt;td&gt;Qualidade competitiva, com inferência 10× mais rápida&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;XSum&lt;/td&gt;
&lt;td&gt;ROUGE-L equivalente ao melhor baseline de difusão, com inferência 31× mais rápida&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WMT14 alemão–inglês&lt;/td&gt;
&lt;td&gt;Resultados competitivos de tradução, com benefício de geração rápida de múltiplos candidatos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sudoku&lt;/td&gt;
&lt;td&gt;Maior taxa de resolução que os baselines avaliados, incluindo autoregressivos, nas dificuldades testadas&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  4.3. Eficiência de treinamento
&lt;/h3&gt;

&lt;p&gt;Os experimentos incluem modelos de:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;97 milhões de parâmetros.&lt;/li&gt;
&lt;li&gt;317 milhões de parâmetros.&lt;/li&gt;
&lt;li&gt;725 milhões de parâmetros.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os ganhos de eficiência relatados em tokens de treinamento foram aproximadamente:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dataset&lt;/th&gt;
&lt;th&gt;Eficiência reportada&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;LM1B&lt;/td&gt;
&lt;td&gt;4,9×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenWebText&lt;/td&gt;
&lt;td&gt;4×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Esses números são relativos a baselines específicos, e não a todos os LLMs modernos.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.4. Interpretação dos resultados
&lt;/h3&gt;

&lt;p&gt;É importante distinguir os benchmarks apresentados de uma avaliação abrangente de capacidades de linguagem.&lt;/p&gt;

&lt;p&gt;Métricas como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Perplexidade.&lt;/li&gt;
&lt;li&gt;BLEU.&lt;/li&gt;
&lt;li&gt;ROUGE.&lt;/li&gt;
&lt;li&gt;Taxa de resolução de Sudoku.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;São úteis para avaliar tarefas específicas.&lt;/p&gt;

&lt;p&gt;Entretanto, não equivalem automaticamente a avaliações de:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Raciocínio complexo.&lt;/li&gt;
&lt;li&gt;Confiabilidade factual.&lt;/li&gt;
&lt;li&gt;Seguimento de instruções.&lt;/li&gt;
&lt;li&gt;Uso de ferramentas.&lt;/li&gt;
&lt;li&gt;Capacidade conversacional.&lt;/li&gt;
&lt;li&gt;Segurança.&lt;/li&gt;
&lt;li&gt;Robustez multilíngue.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Portanto, os resultados são promissores como demonstração de uma nova arquitetura, mas ainda não estabelecem equivalência com os melhores LLMs de uso geral.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Potencialidades da arquitetura
&lt;/h2&gt;

&lt;h3&gt;
  
  
  5.1. Inferência de baixa latência
&lt;/h3&gt;

&lt;p&gt;Reduzir a quantidade de etapas sequenciais pode beneficiar aplicações com alto volume de geração de texto.&lt;/p&gt;

&lt;p&gt;Exemplos potenciais:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chatbots de atendimento.&lt;/li&gt;
&lt;li&gt;Sumarização em tempo quase real.&lt;/li&gt;
&lt;li&gt;Geração de notificações personalizadas.&lt;/li&gt;
&lt;li&gt;Sistemas de respostas automatizadas.&lt;/li&gt;
&lt;li&gt;Produção de textos em larga escala.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Há evidência direta desse potencial nos benchmarks avaliados, embora a vantagem dependa do hardware e do comprimento da saída.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.2. Planejamento e consistência global
&lt;/h3&gt;

&lt;p&gt;A construção hierárquica pode facilitar tarefas em que a estrutura global importa antes dos detalhes locais.&lt;/p&gt;

&lt;p&gt;Em um modelo convencional, os tokens são produzidos em sequência.&lt;/p&gt;

&lt;p&gt;No NCM, a saída passa por uma hierarquia de representações.&lt;/p&gt;

&lt;p&gt;Isso abre possibilidades para investigar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Planejamento de respostas.&lt;/li&gt;
&lt;li&gt;Organização de conteúdo.&lt;/li&gt;
&lt;li&gt;Coerência entre diferentes partes do texto.&lt;/li&gt;
&lt;li&gt;Estruturação de soluções.&lt;/li&gt;
&lt;li&gt;Resolução de problemas com restrições globais.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os experimentos com Sudoku apoiam essa hipótese, mas não comprovam superioridade em raciocínio aberto ou problemas empresariais complexos.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.3. Geração de múltiplos candidatos
&lt;/h3&gt;

&lt;p&gt;Por produzir amostras rapidamente, o NCM pode gerar diversas respostas candidatas e permitir que um avaliador escolha a melhor.&lt;/p&gt;

&lt;p&gt;Os autores já exploram esse princípio com &lt;strong&gt;Minimum Bayes Risk Decoding (MBR)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Uma possível arquitetura:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A["Entrada"] --&amp;gt; B["NCM"]
    B --&amp;gt; C1["Candidato 1"]
    B --&amp;gt; C2["Candidato 2"]
    B --&amp;gt; C3["Candidato 3"]
    C1 --&amp;gt; D["Avaliador / Ranking"]
    C2 --&amp;gt; D
    C3 --&amp;gt; D
    D --&amp;gt; E["Melhor resposta"]&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Essa abordagem pode ser especialmente interessante em ambientes nos quais a qualidade da resposta pode ser avaliada por critérios explícitos.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.4. Computação adaptativa
&lt;/h3&gt;

&lt;p&gt;Uma evolução futura seria permitir que respostas simples exigissem menos níveis de refinamento que respostas complexas.&lt;/p&gt;

&lt;p&gt;Por exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Pergunta simples:
    Nível 1 → Nível 2 → Resposta

Pergunta complexa:
    Nível 1 → Nível 2 → Nível 3 → Nível 4 → Resposta
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Essa possibilidade é apontada pelos pesquisadores, mas não é uma capacidade comprovada do sistema atual.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.5. Eficiência de infraestrutura
&lt;/h3&gt;

&lt;p&gt;Uma arquitetura que exija menos avaliações sequenciais pode trazer ganhos de:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Throughput.&lt;/li&gt;
&lt;li&gt;Latência.&lt;/li&gt;
&lt;li&gt;Custo por saída.&lt;/li&gt;
&lt;li&gt;Utilização de aceleradores.&lt;/li&gt;
&lt;li&gt;Eficiência operacional em aplicações de alto volume.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Entretanto, isso não significa automaticamente:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Menor consumo de VRAM.&lt;/li&gt;
&lt;li&gt;Melhor desempenho em CPU.&lt;/li&gt;
&lt;li&gt;Menor custo energético em todas as configurações.&lt;/li&gt;
&lt;li&gt;Superioridade sobre arquiteturas otimizadas de inferência autoregressiva.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Essas vantagens precisam ser demonstradas experimentalmente.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Comparação com outras arquiteturas
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Característica&lt;/th&gt;
&lt;th&gt;LLM autoregressivo&lt;/th&gt;
&lt;th&gt;Diffusion LM&lt;/th&gt;
&lt;th&gt;NCM&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Unidade de geração&lt;/td&gt;
&lt;td&gt;Próximo token&lt;/td&gt;
&lt;td&gt;Refinamento de sequência&lt;/td&gt;
&lt;td&gt;Próximo nível de códigos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Paralelismo na geração&lt;/td&gt;
&lt;td&gt;Limitado entre tokens&lt;/td&gt;
&lt;td&gt;Alto por etapa&lt;/td&gt;
&lt;td&gt;Alto dentro de cada nível&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Planejamento global&lt;/td&gt;
&lt;td&gt;Aprendido implicitamente&lt;/td&gt;
&lt;td&gt;Refinamento global possível&lt;/td&gt;
&lt;td&gt;Estrutura hierárquica explícita&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Número de etapas&lt;/td&gt;
&lt;td&gt;Proporcional à saída&lt;/td&gt;
&lt;td&gt;Depende da amostragem&lt;/td&gt;
&lt;td&gt;Depende da hierarquia&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maturidade&lt;/td&gt;
&lt;td&gt;Alta&lt;/td&gt;
&lt;td&gt;Pesquisa e aplicações emergentes&lt;/td&gt;
&lt;td&gt;Pesquisa inicial&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ecossistema&lt;/td&gt;
&lt;td&gt;Muito amplo&lt;/td&gt;
&lt;td&gt;Em desenvolvimento&lt;/td&gt;
&lt;td&gt;Ainda limitado&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Modelos de propósito geral&lt;/td&gt;
&lt;td&gt;Amplamente disponíveis&lt;/td&gt;
&lt;td&gt;Alguns disponíveis&lt;/td&gt;
&lt;td&gt;Não demonstrados no repositório&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Observação técnica
&lt;/h3&gt;

&lt;p&gt;O NCM pode ser descrito como um modelo:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Autoregressivo entre níveis, mas não autoregressivo entre posições de um mesmo nível.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sua contribuição não é eliminar toda dependência sequencial, mas mudar a granularidade dessa dependência.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Aplicações potenciais em agentes de IA e sistemas empresariais
&lt;/h2&gt;

&lt;p&gt;Considerando arquiteturas de agentes com classificação de objetivos, workflows, RAG e geração de respostas, existem possibilidades interessantes para a utilização do NCM.&lt;/p&gt;

&lt;h3&gt;
  
  
  7.1. Agentes conversacionais de alta escala
&lt;/h3&gt;

&lt;p&gt;Um NCM treinado para geração condicionada poderia produzir mensagens rapidamente, particularmente respostas padronizadas ou resumos.&lt;/p&gt;

&lt;p&gt;Possíveis cenários:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Atendimento ao cliente.&lt;/li&gt;
&lt;li&gt;Suporte técnico.&lt;/li&gt;
&lt;li&gt;Assistentes empresariais.&lt;/li&gt;
&lt;li&gt;Automação de mensagens.&lt;/li&gt;
&lt;li&gt;Respostas baseadas em contexto estruturado.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contudo, ainda precisaria de integração com ferramentas, gestão de contexto e controles de segurança.&lt;/p&gt;

&lt;h3&gt;
  
  
  7.2. Sumarização de documentos
&lt;/h3&gt;

&lt;p&gt;Esse é um candidato mais imediato, porque o trabalho já inclui experimentos no dataset XSum.&lt;/p&gt;

&lt;p&gt;A arquitetura poderia ser estudada para:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resumos de atendimentos.&lt;/li&gt;
&lt;li&gt;Documentos empresariais.&lt;/li&gt;
&lt;li&gt;Registros operacionais.&lt;/li&gt;
&lt;li&gt;Histórico de interações.&lt;/li&gt;
&lt;li&gt;Documentos de processos.&lt;/li&gt;
&lt;li&gt;Informações recuperadas por RAG.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Uma arquitetura possível:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A["Documentos"] --&amp;gt; B["Extração e preparação"]
    B --&amp;gt; C["Contexto condicionado"]
    C --&amp;gt; D["NCM para sumarização"]
    D --&amp;gt; E["Validação factual"]
    E --&amp;gt; F["Resumo final"]&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  7.3. Planejamento estruturado de ações
&lt;/h3&gt;

&lt;p&gt;O refinamento hierárquico poderia inspirar modelos que produzissem primeiro uma estrutura global de plano e depois seus detalhes operacionais.&lt;/p&gt;

&lt;p&gt;Exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Objetivo:
Resolver uma solicitação de atendimento.

Nível conceitual:
Identificar → Consultar → Validar → Responder

Nível operacional:
1. Identificar o cliente.
2. Consultar os dados necessários.
3. Verificar regras de negócio.
4. Produzir uma resposta.

Nível de execução:
Chamadas de ferramentas e ações específicas.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Essa possibilidade exigiria novas representações, datasets e testes.&lt;/p&gt;

&lt;p&gt;O NCM atual não é um planejador de agentes pronto para produção.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. Arquitetura híbrida com NCM
&lt;/h2&gt;

&lt;p&gt;Uma linha de experimentação interessante seria combinar:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Um classificador especializado.&lt;/li&gt;
&lt;li&gt;Um mecanismo de recuperação de contexto.&lt;/li&gt;
&lt;li&gt;Um modelo NCM.&lt;/li&gt;
&lt;li&gt;Um validador independente.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Diagrama proposto
&lt;/h3&gt;



&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A["Mensagem do usuário"]
    B["Classificador de intenção / Goal"]
    C["RAG + Ferramentas + Dados empresariais"]
    D["NCM especializado"]
    E["Validação, Ranking e Guardrails"]
    F["Resposta selecionada"]

    A --&amp;gt; B
    B --&amp;gt; C
    C --&amp;gt; D
    D --&amp;gt; E
    E --&amp;gt; F&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  Responsabilidades dos componentes
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Classificador de intenção / Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Identifica:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intenção do usuário.&lt;/li&gt;
&lt;li&gt;Objetivo da interação.&lt;/li&gt;
&lt;li&gt;Categoria de solicitação.&lt;/li&gt;
&lt;li&gt;Rota de execução.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;RAG e ferramentas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fornecem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Informações externas.&lt;/li&gt;
&lt;li&gt;Documentos.&lt;/li&gt;
&lt;li&gt;Resultados de consultas.&lt;/li&gt;
&lt;li&gt;Regras de negócio.&lt;/li&gt;
&lt;li&gt;Dados empresariais.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;NCM especializado&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gera candidatos de resposta condicionados ao contexto recebido.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validação, ranking e guardrails&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Executam:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Verificação factual.&lt;/li&gt;
&lt;li&gt;Validação de políticas.&lt;/li&gt;
&lt;li&gt;Verificação de formato.&lt;/li&gt;
&lt;li&gt;Seleção da melhor resposta.&lt;/li&gt;
&lt;li&gt;Bloqueio de saídas inadequadas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Essa estratégia merece investigação porque separa três problemas diferentes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Classificação da intenção.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geração de linguagem.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Validação da resposta.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Um modelo NCM não substituiria necessariamente classificadores especializados, nem mecanismos de autorização ou de execução determinística.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Importante:&lt;/strong&gt; essa é uma arquitetura proposta para pesquisa, não uma implementação disponibilizada pelo projeto NCM.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Estado atual do projeto open source
&lt;/h2&gt;

&lt;p&gt;O repositório disponibiliza código de avaliação e checkpoints, com licença MIT.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repositório:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/HazyResearch/ncm" rel="noopener noreferrer"&gt;https://github.com/HazyResearch/ncm&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9.1. Modelos e tarefas disponíveis
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dataset&lt;/th&gt;
&lt;th&gt;Aplicação&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;TinyStories&lt;/td&gt;
&lt;td&gt;Geração de linguagem&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LM1B&lt;/td&gt;
&lt;td&gt;Modelagem de linguagem&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenWebText&lt;/td&gt;
&lt;td&gt;Geração de linguagem&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;XSum&lt;/td&gt;
&lt;td&gt;Sumarização&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WMT14 De–En&lt;/td&gt;
&lt;td&gt;Tradução alemão–inglês&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sudoku&lt;/td&gt;
&lt;td&gt;Resolução de problemas&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  9.2. Requisitos
&lt;/h3&gt;

&lt;p&gt;O README recomenda:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.10 ou superior.&lt;/li&gt;
&lt;li&gt;PyTorch.&lt;/li&gt;
&lt;li&gt;CUDA para execução acelerada.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os modelos são distribuídos como dois componentes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tokenizer.&lt;/li&gt;
&lt;li&gt;Gerador.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  9.3. Instalação
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/HazyResearch/ncm.git

&lt;span class="nb"&gt;cd &lt;/span&gt;ncm

pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9.4. Download dos checkpoints
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hf download hazyresearch/ncm-checkpoints &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--local-dir&lt;/span&gt; artifacts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9.5. Download dos datasets
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hf download hazyresearch/ncm-datasets &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--repo-type&lt;/span&gt; dataset &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--local-dir&lt;/span&gt; data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9.6. Exemplo de avaliação de sumarização
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python evaluate.py &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--config&lt;/span&gt; config/eval/xsum.yaml &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--checkpoint-dir&lt;/span&gt; artifacts/xsum &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--data-dir&lt;/span&gt; data/xsum
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esses comandos seguem as instruções oficiais, mas não foram executados neste ambiente.&lt;/p&gt;

&lt;h3&gt;
  
  
  9.7. Possibilidade de execução em hardware local
&lt;/h3&gt;

&lt;p&gt;Para um laboratório com GPUs RTX 3090, seria interessante começar pela reprodução dos testes de XSum e LM1B.&lt;/p&gt;

&lt;p&gt;Entretanto, é necessário validar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consumo de memória.&lt;/li&gt;
&lt;li&gt;Compatibilidade CUDA.&lt;/li&gt;
&lt;li&gt;Tamanho dos checkpoints.&lt;/li&gt;
&lt;li&gt;Batch size suportado.&lt;/li&gt;
&lt;li&gt;Throughput.&lt;/li&gt;
&lt;li&gt;Latência.&lt;/li&gt;
&lt;li&gt;Utilização efetiva das GPUs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os resultados oficiais de latência foram obtidos em NVIDIA H100 SXM de 80 GB.&lt;/p&gt;

&lt;p&gt;Esses números não podem ser extrapolados diretamente para GPUs de consumo.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. Limitações e questões ainda não resolvidas
&lt;/h2&gt;

&lt;p&gt;É importante distinguir o avanço conceitual de uma tecnologia já consolidada para produção.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Questão&lt;/th&gt;
&lt;th&gt;Situação em outubro de 2026&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Escalabilidade para bilhões de parâmetros&lt;/td&gt;
&lt;td&gt;Ainda não comprovada nos experimentos publicados&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vantagem sobre Llama, Qwen ou GPT&lt;/td&gt;
&lt;td&gt;Não demonstrada de maneira abrangente&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Function calling e integração MCP&lt;/td&gt;
&lt;td&gt;Não constituem funcionalidades nativas demonstradas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RAG corporativo&lt;/td&gt;
&lt;td&gt;Possibilidade de integração, ainda a validar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Geração de JSON estritamente válido&lt;/td&gt;
&lt;td&gt;Exigiria mecanismos e avaliações adicionais&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacidade multilíngue ampla, inclusive PT-BR&lt;/td&gt;
&lt;td&gt;Não estabelecida pelos resultados publicados&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Segurança e resistência a alucinações&lt;/td&gt;
&lt;td&gt;Não demonstradas como superiores&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Eficiência em CPU e hardware limitado&lt;/td&gt;
&lt;td&gt;Não comprovada&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Treinamento conjunto de tokenizer e gerador&lt;/td&gt;
&lt;td&gt;Apontado como trabalho futuro&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  10.1. Escalabilidade
&lt;/h3&gt;

&lt;p&gt;Os experimentos publicados investigam modelos relativamente pequenos quando comparados aos grandes LLMs contemporâneos.&lt;/p&gt;

&lt;p&gt;É necessário demonstrar que os benefícios observados continuam presentes em escalas maiores.&lt;/p&gt;

&lt;h3&gt;
  
  
  10.2. Qualidade de geração
&lt;/h3&gt;

&lt;p&gt;Ainda são necessárias avaliações abrangentes envolvendo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instruções complexas.&lt;/li&gt;
&lt;li&gt;Conversas longas.&lt;/li&gt;
&lt;li&gt;Raciocínio matemático.&lt;/li&gt;
&lt;li&gt;Programação.&lt;/li&gt;
&lt;li&gt;Uso de ferramentas.&lt;/li&gt;
&lt;li&gt;Contextos extensos.&lt;/li&gt;
&lt;li&gt;Multilinguismo.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  10.3. Representações semânticas
&lt;/h3&gt;

&lt;p&gt;Os códigos discretos são representações aprendidas, e não conceitos explicitamente interpretáveis.&lt;/p&gt;

&lt;p&gt;Ainda existe espaço para pesquisas sobre:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interpretabilidade.&lt;/li&gt;
&lt;li&gt;Alinhamento semântico.&lt;/li&gt;
&lt;li&gt;Estrutura das representações.&lt;/li&gt;
&lt;li&gt;Relações entre níveis.&lt;/li&gt;
&lt;li&gt;Controle da geração.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  10.4. Computação adaptativa
&lt;/h3&gt;

&lt;p&gt;Uma das possibilidades futuras é variar dinamicamente a quantidade de refinamento conforme a dificuldade da tarefa.&lt;/p&gt;

&lt;p&gt;Entretanto, essa capacidade ainda precisa ser implementada e validada.&lt;/p&gt;

&lt;h3&gt;
  
  
  10.5. Treinamento conjunto
&lt;/h3&gt;

&lt;p&gt;Os autores apontam como linha de pesquisa a possibilidade de treinar conjuntamente o tokenizer e o gerador.&lt;/p&gt;

&lt;p&gt;Isso poderia permitir representações mais alinhadas aos objetivos de geração.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. Avaliação técnica
&lt;/h2&gt;

&lt;p&gt;A importância do Next-Concept Modeling vai além de uma possível aceleração da inferência.&lt;/p&gt;

&lt;p&gt;Ele questiona uma premissa que dominou a geração de linguagem dos LLMs modernos:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A necessidade de que a unidade fundamental de progressão da geração seja o próximo token.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A ideia de substituir essa progressão por níveis de representação é interessante por três razões.&lt;/p&gt;

&lt;h3&gt;
  
  
  11.1. Paralelismo mais eficiente
&lt;/h3&gt;

&lt;p&gt;O NCM explora paralelismo sem depender exclusivamente do refinamento repetitivo de uma sequência inteira, como ocorre em diversas arquiteturas de difusão.&lt;/p&gt;

&lt;p&gt;Isso pode reduzir a quantidade de operações sequenciais necessárias para gerar texto.&lt;/p&gt;

&lt;h3&gt;
  
  
  11.2. Estrutura hierárquica de geração
&lt;/h3&gt;

&lt;p&gt;A geração baseada em níveis introduz uma forma de organização que pode favorecer coerência global.&lt;/p&gt;

&lt;p&gt;Entretanto, ainda é necessário demonstrar esse benefício em tarefas abertas e complexas.&lt;/p&gt;

&lt;h3&gt;
  
  
  11.3. Distribuição adaptativa da computação
&lt;/h3&gt;

&lt;p&gt;A estrutura permite investigar algoritmos nos quais a complexidade da tarefa determina quantas etapas de refinamento são necessárias.&lt;/p&gt;

&lt;p&gt;Essa possibilidade é relevante para aplicações de IA que precisam equilibrar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Latência.&lt;/li&gt;
&lt;li&gt;Qualidade.&lt;/li&gt;
&lt;li&gt;Consumo computacional.&lt;/li&gt;
&lt;li&gt;Custo de inferência.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusão
&lt;/h3&gt;

&lt;p&gt;O &lt;strong&gt;Next-Concept Modeling é uma contribuição relevante à pesquisa em arquiteturas alternativas de geração de linguagem&lt;/strong&gt;, particularmente para velocidade de inferência e representações hierárquicas.&lt;/p&gt;

&lt;p&gt;Ainda é cedo para considerá-lo substituto direto dos Transformers autoregressivos modernos.&lt;/p&gt;

&lt;p&gt;A possibilidade mais interessante é uma futura classe de geradores compactos e rápidos, otimizados para tarefas específicas, em vez de tentar substituir imediatamente um LLM de propósito geral.&lt;/p&gt;

&lt;p&gt;Para arquiteturas empresariais de IA, o NCM merece atenção especialmente por sua potencial combinação com:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Small Language Models (SLMs).&lt;/li&gt;
&lt;li&gt;Classificadores especializados.&lt;/li&gt;
&lt;li&gt;Recuperação de informações (RAG).&lt;/li&gt;
&lt;li&gt;Guardrails.&lt;/li&gt;
&lt;li&gt;Modelos de ranking.&lt;/li&gt;
&lt;li&gt;Sistemas multiagentes.&lt;/li&gt;
&lt;li&gt;Workflows determinísticos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O principal valor pode não estar em substituir um modelo de linguagem inteiro, mas em fornecer uma nova estratégia de geração para componentes especializados de sistemas de IA.&lt;/p&gt;




&lt;h2&gt;
  
  
  12. Referências principais
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Artigo científico original
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Next-Concept Modeling: Fast, Parallel Coarse-to-Fine Text Generation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Publicado em outubro de 2026.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2610.14162" rel="noopener noreferrer"&gt;https://arxiv.org/abs/2610.14162&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Publicação oficial do Hazy Research
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Next-Concept Modeling&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;12 de outubro de 2026.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hazyresearch.stanford.edu/blog/2026-10-12-ncm" rel="noopener noreferrer"&gt;https://hazyresearch.stanford.edu/blog/2026-10-12-ncm&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Repositório GitHub
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;HazyResearch/ncm&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Código-fonte, checkpoints e documentação.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/HazyResearch/ncm" rel="noopener noreferrer"&gt;https://github.com/HazyResearch/ncm&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Trabalho precursor
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2024.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2404.02905" rel="noopener noreferrer"&gt;https://arxiv.org/abs/2404.02905&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Análise técnica elaborada em 20 de outubro de 2026, com base no artigo científico, na documentação pública e nos experimentos reportados pelos pesquisadores.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>ncm</category>
      <category>llm</category>
    </item>
    <item>
      <title>Next-Concept Modeling (NCM): A New Approach to AI Language Generation</title>
      <dc:creator>Fulvio Jorge da Silva</dc:creator>
      <pubDate>Tue, 20 Oct 2026 04:00:18 +0000</pubDate>
      <link>https://dev.to/fulviojorge/next-concept-modeling-ncm-a-new-approach-to-ai-language-generation-44gg</link>
      <guid>https://dev.to/fulviojorge/next-concept-modeling-ncm-a-new-approach-to-ai-language-generation-44gg</guid>
      <description>&lt;p&gt;&lt;strong&gt;Technical Analysis — October 20, 2026&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next-Concept Modeling (NCM)&lt;/strong&gt; is a language modeling architecture introduced by researchers from &lt;strong&gt;Hazy Research&lt;/strong&gt; at Stanford University. It proposes a significant shift in how AI models generate text.&lt;/p&gt;

&lt;p&gt;Instead of producing one word or token after another, as traditional autoregressive LLMs do, NCM constructs a hierarchical representation of the response, starting with an abstract structure and progressively refining its details.&lt;/p&gt;

&lt;p&gt;The central idea is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Generate a global representation of the response first, then refine it in parallel, rather than constructing the response sequentially, token by token.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The research was released in October 2026, and its initial results are highly relevant to the development of non-autoregressive language models.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Results
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Reported Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Inference acceleration&lt;/td&gt;
&lt;td&gt;10–31× faster than evaluated diffusion baselines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Training efficiency&lt;/td&gt;
&lt;td&gt;Approximately 4–5× fewer training tokens than specific baselines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Publication&lt;/td&gt;
&lt;td&gt;October 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Research organization&lt;/td&gt;
&lt;td&gt;Hazy Research — Stanford University&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Repository license&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; These results do not establish proven performance advantages over GPT, Qwen, Llama, or other modern commercial and open-weight LLMs.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Understanding the Concept
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg7ykxxtxgfzguagenhe6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg7ykxxtxgfzguagenhe6.png" alt="recoverd from https://github.com/HazyResearch/ncm/blob/main/README.md" width="800" height="238"&gt;&lt;/a&gt;&lt;br&gt;
To understand why this approach is interesting, we need to distinguish three different methods of language generation.&lt;/p&gt;
&lt;h3&gt;
  
  
  1.1. Autoregressive Models (AR)
&lt;/h3&gt;

&lt;p&gt;This is the architecture used by most well-known LLMs.&lt;/p&gt;

&lt;p&gt;The model predicts the next token based on everything it has already generated.&lt;/p&gt;

&lt;p&gt;For example, consider the sentence:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Artificial intelligence can transform healthcare.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The model generates the sentence progressively, producing one token after another until the output is complete.&lt;/p&gt;

&lt;p&gt;Each generation step depends on the previous tokens, even though training can be highly parallelized.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key characteristics:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sequential token generation.&lt;/li&gt;
&lt;li&gt;Each new token depends on previous tokens.&lt;/li&gt;
&lt;li&gt;Limited parallelism across token positions during inference.&lt;/li&gt;
&lt;li&gt;Well-established architecture.&lt;/li&gt;
&lt;li&gt;Mature ecosystem of tools and infrastructure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  1.2. Diffusion Language Models (DLMs)
&lt;/h3&gt;

&lt;p&gt;Diffusion-based language models use a different strategy.&lt;/p&gt;

&lt;p&gt;They begin with incomplete representations, often masked or noisy, and perform successive refinement steps.&lt;/p&gt;

&lt;p&gt;Their main advantage is the ability to update multiple tokens simultaneously.&lt;/p&gt;

&lt;p&gt;However, the process may require repeated evaluations over the entire sequence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key characteristics:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Iterative refinement.&lt;/li&gt;
&lt;li&gt;Potential to update multiple tokens simultaneously.&lt;/li&gt;
&lt;li&gt;Generation is not strictly sequential.&lt;/li&gt;
&lt;li&gt;Potentially high computational cost due to multiple refinement steps.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  1.3. Next-Concept Modeling (NCM)
&lt;/h3&gt;

&lt;p&gt;NCM uses a hierarchy of discrete representations.&lt;/p&gt;

&lt;p&gt;During the initial stages, it operates on a relatively small number of codes representing broader aspects of the text.&lt;/p&gt;

&lt;p&gt;Subsequent stages introduce progressively more information until the final token sequence can be reconstructed.&lt;/p&gt;

&lt;p&gt;The fundamental difference is that NCM uses a &lt;strong&gt;multiscale hierarchy of discrete codes&lt;/strong&gt;, predicting all codes within a given level simultaneously while conditioning each subsequent level on the representations generated so far.&lt;/p&gt;

&lt;p&gt;This reduces the number of sequential generation steps without requiring the entire text sequence to be repeatedly refined at every stage.&lt;/p&gt;
&lt;h3&gt;
  
  
  Conceptual Comparison
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AUTOREGRESSIVE MODEL

Token 1 → Token 2 → Token 3 → Token 4 → Token 5
   ↓         ↓         ↓         ↓         ↓
Each token depends on the preceding sequence.


DIFFUSION LANGUAGE MODEL

[?] [?] [?] [?] [?]
         ↓
[A] [?] [C] [?] [?]
         ↓
[A] [B] [C] [?] [E]
         ↓
[A] [B] [C] [D] [E]

Iterative refinement of the sequence.


NEXT-CONCEPT MODELING

       [Global Concepts]
               ↓
    [Intermediate Representation]
               ↓
     [More Detailed Representation]
               ↓
         [Final Tokens]

Hierarchical coarse-to-fine generation.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The term "concept" in NCM does not necessarily refer to a human-interpretable semantic concept. Concepts are learned discrete latent representations.&lt;/p&gt;


&lt;h2&gt;
  
  
  2. How the Architecture Works
&lt;/h2&gt;

&lt;p&gt;NCM involves two main training stages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Learning hierarchical representations using a multiscale tokenizer.&lt;/li&gt;
&lt;li&gt;Training a Transformer to progressively generate the levels of the hierarchy.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Simplified Architecture
&lt;/h3&gt;


&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A["Training Text"] --&amp;gt; B["Multiscale Tokenizer"]
    B --&amp;gt; C["Residual VQ-VAE"]
    C --&amp;gt; D["Hierarchical Discrete Representations"]
    D --&amp;gt; E["NCM Transformer"]
    E --&amp;gt; F["Code Prediction at Each Level"]
    F --&amp;gt; G["Decoder"]
    G --&amp;gt; H["Final Text"]&lt;/code&gt;&lt;/pre&gt;


&lt;h3&gt;
  
  
  2.1. First Stage: Learning Hierarchical Representations
&lt;/h3&gt;

&lt;p&gt;The system uses a &lt;strong&gt;Multiscale Residual Vector Quantized Variational Autoencoder&lt;/strong&gt;, a variant of VQ-VAE.&lt;/p&gt;

&lt;p&gt;Its purpose is to compress and reconstruct text using discrete representations at different scales.&lt;/p&gt;

&lt;p&gt;The researchers employ techniques such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Level-specific codebooks:&lt;/strong&gt; Different sets of discrete codes represent information at different scales.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nested dropout:&lt;/strong&gt; Encourages earlier levels to retain useful information without depending entirely on later levels.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Token-level reconstruction:&lt;/strong&gt; Helps accurately recover the original text.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result is a hierarchical structure of latent representations.&lt;/p&gt;

&lt;p&gt;A simplified example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Level 1:
[Global Representation]

Level 2:
[Concept A] [Concept B]

Level 3:
[Detail A1] [Detail A2] [Detail B1] [Detail B2]

Level 4:
[Detailed Token Representations]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This structure should not be confused with an explicit ontology or a concept tree produced by a conventional language model.&lt;/p&gt;

&lt;p&gt;The codes are learned mathematically and do not necessarily have directly interpretable names or meanings.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.2. Second Stage: Learning Hierarchical Generation
&lt;/h3&gt;

&lt;p&gt;After training the tokenizer, its parameters are frozen.&lt;/p&gt;

&lt;p&gt;A Transformer is then trained to generate the different representation levels.&lt;/p&gt;

&lt;p&gt;During inference:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The model generates the codes for the first level.&lt;/li&gt;
&lt;li&gt;It uses the accumulated representation to condition the prediction of the next level.&lt;/li&gt;
&lt;li&gt;The process continues until the hierarchy is complete.&lt;/li&gt;
&lt;li&gt;The resulting codes are decoded to reconstruct the final text.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The number of sequential steps follows the number of levels rather than directly following the number of output tokens.&lt;/p&gt;

&lt;p&gt;The method still has sequential dependencies &lt;strong&gt;between levels&lt;/strong&gt;, but allows parallelism &lt;strong&gt;within each level&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. History and Evolution of Next-Concept Modeling
&lt;/h2&gt;

&lt;p&gt;NCM is a recent proposal, but it builds on several decades of research in data representation, language generation, and hierarchical learning.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.1. 1980s–2010s — Hierarchical Modeling and Latent Representations
&lt;/h3&gt;

&lt;p&gt;Research into probabilistic models, autoencoders, and distributed representations established the foundations for compressing information and working with different levels of abstraction.&lt;/p&gt;

&lt;p&gt;These developments contributed to modern techniques for learning useful data representations.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.2. 2017 — The Transformer Architecture
&lt;/h3&gt;

&lt;p&gt;The Transformer architecture was introduced in the paper &lt;em&gt;Attention Is All You Need&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Attention mechanisms enabled highly parallelizable sequence processing during training.&lt;/p&gt;

&lt;p&gt;Transformers subsequently became the foundation for numerous generative models, including components used by NCM.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.3. 2017–2023 — VQ-VAE and Non-Autoregressive Models
&lt;/h3&gt;

&lt;p&gt;Vector quantization enabled models to learn discrete codes representing complex data.&lt;/p&gt;

&lt;p&gt;In parallel, research advanced in several areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Non-autoregressive machine translation.&lt;/li&gt;
&lt;li&gt;Diffusion-based generative models.&lt;/li&gt;
&lt;li&gt;Diffusion models for discrete sequences.&lt;/li&gt;
&lt;li&gt;Hierarchical data representations.&lt;/li&gt;
&lt;li&gt;Compression and reconstruction using autoencoders.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3.4. 2024 — Visual Autoregressive Modeling (VAR)
&lt;/h3&gt;

&lt;p&gt;A particularly important milestone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Visual Autoregressive Modeling (VAR)&lt;/strong&gt; demonstrated image generation through &lt;em&gt;next-scale prediction&lt;/em&gt;, rather than sequentially predicting individual pixels or visual tokens.&lt;/p&gt;

&lt;p&gt;This is a direct technical inspiration acknowledged by the NCM researchers.&lt;/p&gt;

&lt;p&gt;The approach transforms image generation into a hierarchical refinement process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2404.02905" rel="noopener noreferrer"&gt;https://arxiv.org/abs/2404.02905&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.5. 2025–2026 — The Search for More Efficient Parallel Text Generation
&lt;/h3&gt;

&lt;p&gt;Diffusion language models demonstrated alternatives to strictly token-by-token generation.&lt;/p&gt;

&lt;p&gt;However, several challenges remained:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High computational costs from iterative refinement.&lt;/li&gt;
&lt;li&gt;Large numbers of inference steps.&lt;/li&gt;
&lt;li&gt;Maintaining generation quality with fewer steps.&lt;/li&gt;
&lt;li&gt;Computational efficiency.&lt;/li&gt;
&lt;li&gt;Global text consistency.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These challenges help explain the motivation behind NCM.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.6. October 9, 2026 — NCM Publication
&lt;/h3&gt;

&lt;p&gt;Hermann Kumbong, Ishan S. Khare, and collaborators introduced the paper:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next-Concept Modeling: Fast, Parallel Coarse-to-Fine Text Generation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;arXiv:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2610.14162" rel="noopener noreferrer"&gt;https://arxiv.org/abs/2610.14162&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.7. October 12, 2026 — Hazy Research Announcement
&lt;/h3&gt;

&lt;p&gt;The team published a detailed explanation of the approach, inference and training experiments, model checkpoints, and an open-source implementation under the MIT license.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hazyresearch.stanford.edu/blog/2026-10-12-ncm" rel="noopener noreferrer"&gt;https://hazyresearch.stanford.edu/blog/2026-10-12-ncm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/HazyResearch/ncm" rel="noopener noreferrer"&gt;https://github.com/HazyResearch/ncm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3.8. Historical Significance
&lt;/h3&gt;

&lt;p&gt;The important historical contribution is that NCM brings multiscale generation, previously explored in image generation, into the text domain.&lt;/p&gt;

&lt;p&gt;This adaptation is not trivial.&lt;/p&gt;

&lt;p&gt;Unlike images, small changes in text can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Completely alter meaning.&lt;/li&gt;
&lt;li&gt;Introduce syntax errors.&lt;/li&gt;
&lt;li&gt;Create contradictions.&lt;/li&gt;
&lt;li&gt;Violate task requirements.&lt;/li&gt;
&lt;li&gt;Compromise structured information.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For this reason, text reconstruction mechanisms and the learning of codes at different scales are central to the NCM architecture.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Experimental Results
&lt;/h2&gt;

&lt;p&gt;The researchers evaluated:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unconditional generation.&lt;/li&gt;
&lt;li&gt;Machine translation.&lt;/li&gt;
&lt;li&gt;Summarization.&lt;/li&gt;
&lt;li&gt;Reasoning.&lt;/li&gt;
&lt;li&gt;Model scalability.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4.1. Inference Acceleration
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dataset&lt;/th&gt;
&lt;th&gt;Reported Acceleration&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OpenWebText&lt;/td&gt;
&lt;td&gt;10×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LM1B&lt;/td&gt;
&lt;td&gt;21×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;XSum&lt;/td&gt;
&lt;td&gt;31×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These improvements are measured against the strongest diffusion baselines considered for each task.&lt;/p&gt;

&lt;p&gt;The performance experiments were conducted using NVIDIA H100 SXM GPUs with 80 GB of memory.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.2. Generation Quality
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Experiment&lt;/th&gt;
&lt;th&gt;Main Finding&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;LM1B&lt;/td&gt;
&lt;td&gt;Better generative perplexity than the diffusion baseline, with 21× faster inference&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenWebText&lt;/td&gt;
&lt;td&gt;Competitive generation quality, with 10× faster inference&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;XSum&lt;/td&gt;
&lt;td&gt;ROUGE-L comparable to the strongest diffusion baseline, with 31× faster inference&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WMT14 German–English&lt;/td&gt;
&lt;td&gt;Competitive translation quality, benefiting from fast generation of multiple candidates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sudoku&lt;/td&gt;
&lt;td&gt;Higher solving rates than the evaluated baselines, including autoregressive models, at the tested difficulty levels&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  4.3. Training Efficiency
&lt;/h3&gt;

&lt;p&gt;The experiments include models with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;97 million parameters.&lt;/li&gt;
&lt;li&gt;317 million parameters.&lt;/li&gt;
&lt;li&gt;725 million parameters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reported training-token efficiency improvements were approximately:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dataset&lt;/th&gt;
&lt;th&gt;Reported Improvement&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;LM1B&lt;/td&gt;
&lt;td&gt;4.9×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenWebText&lt;/td&gt;
&lt;td&gt;4×&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These numbers are relative to specific baselines, not all modern LLMs.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.4. Interpreting the Results
&lt;/h3&gt;

&lt;p&gt;It is important to distinguish the reported benchmarks from comprehensive language capability evaluations.&lt;/p&gt;

&lt;p&gt;Metrics such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Perplexity.&lt;/li&gt;
&lt;li&gt;BLEU.&lt;/li&gt;
&lt;li&gt;ROUGE.&lt;/li&gt;
&lt;li&gt;Sudoku solving accuracy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Are useful for evaluating specific tasks.&lt;/p&gt;

&lt;p&gt;However, they do not automatically measure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complex reasoning.&lt;/li&gt;
&lt;li&gt;Factual reliability.&lt;/li&gt;
&lt;li&gt;Instruction following.&lt;/li&gt;
&lt;li&gt;Tool usage.&lt;/li&gt;
&lt;li&gt;Conversational capabilities.&lt;/li&gt;
&lt;li&gt;Safety.&lt;/li&gt;
&lt;li&gt;Multilingual robustness.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Therefore, the results are promising as a demonstration of a new architecture, but they do not yet establish parity with leading general-purpose LLMs.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Potential Applications and Capabilities
&lt;/h2&gt;

&lt;h3&gt;
  
  
  5.1. Low-Latency Inference
&lt;/h3&gt;

&lt;p&gt;Reducing the number of sequential steps could benefit applications that require high-volume text generation.&lt;/p&gt;

&lt;p&gt;Potential examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer service chatbots.&lt;/li&gt;
&lt;li&gt;Near-real-time summarization.&lt;/li&gt;
&lt;li&gt;Personalized notification generation.&lt;/li&gt;
&lt;li&gt;Automated response systems.&lt;/li&gt;
&lt;li&gt;Large-scale text production.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The reported benchmarks provide direct evidence of this potential, although the advantage depends on hardware and output length.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.2. Planning and Global Consistency
&lt;/h3&gt;

&lt;p&gt;Hierarchical generation may be useful for tasks in which the overall structure matters before local details.&lt;/p&gt;

&lt;p&gt;In a conventional autoregressive model, tokens are generated sequentially.&lt;/p&gt;

&lt;p&gt;In NCM, the output passes through a hierarchy of representations.&lt;/p&gt;

&lt;p&gt;This opens opportunities to investigate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Response planning.&lt;/li&gt;
&lt;li&gt;Content organization.&lt;/li&gt;
&lt;li&gt;Consistency across different parts of a text.&lt;/li&gt;
&lt;li&gt;Structured solution generation.&lt;/li&gt;
&lt;li&gt;Solving problems with global constraints.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Sudoku experiments support this hypothesis, but they do not prove superiority in open-ended reasoning or complex enterprise problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.3. Generating Multiple Candidates
&lt;/h3&gt;

&lt;p&gt;Because NCM can generate samples quickly, it may produce several candidate responses and allow an evaluator to select the best one.&lt;/p&gt;

&lt;p&gt;The researchers already investigate this principle using &lt;strong&gt;Minimum Bayes Risk Decoding (MBR)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A possible architecture:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A["Input"] --&amp;gt; B["NCM"]
    B --&amp;gt; C1["Candidate 1"]
    B --&amp;gt; C2["Candidate 2"]
    B --&amp;gt; C3["Candidate 3"]
    C1 --&amp;gt; D["Evaluator / Ranking"]
    C2 --&amp;gt; D
    C3 --&amp;gt; D
    D --&amp;gt; E["Best Response"]&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This approach could be particularly attractive when response quality can be assessed against explicit criteria.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.4. Adaptive Computation
&lt;/h3&gt;

&lt;p&gt;A possible future development would allow simple responses to require fewer refinement levels than complex ones.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Simple Question:
    Level 1 → Level 2 → Response

Complex Question:
    Level 1 → Level 2 → Level 3 → Level 4 → Response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The researchers identify this possibility, but it is not an established capability of the current system.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.5. Infrastructure Efficiency
&lt;/h3&gt;

&lt;p&gt;An architecture requiring fewer sequential evaluations could potentially improve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Throughput.&lt;/li&gt;
&lt;li&gt;Latency.&lt;/li&gt;
&lt;li&gt;Cost per generated output.&lt;/li&gt;
&lt;li&gt;Accelerator utilization.&lt;/li&gt;
&lt;li&gt;Operational efficiency in high-volume applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, it does not automatically imply:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lower VRAM consumption.&lt;/li&gt;
&lt;li&gt;Better CPU performance.&lt;/li&gt;
&lt;li&gt;Lower energy consumption in every configuration.&lt;/li&gt;
&lt;li&gt;Superiority over optimized autoregressive inference architectures.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These advantages require experimental validation.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Comparison with Other Architectures
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Characteristic&lt;/th&gt;
&lt;th&gt;Autoregressive LLM&lt;/th&gt;
&lt;th&gt;Diffusion LM&lt;/th&gt;
&lt;th&gt;NCM&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Generation unit&lt;/td&gt;
&lt;td&gt;Next token&lt;/td&gt;
&lt;td&gt;Sequence refinement&lt;/td&gt;
&lt;td&gt;Next level of codes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Generation parallelism&lt;/td&gt;
&lt;td&gt;Limited across tokens&lt;/td&gt;
&lt;td&gt;High within each step&lt;/td&gt;
&lt;td&gt;High within each level&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global planning&lt;/td&gt;
&lt;td&gt;Learned implicitly&lt;/td&gt;
&lt;td&gt;Global refinement is possible&lt;/td&gt;
&lt;td&gt;Explicit hierarchical structure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of steps&lt;/td&gt;
&lt;td&gt;Proportional to output length&lt;/td&gt;
&lt;td&gt;Depends on sampling strategy&lt;/td&gt;
&lt;td&gt;Depends on hierarchy depth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maturity&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Emerging research and applications&lt;/td&gt;
&lt;td&gt;Early research&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ecosystem&lt;/td&gt;
&lt;td&gt;Very broad&lt;/td&gt;
&lt;td&gt;Developing&lt;/td&gt;
&lt;td&gt;Still limited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;General-purpose models&lt;/td&gt;
&lt;td&gt;Widely available&lt;/td&gt;
&lt;td&gt;Some available&lt;/td&gt;
&lt;td&gt;Not demonstrated in the repository&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Technical Observation
&lt;/h3&gt;

&lt;p&gt;NCM can be described as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Autoregressive across levels, but non-autoregressive across positions within the same level.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Its contribution is not the elimination of all sequential dependencies, but a change in the granularity of those dependencies.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Potential Applications in AI Agents and Enterprise Systems
&lt;/h2&gt;

&lt;p&gt;Considering agent architectures with goal classification, workflows, RAG, and response generation, NCM presents several interesting possibilities.&lt;/p&gt;

&lt;h3&gt;
  
  
  7.1. High-Scale Conversational AI Agents
&lt;/h3&gt;

&lt;p&gt;An NCM trained for conditional generation could produce messages quickly, particularly standardized responses or summaries.&lt;/p&gt;

&lt;p&gt;Potential scenarios include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer service.&lt;/li&gt;
&lt;li&gt;Technical support.&lt;/li&gt;
&lt;li&gt;Enterprise assistants.&lt;/li&gt;
&lt;li&gt;Automated messaging.&lt;/li&gt;
&lt;li&gt;Responses based on structured context.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, it would still require integration with tools, context management, and safety controls.&lt;/p&gt;

&lt;h3&gt;
  
  
  7.2. Document Summarization
&lt;/h3&gt;

&lt;p&gt;This is a relatively immediate research opportunity because the work already includes experiments on the XSum dataset.&lt;/p&gt;

&lt;p&gt;The architecture could be explored for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer interaction summaries.&lt;/li&gt;
&lt;li&gt;Enterprise documents.&lt;/li&gt;
&lt;li&gt;Operational records.&lt;/li&gt;
&lt;li&gt;Interaction histories.&lt;/li&gt;
&lt;li&gt;Process documentation.&lt;/li&gt;
&lt;li&gt;RAG-retrieved information.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A possible architecture:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A["Documents"] --&amp;gt; B["Extraction and Preparation"]
    B --&amp;gt; C["Conditioned Context"]
    C --&amp;gt; D["NCM for Summarization"]
    D --&amp;gt; E["Factual Validation"]
    E --&amp;gt; F["Final Summary"]&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  7.3. Structured Action Planning
&lt;/h3&gt;

&lt;p&gt;Hierarchical refinement could inspire models that first generate a global plan structure and subsequently refine its operational details.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Objective:
Resolve a customer service request.

Conceptual Level:
Identify → Retrieve → Validate → Respond

Operational Level:
1. Identify the customer.
2. Retrieve the necessary data.
3. Verify business rules.
4. Produce a response.

Execution Level:
Specific tool calls and actions.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This possibility would require new representations, datasets, and evaluations.&lt;/p&gt;

&lt;p&gt;The current NCM implementation is not a production-ready AI agent planner.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. A Hybrid Architecture Using NCM
&lt;/h2&gt;

&lt;p&gt;An interesting research direction would be to combine:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A specialized classifier.&lt;/li&gt;
&lt;li&gt;A context retrieval mechanism.&lt;/li&gt;
&lt;li&gt;An NCM model.&lt;/li&gt;
&lt;li&gt;An independent validator.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Proposed Architecture
&lt;/h3&gt;



&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    A["User Message"]
    B["Intent / Goal Classifier"]
    C["RAG + Tools + Enterprise Data"]
    D["Specialized NCM"]
    E["Validation, Ranking, and Guardrails"]
    F["Selected Response"]

    A --&amp;gt; B
    B --&amp;gt; C
    C --&amp;gt; D
    D --&amp;gt; E
    E --&amp;gt; F&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  Component Responsibilities
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Intent / Goal Classifier&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Identifies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User intent.&lt;/li&gt;
&lt;li&gt;Interaction objective.&lt;/li&gt;
&lt;li&gt;Request category.&lt;/li&gt;
&lt;li&gt;Execution route.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;RAG and Tools&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;External information.&lt;/li&gt;
&lt;li&gt;Documents.&lt;/li&gt;
&lt;li&gt;Query results.&lt;/li&gt;
&lt;li&gt;Business rules.&lt;/li&gt;
&lt;li&gt;Enterprise data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Specialized NCM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Generates candidate responses conditioned on the retrieved context.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validation, Ranking, and Guardrails&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Perform:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Factual verification.&lt;/li&gt;
&lt;li&gt;Policy validation.&lt;/li&gt;
&lt;li&gt;Format validation.&lt;/li&gt;
&lt;li&gt;Best-response selection.&lt;/li&gt;
&lt;li&gt;Blocking of inappropriate outputs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This architecture is worth investigating because it separates three distinct problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Intent classification.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Language generation.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Response validation.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An NCM model would not necessarily replace specialized classifiers, authorization mechanisms, or deterministic execution systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; This is a proposed research architecture, not an implementation provided by the NCM project.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Current State of the Open-Source Project
&lt;/h2&gt;

&lt;p&gt;The repository provides evaluation code and model checkpoints under the MIT license.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/HazyResearch/ncm" rel="noopener noreferrer"&gt;https://github.com/HazyResearch/ncm&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9.1. Available Models and Tasks
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dataset&lt;/th&gt;
&lt;th&gt;Application&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;TinyStories&lt;/td&gt;
&lt;td&gt;Language generation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LM1B&lt;/td&gt;
&lt;td&gt;Language modeling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenWebText&lt;/td&gt;
&lt;td&gt;Language generation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;XSum&lt;/td&gt;
&lt;td&gt;Summarization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WMT14 De–En&lt;/td&gt;
&lt;td&gt;German-to-English translation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sudoku&lt;/td&gt;
&lt;td&gt;Problem solving&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  9.2. Requirements
&lt;/h3&gt;

&lt;p&gt;The README recommends:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.10 or later.&lt;/li&gt;
&lt;li&gt;PyTorch.&lt;/li&gt;
&lt;li&gt;CUDA for accelerated execution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The models are distributed as two components:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tokenizer.&lt;/li&gt;
&lt;li&gt;Generator.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  9.3. Installation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/HazyResearch/ncm.git

&lt;span class="nb"&gt;cd &lt;/span&gt;ncm

pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9.4. Downloading Checkpoints
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hf download hazyresearch/ncm-checkpoints &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--local-dir&lt;/span&gt; artifacts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9.5. Downloading Datasets
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hf download hazyresearch/ncm-datasets &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--repo-type&lt;/span&gt; dataset &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--local-dir&lt;/span&gt; data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9.6. Summarization Evaluation Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python evaluate.py &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--config&lt;/span&gt; config/eval/xsum.yaml &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--checkpoint-dir&lt;/span&gt; artifacts/xsum &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--data-dir&lt;/span&gt; data/xsum
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These commands follow the official instructions but have not been executed in this environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  9.7. Running NCM on Local Hardware
&lt;/h3&gt;

&lt;p&gt;For a laboratory equipped with NVIDIA RTX 3090 GPUs, reproducing the XSum and LM1B experiments would be a useful starting point.&lt;/p&gt;

&lt;p&gt;However, several aspects must be validated:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Memory consumption.&lt;/li&gt;
&lt;li&gt;CUDA compatibility.&lt;/li&gt;
&lt;li&gt;Checkpoint size.&lt;/li&gt;
&lt;li&gt;Supported batch sizes.&lt;/li&gt;
&lt;li&gt;Throughput.&lt;/li&gt;
&lt;li&gt;Latency.&lt;/li&gt;
&lt;li&gt;Actual GPU utilization.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The official latency measurements were obtained using NVIDIA H100 SXM GPUs with 80 GB of memory.&lt;/p&gt;

&lt;p&gt;Those results cannot be directly extrapolated to consumer GPUs.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. Limitations and Open Questions
&lt;/h2&gt;

&lt;p&gt;It is important to distinguish a conceptual breakthrough from technology already established for production use.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Status as of October 2026&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Scaling to billions of parameters&lt;/td&gt;
&lt;td&gt;Not yet demonstrated in published experiments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Advantages over Llama, Qwen, or GPT&lt;/td&gt;
&lt;td&gt;Not comprehensively demonstrated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Function calling and MCP integration&lt;/td&gt;
&lt;td&gt;Not demonstrated as native capabilities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise RAG&lt;/td&gt;
&lt;td&gt;Potential integration, requiring validation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strictly valid JSON generation&lt;/td&gt;
&lt;td&gt;Requires additional mechanisms and evaluation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Broad multilingual support, including Brazilian Portuguese&lt;/td&gt;
&lt;td&gt;Not established by published results&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Safety and hallucination resistance&lt;/td&gt;
&lt;td&gt;No demonstrated superiority&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CPU and resource-constrained efficiency&lt;/td&gt;
&lt;td&gt;Not established&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Joint tokenizer and generator training&lt;/td&gt;
&lt;td&gt;Identified as future research&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  10.1. Scalability
&lt;/h3&gt;

&lt;p&gt;The published experiments investigate models that are relatively small compared with contemporary large-scale LLMs.&lt;/p&gt;

&lt;p&gt;It remains necessary to demonstrate whether the reported benefits persist at substantially larger scales.&lt;/p&gt;

&lt;h3&gt;
  
  
  10.2. Generation Quality
&lt;/h3&gt;

&lt;p&gt;Broader evaluations are still needed for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complex instructions.&lt;/li&gt;
&lt;li&gt;Long conversations.&lt;/li&gt;
&lt;li&gt;Mathematical reasoning.&lt;/li&gt;
&lt;li&gt;Programming.&lt;/li&gt;
&lt;li&gt;Tool usage.&lt;/li&gt;
&lt;li&gt;Long-context processing.&lt;/li&gt;
&lt;li&gt;Multilingual tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  10.3. Semantic Representations
&lt;/h3&gt;

&lt;p&gt;The discrete codes are learned representations rather than explicitly interpretable concepts.&lt;/p&gt;

&lt;p&gt;There is significant room for further research into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interpretability.&lt;/li&gt;
&lt;li&gt;Semantic alignment.&lt;/li&gt;
&lt;li&gt;Representation structure.&lt;/li&gt;
&lt;li&gt;Relationships between levels.&lt;/li&gt;
&lt;li&gt;Controllability of generation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  10.4. Adaptive Computation
&lt;/h3&gt;

&lt;p&gt;One potential direction is to dynamically adjust the amount of refinement based on task difficulty.&lt;/p&gt;

&lt;p&gt;However, this capability still requires implementation and validation.&lt;/p&gt;

&lt;h3&gt;
  
  
  10.5. Joint Training
&lt;/h3&gt;

&lt;p&gt;The researchers identify joint training of the tokenizer and generator as a possible future direction.&lt;/p&gt;

&lt;p&gt;This could allow representations to become more closely aligned with generation objectives.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. Technical Assessment
&lt;/h2&gt;

&lt;p&gt;The significance of Next-Concept Modeling extends beyond a potential improvement in inference speed.&lt;/p&gt;

&lt;p&gt;It challenges an assumption that has dominated modern LLM generation:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The fundamental unit of progression during language generation must be the next token.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Replacing token-level progression with hierarchical representation levels is interesting for three main reasons.&lt;/p&gt;

&lt;h3&gt;
  
  
  11.1. More Efficient Parallelism
&lt;/h3&gt;

&lt;p&gt;NCM explores parallel generation without relying exclusively on repeatedly refining an entire sequence, as many diffusion architectures do.&lt;/p&gt;

&lt;p&gt;This could reduce the number of sequential operations required to generate text.&lt;/p&gt;

&lt;h3&gt;
  
  
  11.2. Hierarchical Generation Structure
&lt;/h3&gt;

&lt;p&gt;Generation across multiple representation levels introduces an organizational structure that may encourage global consistency.&lt;/p&gt;

&lt;p&gt;However, this potential benefit still needs to be demonstrated on complex, open-ended tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  11.3. Adaptive Allocation of Computation
&lt;/h3&gt;

&lt;p&gt;The architecture enables research into algorithms where task complexity determines how many refinement stages are actually needed.&lt;/p&gt;

&lt;p&gt;This possibility is relevant to AI applications that must balance:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Latency.&lt;/li&gt;
&lt;li&gt;Quality.&lt;/li&gt;
&lt;li&gt;Computational consumption.&lt;/li&gt;
&lt;li&gt;Inference cost.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Next-Concept Modeling is a meaningful contribution to research on alternative language generation architectures&lt;/strong&gt;, particularly in inference speed and hierarchical representations.&lt;/p&gt;

&lt;p&gt;It is still too early to consider it a direct replacement for modern autoregressive Transformers.&lt;/p&gt;

&lt;p&gt;The most interesting possibility may be a future generation of compact, fast language generators optimized for specific tasks, rather than an immediate replacement for general-purpose LLMs.&lt;/p&gt;

&lt;p&gt;For enterprise AI architectures, NCM deserves attention especially because of its potential combination with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Small Language Models (SLMs).&lt;/li&gt;
&lt;li&gt;Specialized classifiers.&lt;/li&gt;
&lt;li&gt;Retrieval-Augmented Generation (RAG).&lt;/li&gt;
&lt;li&gt;Guardrails.&lt;/li&gt;
&lt;li&gt;Ranking models.&lt;/li&gt;
&lt;li&gt;Multi-agent systems.&lt;/li&gt;
&lt;li&gt;Deterministic workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Its greatest value may not come from replacing an entire language model, but from providing a new generation strategy for specialized components within larger AI systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  12. Main References
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Original Research Paper
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Next-Concept Modeling: Fast, Parallel Coarse-to-Fine Text Generation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Published in October 2026.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2610.14162" rel="noopener noreferrer"&gt;https://arxiv.org/abs/2610.14162&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Official Hazy Research Publication
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Next-Concept Modeling&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;October 12, 2026.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hazyresearch.stanford.edu/blog/2026-10-12-ncm" rel="noopener noreferrer"&gt;https://hazyresearch.stanford.edu/blog/2026-10-12-ncm&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Repository
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;HazyResearch/ncm&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Source code, model checkpoints, and documentation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/HazyResearch/ncm" rel="noopener noreferrer"&gt;https://github.com/HazyResearch/ncm&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Foundational Research
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2024.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2404.02905" rel="noopener noreferrer"&gt;https://arxiv.org/abs/2404.02905&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Technical analysis prepared on October 20, 2026, based on the research paper, publicly available documentation, and experimental results reported by the researchers.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>ncm</category>
      <category>llm</category>
    </item>
    <item>
      <title>Seu classificador de intenções é 12% pior em português: um benchmark de Laya, Strands Decider e embeddings Qwen3</title>
      <dc:creator>Fulvio Jorge da Silva</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:26:20 +0000</pubDate>
      <link>https://dev.to/fulviojorge/seu-classificador-de-intencoes-e-12-pontos-pior-em-portugues-um-benchmark-de-laya-strands-decider-4nk1</link>
      <guid>https://dev.to/fulviojorge/seu-classificador-de-intencoes-e-12-pontos-pior-em-portugues-um-benchmark-de-laya-strands-decider-4nk1</guid>
      <description>&lt;p&gt;A primeira coisa que um agente conversacional precisa fazer é entender o que o cliente quer. Medi essa etapa em mensagens de atendimento em português do Brasil, com dois pequenos modelos de "decisão" e dois modelos de embeddings. Depois traduzi o conjunto inteiro para o inglês e rodei tudo de novo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resumo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Decider × Laya.&lt;/strong&gt; Sem nenhum ajuste, o &lt;strong&gt;Strands Decider (2B)&lt;/strong&gt; acerta &lt;strong&gt;84,9–85,8%&lt;/strong&gt; das frases (top-1), contra &lt;strong&gt;50,9–51,8%&lt;/strong&gt; do &lt;strong&gt;Laya multilíngue&lt;/strong&gt;. O acerto do Decider não depende da ordem em que as opções são apresentadas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Os embeddings sozinhos vencem.&lt;/strong&gt; A semelhança do &lt;strong&gt;Qwen3-Embedding-4B&lt;/strong&gt;, sem nenhum modelo de decisão, chega a &lt;strong&gt;94,7%&lt;/strong&gt;, e nenhum modelo de decisão melhora esse número.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O imposto do português.&lt;/strong&gt; Todos os componentes acertam menos em português do que nas mesmas frases em inglês. Os embeddings 0.6B perdem &lt;strong&gt;12 pontos&lt;/strong&gt; (p = 0,0014), e o pipeline completo com o Decider perde &lt;strong&gt;8,4 pontos&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O idioma do checkpoint é a maior alavanca.&lt;/strong&gt; O checkpoint &lt;strong&gt;inglês&lt;/strong&gt; do Laya supera o &lt;strong&gt;multilíngue&lt;/strong&gt; em &lt;strong&gt;24 pontos&lt;/strong&gt; em texto em inglês. O Laya não tem checkpoint para português, o que reforça o caso para um fine-tuning em PT-BR.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fik1fxow7937t04ovdn9u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fik1fxow7937t04ovdn9u.png" alt="Acerto top-1 por componente, PT-BR (azul) × inglês (cinza)" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figura 1. Acerto top-1 em PT-BR (azul) e numa tradução frase a frase para o inglês (cinza). As diferenças em negrito são significativas em todas as sementes (teste exato de McNemar). Figura em inglês, como no artigo.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  O problema: descobrir o objetivo do cliente
&lt;/h2&gt;

&lt;p&gt;Agentes orientados a objetivos encaminham cada mensagem para um entre muitos &lt;strong&gt;objetivos&lt;/strong&gt; ("pagar uma conta", "bloquear o cartão", "falar com um atendente"). Cada objetivo é definido por uma descrição de uma linha e algumas frases de exemplo. Essa decisão condiciona todo o resto:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Confiança alta:&lt;/strong&gt; o agente executa.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faixa intermediária:&lt;/strong&gt; ele pede confirmação.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Confiança baixa:&lt;/strong&gt; ele faz uma pergunta para esclarecer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Por isso, você quer duas coisas do classificador: acerto e probabilidades em que dá para confiar.&lt;/p&gt;

&lt;p&gt;Uma nova classe de modelos pequenos foi feita exatamente para isso. O &lt;strong&gt;&lt;a href="https://github.com/NandhaKishorM/laya" rel="noopener noreferrer"&gt;Laya&lt;/a&gt;&lt;/strong&gt; e o &lt;strong&gt;&lt;a href="https://github.com/strands-labs/strands-decider" rel="noopener noreferrer"&gt;Strands Decider&lt;/a&gt;&lt;/strong&gt; respondem perguntas tipadas ("escolha uma destas N opções") e devolvem uma probabilidade por opção, a partir de uma camada dedicada, em vez de gerar texto. A maior parte das avaliações publicadas desses modelos é em inglês. Eu queria saber como eles se saem em português.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como o benchmark funciona
&lt;/h2&gt;

&lt;p&gt;A montagem reproduz um pipeline de produção:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pré-seleção.&lt;/strong&gt; Um modelo de embeddings (Qwen3-Embedding 0.6B ou 4B) compara a mensagem com os exemplos de cada objetivo. Os 10 objetivos mais parecidos viram as opções.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decisão.&lt;/strong&gt; O modelo de decisão recebe uma pergunta &lt;code&gt;choice&lt;/code&gt; com as descrições desses 10 objetivos e devolve uma probabilidade para cada um.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Combinação.&lt;/strong&gt; Os dois sinais são combinados e calibrados:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;P&lt;/span&gt;&lt;span class="mopen"&gt;(&lt;/span&gt;&lt;span class="mord mathnormal"&gt;g&lt;/span&gt;&lt;span class="mclose"&gt;)&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mop"&gt;&lt;span class="mop"&gt;&lt;span class="mord mathrm"&gt;softmax&lt;/span&gt;&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="minner"&gt;&lt;span class="mopen delimcenter"&gt;&lt;span class="delimsizing size3"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mopen nulldelimiter"&gt;&lt;/span&gt;&lt;span class="mfrac"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="frac-line"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;a&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mop"&gt;lo&lt;span&gt;g&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;p&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mbin"&gt;+&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;b&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;s&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mclose nulldelimiter"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mclose delimcenter"&gt;&lt;span class="delimsizing size3"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;p&gt;Com &lt;code&gt;a = 0&lt;/code&gt;, você confia só nos embeddings; com &lt;code&gt;b = 0&lt;/code&gt;, só no modelo de decisão. Os pesos &lt;code&gt;(a, b, T)&lt;/code&gt; são ajustados por validação cruzada em 5 partes, usando os exemplos de treino dos objetivos e nunca as frases de teste.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O conjunto de dados:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;30 objetivos de atendimento de banco, telecom e varejo;&lt;/li&gt;
&lt;li&gt;10 exemplos de treino por objetivo;&lt;/li&gt;
&lt;li&gt;150 frases de teste separadas;&lt;/li&gt;
&lt;li&gt;uma tradução frase a frase para o inglês (mesmos objetivos, mesma ordem, mesma posição de cada frase), para que toda comparação entre idiomas seja pareada, frase a frase.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  A armadilha: a ordem das opções
&lt;/h3&gt;

&lt;p&gt;Em produção, o natural é apresentar a pré-seleção &lt;strong&gt;ordenada por semelhança&lt;/strong&gt;. Isso significa que a resposta certa costuma ser a &lt;em&gt;primeira&lt;/em&gt; opção. Um modelo de decisão que simplesmente prefira a primeira opção pareceria tão bom quanto os seus embeddings, sem ler a mensagem.&lt;/p&gt;

&lt;p&gt;Por isso, cada configuração roda de três formas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ordem aleatória&lt;/strong&gt;, com 3 sementes (os resultados principais);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ordem por semelhança&lt;/strong&gt; (o que a produção faz);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ordem inversa&lt;/strong&gt; (a resposta certa tende a ficar por último).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Esse controle fez diferença. O Laya multilíngue escolhe a primeira opção em &lt;strong&gt;62%&lt;/strong&gt; das perguntas ordenadas por semelhança e perde &lt;strong&gt;11 pontos&lt;/strong&gt; quando a ordem é invertida (p = 0,0015). O Strands Decider quase não percebe: só &lt;strong&gt;4 das 150&lt;/strong&gt; frases mudam de resultado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resultados em português
&lt;/h2&gt;

&lt;p&gt;Ordem aleatória, média ± desvio-padrão em 3 sementes:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Embeddings 0.6B&lt;/th&gt;
&lt;th&gt;Embeddings 4B&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Embeddings sozinhos&lt;/td&gt;
&lt;td&gt;81,3%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;94,7%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Laya multilíngue sozinho&lt;/td&gt;
&lt;td&gt;51,8 ± 2,5%&lt;/td&gt;
&lt;td&gt;50,9 ± 1,5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strands Decider sozinho&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;84,9 ± 1,4%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;85,8 ± 1,4%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strands Decider + embeddings (ajustado)&lt;/td&gt;
&lt;td&gt;85,8 ± 0,4%&lt;/td&gt;
&lt;td&gt;89,6 ± 0,8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latência p95 do Decider (RTX 5080)&lt;/td&gt;
&lt;td&gt;135 ms&lt;/td&gt;
&lt;td&gt;173 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latência p95 do Laya&lt;/td&gt;
&lt;td&gt;34 ms&lt;/td&gt;
&lt;td&gt;41 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;O que chama atenção:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;O Laya fica abaixo dos embeddings que deveria complementar.&lt;/strong&gt; Forçá-lo na combinação custa de 23 a 31 pontos. O ajuste só funciona se puder usar &lt;code&gt;a = 0&lt;/code&gt; e ignorar o Laya.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O Decider ajuda um recuperador fraco, não um forte.&lt;/strong&gt; Com os embeddings 0.6B, ele soma cerca de 4,5 pontos (de forma consistente nas sementes, mas sem significância com n = 150). Com os embeddings 4B, os embeddings sozinhos são significativamente &lt;em&gt;melhores&lt;/em&gt; que o Decider sozinho.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A validação cruzada pode enganar.&lt;/strong&gt; Com os embeddings 4B, o ajuste feito nos exemplos sempre escolheu usar o Decider e perdeu cerca de 5 pontos em relação a ignorá-lo. Dentro da validação cruzada, cada exemplo é comparado com 8 exemplos por objetivo, e não 10. Isso enfraquece o sinal de semelhança e faz o modelo de decisão parecer mais útil do que é.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  O custo do idioma
&lt;/h2&gt;

&lt;p&gt;Mesmos modelos, mesmas frases, traduzidas para o inglês (testes de McNemar pareados):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Componente&lt;/th&gt;
&lt;th&gt;PT-BR&lt;/th&gt;
&lt;th&gt;Inglês&lt;/th&gt;
&lt;th&gt;Δ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Embeddings sozinhos, 0.6B&lt;/td&gt;
&lt;td&gt;81,3%&lt;/td&gt;
&lt;td&gt;93,3%&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;+12,0&lt;/strong&gt; (p = 0,0014)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Embeddings sozinhos, 4B&lt;/td&gt;
&lt;td&gt;94,7%&lt;/td&gt;
&lt;td&gt;98,0%&lt;/td&gt;
&lt;td&gt;+3,3 (não significativo)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strands Decider + embeddings 0.6B&lt;/td&gt;
&lt;td&gt;85,8%&lt;/td&gt;
&lt;td&gt;94,2%&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;+8,4&lt;/strong&gt; (p ≤ 0,004)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strands Decider + embeddings 4B&lt;/td&gt;
&lt;td&gt;89,6%&lt;/td&gt;
&lt;td&gt;95,3%&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;+5,7&lt;/strong&gt; (p ≤ 0,039)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Laya multilíngue sozinho&lt;/td&gt;
&lt;td&gt;51,8%&lt;/td&gt;
&lt;td&gt;57,6%&lt;/td&gt;
&lt;td&gt;+5,8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Checkpoint inglês do Laya sozinho&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;81,6%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+24 sobre o multilíngue&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A última linha é a que mais me chama atenção. Os checkpoints inglês e multilíngue do Laya vêm da mesma versão e têm a mesma arquitetura. Em texto em inglês, treinar para um idioma em vez de muitos vale &lt;strong&gt;24 pontos&lt;/strong&gt;, o maior efeito de todo o estudo. Para o português, a única opção é o checkpoint multilíngue, com cerca de 51%.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que isso significa para o seu agente
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Invista primeiro no modelo de embeddings.&lt;/strong&gt; Com 10 exemplos por objetivo, um bom modelo de embeddings foi o melhor componente isolado nos dois idiomas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Teste modelos de decisão com as opções embaralhadas.&lt;/strong&gt; A ordem de produção premia, sem ninguém perceber, modelos que simplesmente gostam da primeira opção.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ajuste a combinação com frases separadas para teste&lt;/strong&gt;, e não com os exemplos dos seus objetivos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Avalie no idioma dos seus usuários.&lt;/strong&gt; Uma avaliação em inglês superestimou o acerto em português para todos os componentes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Se for usar um modelo de decisão em português, planeje um fine-tuning.&lt;/strong&gt; A diferença de 24 pontos entre os checkpoints do Laya mostra quanto um modelo específico para o idioma pode recuperar. Esse é o meu próximo experimento.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Reproduza você mesmo
&lt;/h2&gt;

&lt;p&gt;Está tudo aberto: o código, os dois conjuntos de dados, as imagens dos servidores dos dois modelos de decisão e os registros brutos, frase a frase, das 50 execuções. Dá para recalcular todos os números acima &lt;strong&gt;sem GPU e sem nenhum servidor de modelo&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/fuljorge/goal-classification-bench
&lt;span class="nb"&gt;cd &lt;/span&gt;goal-classification-bench
uv &lt;span class="nb"&gt;sync
&lt;/span&gt;uv run goalbench report results/v0.1.0/&lt;span class="k"&gt;*&lt;/span&gt;__&lt;span class="k"&gt;*&lt;/span&gt; results/v0.2.0/en/&lt;span class="k"&gt;*&lt;/span&gt;__&lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="nt"&gt;--cross-dataset&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Para testar outros modelos, a pasta &lt;code&gt;servers/&lt;/code&gt; tem imagens Docker e instruções com ambientes Python para os dois modelos de decisão, e o &lt;code&gt;goalbench run&lt;/code&gt; aceita qualquer endpoint de embeddings compatível com a API da OpenAI.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/fuljorge" rel="noopener noreferrer"&gt;
        fuljorge
      &lt;/a&gt; / &lt;a href="https://github.com/fuljorge/goal-classification-bench" rel="noopener noreferrer"&gt;
        goal-classification-bench
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Reproducible benchmark of choice-style deciders (Laya, Strands Decider) for customer-goal classification in Brazilian Portuguese
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;goalbench&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://doi.org/10.5281/zenodo.23233352" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f9c019fd9c92c9567bc091670abe18f163e501da6fdabd3a75f21fc1b1d41e5e/68747470733a2f2f7a656e6f646f2e6f72672f62616467652f444f492f31302e353238312f7a656e6f646f2e32333233333335322e737667" alt="DOI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A reproducible benchmark for &lt;strong&gt;customer-goal classification in Brazilian Portuguese&lt;/strong&gt; with
small "decider" models that answer typed &lt;code&gt;choice&lt;/code&gt; questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/NandhaKishorM/laya" rel="noopener noreferrer"&gt;Laya&lt;/a&gt; (&lt;code&gt;laya-multilingual&lt;/code&gt;, mmBERT-base encoder);&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/strands-labs/strands-decider" rel="noopener noreferrer"&gt;Strands Decider&lt;/a&gt;
(&lt;code&gt;strands-decider-2B-hobson-v21&lt;/code&gt;, Qwen3.5-2B base with LoRA and a pointer head).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both are compared inside the same two-stage pipeline used by goal-oriented conversational
agents:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;an embedding model shortlists the 10 goals most similar to the message;&lt;/li&gt;
&lt;li&gt;the decider picks one of them;&lt;/li&gt;
&lt;li&gt;the two signals are combined and calibrated.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Every call is logged per phrase, so all conditions and statistics are recomputed offline.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Method:&lt;/strong&gt; &lt;a href="https://github.com/fuljorge/goal-classification-bench/docs/method.md" rel="noopener noreferrer"&gt;&lt;code&gt;docs/method.md&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dataset card:&lt;/strong&gt; &lt;a href="https://github.com/fuljorge/goal-classification-bench/data/README.md" rel="noopener noreferrer"&gt;&lt;code&gt;data/README.md&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Results:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Brazilian Portuguese: &lt;a href="https://github.com/fuljorge/goal-classification-bench/docs/results.md" rel="noopener noreferrer"&gt;&lt;code&gt;docs/results.md&lt;/code&gt;&lt;/a&gt;, with raw logs in
&lt;a href="https://github.com/fuljorge/goal-classification-bench/results/v0.1.0/" rel="noopener noreferrer"&gt;&lt;code&gt;results/v0.1.0/&lt;/code&gt;&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;language effect, PT-BR vs a parallel English translation
&lt;a href="https://github.com/fuljorge/goal-classification-bench/docs/results-language.md" rel="noopener noreferrer"&gt;&lt;code&gt;docs/results-language.md&lt;/code&gt;&lt;/a&gt;, with raw logs in
&lt;a href="https://github.com/fuljorge/goal-classification-bench/results/v0.2.0/" rel="noopener noreferrer"&gt;&lt;code&gt;results/v0.2.0/&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Results at a glance (v0.1.0)&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Top-1 accuracy on 150 held-out phrases, 10-goal shortlist, random option order, mean ± SD
over 3 seeds. Latency is the p95…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/fuljorge/goal-classification-bench" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Ressalvas
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dados sintéticos.&lt;/strong&gt; O conjunto foi escrito por um modelo de linguagem, então os números absolutos provavelmente são otimistas. As comparações pareadas são mais robustas, porque todos os sistemas veem as mesmas frases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inglês traduzido.&lt;/strong&gt; O conjunto em inglês é uma tradução, então parte da diferença do português pode vir da regularidade da tradução, e não do idioma em si.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Amostra pequena.&lt;/strong&gt; 150 frases de teste distinguem diferenças a partir de uns 8 pontos. As diferenças menores daqui são consistentes, mas não significativas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O artigo completo, com a metodologia, todos os testes pareados e as ameaças à validade, está arquivado junto com o código no Zenodo: &lt;a href="https://doi.org/10.5281/zenodo.23233352" rel="noopener noreferrer"&gt;doi:10.5281/zenodo.23233352&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;No próximo post da série: um fine-tuning de modelo de decisão para o português do Brasil, e se ele fecha essa diferença.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>nlp</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Your intent classifier is 12 points worse in Portuguese: benchmarking Laya, Strands Decider and Qwen3 embeddings</title>
      <dc:creator>Fulvio Jorge da Silva</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:23:53 +0000</pubDate>
      <link>https://dev.to/fulviojorge/your-intent-classifier-is-12-points-worse-in-portuguese-benchmarking-laya-strands-decider-and-j9m</link>
      <guid>https://dev.to/fulviojorge/your-intent-classifier-is-12-points-worse-in-portuguese-benchmarking-laya-strands-decider-and-j9m</guid>
      <description>&lt;p&gt;A conversational agent first has to decide what the customer wants. I measured that step for customer-service messages in Brazilian Portuguese (PT-BR), using two small "decider" models and two embedding models. Then I translated the whole dataset into English and ran everything again.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Decider vs Laya.&lt;/strong&gt; Off the shelf, the &lt;strong&gt;Strands Decider (2B)&lt;/strong&gt; gets &lt;strong&gt;84.9–85.8%&lt;/strong&gt; top-1 accuracy, against &lt;strong&gt;50.9–51.8%&lt;/strong&gt; for &lt;strong&gt;Laya multilingual&lt;/strong&gt;. Its accuracy does not depend on how the options are ordered.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embeddings alone win.&lt;/strong&gt; &lt;strong&gt;Qwen3-Embedding-4B&lt;/strong&gt; similarity, with no decider at all, reaches &lt;strong&gt;94.7%&lt;/strong&gt;, and no decider improves on it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Portuguese tax.&lt;/strong&gt; Every component is less accurate in PT-BR than on the same phrases in English. The 0.6B embeddings lose &lt;strong&gt;12 points&lt;/strong&gt; (p = 0.0014), and the full Decider pipeline loses &lt;strong&gt;8.4 points&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The checkpoint's language is the biggest lever.&lt;/strong&gt; Laya's &lt;strong&gt;English&lt;/strong&gt; checkpoint beats its &lt;strong&gt;multilingual&lt;/strong&gt; sibling by &lt;strong&gt;24 points&lt;/strong&gt; on English text. Laya has no Portuguese checkpoint, which makes a case for PT-BR fine-tuning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fik1fxow7937t04ovdn9u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fik1fxow7937t04ovdn9u.png" alt="Top-1 accuracy by component, PT-BR (blue) vs English (grey)" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 1. Top-1 accuracy in PT-BR (blue) and in a line-by-line English translation (grey). Bold differences are significant in every seed (exact McNemar test).&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem: picking the customer's goal
&lt;/h2&gt;

&lt;p&gt;Goal-oriented agents route each message to one of many &lt;strong&gt;goals&lt;/strong&gt; ("pay a bill", "block a card", "talk to a human"). Each goal is defined by a one-line description and a few example phrases. The decision gates everything after it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;High confidence:&lt;/strong&gt; the agent acts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Middle band:&lt;/strong&gt; it asks for confirmation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Low confidence:&lt;/strong&gt; it asks a clarifying question.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So you want two things from the classifier: accuracy, and probabilities you can trust.&lt;/p&gt;

&lt;p&gt;A new class of small models is built exactly for this. &lt;strong&gt;&lt;a href="https://github.com/NandhaKishorM/laya" rel="noopener noreferrer"&gt;Laya&lt;/a&gt;&lt;/strong&gt; and the &lt;strong&gt;&lt;a href="https://github.com/strands-labs/strands-decider" rel="noopener noreferrer"&gt;Strands Decider&lt;/a&gt;&lt;/strong&gt; answer typed questions ("pick one of these N options") and return a probability per option from a dedicated head, instead of generating text. Most of their published evaluations are in English. I wanted to know how they behave in Portuguese.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the benchmark works
&lt;/h2&gt;

&lt;p&gt;The setup mirrors a production pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Shortlist.&lt;/strong&gt; An embedding model (Qwen3-Embedding 0.6B or 4B) scores the message against each goal's examples. The 10 most similar goals become the options.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decide.&lt;/strong&gt; The decider gets a &lt;code&gt;choice&lt;/code&gt; question with those 10 goal descriptions and returns a probability for each.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Combine.&lt;/strong&gt; The two signals are mixed and calibrated:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;P&lt;/span&gt;&lt;span class="mopen"&gt;(&lt;/span&gt;&lt;span class="mord mathnormal"&gt;g&lt;/span&gt;&lt;span class="mclose"&gt;)&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mop"&gt;&lt;span class="mop"&gt;&lt;span class="mord mathrm"&gt;softmax&lt;/span&gt;&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="minner"&gt;&lt;span class="mopen delimcenter"&gt;&lt;span class="delimsizing size3"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mopen nulldelimiter"&gt;&lt;/span&gt;&lt;span class="mfrac"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="frac-line"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;a&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mop"&gt;lo&lt;span&gt;g&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;p&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mbin"&gt;+&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;b&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;s&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mclose nulldelimiter"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mclose delimcenter"&gt;&lt;span class="delimsizing size3"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;p&gt;With &lt;code&gt;a = 0&lt;/code&gt; you trust only the embeddings; with &lt;code&gt;b = 0&lt;/code&gt;, only the decider. The weights &lt;code&gt;(a, b, T)&lt;/code&gt; are fitted by 5-fold cross-validation on the goals' training examples, never on the test phrases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The dataset:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;30 goals from banking, telecom and retail;&lt;/li&gt;
&lt;li&gt;10 training examples per goal;&lt;/li&gt;
&lt;li&gt;150 held-out test phrases;&lt;/li&gt;
&lt;li&gt;a line-by-line English translation (same goals, same order, same phrase positions), so every comparison across languages is paired phrase by phrase.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The trap: option order
&lt;/h3&gt;

&lt;p&gt;In production, you naturally present the shortlist &lt;strong&gt;sorted by similarity&lt;/strong&gt;. That means the right answer is usually the &lt;em&gt;first&lt;/em&gt; option. A decider that simply prefers the first option would then look exactly as good as your embeddings, without reading the message at all.&lt;/p&gt;

&lt;p&gt;So every configuration runs three ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;random order&lt;/strong&gt;, with 3 seeds (the main results);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;similarity order&lt;/strong&gt; (what production does);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;reversed order&lt;/strong&gt; (the right answer tends to be last).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That control mattered. Laya multilingual picks the first option in &lt;strong&gt;62%&lt;/strong&gt; of similarity-ordered questions and loses &lt;strong&gt;11 points&lt;/strong&gt; when the order is reversed (p = 0.0015). The Strands Decider barely notices: only &lt;strong&gt;4 of 150&lt;/strong&gt; phrases change outcome.&lt;/p&gt;

&lt;h2&gt;
  
  
  Results in Brazilian Portuguese
&lt;/h2&gt;

&lt;p&gt;Random option order, mean ± SD over 3 seeds:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;0.6B embeddings&lt;/th&gt;
&lt;th&gt;4B embeddings&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Embeddings alone&lt;/td&gt;
&lt;td&gt;81.3%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;94.7%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Laya multilingual alone&lt;/td&gt;
&lt;td&gt;51.8 ± 2.5%&lt;/td&gt;
&lt;td&gt;50.9 ± 1.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strands Decider alone&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;84.9 ± 1.4%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;85.8 ± 1.4%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strands Decider + embeddings (fitted)&lt;/td&gt;
&lt;td&gt;85.8 ± 0.4%&lt;/td&gt;
&lt;td&gt;89.6 ± 0.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decider p95 latency (RTX 5080)&lt;/td&gt;
&lt;td&gt;135 ms&lt;/td&gt;
&lt;td&gt;173 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Laya p95 latency&lt;/td&gt;
&lt;td&gt;34 ms&lt;/td&gt;
&lt;td&gt;41 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;What stands out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Laya is below the embeddings it is supposed to complement.&lt;/strong&gt; Forcing it into the combination costs 23–31 points; the fit only works if it can set &lt;code&gt;a = 0&lt;/code&gt; and ignore Laya.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Decider helps a weak retriever, not a strong one.&lt;/strong&gt; With 0.6B embeddings it adds about 4.5 points (consistent across seeds, not significant at n = 150). With 4B embeddings, the embeddings alone are significantly &lt;em&gt;better&lt;/em&gt; than the Decider alone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-validated fitting can fool you.&lt;/strong&gt; With 4B embeddings, fitting on the examples always chose to use the Decider, and lost about 5 points against ignoring it. Inside cross-validation each example is compared against 8 examples per goal instead of 10. That weakens the similarity signal and makes the decider look more useful than it is.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The cost of language
&lt;/h2&gt;

&lt;p&gt;Same models, same phrases, translated into English (paired McNemar tests):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;PT-BR&lt;/th&gt;
&lt;th&gt;English&lt;/th&gt;
&lt;th&gt;Δ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Embeddings alone, 0.6B&lt;/td&gt;
&lt;td&gt;81.3%&lt;/td&gt;
&lt;td&gt;93.3%&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;+12.0&lt;/strong&gt; (p = 0.0014)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Embeddings alone, 4B&lt;/td&gt;
&lt;td&gt;94.7%&lt;/td&gt;
&lt;td&gt;98.0%&lt;/td&gt;
&lt;td&gt;+3.3 (n.s.)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strands Decider + 0.6B embeddings&lt;/td&gt;
&lt;td&gt;85.8%&lt;/td&gt;
&lt;td&gt;94.2%&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;+8.4&lt;/strong&gt; (p ≤ 0.004)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strands Decider + 4B embeddings&lt;/td&gt;
&lt;td&gt;89.6%&lt;/td&gt;
&lt;td&gt;95.3%&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;+5.7&lt;/strong&gt; (p ≤ 0.039)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Laya multilingual alone&lt;/td&gt;
&lt;td&gt;51.8%&lt;/td&gt;
&lt;td&gt;57.6%&lt;/td&gt;
&lt;td&gt;+5.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Laya English checkpoint alone&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;81.6%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+24 over multilingual&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The last row is the one I keep coming back to. Laya's English and multilingual checkpoints come from the same release and share an architecture. On English text, training for one language instead of many is worth &lt;strong&gt;24 points&lt;/strong&gt;, the largest effect in the whole study. For Portuguese, the only option is the multilingual checkpoint, at about 51%.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for your agent
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Spend on the embedding model first.&lt;/strong&gt; With 10 examples per goal, a good embedding model was the single best component in both languages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test deciders with shuffled options.&lt;/strong&gt; Production order silently rewards models that just like the first option.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tune the combination on held-out phrases&lt;/strong&gt;, not on your goals' examples.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evaluate in your users' language.&lt;/strong&gt; An English evaluation overstated PT-BR accuracy for every component.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If you use a decider in PT-BR, plan to fine-tune it.&lt;/strong&gt; The 24-point gap between Laya's checkpoints shows how much a language-specific model can recover. That is my next experiment.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Reproduce it
&lt;/h2&gt;

&lt;p&gt;Everything is open: the code, both datasets, the server images for both deciders, and the raw per-phrase logs of all 50 runs. You can recompute every number above &lt;strong&gt;without a GPU or any model server&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/fuljorge/goal-classification-bench
&lt;span class="nb"&gt;cd &lt;/span&gt;goal-classification-bench
uv &lt;span class="nb"&gt;sync
&lt;/span&gt;uv run goalbench report results/v0.1.0/&lt;span class="k"&gt;*&lt;/span&gt;__&lt;span class="k"&gt;*&lt;/span&gt; results/v0.2.0/en/&lt;span class="k"&gt;*&lt;/span&gt;__&lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="nt"&gt;--cross-dataset&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;To run new deciders or models, the &lt;code&gt;servers/&lt;/code&gt; folder has Docker images and plain-venv instructions for both deciders, and &lt;code&gt;goalbench run&lt;/code&gt; takes any OpenAI-compatible embeddings endpoint.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/fuljorge" rel="noopener noreferrer"&gt;
        fuljorge
      &lt;/a&gt; / &lt;a href="https://github.com/fuljorge/goal-classification-bench" rel="noopener noreferrer"&gt;
        goal-classification-bench
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Reproducible benchmark of choice-style deciders (Laya, Strands Decider) for customer-goal classification in Brazilian Portuguese
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;goalbench&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://doi.org/10.5281/zenodo.23233352" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f9c019fd9c92c9567bc091670abe18f163e501da6fdabd3a75f21fc1b1d41e5e/68747470733a2f2f7a656e6f646f2e6f72672f62616467652f444f492f31302e353238312f7a656e6f646f2e32333233333335322e737667" alt="DOI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A reproducible benchmark for &lt;strong&gt;customer-goal classification in Brazilian Portuguese&lt;/strong&gt; with
small "decider" models that answer typed &lt;code&gt;choice&lt;/code&gt; questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/NandhaKishorM/laya" rel="noopener noreferrer"&gt;Laya&lt;/a&gt; (&lt;code&gt;laya-multilingual&lt;/code&gt;, mmBERT-base encoder);&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/strands-labs/strands-decider" rel="noopener noreferrer"&gt;Strands Decider&lt;/a&gt;
(&lt;code&gt;strands-decider-2B-hobson-v21&lt;/code&gt;, Qwen3.5-2B base with LoRA and a pointer head).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both are compared inside the same two-stage pipeline used by goal-oriented conversational
agents:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;an embedding model shortlists the 10 goals most similar to the message;&lt;/li&gt;
&lt;li&gt;the decider picks one of them;&lt;/li&gt;
&lt;li&gt;the two signals are combined and calibrated.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Every call is logged per phrase, so all conditions and statistics are recomputed offline.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Method:&lt;/strong&gt; &lt;a href="https://github.com/fuljorge/goal-classification-bench/docs/method.md" rel="noopener noreferrer"&gt;&lt;code&gt;docs/method.md&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dataset card:&lt;/strong&gt; &lt;a href="https://github.com/fuljorge/goal-classification-bench/data/README.md" rel="noopener noreferrer"&gt;&lt;code&gt;data/README.md&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Results:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Brazilian Portuguese: &lt;a href="https://github.com/fuljorge/goal-classification-bench/docs/results.md" rel="noopener noreferrer"&gt;&lt;code&gt;docs/results.md&lt;/code&gt;&lt;/a&gt;, with raw logs in
&lt;a href="https://github.com/fuljorge/goal-classification-bench/results/v0.1.0/" rel="noopener noreferrer"&gt;&lt;code&gt;results/v0.1.0/&lt;/code&gt;&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;language effect, PT-BR vs a parallel English translation
&lt;a href="https://github.com/fuljorge/goal-classification-bench/docs/results-language.md" rel="noopener noreferrer"&gt;&lt;code&gt;docs/results-language.md&lt;/code&gt;&lt;/a&gt;, with raw logs in
&lt;a href="https://github.com/fuljorge/goal-classification-bench/results/v0.2.0/" rel="noopener noreferrer"&gt;&lt;code&gt;results/v0.2.0/&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Results at a glance (v0.1.0)&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Top-1 accuracy on 150 held-out phrases, 10-goal shortlist, random option order, mean ± SD
over 3 seeds. Latency is the p95…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/fuljorge/goal-classification-bench" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Caveats
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Synthetic data.&lt;/strong&gt; The dataset was written by a language model, so absolute numbers are likely optimistic. The paired comparisons are more robust, because every system sees the same phrases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Translated English.&lt;/strong&gt; The English set is a translation, so part of the Portuguese gap may come from translation regularity rather than the language itself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small n.&lt;/strong&gt; 150 test phrases resolve differences of roughly 8 points or more. Smaller gaps here are consistent but not significant.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full write-up, with the methodology, all paired tests and threats to validity, is archived with the code on Zenodo: &lt;a href="https://doi.org/10.5281/zenodo.23233352" rel="noopener noreferrer"&gt;doi:10.5281/zenodo.23233352&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Next in this series: fine-tuning a decider for Brazilian Portuguese, and whether it closes the gap.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>nlp</category>
      <category>python</category>
    </item>
    <item>
      <title>SDD — Spec-Driven Development: o caminho para a qualidade na era do desenvolvimento com IA</title>
      <dc:creator>Fulvio Jorge da Silva</dc:creator>
      <pubDate>Wed, 09 Sep 2026 10:46:45 +0000</pubDate>
      <link>https://dev.to/fulviojorge/sdd-spec-driven-development-o-caminho-para-a-qualidade-na-era-do-desenvolvimento-com-ia-4b68</link>
      <guid>https://dev.to/fulviojorge/sdd-spec-driven-development-o-caminho-para-a-qualidade-na-era-do-desenvolvimento-com-ia-4b68</guid>
      <description>&lt;p&gt;A IA já escreve código. Muito código. Em poucos meses, "pedir para o agente fazer" virou parte do dia a dia de qualquer time de engenharia. Mas há um detalhe incômodo: a IA escreve rápido, e escreve confiante — inclusive quando está errada. Times maduros começam a perceber que o gargalo deixou de ser digitar código e passou a ser garantir que o código faz o que precisa fazer. É aqui que entra o Spec-Driven Development.&lt;/p&gt;

&lt;h2&gt;
  
  
  O problema do "vibe coding"
&lt;/h2&gt;

&lt;p&gt;A primeira geração de uso de IA em desenvolvimento ficou conhecida como vibe coding: você descreve a intenção em linguagem natural, o agente gera o código, você ajusta, repete. Funciona para protótipos. Mas em sistemas reais aparecem três sintomas crônicos:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requisitos implícitos viram bugs.&lt;/strong&gt; O que estava "óbvio" na cabeça de quem pediu não estava no prompt.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context pollution.&lt;/strong&gt; O agente lê milhares de linhas de código tentando deduzir o que você quer e alucina nas lacunas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drift.&lt;/strong&gt; A cada nova sessão, o agente "esquece" decisões anteriores. Pequenas inconsistências se acumulam até virarem retrabalho.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é Spec-Driven Development
&lt;/h2&gt;

&lt;p&gt;Spec-Driven Development (SDD) inverte a relação tradicional entre código e documentação. Em vez da especificação ser um anexo que envelhece esquecido em algum Confluence, ela passa a ser a fonte da verdade. O código é o artefato derivado — gerado e validado contra o contrato.&lt;/p&gt;

&lt;p&gt;A frase que resume a filosofia, cunhada pelo time do GitHub Spec Kit: "specifications do not serve code — code serves specifications".&lt;/p&gt;

&lt;p&gt;Para um agente de IA, isso muda tudo. Em vez de inferir intenção a partir de prompts soltos, ele recebe um documento estruturado, com critérios de aceitação verificáveis, e implementa contra esse contrato. Os relatórios iniciais de adoção em GitHub e AWS apontam taxa de sucesso na primeira tentativa de 3 a 10 vezes maior em tarefas não-triviais.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como funciona, na prática
&lt;/h2&gt;

&lt;p&gt;Os dois frameworks mais maduros — GitHub Spec Kit e AWS Kiro — convergem em um fluxo de quatro fases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Specificar.&lt;/strong&gt; Você escreve o quê e por quê, sem escolher stack. User stories, critérios de aceitação em notação EARS ("When [condição], the system shall [comportamento]"), modelo de domínio. É aqui que o esforço humano rende mais.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Planejar.&lt;/strong&gt; Agora sim, como: stack, arquitetura, decisões técnicas. A spec funcional já está congelada; o plano técnico é um documento separado que pode evoluir sem mexer no contrato.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Tasks.&lt;/strong&gt; O agente decompõe a spec + plano em tarefas pequenas, executáveis, cada uma ligada a um critério de aceitação. Isso é o que torna o trabalho rastreável.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Implementar.&lt;/strong&gt; O agente executa as tarefas. Cada PR é validado contra a spec — testes de contrato, testes E2E cobrindo cada critério EARS, gates de qualidade automáticos.&lt;/p&gt;

&lt;p&gt;Quando algo muda, a mudança entra pela spec primeiro. Nunca pelo código direto. É essa disciplina que elimina o drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que isso importa agora
&lt;/h2&gt;

&lt;p&gt;Três motivos práticos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O custo de gerar código caiu para perto de zero.&lt;/strong&gt; O que antes era escasso (linhas de código) virou abundante. O que continua escasso é clareza sobre o que construir. SDD coloca o esforço onde ele rende.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Front-end e back-end andam em paralelo.&lt;/strong&gt; Quando o contrato (OpenAPI, GraphQL, JSON Schema) existe antes do código, o front-end gera tipos e mocks, o back-end implementa endpoints conformes, e ambos se encontram no CI. Equipes relatam até 75% de redução no tempo de ciclo para mudanças de API, porque incompatibilidades aparecem na revisão da spec, não em produção.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A spec é o melhor contexto para o agente.&lt;/strong&gt; Sem spec, a IA tem que ler o repositório inteiro tentando entender o sistema. Com spec, ela tem o contrato. O agente fica mais barato, mais rápido e mais preciso — e o humano fica livre para o trabalho de pensar.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que muda no papel do desenvolvedor
&lt;/h2&gt;

&lt;p&gt;A pergunta que aparece toda vez: "se a IA escreve o código, o que sobra para mim?"&lt;/p&gt;

&lt;p&gt;Sobra o mais difícil — e o mais interessante. Modelar o problema. Definir critérios de aceitação que cobrem os edge cases. Revisar specs com olho de quem entende negócio e sistema. Decidir arquitetura. Validar que o resultado faz o que precisa fazer.&lt;/p&gt;

&lt;p&gt;O desenvolvedor não desaparece. Ele sobe de nível. Vira o arquiteto da intenção — e delega a implementação para o agente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por onde começar
&lt;/h2&gt;

&lt;p&gt;Se você quer experimentar SDD na próxima feature:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Antes de abrir o editor, escreva um spec.md com user stories e critérios EARS. (Easy Approach to Requirements Syntax ou Abordagem Fácil para a Sintaxe de Requisitos)&lt;/li&gt;
&lt;li&gt;Se for uma API, escreva o openapi.yaml ANTES de codar qualquer endpoint.&lt;/li&gt;
&lt;li&gt;Decomponha em tarefas pequenas e referenciáveis ("T-03 implementa o critério de aceitação X").&lt;/li&gt;
&lt;li&gt;Use o agente de IA com o spec.md anexado como contexto — não como prompt solto.&lt;/li&gt;
&lt;li&gt;Bloqueie merge se algum critério EARS não tiver teste cobrindo.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Para quem quer um cinto de ferramentas pronto: &lt;strong&gt;GitHub Spec Kit&lt;/strong&gt; (open-source, integra com Copilot, Claude Code, Gemini CLI) e &lt;strong&gt;AWS Kiro&lt;/strong&gt; (IDE agêntica com fluxo Requirements → Design → Tasks nativo) são os pontos de partida mais sólidos hoje. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/github/spec-kit" rel="noopener noreferrer"&gt;https://github.com/github/spec-kit&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Spec-Driven Development não é uma moda nem um framework a mais. É a resposta natural a uma mudança estrutural: o código virou commodity, a intenção virou o produto. Quem dominar essa transição vai entregar mais, com menos retrabalho, e vai manter a qualidade que os times tradicionais demoraram décadas para conquistar — em vez de jogá-la fora em nome da velocidade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A IA é uma ótima implementadora. Mas alguém ainda precisa dizer o que construir. SDD é como esse "alguém" passa a falar.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  SpecDrivenDevelopment #IA #DesenvolvimentoDeSoftware #Engenharia #GitHub #AWS #ProductivityWithAI
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>architecture</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
