Una scheda del titolo generata con intestazione 'Ming-3.0-asr-tiny vs Moonshine 250M', con un pannello sinistro che mostra un microfono live che alimenta un piccolo encoder in streaming etichettato 'frontend a 50 Hz, lookahead di 80 ms' e un pannello destro che mostra un intero file audio caricato in un grande stack di esperti etichettato '8.87B parametri, clip intera, output in testo semplice', e un piè di pagina con scritto 'Valori di Moonshine secondo la sua model card; valori di Ming dalla sua configurazione e dai grafici del fornitore.'
Guides & Insights

Ming-3.0-asr-tiny vs Moonshine 250M: un modello non smette mai di ascoltare, l'altro non inizia finché non hai finito

Autore

Elias Hawthorne

Data di pubblicazione

Ultimi modelli · 20Vedi tutti i modelli →
Benchmark: Artificial Analysis · aggiornato ogni giorno
Torna a tutti gli articoli

C'è un problema di denominazione da chiarire prima di ogni altra cosa, perché cambia la natura di questo confronto. Moonshine pubblica tre checkpoint — Tiny a 34M, Small a 123M e Medium a 245M — e Moonshine 250M è l'abbreviazione usata dalla community per il modello di punta di quella linea, il checkpoint il cui repository si chiama moonshine-streaming-medium e il cui indice safetensors totalizza in realtà 265.898.112 parametri. Nessun file, da nessuna parte nell'organizzazione Moonshine, si chiama 250M. Quel modello è un riconoscitore in streaming per l'inglese con un encoder a finestra scorrevole e un decoder autoregressivo, pensato per un laptop o un telefono, rilasciato a gennaio 2026 con licenza MIT. Ming-3.0-asr-tiny è un riconoscitore cinese e inglese da 8,87 miliardi di parametri i cui pesi sono comparsi su Hugging Face il 14 ottobre 2026 senza alcun annuncio, costruito attorno a un encoder con architettura simile a Whisper e a un decoder mixture-of-experts con 128 esperti, e progettato per leggere l'intera clip in una volta sola. Non sono rivali sullo stesso mercato. Sono due risposte diverse alla domanda su quando a un riconoscitore è consentito parlare. Il checkpoint che questo articolo chiama Moonshine 250M è documentato su la model card di Moonshine Streaming Medium, dove l'indice safetensors riporta 265.898.112 parametri rispetto all'etichetta 245M della scheda. I fallimenti documentati dell'IA e gli incidenti degli agenti dietro rilasci come questo sono raccolti in l'OrcaRouter AI Incident Archive dove ogni voce riporta le proprie fonti, gravità, grado di affidabilità e flag di contestazione.

Quella domanda è la cornice utile, e produce una decisione più pulita di quanto farebbe una tabella di accuratezza. Moonshine 250M emette parole mentre l'audio sta ancora arrivando, con circa 0,1-1 TOPS. Ming-3.0-asr-tiny non emette nulla finché non riceve un file completo, e poi emette una trascrizione del tutto priva di timestamp.

Ciò che ciascuno è effettivamente progettato per fare

L'architettura di Moonshine è una deliberata inversione del consueto compromesso dello streaming. L'encoder è un transformer a finestra scorrevole con attenzione locale limitata e nessun embedding posizionale — la scheda lo definisce ergodico — con finestre (16, 4) nei primi due e negli ultimi due layer e (16, 0) in quelli intermedi, il che produce circa 80 millisecondi di lookahead. Le informazioni posizionali vengono iniettate da un adapter dopo l'encoder, che alimenta un decoder causale standard con RoPE. Il frontend audio funziona a 50 Hz usando semplici operazioni nel dominio del tempo invece di uno spettrogramma mel.

Il decoder è autoregressivo, e Moonshine dice quanto costa: la latenza dell'output completo cresce con la lunghezza della trascrizione anche quando il tempo al primo token è basso. Questo è il limite onesto del progetto, ed è la frase da tenere a mente quando si confrontano le affermazioni sullo streaming. Streaming significa che le prime parole compaiono rapidamente; non significa che l'ultima parola compaia in modo proporzionalmente rapido.

Ming non supporta lo streaming, e la sua scheda lo dichiara: l'esempio incluso non accetta input in streaming. L'audio lungo può essere suddiviso in chunk tramite un argomento rispetto a un contesto di 8.192 posizioni, ma suddividere un file non equivale a consumare un feed live, e il campo del formato di output nella configurazione è impostato su plain. Ciò che Ming fa invece è mantenere il contesto. Accetta hotword o il turno di dialogo precedente come parte del prompt di trascrizione, ed è valutato su quindici set di test sui dialetti cinesi — Hunan, Minnan, Cantonese, Chuanyu, Shanghai, Anhui, Nordest, Henan, Hubei, Jiangsu, Hakka, Shaanxi, Shandong, Tianjin, Yunnan. Moonshine supporta solo l'inglese e non ha nulla di tutto ciò.

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.

I due conteggi dei parametri e perché differiscono

Un dettaglio sul quale vale la pena soffermarsi, perché è il genere di cosa che rompe silenziosamente una tabella comparativa: la scheda tecnica di Moonshine indica Medium a 245M parametri, 14 layer encoder e 14 decoder, un encoder a 768 dimensioni e un decoder a 640 dimensioni. L'indice safetensors nello stesso repository riporta 265.898.112. Il divario è di circa 21 milioni, all'incirca l'otto e mezzo per cento, e non è un errore di arrotondamento: è la differenza tra contare una backbone e contare tutto ciò che viene distribuito con essa.

Ming ha lo stesso problema in una dimensione maggiore. Il suo indice riporta 8.865.800.992 parametri; i suoi grafici etichettano il modello 8.6B-A2B, una forma abbreviata per 8,6 miliardi in totale con circa 2 miliardi attivi per token. L'etichetta è inferiore di circa 270 milioni rispetto all'indice.

• Parametri totali — Ming-3.0-asr-tiny 8,87B (indice) rispetto a Moonshine 250M 266M (indice); le etichette del fornitore indicano 8,6B e 245M.

• Attivi per token — circa 2B per Ming, dato che 8 esperti su 128 vengono instradati per step. Tutti i 266M per Moonshine, che è denso.

• Encoder — 32 strati, 1.280 dimensioni, 20 teste, 128 bin mel, con forma Whisper, rispetto a un transformer ergodico a finestra scorrevole di 14 strati a 768 dimensioni su un frontend a 50 Hz.

• Decoder — 24 strati, 128 esperti, autoregressivo; rispetto a 14 strati, denso, autoregressivo.

• Modello di latenza — clip intera in ingresso, trascrizione in uscita, nessuno streaming; rispetto a ~80 ms di lookahead e a un primo token mentre l'audio sta ancora arrivando.

• Output — testo di trascrizione semplice, senza timestamp, senza diarizzazione; rispetto al testo di trascrizione di un decoder autoregressivo che nella scheda non presenta nemmeno un percorso per i timestamp.

• Lingue — cinese e inglese più 15 set di test in dialetti cinesi; rispetto all'inglese soltanto.

• Licenza — MIT per entrambi, con le intestazioni Apache-2.0 incluse conservate nel repository di 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.'

Precisione, con l'avvertenza che non sono mai stati testati sullo stesso audio

La scheda di Moonshine riporta un WER medio di 6,65 su otto set inglesi per Medium: 10,68 su AMI, 11,90 su Earnings-22, 9,46 su GigaSpeech, 2,08 su LibriSpeech test-clean, 5,00 su test-other, 2,58 su SPGISpeech, 2,99 su TED-LIUM e 8,54 su VoxPopuli. Addestrato su circa 300.000 ore di parlato.

Ming riporta un WER medio di 3,99 sui suoi set pubblici inglesi — LibriSpeech clean e other, Multilingual LibriSpeech, FLEURS English, Common Voice 15 English e VoxPopuli — e un CER medio di 3,55 sui suoi set cinesi. Addestrato su una quantità di dati non divulgata.

La tentazione è mettere 3,99 accanto a 6,65 e dichiarare Ming più accurato in inglese. Non fatelo. Due dei cinque set inglesi differiscono, l'aggregazione differisce, la scheda di Moonshine non pubblica una ripartizione per set che corrisponda chiaramente ai cinque di Ming, e nessuno dei due fornitori ha eseguito l'altro. Sull'unico set che entrambi riportano — VoxPopuli — Ming non pubblica affatto una cifra inglese per set nel proprio testo, solo la media, quindi anche quella singola sovrapposizione non può essere confrontata dalle schede. Ogni numero qui è riportato dal fornitore e non replicato.

Ciò che si può dire senza un set di test condiviso è di natura strutturale. Moonshine è un modello denso da 266 milioni di parametri addestrato su 300.000 ore di inglese. Ming è un modello mixture-of-experts da 8,87 miliardi di parametri con circa 2 miliardi attivi, addestrato su dati che non descrive, valutato su cinese e inglese con una forte componente dialettale. Un modello con diciassette volte i parametri attivi e un prior di modello linguistico dovrebbe essere più accurato su audio inglese difficile, e sarebbe sorprendente se non lo fosse. Questa è un'aspettativa basata sull'architettura, non una misurazione.

Dove le realtà del deployment divergono

Ming ha bisogno di una macchina Linux con una 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 per caricare il proprio codice di modellazione. I pesi sono circa 17,7 GB in BF16 su due shard. Esiste un percorso di serving SGLang, fissato a uno specifico commit dell'adattatore, che è un segnale che il fornitore si aspetta che questo venga eseguito dietro un'API anziché su una scrivania.

Moonshine 250M punta a meno di 1 GB di memoria e a circa 0,1–1 TOPS. Funziona tramite il framework Moonshine Voice per i dispositivi edge e tramite Transformers, e la scheda dichiara chiaramente che il percorso Transformers non implementa ancora uno streaming pienamente efficiente — si affida al supporto sliding-window di flash-attention. Se si desidera il comportamento di streaming promesso dall'architettura, è il percorso del framework a offrirlo.

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.

È nel repository che la linea dei checkpoint è effettivamente visibile: ventiquattro tag distribuiti su una famiglia Tiny, Small e Medium, più il framework che la scheda ti dice di usare se vuoi uno streaming reale. È una storia di manutenzione che Ming non ha ancora, ed è la metà pratica della scelta.

Questo è l'intero confronto in due frasi: un modello è progettato per essere dimenticato dentro un dispositivo, e l'altro è progettato per essere servito da una GPU con un elenco di hotword allegato.

Cosa dovrebbe fare davvero un team che privilegia il cinese

Se il tuo prodotto è un sottotitolo live o un comando vocale in inglese, Moonshine 250M fa il lavoro che Ming non può fare affatto, e il divario di accuratezza — qualunque esso sia — è improbabile che conti più del fatto che Ming non può elaborare un flusso in diretta. Lo streaming non è una funzionalità che aggiungi in seguito a un'architettura che legge clip intere; è una proprietà dell'encoder.

Se il tuo prodotto è parlato cinese, o un dialetto regionale, o una pipeline batch in cui le trascrizioni vengono prodotte a posteriori e i nomi contano, Ming è l'unico dei due che affronta il problema, e ha cinque giorni di vita con un conteggio dei download nell'ordine delle decine. La raccomandazione onesta è un confronto comparativo sul tuo audio, valutato sul recall delle entità nominate anziché sul tasso di errore sui caratteri, perché è l'asse per cui Ming è stato costruito.

Per i team che conducono quel confronto, il problema operativo non è il modello, è l'infrastruttura: due stack, due set di dipendenze, due set di credenziali e nessun modo di confrontarli sullo stesso traffico senza costruire un harness. OrcaRouter non ospita nessuno dei due modelli — Ming-3.0-asr-tiny e Moonshine 250M sono pesi aperti self-hosted — ma mette oltre 200 modelli ospitati dietro un'unica chiave API con failover automatico, così la baseline ospitata con cui ti confronti può stare accanto al tuo candidato self-hosted senza un secondo contratto. I prezzi di listino dei provider vengono applicati con markup 0%, che è il numero che conta quando confronti il costo per ora di audio anziché il costo per token.

La questione aperta da tenere d'occhio

La scheda di Ming dice che le hotword sono suggerimenti, non garanzie, e che l'output è testo senza timestamp a livello di parola né diarizzazione del parlante. La scheda di Moonshine dice che il suo decoder può allucinare parole e ripetere frasi su segmenti brevi o rumorosi. Entrambe sono oneste riguardo alle modalità di fallimento, il che è più di quanto riescano a fare la maggior parte delle schede, ed entrambe descrivono lo stesso compromesso di fondo da estremi opposti: un decoder autoregressivo che produce testo fluente a volte produrrà testo fluente che non è stato detto.

Ciò che risolverebbe questo confronto non è un benchmark ma un caso d’uso. Esegui entrambi sugli stessi venti minuti del tuo audio — metà live, metà batch, metà in inglese, metà no — e la decisione smette del tutto di riguardare il numero di parametri. Fino ad allora, la descrizione corretta della sfida è che un modello è progettato per ascoltare in modo continuo e l’altro è progettato per leggere con attenzione, e il nome sul più piccolo è un’abbreviazione di marketing per un checkpoint che, in realtà, ha 266 milioni di parametri.