Model speech-to-text 17 MB yang berjalan di CPU
Cactus merilis Whistle, model speech-to-text open yang berukuran 16,9 MB dan berjalan di CPU tanpa dependensi, dikemas sebagai satu file. Sebagai pembanding, Whisper base berukuran 145,3 MB dan Moonshine tiny v2 41,9 MB. Whistle dimuat ke engine C++ yang sama dengan model teks milik perusahaan, sehingga satu binary bisa mengubah klip suara menjadi tool call dan mengembalikan transkrip sekaligus JSON call-nya.
Rancangannya menarik dibaca kalau Anda menggarap audio on-device. Audio 16 kHz selama 30 detik diubah menjadi 80 log-mel bin, lalu convolutional stem memampatkan 3.000 frame menjadi 375, satu frame tiap 80 milidetik. Encoder-nya terdiri dari delapan blok attention dengan attention non-kausal, sehingga tiap frame bisa melihat seluruh klip, dan key serta value-nya dihitung sekali per klip lalu dipakai ulang antar-beam selama pencarian lima beam. Keyword biasing dijalankan lewat automaton Aho-Corasick, dan klip hening langsung mengembalikan output kosong lebih awal.
Angka kecepatannya adalah inti persoalannya. Di CPU Apple M4 Pro, waktu ke token pertama adalah 11,1 ms untuk audio sepuluh detik, dan decoding berjalan pada 1.319 token per detik dibanding 266 untuk Whisper base. Whistle melaporkan word error rate lebih rendah daripada kedua model pembanding pada LibriSpeech, SPGISpeech, Earnings-22, dan rata-rata FLEURS, diukur dari 86.174 ucapan, meski Whisper base masih unggul pada TED-LIUM, AMI, dan rata-rata MLS. Model ini mencakup tujuh bahasa.
Kenapa ini penting
Kalau Anda membangun untuk ponsel, perangkat wearable, mobil, atau mikrokontroler, model sekecil ini memungkinkan pengenalan suara berjalan lokal, sehingga audio tidak pernah meninggalkan perangkat, dan bisa langsung disambungkan ke tool call tanpa perlu memelihara pipeline suara terpisah.