programmatūra · 5 min · 19.07.2026

Moonshine iedarbina runas atpazīšanu un balss sintēzi mazāk nekā 500 KB atmiņas — uz čipa par mazāk nekā dolāru

Moonshine komanda 16. jūlijā parādīja runas atpazīšanu un balss sintēzi, kas kopā strādā mazāk nekā 500 KB atmiņas uz RP2350 — čipa, kas maksā mazāk par vienu dolāru. Tas pats čips ir Raspberry Pi Pico 2 sirdī. Uz tā vienlaikus darbojas gan runa tekstā, gan teksts runā, bez interneta savienojuma un bez atsevišķa AI paātrinātāja.

Cipars 500 KB attiecas uz darba atmiņu izpildes laikā, nevis uz lejupielādes izmēru. Salīdzinājumam der SAM — C64 laika balss sintezators, kura jauna palaižama versija sver ap 39 KB. Moonshine ir lielāks, taču joprojām sīks pēc mūsdienu mēriem, kur balss modeļi parasti prasa simtiem megabaitu un GPU.

Divi modeļi, viens WER ap 12 %

Moonshine ir runas atpazīšanas modeļu saime, ko pirmoreiz aprakstīja 2024. gada oktobrī. Runa tekstā balstās uz diviem izmēriem. Moonshine Tiny ir 26 miljoni parametru un vārdu kļūdu īpatsvars (WER) 12,66 %. Moonshine Tiny Streaming ir 34 miljoni parametru, WER 12,00 %, un tas izvada tekstu straumē, tiklīdz cilvēks runā, nevis pēc pilna teikuma.

WER 12 % nozīmē, ka aptuveni katrs astotais vārds tiek atpazīts nepareizi. Tas ir vājāk nekā lielie mākoņa modeļi, bet pietiekami precīzi balss komandām, pamodināšanas vārdiem un vienkāršai diktēšanai — tieši tiem uzdevumiem, kuriem paredzēts sīkais aparāts.

Aiz Moonshine stāv Useful Sensors, un modeļu svari ir publicēti arī Hugging Face platformā. Modeļu izmēra samazināšana šeit nav tikai izklaide: jo mazāk skaitļošanas, jo mazāk enerģijas, un valkājamai vai baterijas ierīcei tas nosaka, cik ilgi tā strādā starp uzlādēm.

Papildus universālajiem modeļiem komanda ir izlaidusi šauri specializētus variantus. Rakstā Flavors of Moonshine aprakstīti mazi modeļi, kas apmācīti vienai valodai vai vienam uzdevumam. Šaurāks apmācības lauks ļauj noturēt precizitāti, vienlaikus samazinot izmēru līdz līmenim, kas der ierīcei bez operētājsistēmas.

Kur paliek atmiņa

Modeļus glabā .ort flatbuffer formātā, ko var kartēt tieši atmiņā (memory-mapped). Tā vietā, lai visu modeli iekopētu operatīvajā atmiņā, izpildes vide nolasa svarus tieši no faila. Uz mikrokontrollera bez operētājsistēmas tas ietaupa tieši to resursu, kura tur ir vismazāk.

Zem pārsega strādā ONNX Runtime, tāpēc viens un tas pats modelis iet no galddatora līdz mikrokontrollerim, mainot tikai izpildes vidi. Uz RP2350 nav Linux; uz Raspberry Pi 5 vai klēpjdatora ir. Modelis paliek tas pats, mainās tikai apkārtējais slānis.

Uz Raspberry Pi 5 Moonshine Tiny Streaming atbild 237 milisekundēs. Whisper Tiny tajā pašā uzdevumā prasa vairākas sekundes.

Salīdzinājums ar Whisper

Moonshine mēra sevi pret OpenAI Whisper, kas ir izplatīts atskaites punkts atvērtai runas atpazīšanai. Aizkave uz vienas un tās pašas aparatūras: Moonshine Tiny Streaming atbild 34 ms uz MacBook Pro, 69 ms uz Linux x86 un 237 ms uz Raspberry Pi 5. Whisper Tiny tajās pašās mašīnās prasa no 277 līdz 5863 ms.

Sākotnējais raksts norāda, ka desmit sekunžu runas apstrādei Moonshine Tiny patērē piecas reizes mazāk skaitļošanas nekā Whisper Tiny, saglabājot to pašu vārdu kļūdu līmeni standarta pārbaudēs. Zemāka aizkave nāk no tā, ka Moonshine apstrādā tikai tik audio, cik cilvēks ierunājis, kamēr Whisper vienmēr rēķina ar 30 sekunžu logu, arī ja skaņa ir īsāka. Īsai balss komandai šī atšķirība ir svarīga: Whisper joprojām aizpilda logu ar klusumu un rēķina to visu.

Ko ar to var darīt

Kods ir pieejams GitHubā ar MIT licenci, un tas iet uz plaša aparātu klāsta:

  • Python, iOS, Android, macOS, Linux un Windows;
  • Raspberry Pi un citas vienplates sistēmas;
  • mikrokontrolleri, DSP un valkājamās ierīces.

Runa tekstā strādā angļu valodā, un ir atsevišķi modeļi arābu, japāņu, korejiešu, mandarīnu, spāņu, ukraiņu un vjetnamiešu valodai. Teksts runā aptver plašāku sarakstu, tostarp vācu, franču, itāļu, hindi, holandiešu, portugāļu, krievu un turku valodu. Latviešu valodas modeļa pagaidām nav.

Praktiskie pielietojumi ir tur, kur dati nedrīkst iziet no ierīces vai kur nav pastāvīga interneta: pamodināšanas vārdi viedmājā, balss vadība rūpnieciskā iekārtā, klausās un raksta valkājama ierīce. Tā kā apstrāde notiek uz vietas, audio ieraksts nekur netiek sūtīts — tas atrisina daļu no privātuma problēmām, kas nāk ar mākoņa balss asistentiem.

Diskusijā Hacker News vairāki lasītāji jautāja par WebAssembly būvējumu pārlūkam; komanda uz to vēl nav atbildējusi. Laidieni nāk bieži: v0.0.69 iznāca 16. jūlijā, dienu iepriekš — v0.0.68, bet v0.0.66 un v0.0.67 abi 10. jūlijā. Katrs laidiens nes gatavas programmas iOS, Android, macOS, Linux un Windows. macOS pamata transkripcijas programmas izpildfails v0.0.69 ir zem 21 KB — modeli ielādē atsevišķi.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie