Um cartão de título gerado para o Intern-Decision-2B com o texto 'Lançado discretamente, sem anúncio' e os selos 'o link do GitHub entrou no ar hoje' e '2.213.241.664 parâmetros', com o logotipo do OrcaRouter composto no canto.
Engineering & Research

Intern-Decision-2B foi lançado discretamente no Hugging Face. O link do GitHub em seu card acabou de parar de dar 404

Autor

Rowan Sterling

Data de publicação

Modelos mais recentes · 20Ver todos os modelos →
Benchmarks: Artificial Analysis · atualizado diariamente
Voltar para todas as publicações

Hoje mais cedo, o model card do internlm/Intern-Decision-2B apontava para três lugares para mais informações, e dois deles estavam quebrados: o Space de demonstração respondia HTTP 401, e github.com/internlm/Intern-Decision retornava 404 para qualquer pessoa que clicasse nele. A partir das 08:58 UTC, o repositório por trás desse segundo link existe — público, com três commits, contendo código de treinamento, dois backends de inferência, um pacote de avaliação com 10.751 linhas de teste, um benchmark de calibração de 96 casos e o guia de reprodução. Essa é a única coisa que mudou nesse modelo desde que ele apareceu no Hugging Face às 05:36 UTC em 26 de setembro de 2026, e é o suficiente para mover o Intern-Decision-2B de "um checkpoint com um README inacessível" para "um checkpoint que você pode realmente inspecionar, reproduzir e questionar".

Os próprios pesos permanecem inalterados e inequívocos. O Intern-Decision-2B é um modelo multimodal de decisão estruturada com 2.213.241.664 parâmetros, afinado a partir de Qwen/Qwen3.5-2B — a base da Alibaba de 28 de fevereiro de 2026 — lançado sob Apache-2.0, com a licença Qwen original preservada ao seu lado como LICENSE-QWEN. É o tamanho intermédio dos três que a InternLM lançou em quarenta segundos: Intern-Decision-0.8B às 05:35:57, este às 05:36:19 e Intern-Decision-4B às 05:36:37. Continua a não haver qualquer tipo de anúncio por detrás de nenhum deles.

O que faz o tamanho intermediário merecer um texto próprio é que é aí que a família deixa de se comportar de forma previsível. Nos próprios números da InternLM, ele é o mais rápido dos três e o pior calibrado dos três, e ambos os fatos valem a pena entender antes de você baixar quatro gigabytes e meio de qualquer coisa.

O que está confirmado e o que é apenas conversa do fornecedor

Duas categorias, e elas precisam ser mantidas separadas.

Confirmado, porque é uma listagem de arquivos ou uma resposta HTTP: a contagem de parâmetros (2.592 F32 mais 2.213.239.072 pesos BF16); o mapa de shards (um shard de linguagem de 3,76 GB, uma torre de visão de 612,5 MB, um projetor de 50,3 MB, cerca de 4,43 GB de tensores e aproximadamente 4,46 GB de repositório); o par de licenças; o modelo base; a arquitetura subjacente (um Qwen3_5ForConditionalGeneration com 24 camadas, tamanho oculto 2.048, 8 cabeças de consulta contra 2 cabeças de chave-valor, dimensão de cabeça 256, um padrão repetido de três camadas de atenção linear para uma camada de atenção completa, uma camada retida de previsão multi-token e um teto de embeddings de 262.144 posições); a existência do repositório; e o fato de que a coleção de modelos em huggingface.co/collections/internlm/intern-decision agora resolve e lista todos os três checkpoints.

Relatado pelo fornecedor e não reproduzido: cada número de acurácia, cada valor de latência e a temperatura de calibração. Não há artigo, nem entrada no arXiv, nem post de lançamento, nem changelog, nem avaliação independente — uma busca pela string "Intern-Decision" não retorna nada que seja sobre este modelo. O Space de demonstração ainda responde 401, o que significa que ele não é público, não que esteja quebrado. O checkpoint de 2B tem um like e zero downloads. Ninguém fora da InternLM o executou.

A screenshot of the Hugging Face model card for internlm/Intern-Decision-2B, showing the internlm organisation, the tags image-text-to-text, Transformers, Safetensors, qwen3_5, decision-making and multimodal, the Demo, Model Weights and GitHub links, and the card text stating the model is 'a multimodal structured decision model fine-tuned from Qwen3.5-2B' that 'accepts a shared state, a schema of named questions, and optional images, and returns an answer distribution for every question in one model forward pass', followed by the five-step 'How inference works' list.

O contrato de inferência, na ordem em que acontece

O arquivo mais informativo do repositório não é o card. É src/inference/engine.py e o inference.py incluído no Hub, porque, entre si, eles documentam um contrato em vez de um prompt.

• Você fornece estado — o material a ser avaliado — um esquema de perguntas e, opcionalmente, até oito imagens. De uma a dezesseis perguntas, até 62 opções cada.

As opções de cada pergunta são mapeadas para símbolos de token único: A–Z, depois a–z, depois 0–9. O teto de 62 opções não é uma preferência de design, é exatamente o número de símbolos de token único que o contrato pode

• O prompt de sistema, o estado, o esquema e um esqueleto JSON completo do assistente são renderizados com um <decision> placeholder por campo. O template de chat do checkpoint e o bloco de pensamento vazio são preservados como estão.

• Uma passagem forward causal é executada. Os logits são lidos na posição imediatamente anterior a cada placeholder — não depois, nem em um token gerado.

• A softmax é calculada apenas sobre os símbolos candidatos válidos desse campo, a calibração do checkpoint é aplicada, e os símbolos são mapeados de volta para os valores originais das suas opções.

A ficha é direta sobre o que isto é: "Esta API realiza pontuação estruturada de candidatos. Ela não chama generate() nem faz amostragem de texto livre." Um DecisionEngine(max_length=8192) recusa entrada grande demais em vez de truncá-la, então uma solicitação que não se encaixa falha de forma ruidosa em vez de perder silenciosamente seu último parágrafo. A lista de backends também é honesta — backend="hf" é o padrão e o único implementado no repositório Hugging Face, o que vale a pena saber porque a versão do GitHub também traz um backend XTuner e os dois não são numericamente idênticos. O próprio guia de avaliação da InternLM diz isso: "Diferenças de kernel e BF16 podem alterar probabilidades e, ocasionalmente, rótulos."

A anomalia no meio

Coloque os três checkpoints lado a lado na própria tabela do InternLM e a forma é estranha o bastante para ser a história.

• Média em sete suítes — Intern-Decision-0.8B 79,38, Intern-Decision-2B 84,68, Intern-Decision-4B 90,02. Ordenados, como seria de esperar ao aumentar os pesos.

• Latência em uma RTX 4090 — 33,98 ms de média para o 0,8B, 33,28 ms para o 2B, 44,16 ms para o 4B. O tamanho intermediário é o mais rápido dos três, por uma margem pequena o suficiente para ser ruído em uma única GPU, mas consistente entre média, mediana (33,15 ms) e P95 (33,55 ms).

• Escore de Brier, menor é melhor — 0,530; 0,437; 0,347. Monotônico em relação ao tamanho, como uma regra de pontuação adequada costuma ser.

• Erro de calibração esperado, menor é melhor — 0,066 para o 0,8B, 0,100 para este 2B, 0,065 para o 4B. O tamanho intermediário é o pior, e é pior que o modelo com metade do seu tamanho.

Essa última linha é a interessante, e as temperaturas ajustadas corroboram-no em vez de o explicarem. Cada checkpoint tem a sua própria temperatura ajustada por NLL: 2,747760550703 para o 0,8B, 2,100509348278 para o 2B, 1,992418 para o 4B. Todas foram ajustadas em 1.728 casos de calibração designados, com 1.693 mantidos de fora, minimizando a log-verosimilhança negativa numa busca de temperatura inversa em [0,01, 100], com os rótulos do conjunto de testes deliberadamente deixados fora do ajuste. A temperatura do 2B situa-se entre as dos seus dois irmãos, que é o que se esperaria se a anomalia fosse um artefacto de ajuste. Não é: o valor ajustado é monotónico com o tamanho, ao passo que o erro pós-calibração não é. Segundo a própria medição da InternLM, o checkpoint de 2,2 mil milhões de parâmetros é o menos confiável dos três quando lhe diz quão confiante é.

Duas ressalvas antes que isso se torne uma conclusão. O ECE com dez faixas de largura igual e confiança de probabilidade máxima é uma estatística ruidosa no pequeno conjunto que esta tabela usa — Jevbench-Hard, 111 itens, de modo que toda a coluna ECE se apoia em pouco mais de uma centena de perguntas e em uma escolha de agrupamento. E internlm/Intern-Decision-2B é o único cartão dos três que não traz a seção extra de calibração que o cartão 4B possui, então há menos documentação aqui, não mais. Leia o 0,100 como um motivo para ajustar sua própria temperatura em vez de como um veredito sobre os pesos.

A rendered comparison card titled 'Three checkpoints, forty seconds' listing the Intern-Decision 0.8B, 2B and 4B columns against seven rows: upload timestamps 05:35:57 / 05:36:19 / 05:36:37 UTC; parameters 852,985,920 / 2,213,241,664 / 4,539,265,536; seven-suite average 79.38 / 84.68 / 90.02; Brier 0.530 / 0.437 / 0.347; ECE 0.066 / 0.100 / 0.065; fitted temperature 2.747761 / 2.100509 / 1.992418; and RTX 4090 mean latency 33.98 ms / 33.28 ms / 44.16 ms, with a footer noting every figure is vendor-reported and unreproduced.

O que o repositório acrescenta, e o que ele ainda retém

A versão do GitHub é mais completa do que o cartão do modelo, que por si só já é informativo — um laboratório que pretendia criar um artefato de artigo normalmente não disponibiliza um gerador de calibração determinístico e um pacote de avaliação com verificação de hash junto com o lançador de treinamento.

O que agora é público: o código de treinamento e o objetivo de próximo token mascarado (os símbolos de resposta de referência aparecem apenas nos rótulos, nunca na entrada; a resposta de cada campo é prevista pelo logit imediatamente antes do seu marcador, e todos os campos compartilham uma única passagem forward); as sete suítes de acurácia com hashes verificados por SHA-256 e contagens de linhas; o código de pontuação; os scripts de ajuste de temperatura e de replay, em que se afirma que o replay muda zero decisões; o benchmark de calibração de distribuição de 96 casos com seu gerador e pontuador offline; e uma demo de navegador servida em loopback com POST /v1/decisions (com alias /v1/jev).

O que é explicitamente excluído, nas próprias palavras do repositório: "Dados de treinamento, registros privados de calibração/validação, imagens, pipelines de preparação e pesos do modelo não estão incluídos." O repositório não contém nenhum arquivo de licença, de modo que os termos do código não são declarados, embora os pesos sejam Apache-2.0. E a composição da divisão de calibração — quais 1.728 casos, de onde — permanece não divulgada, que é a única omissão que limita até que ponto os números de ECE podem ser verificados.

Os tamanhos que realmente roteamos, e aquele que não roteamos

O Intern-Decision-2B não está no OrcaRouter. Nossa página de modelo para ele retorna um 404, não há nenhum endpoint hospedado em lugar algum que tenhamos conseguido encontrar, e nada aqui deve ser interpretado como uma afirmação de disponibilidade. A única maneira de chamá-lo hoje é baixar o checkpoint e executar inference.py junto aos pesos.

Isso importa para a decisão sobre a qual este artigo realmente trata, porque um scorer que ninguém serve é um scorer que você precisa operar. Se a decisão de conjunto fechado que você está tentando tomar tiver formato semelhante ao que esta família faz — um estado, perguntas tipadas, probabilidades calibradas —, a comparação hospedada é TypeSafe's Jev 1.13, que é o modelo contra o qual a InternLM fez benchmark de propósito e que está no OrcaRouter a US$ 0,042 por milhão de tokens de entrada, com contexto de 65K e um P50 de tempo até o primeiro token de 178 ms.

A screenshot of the OrcaRouter model page for typesafe/jev-1.13, dated 2026-09-24, showing the TypeSafe breadcrumb, the model name Jev 1.13, text input, and the description that Jev is a structured decision and evaluation model taking a state and named questions (noul / choice / score) and returning a structured answer for each, served non-streaming via POST /v1/systemone with up to about 64K input tokens.

Executar localmente um checkpoint de 2,2 bilhões de parâmetros e chamar um classificador hospedado não são a mesma compra, mas são o mesmo problema, e ter ambos em uma única chave com preço de tabela do provedor repassado com 0% de markup é o motivo para manter a comparação em aberto em vez de apostar a arquitetura em um deles.

O que mudaria esta imagem

Três coisas, em ordem.

Alguém fora da InternLM precisa reproduzir a média de 84,68 e a ECE de 0,100, e o repositório agora é o que torna isso possível — o que é a verdadeira notícia aqui. O exame é público e verificado por hash; só falta o gabarito, e o gabarito é o checkpoint que qualquer pessoa agora pode baixar.

O fornecedor precisa de dizer para que serve isto. Um modelo com uma stack de treino funcional, um pacote de avaliação publicado e sem qualquer anúncio, sem licença no seu código e sem endpoint alojado lê-se como um lançamento de investigação que ainda não foi decidido como produto. Os pesos Apache-2.0 apontam num sentido; a ausência de licença no código e o Space com 401 apontam no outro.

E o tamanho intermediário precisa de uma razão para existir. Se a vantagem de velocidade do 2B sobre o 0.8B é real, mas marginal, e sua calibração é a mais fraca dos três em todas as métricas que a InternLM publicou, então a recomendação honesta para a maioria dos leitores é pagar 2,6× em espaço em disco pelo 4B ou aceitar a acurácia mais fraca do modelo menor. O argumento a favor do 2B é que ele, por acaso, é o mais rápido entre os rápidos — e esse é um argumento mais frágil do que o enquadramento moldado pelo marketing da família sugere.