Um cartão de título gerado intitulado 'Ming-3.0-asr-tiny vs Moonshine 250M', com um painel esquerdo mostrando um microfone ao vivo alimentando um pequeno codificador de streaming rotulado 'front-end de 50 Hz, antecipação de 80 ms' e um painel direito mostrando um arquivo de áudio inteiro sendo carregado em uma grande pilha de especialistas rotulada '8,87B parâmetros, clipe inteiro, saída em texto simples', e um rodapé lendo 'Valores do Moonshine conforme sua ficha do modelo; valores do Ming conforme sua configuração e gráficos do fornecedor.'
Guides & Insights

Ming-3.0-asr-tiny vs Moonshine 250M: Um modelo nunca para de ouvir, o outro nunca começa até você terminar

Autor

Elias Hawthorne

Data de publicação

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

Há um problema de nomenclatura a esclarecer antes de qualquer outra coisa, porque ele muda o que é esta comparação. A Moonshine publica três checkpoints — Tiny com 34M, Small com 123M e Medium com 245M — e Moonshine 250M é a forma abreviada que a comunidade usa para o topo dessa linha, o checkpoint cujo nome de repositório é moonshine-streaming-medium e cujo índice de safetensors soma, na verdade, 265.898.112 parâmetros. Nenhum arquivo em lugar algum da organização Moonshine se chama 250M. Esse modelo é um reconhecedor de streaming em inglês com um codificador de janela deslizante e um decodificador autorregressivo, feito para um laptop ou um celular, lançado em janeiro de 2026 sob MIT. Ming-3.0-asr-tiny é um reconhecedor de chinês e inglês com 8,87 bilhões de parâmetros cujos pesos apareceram no Hugging Face em 14 de outubro de 2026 sem um anúncio, construído em torno de um codificador no formato do Whisper e um decodificador de mistura de especialistas com 128 especialistas, e projetado para ler um clipe inteiro de uma vez. Eles não são rivais no mesmo mercado. São duas respostas diferentes à pergunta sobre quando um reconhecedor pode falar. O checkpoint que este artigo chama de Moonshine 250M está documentado em o model card do Moonshine Streaming Medium, onde o índice de safetensors informa 265.898.112 parâmetros contra o rótulo de 245M do card. As falhas de IA e os incidentes com agentes documentados por trás de lançamentos como este estão reunidos em o OrcaRouter AI Incident Archive onde cada entrada traz suas próprias fontes, gravidade, grau de confiança e sinalização de disputa.

Essa pergunta é o enquadramento útil, e produz uma decisão mais limpa do que uma tabela de precisão produziria. O Moonshine 250M emite palavras enquanto o áudio ainda está chegando, em cerca de 0,1 a 1 TOPS. O Ming-3.0-asr-tiny não emite nada até que você lhe entregue um arquivo completo, e então emite uma transcrição sem nenhum timestamp.

O que cada um é realmente feito para fazer

A arquitetura do Moonshine é uma inversão deliberada do compromisso usual de streaming. O codificador é um transformer de janela deslizante com atenção local limitada e sem embeddings posicionais — o card o chama de ergódico — com janelas como (16, 4) nas primeiras duas e nas últimas duas camadas e (16, 0) nas intermediárias, o que produz cerca de 80 milissegundos de lookahead. A informação posicional é injetada por um adaptador após o codificador, alimentando um decodificador causal padrão com RoPE. O frontend de áudio roda a 50 Hz usando operações simples no domínio do tempo em vez de um espectrograma mel.

O decodificador é autoregressivo, e o Moonshine diz quanto isso custa: a latência da saída completa cresce com o comprimento da transcrição mesmo quando o tempo até o primeiro token é baixo. Essa é a limitação honesta do design, e é a única frase a ter em mente ao comparar alegações de streaming. Streaming significa que as primeiras palavras aparecem rapidamente; não significa que a última palavra apareça proporcionalmente rápido.

O Ming não faz streaming, e seu card declara isso: o exemplo incluído não aceita entrada de streaming. Áudios longos podem ser divididos em blocos por meio de um argumento para um contexto de 8.192 posições, mas dividir um arquivo em blocos não é o mesmo que consumir um feed ao vivo, e o campo de formato de saída na configuração está definido como plain. O que o Ming faz, em vez disso, é carregar contexto. Ele aceita hotwords ou o turno anterior do diálogo como parte do prompt de transcrição, e é avaliado em quinze conjuntos de teste de dialetos chineses — Hunan, Minnan, cantonês, Chuanyu, Shanghai, Anhui, Nordeste, Henan, Hubei, Jiangsu, Hakka, Shaanxi, Shandong, Tianjin, Yunnan. O Moonshine é apenas em inglês e não tem nada disso.

A screenshot of the Moonshine Streaming Medium model card on Hugging Face, showing the moonshine-ai organisation, the automatic-speech-recognition pipeline tag, an MIT licence, English as the only language, and the card's opening description of a lightweight 50 Hz audio frontend paired with a sliding-window transformer encoder for low-latency on-device streaming ASR.

As duas contagens de parâmetros, e por que elas diferem

Um detalhe que vale a pena considerar, porque é o tipo de coisa que quebra silenciosamente uma tabela de comparação: o próprio cartão do Moonshine lista o Medium com 245M de parâmetros, 14 camadas de encoder e 14 de decoder, um encoder de 768 dimensões e um decoder de 640 dimensões. O índice safetensors no mesmo repositório reporta 265.898.112. A diferença é de cerca de 21 milhões, aproximadamente oito e meio por cento, e não é um erro de arredondamento — é a diferença entre contar um backbone e contar tudo o que vem com ele.

Ming tem o mesmo problema em uma escala maior. Seu índice reporta 8.865.800.992 parâmetros; seus gráficos rotulam o modelo 8.6B-A2B, uma abreviação para 8,6 bilhões no total com cerca de 2 bilhões ativos por token. O rótulo está aproximadamente 270 milhões abaixo do índice.

• Total de parâmetros — Ming-3.0-asr-tiny 8,87B (índice) versus Moonshine 250M 266M (índice); os rótulos do fornecedor indicam 8,6B e 245M.

• Ativo por token — cerca de 2B para Ming, já que 8 de 128 especialistas são roteados por etapa. Todos os 266M para Moonshine, que é denso.

• Codificador — 32 camadas, 1.280 dimensões, 20 cabeças, 128 bins mel, no formato Whisper, em comparação com um transformer ergódico de janela deslizante de 14 camadas com 768 dimensões sobre um frontend de 50 Hz.

• Decodificador — 24 camadas, 128 especialistas, autorregressivo; versus 14 camadas, denso, autorregressivo.

• Modelo de latência — clipe inteiro na entrada, transcrição na saída, sem streaming; versus ~80 ms de lookahead e um primeiro token enquanto o áudio ainda está chegando.

• Saída — texto de transcrição simples, sem timestamps, sem diarização; em comparação com o texto de transcrição de um decodificador autorregressivo que também não tem caminho de timestamp no cartão.

• Idiomas — Chinês e inglês, além de 15 conjuntos de testes de dialetos chineses; versus apenas inglês.

• Licença — MIT para ambos, com os cabeçalhos Apache-2.0 incluídos mantidos no repositório do Ming.

A generated comparison scoreboard titled 'Ming-3.0-asr-tiny vs Moonshine 250M — the scoreboard', with six matching rows: Parameters 8.87B total, 2B active versus 266M dense, Streaming no versus yes, 80 ms lookahead, Languages Chinese, English and 15 dialects versus English, Context input hotwords and dialogue versus none, Hardware CUDA GPU, 17.7 GB BF16 versus sub-1 GB, on-device, Licence MIT versus MIT; the footer reads 'Moonshine figures per its model card; Ming figures from its config and vendor charts, unreproduced.'

Precisão, com a ressalva de que nunca foram testados no mesmo áudio

O card do Moonshine informa um WER médio de 6,65 em oito conjuntos em inglês para o Medium: 10,68 no AMI, 11,90 no Earnings-22, 9,46 no GigaSpeech, 2,08 no LibriSpeech test-clean, 5,00 no test-other, 2,58 no SPGISpeech, 2,99 no TED-LIUM e 8,54 no VoxPopuli. Treinado com aproximadamente 300.000 horas de fala.

Ming relata WER médio de 3,99 em seus conjuntos públicos em inglês — LibriSpeech clean e other, Multilingual LibriSpeech, FLEURS English, Common Voice 15 English e VoxPopuli — e CER médio de 3,55 em seus conjuntos em chinês. Treinado com uma quantidade não divulgada de dados.

A tentação é colocar 3,99 ao lado de 6,65 e declarar que o Ming é mais preciso em inglês. Não faça isso. Dois dos cinco conjuntos em inglês diferem, a agregação difere, a ficha do Moonshine não publica um detalhamento por conjunto que corresponda de forma clara aos cinco do Ming, e nenhum dos fornecedores testou o modelo do outro. No único conjunto que ambos reportam — VoxPopuli —, o Ming não publica, em seu texto, nenhum valor de inglês por conjunto; apenas a média, de modo que nem mesmo essa única sobreposição pode ser comparada a partir das fichas. Todos os números aqui são informados pelos fornecedores e não foram reproduzidos.

O que pode ser dito sem um conjunto de teste compartilhado é estrutural. Moonshine é um modelo denso de 266 milhões de parâmetros treinado em 300.000 horas de inglês. Ming é um modelo de mistura de especialistas de 8,87 bilhões de parâmetros com cerca de 2 bilhões ativos, treinado em dados que não descreve, avaliado em chinês e inglês com um forte componente dialetal. Um modelo com dezessete vezes os parâmetros ativos e um prior de modelo de linguagem deveria ser mais preciso em áudio difícil em inglês, e seria surpreendente se não fosse. Isso é uma expectativa da arquitetura, não uma medição.

Onde as realidades de implantação divergem

Ming precisa de uma máquina Linux com uma GPU CUDA, Python 3.12, PyTorch 2.11.0, torchaudio 2.11.0, Transformers 5.12.1, fla-core 0.5.2 e trust_remote_code=True para carregar seu próprio código de modelagem. Os pesos têm cerca de 17,7 GB em BF16 distribuídos em dois shards. Há um caminho de serving SGLang, fixado em um commit específico do adaptador, o que é um sinal de que o fornecedor espera que isso rode por trás de uma API, e não em uma mesa.

O Moonshine 250M tem como alvo menos de 1 GB de memória e aproximadamente 0,1 a 1 TOPS. Ele roda por meio do framework Moonshine Voice para dispositivos de borda e por meio do Transformers, e a ficha diz claramente que o caminho via Transformers ainda não implementa streaming totalmente eficiente — ele se apoia no suporte a janela deslizante do flash-attention. Se você quiser o comportamento de streaming que a arquitetura promete, o caminho pelo framework é o que entrega isso.

A screenshot of the moonshine-ai/moonshine repository page on GitHub, showing fourteen branches, twenty-four tags, ten open issues and two pull requests, alongside a commit feed listing work on the Moonshine Voice framework and a Docker-based release.

O repositório é onde a linha de checkpoints está realmente visível: vinte e quatro tags em uma família Tiny, Small e Medium, além do framework que o card indica usar se você quiser streaming de verdade. Essa é uma história de manutenção que Ming ainda não tem, e é a metade prática da escolha.

Essa é toda a comparação em duas frases: um modelo é projetado para ser esquecido dentro de um dispositivo, e o outro é projetado para ser executado a partir de uma GPU com uma lista de palavras de ativação anexada.

O que uma equipe que prioriza a China deveria realmente fazer

Se o seu produto é uma legenda ao vivo ou um comando de voz em inglês, o Moonshine 250M faz o trabalho que o Ming não consegue fazer de jeito nenhum, e a diferença de precisão — seja qual for — provavelmente não importará mais do que o fato de o Ming não conseguir consumir um fluxo ao vivo. Streaming não é um recurso que você adiciona depois a uma arquitetura que lê clipes inteiros; é uma propriedade do encoder.

Se o seu produto for fala em chinês, ou um dialeto regional, ou um pipeline em lote em que as transcrições são produzidas posteriormente e os nomes importam, Ming é o único dos dois que aborda o problema, e tem cinco dias de existência com uma contagem de downloads na casa das dezenas. A recomendação honesta é um bake-off no seu próprio áudio, avaliado por recall de entidades nomeadas em vez de taxa de erro de caracteres, porque esse é o eixo para o qual Ming foi construído.

Para equipes que fazem essa comparação, o problema operacional não é o modelo, é a infraestrutura de integração: duas pilhas, dois conjuntos de dependências, dois conjuntos de credenciais e nenhuma forma de compará-los no mesmo tráfego sem montar uma estrutura de teste. O OrcaRouter não hospeda nenhum dos dois modelos — Ming-3.0-asr-tiny e Moonshine 250M são pesos abertos auto-hospedados —, mas coloca mais de 200 modelos hospedados atrás de uma única chave de API com failover automático, para que a linha de base hospedada com a qual você compara possa ficar ao lado do seu candidato auto-hospedado sem um segundo contrato. Os preços de tabela dos provedores são repassados com 0% de margem, que é o número que importa quando você compara custo por hora de áudio, e não custo por token.

A questão em aberto que vale a pena acompanhar

A ficha do Ming diz que hotwords são dicas, não garantias, e que a saída é texto sem timestamps em nível de palavra ou diarização de locutores. A ficha do Moonshine diz que seu decodificador pode alucinar palavras e repetir frases em segmentos curtos ou ruidosos. Ambos são honestos quanto aos modos de falha, o que é mais do que a maioria das fichas consegue, e ambos descrevem o mesmo compromisso subjacente a partir de extremos opostos: um decodificador autorregressivo que produz texto fluente às vezes produzirá texto fluente que não foi dito.

O que resolveria esta comparação não é um benchmark, mas um caso de uso. Rode os dois nos mesmos vinte minutos do seu próprio áudio — metade ao vivo, metade em lote, metade em inglês, metade em outros idiomas — e a decisão deixa de ser inteiramente sobre contagem de parâmetros. Até lá, a descrição correta do confronto é que um modelo foi feito para ouvir continuamente e o outro foi feito para ler com atenção, e o nome no menor deles é uma abreviação de marketing para um checkpoint que, na verdade, tem 266 milhões de parâmetros.