Ternary Bonsai 2 27B: paridade entre WebGPU e runtime nativo para inferência de IA local
Ternary Bonsai 2 27B coloca um checkpoint ternário de classe 27B tanto nas conversas sobre WebGPU no navegador quanto sobre runtime nativo. Este guia mapeia o que as equipes devem comparar em carregamento a frio, carregamento aquecido, compilação, prefill, decode, recursos, comportamento de cache e reprodutibilidade antes de escolher WebGPU, MLX ou CUDA.
Por que o Ternary Bonsai 2 27B muda a questão entre navegador e IA local nativa
Ternary Bonsai 2 27B é interessante porque aparece em mais de um grupo de runtime. O lançamento da Prism ML de 17 de setembro descreve um checkpoint ternário de classe 27B baseado em Qwen3.8, um formato de 1,76 bits efetivos e uma pegada de modelo reportada de 5,9GB. A coleção relacionada no Hugging Face aponta para artefatos nativos como GGUF e MLX. O Space WebGPU adiciona um caminho de navegador.
Essa combinação muda a pergunta. A pergunta útil já não é "Este modelo pode rodar localmente?". É "Quais partes da experiência local sobrevivem à mudança de runtime nativo para runtime de navegador?"
Esse é um critério mais estreito e mais útil. Uma demonstração no navegador não prova paridade com CUDA ou MLX em throughput, comprimento de contexto, suporte a recursos, comportamento de memória, logging ou repetibilidade. Ela prova que há superfície pública de artefatos suficiente para testar a fronteira corretamente.
Este artigo não é uma repetição do teste de aceitação em dispositivo do Bonsai 1 anterior da Optijara. O texto de julho analisou a aceitação em dispositivo de primeira geração. O Bonsai 2 precisa de uma lente de paridade de runtime: download, cache, configuração do adaptador WebGPU, compilação de shader ou kernel, carregamento do modelo, prefill, decode, comportamento de contexto, limites de texto e imagem e repetibilidade em relação aos caminhos nativos. Para equipes que comparam o comportamento de arquivos quantizados entre runtimes, o guia de migração de layout por tensor GGUF e receita de quantização é o complemento melhor.
WebGPU no navegador é uma experiência de produto antes de ser uma história de benchmark. Pode ser uma forma de baixo atrito de permitir que uma parte interessada toque em um modelo local. Também pode ocultar os detalhes exatos de que um avaliador sério precisa. Trate-o como um runtime com seus próprios modos de falha, não como um invólucro mais bonito em torno da inferência nativa.
Mais uma proteção. Os números de desempenho nativo da Prism, publicações da comunidade e reações rápidas a demos são sinais úteis de descoberta. Eles não são evidências de benchmark intercambiáveis. A Optijara não executou um benchmark independente para este artigo. Quaisquer testes abaixo são planos de medição propostos, não resultados declarados.
O mapa de artefatos: o que cada fonte pode provar
A primeira tarefa é separar evidência de suposição. A página de lançamento pode estabelecer o anúncio, o posicionamento do modelo e as declarações do publicador. A coleção do Hugging Face pode mostrar o agrupamento público de artefatos. Cartões de modelo individuais podem mostrar arquivos específicos de runtime, licenças, revisões e notas de uso. A árvore e o README do Space WebGPU podem mostrar o que o artefato de navegador expõe em código ou interface. Nenhuma dessas fontes, sozinha, prova que toda capacidade do modelo chega ao navegador.
| Artefato de fonte | O que pode provar | O que não prova por si só |
|---|---|---|
| Página de lançamento da Prism ML | Momento do lançamento, principais declarações sobre o modelo, pegada reportada pelo publicador e números nativos | Desempenho independente, throughput no navegador, prontidão para produção |
| Coleção do Hugging Face | Agrupamento público de artefatos e entradas de modelo relacionadas | Que todos os artefatos têm recursos idênticos |
| Cartão do modelo GGUF | Disponibilidade de artefato nativo no estilo llama.cpp e detalhes de arquivo | Comportamento no navegador ou desempenho MLX |
| Cartão do modelo MLX 2-bit | Disponibilidade de caminho nativo para Apple Silicon | Comportamento CUDA ou paridade no navegador |
| Árvore e README do Space WebGPU | Código do artefato de navegador, arquivos, pistas de UI e caminho de demo compatível | Paridade completa de recursos do modelo, a menos que implementada explicitamente |
| Documentos da Prism e demo no GitHub | Orientação de integração e contexto do projeto | Que uma aba específica do navegador pode lidar com toda declaração em nível de arquitetura |
| PDF do whitepaper | Projeto técnico e enquadramento de avaliação reportado | Comportamento sem perdas em toda tarefa downstream |
| Publicação do Hugging Face sobre kernels WebGPU | Contexto de kernels WebGPU e direção da inferência no navegador | Resultados de benchmark ponta a ponta específicos do Bonsai 2 |
Isso importa porque uma pegada de pesos de 5,9GB não é memória de pico. Não é tamanho de cache do navegador. Não é overhead de transferência, cache de shader, alocação de buffer temporário ou sobrevivência da aba sob pressão. A execução no navegador pode precisar de memória de trabalho extra durante download, compilação, execução e reidratação de cache. Runtimes nativos muitas vezes expõem relatórios de memória, controles de quantização e logs mais claros.
A mesma cautela se aplica a contexto longo e declarações multimodais. Se uma família de modelos ou arquitetura menciona contexto longo ou visão, isso não significa que a demo WebGPU suporte entrada de imagem ou um comprimento máximo de contexto prático. Limites de memória do navegador, comportamento do adaptador de GPU, pressão de cache e construção de prompt também têm influência.
Mapa de paridade entre navegador e nativo
O Mapa de Paridade entre Navegador e Nativo usa cinco dimensões: disponibilidade de artefato, caminho de inicialização, caminho de tokens, superfície de recursos e envelope operacional. O objetivo não é coroar WebGPU, MLX ou CUDA. O objetivo é parar de tratar "roda no navegador" como uma resposta de sim ou não.
| Dimensão de paridade | WebGPU no navegador | MLX nativo | CUDA nativo ou GGUF |
|---|---|---|---|
| Disponibilidade de artefato | Depende dos arquivos do Space, bundle do navegador e caminho de fetch | Depende do artefato MLX e da configuração do Apple Silicon | Depende do arquivo GGUF, build do runtime e suporte de GPU |
| Caminho de inicialização | Download, cache, init do adaptador, compilação de shader ou kernel, carregamento | Carregamento de arquivo local, init do runtime MLX, execução de grafo | Carregamento de arquivo local, init do backend CUDA ou CPU, parâmetros do runtime |
| Caminho de tokens | Prefill e decode no navegador por kernels WebGPU | Caminho de execução nativo do Apple Silicon | Caminho de execução nativo em GPU ou CPU |
| Superfície de recursos | Deve ser confirmada pela UI e pelo código | Muitas vezes mais próxima das declarações do cartão do modelo, ainda específica do artefato | Muitas vezes mais ajustável, ainda específica do artefato |
| Envelope operacional | Memória do navegador, estabilidade da aba, comportamento de cache, atualizações do navegador | Versões de macOS e MLX, estado térmico, pressão de memória | Driver, CUDA, build llama.cpp, arquivo quantizado, VRAM, térmicas |
WebGPU pode ser suficiente para uma demo, um fluxo educacional, uma avaliação interna ou um prompt local leve em que velocidade de configuração importa mais do que instrumentação profunda. É especialmente útil quando uma equipe quer que pessoas vejam um caminho de modelo local sem instalar runtimes nativos.
Caminhos nativos ainda importam quando a equipe precisa de benchmarking repetível, controles explícitos de hardware, melhor profiling, automação semelhante a servidor, suites de avaliação mais longas ou comparações cuidadosas entre arquivos quantizados. MLX é o caminho natural para Apple Silicon. CUDA e GGUF são o caminho de avaliação para workstation e servidor.
{
"framework": "Browser-to-Native Parity Map",
"dimensions": ["artifact_availability", "startup_path", "token_path", "feature_surface", "operating_envelope"],
"claim": "Parity is workload-specific and must be measured separately for browser WebGPU, MLX, and CUDA or GGUF paths.",
"benchmark_status": "proposed_test_plan_only"
}Meça inicialização e geração de tokens separadamente
Uma comparação justa de runtime para Bonsai 2 começa separando inicialização de geração. Download da primeira visita, recarregamento com acerto de cache, inicialização do adaptador WebGPU, compilação de shader, carregamento do modelo, latência do primeiro token, velocidade de prefill, velocidade de decode, pressão de memória e estabilidade da aba são eventos separados. Junte tudo em uma pontuação de "pareceu rápido" e o verdadeiro gargalo desaparece.
| Campo de medição | Campo WebGPU no navegador | Campo MLX ou CUDA nativo | Por que importa |
|---|---|---|---|
| Download da primeira visita | Total de bytes transferidos, endpoints de fetch, comportamento de interrupção | Método de download do artefato e checksum | Separa custo de rede de velocidade de runtime |
| Recarregamento aquecido | Estado de acerto de cache, comportamento de service worker se presente | Reuso de arquivo local | Mostra a experiência repetida após o primeiro carregamento |
| Init do runtime | Navegador, adaptador WebGPU, driver, permissões | Versão do runtime, driver, commit da biblioteca | Captura variação de ambiente |
| Compilação | Tempo de compilação de shader ou kernel | Aquecimento de grafo ou kernel | Explica atraso da primeira execução |
| Carregamento do modelo | Tempo até estado pronto e pressão de memória | Tempo de carregamento e memória ou VRAM | Identifica envelope prático de inicialização |
| Prefill | Tokens de prompt, latência do primeiro token | Mesmo prompt e configurações de contexto | Prompts longos estressam atenção e memória |
| Decode | Tokens de saída por segundo | Mesmas configurações de decodificação | Mostra comportamento de geração estável |
| Modo de falha | Crash, encerramento de aba, navegador não compatível, fetch travado | OOM, erro de driver, exceção de runtime | Ajuda a definir limites de implantação |
Não compare um número nativo do publicador, uma anedota de velocidade em rede social e uma impressão de demo no navegador como se fossem o mesmo benchmark. Eles podem usar hardware, comprimentos de prompt, configurações de contexto, arquivos quantizados, versões de navegador e estados de aquecimento diferentes.
Um relatório útil deve incluir o pacote exato de prompts, revisão do modelo, commit do runtime, sistema operacional, adaptador de GPU, versão do navegador, arquivo quantizado, comprimento de contexto e parâmetros de decodificação. Se esses detalhes estiverem ausentes, o resultado ainda pode ser interessante, mas não deve orientar uma decisão de adoção.
Paridade de recursos é mais do que saída de texto
A geração de texto costuma ser o primeiro alvo de paridade porque é visível e fácil de testar. Mas paridade de texto não é paridade completa do modelo. As equipes também devem verificar comportamento de JSON estruturado, reuso de contexto em múltiplas rodadas, resumo de documentos longos, comportamento de recusa se relevante e variação em execuções repetidas.
Suporte a visão precisa de sua própria prova. Se uma família completa de modelos ou documentação menciona capacidade multimodal, o artefato de navegador ainda precisa de evidência de UI e código antes que alguém declare suporte a entrada de imagem. Os rótulos úteis são compatível, parcialmente compatível, incompatível ou desconhecido até ser testado.
Contexto longo merece a mesma disciplina. Uma declaração de contexto em nível de arquitetura não significa que uma aba do navegador possa processar o contexto máximo com memória, latência e estabilidade aceitáveis. Para o Bonsai 2, a melhor pergunta operacional não é "qual é o contexto teórico?". É "quais comprimentos de prompt permanecem estáveis e úteis neste runtime neste dispositivo?"
Essa formulação é menos dramática, mas ajuda as equipes a evitar transformar uma suposição de demo em promessa de produto.
Uma matriz prática de dispositivos e workflows
As equipes devem avaliar o Bonsai 2 em dispositivos e workflows, não em um único prompt favorável. A matriz abaixo é um plano proposto, não um resultado de benchmark da Optijara.
| Alvo de runtime | Caminho de dispositivo | Prompts de teste | Critérios de aprovação |
|---|---|---|---|
| Chromium WebGPU | GPU desktop capaz | Instrução curta, resposta JSON, resumo longo, recarregamento de cache | Conclui sem crash, registra adaptador, recarregamento aquecido estável |
| Navegador em Apple Silicon | Caminho de navegador Apple Silicon | Instrução curta, resumo de documento, contexto em múltiplas rodadas | Primeiro token aceitável para o workflow pretendido, nenhum recurso sem suporte silencioso |
| MLX | Nativo Apple Silicon | Mesmo pacote de prompts, mesma revisão de modelo quando possível | Formato de saída repetível, runtime registrado e notas de memória |
| CUDA ou GGUF | Workstation ou GPU de servidor | Mesmo pacote de prompts, comprimentos de contexto variados | Configurações reprodutíveis, VRAM registrada e commit do runtime |
| Fallback de CPU | Caso de fronteira somente se documentado | Prompt pequeno e comportamento de falha | Declaração clara de que este não é o caminho de desempenho preferido |
A suite de prompts deve incluir uma instrução curta, um resumo de documento longo, uma saída JSON estruturada, um teste de reuso de contexto em múltiplas rodadas, uma verificação de entrada de imagem somente se o artefato a suportar e uma verificação de recarregamento de cache. Registre aprovação, cautela ou falha. "Cautela" é útil quando um runtime funciona para texto curto, mas falha em contexto longo, precisa de uma flag específica do navegador ou se comporta de forma diferente após recarregamento aquecido.
Erros comuns ao testar IA local no navegador contra runtimes nativos
O primeiro erro é tratar tamanho de download como requisito de memória. A pegada do publicador é um fato do artefato do modelo, não um envelope completo de runtime. Meça memória de pico, tamanho de cache, buffers temporários e comportamento de falha.
O segundo erro é tratar throughput nativo como throughput no navegador. Números nativos de CUDA ou MLX não são transferidos automaticamente para WebGPU. Meça cada runtime em seu próprio caminho.
O terceiro erro é tratar suporte de demo como suporte completo do modelo. Um Space de navegador pode expor geração de texto enquanto deixa entrada de imagem, contexto completo ou controles avançados sem suporte. Inspecione arquivos, UI e comportamento de rede antes de fazer declarações.
O quarto erro é presumir que IA local no navegador é privada por padrão. Execução local ainda pode envolver endpoints de fetch, comportamento de armazenamento, service workers, telemetria ou chamadas de dependência. Inspecione o caminho de rede. Desconecte a rede após o carregamento aquecido e veja o que ainda funciona.
O quinto erro é usar um único prompt como benchmark. Uma instrução educada isolada pode ocultar problemas de contexto, estrutura, decodificação e estabilidade. Use uma suite de prompts e mantenha entradas exatas sob controle de versão.
Ressalvas e trocas operacionais
IA local com navegador em primeiro lugar pode reduzir o atrito de configuração, mas não remove o trabalho de implementação. Segurança e privacidade ainda precisam de revisão de código, inspeção de rede, revisão de cache, revisão de dependências e teste de comportamento offline.
O desempenho varia por navegador, driver, adaptador de GPU, memória do dispositivo, estado térmico e cadência de atualização do runtime. A reprodutibilidade é mais difícil quando o navegador faz parte do runtime. Uma atualização de navegador, atualização de driver, mudança no compilador de shader ou invalidação de cache pode mudar a experiência.
Caminhos nativos exigem mais configuração, mas muitas vezes dão às equipes maior controle sobre versões, logs, profiling e automação. Manutenção é o custo oculto. Se uma equipe entrega IA no navegador como ferramenta interna, alguém é responsável por compatibilidade de navegador, atualizações de artefato do modelo, invalidação de cache e notas de suporte para dispositivos incompatíveis. Se uma equipe entrega workflows nativos, alguém é responsável por instalação de runtime, drivers, arquivos quantizados e restrições de hardware. Nenhum caminho é gratuito.
Guia de decisão: WebGPU, MLX, CUDA ou um caminho misto
Escolha WebGPU no navegador quando o objetivo for uma demo de baixo atrito, walkthrough educacional, piloto interno ou caminho de avaliação em que usuários possam tolerar limites explícitos de recursos. É uma boa primeira experiência quando a equipe quer testar interesse antes de instalar stacks nativas.
Escolha MLX quando o público de avaliação estiver majoritariamente em Apple Silicon e a equipe precisar de integração nativa, repetibilidade e caracterização de dispositivos Apple. MLX também é útil quando o caminho de navegador funciona, mas não expõe observabilidade suficiente para uma comparação séria.
Escolha CUDA ou GGUF quando a equipe precisar de avaliação no estilo workstation ou servidor, instrumentação mais profunda, comparação de quantização, suites de prompts mais longas ou teste de desempenho controlado. Esse caminho tem mais custo de configuração, mas geralmente é a via mais forte para medição repetível.
Use múltiplos runtimes quando o Bonsai 2 aparecer em mais de um ambiente. Uma demo no navegador pode ajudar partes interessadas a entender a experiência. MLX pode apoiar laptops de desenvolvedores Apple. CUDA ou GGUF pode ancorar avaliação controlada. É aí que o Mapa de Paridade entre Navegador e Nativo justifica seu uso: ele transforma a escolha de runtime em um teste de aceitação documentado, em vez de um debate sobre manchetes de lançamento.
Para equipes que precisam de um plano de teste neutro, a Optijara pode ajudar a definir a suite de prompts, matriz de runtimes, campos de medição e notas de adoção sem presumir de antemão que navegador, MLX ou CUDA é a resposta certa.
Pontos principais
- 1Ternary Bonsai 2 27B deve ser avaliado como um lançamento multi-runtime, não apenas como um anúncio de modelo.
- 2A paridade de WebGPU no navegador deve ser medida em download, cache, inicialização do adaptador, compilação, carregamento, prefill, decode, recursos e falhas.
- 3Uma pegada de modelo de 5,9GB não é o mesmo que memória de pico no navegador, cache em disco, overhead de transferência ou estabilidade de runtime.
- 4Números nativos de CUDA e MLX não devem ser tratados como throughput no navegador, a menos que o mesmo workload seja medido no caminho de navegador.
- 5Entrada de imagem, contexto longo e outras capacidades avançadas exigem verificação no nível do artefato de navegador antes de serem declaradas.
Conclusão
A paridade de runtime para Ternary Bonsai 2 27B é um problema de medição, não uma manchete de lançamento. O lançamento dá às equipes artefatos de navegador e nativos para inspecionar, mas a decisão útil vem de testar inicialização, prefill, decode, contexto, suporte a recursos, comportamento de cache e reprodutibilidade nos dispositivos que importam. Equipes que documentam essas trocas podem escolher WebGPU, MLX, CUDA ou um caminho misto com menos adivinhação e menos suposições de implantação sem suporte.
Perguntas frequentes
O que é Ternary Bonsai 2 27B?
Ternary Bonsai 2 27B é um lançamento da Prism ML descrito como um checkpoint ternário de classe 27B baseado em Qwen3.8, com notas públicas de lançamento e artefatos relacionados no Hugging Face para caminhos de runtime em navegador e nativos.
A demo WebGPU do Ternary Bonsai 2 corresponde ao desempenho nativo de CUDA ou MLX?
Não automaticamente. A paridade no navegador deve ser medida separadamente para download, carregamento, compilação de shader ou kernel, latência do primeiro token, prefill, decode, pressão de memória, comportamento de cache e recursos compatíveis.
A pegada de 5,9GB do Bonsai 2 é igual à memória necessária no navegador?
Não. A pegada descreve o artefato do modelo, não o envelope completo de runtime. A memória do navegador pode incluir overhead de transferência, buffers temporários, cache de shader, cache de modelo e pressão de memória da aba.
A versão de navegador pode usar entrada de imagem e contexto longo completo do Bonsai 2?
Somente se o artefato específico de navegador suportar esses recursos. As equipes devem inspecionar a UI do Space WebGPU, arquivos, comportamento de fetch e código antes de declarar suporte a entrada de imagem ou suporte prático a contexto máximo em um navegador.
Quando uma equipe deve escolher WebGPU em vez de MLX ou CUDA para inferência de IA local?
Escolha WebGPU para demos de baixo atrito e avaliação baseada em navegador quando limites de recursos forem aceitáveis. Escolha MLX para testes nativos em Apple Silicon e CUDA ou GGUF para instrumentação mais profunda, comparação de quantização e avaliação repetível em workstation ou servidor.
Fontes
- https://prismml.com/news/bonsai-2-27b
- https://huggingface.co/collections/prism-ml/bonsai-2
- https://huggingface.co/prism-ml/Ternary-Bonsai-2-27B-gguf
- https://huggingface.co/prism-ml/Ternary-Bonsai-2-27B-mlx-2bit
- https://huggingface.co/spaces/webml-community/ternary-bonsai-2-webgpu-kernels/tree/main
- https://huggingface.co/spaces/webml-community/ternary-bonsai-2-webgpu-kernels/blob/main/README.md
- https://github.com/PrismML-Eng/Bonsai-demo/
- https://github.com/PrismML-Eng/Bonsai-demo/blob/main/bonsai-2-27b-whitepaper.pdf
- https://docs.prismml.com/get-started/introduction
- https://huggingface.co/blog/webgpu-kernels
Escrito por
Hamza DiazHamza Diaz é o fundador da Optijara, onde cria agentes de IA práticos, sistemas de automação e fluxos de trabalho do Copilot para empresas de serviços. Ele escreve sobre operações de IA, estratégia de agentes e implementação no mundo real para equipes que querem sistemas úteis em vez de exagero.
