Chip Seharga $10 Ini Menjalankan Model AI 45 Juta Parameter (Needle 2)

BBetter Stack
컴퓨터/소프트웨어가전제품/카메라

스크립트

00:00:00Ini adalah Needle 2. Ini adalah model LLM Argentic berukuran 14 megabyte. Izinkan saya mengulanginya jika Anda melewatkannya.
00:00:07Ukurannya 14 megabyte dan memiliki 45 juta parameter. Pada dasarnya LLM ini sangat kecil sehingga benar-benar dapat berjalan
00:00:14pada perangkat edge apa pun hingga ESP32 S3 yang mendasar. Model ini dikembangkan oleh Cactus Compute yang kini telah
00:00:21membuka sumber model ini di bawah lisensi Apache 2.0 dan saya telah mengujinya sendiri dan model ini benar-benar
00:00:28berfungsi. Jadi dalam video ini kita akan melihat Needle 2, melihat cara kerjanya dan kemudian kita akan
00:00:34menjalankan beberapa uji inferensi yang menyenangkan pada mikrokontroler aktual untuk melihat kinerjanya. Ini
00:00:40akan sangat menyenangkan jadi mari kita langsung bahas. Jadi beberapa minggu lalu saya membuat video lain di mana
00:00:49saya menerapkan model 29 juta parameter pada ESP32 S3 tetapi itu lebih merupakan sebuah gimik dan bukan
00:00:56LLM yang sebenarnya karena sangat mendasar dan dilatih menggunakan cerita anak-anak sehingga hanya itulah
00:01:03yang bisa dikeluarkannya. Namun, LLM ini adalah model nyata yang memahami konteks Anda, tetapi sebelum Anda
00:01:10terlalu bersemangat, ada satu hal yang perlu dicatat. Ini bukan chatbot LLM biasa Anda. Sebaliknya,
00:01:16model ini khusus dibuat untuk bekerja sebagai pemanggil alat (tool call dispatcher). Jadi cara kerjanya adalah Anda
00:01:22menetapkan serangkaian pemanggilan alat terlebih dahulu, dan itu bisa apa saja mulai dari memutar servo hingga operasi mekanis
00:01:29atau dapat dieksekusi lainnya yang dapat Anda pikirkan. Dan kemudian Anda dapat memberikan perintah kepada model dalam bahasa alami
00:01:35dan model itu akan cukup pintar untuk memahami berdasarkan perintah Anda pemanggilan alat mana yang harus dieksekusi. Dan itulah
00:01:40intinya. Sekarang ini sangat keren karena pada papan seperti Raspberry Pi 5 model ini dapat mencapai
00:01:47hingga 500 token per detik sehingga dapat menjadi penggerak yang sangat efisien untuk proyek robotika misalnya. Tetapi pada perangkat yang lebih besar dan berkinerja tinggi
00:01:55dapatkah Needle 2 benar-benar beroperasi sebagai chatbot? Nah, jawabannya adalah tidak karena ini bukan masalah kecepatan
00:02:04karena Needle sama sekali tidak dilatih tentang pengetahuan umum atau percakapan. Seluruh data pelatihannya adalah
00:02:10tindakan perangkat seperti perintah rumah pintar, tindakan seluler, tindakan perangkat yang dapat dikenakan, hal-hal semacam itu. Jadi
00:02:17bahkan pada perangkat yang bertenaga jika Anda bertanya kepadanya apa ibu kota Prancis, ia tidak akan dapat menjawabnya. Model ini akan
00:02:23sangat baik dalam memilih fungsi yang tepat dan mengisi argumen yang tepat, tetapi hanya itu saja. Dan itulah
00:02:28kompromi yang harus mereka buat agar ukurannya bisa sangat kecil ini. Tapi mari kita bahas bagaimana mereka berhasil mewujudkan
00:02:3345 juta parameter yang sebenarnya mampu bersaing dengan model lima atau tujuh kali lebih besar. Karena
00:02:40biasanya ketika Anda memperkecil ukuran model sedemikian rupa, model tersebut menjadi bodoh. Namun Cactus tidak menginginkan hal itu sehingga mereka membangun kembali
00:02:47beberapa bagian arsitekturnya dari awal. Perubahan besar tersebut adalah sesuatu yang mereka sebut sebagai engram.
00:02:53Biasanya semua pengetahuan model berada di dalam bobotnya dan setiap bobot tersebut harus dijalankan
00:02:59melalui perkalian matriks untuk setiap token dan itu membutuhkan biaya komputasi yang besar. Tetapi Cactus memindahkan sebagian
00:03:06pengetahuan itu ke dalam tabel pencarian terenkripsi (hashed lookup tables). Jadi model dapat langsung mengambil baris memori alih-alih
00:03:12melakukan perhitungan matematika di atasnya. Dan mereka juga mengganti lapisan MLP normal dengan sesuatu yang dibangun berdasarkan transformasi Hadamard,
00:03:19yaitu operasi matematika tetap yang hampir tidak memiliki parameter yang dapat dipelajari yang melekat padanya. Biasanya langkah
00:03:25pencampuran tersebut dilakukan oleh matriks besar yang harus dipelajari oleh model dari awal. Dan itu menghabiskan sebagian besar
00:03:32anggaran parameter model kecil tersebut. Namun transformasi Hadamard melewati semua pembelajaran tersebut karena merupakan
00:03:38rumus tetap yang melakukan semua pencampuran secara gratis. Jadi Cactus mendapatkan keuntungan tersebut tanpa menghabiskan
00:03:4445 juta parameter mereka untuk itu. Dan kemudian ada kuantisasi, yang sejujurnya merupakan bagian yang membuat
00:03:50semua ini dapat diterapkan. Needle 2 berjalan pada dua bit per bobot dan sebenarnya dilatih pada dua
00:03:57bit, bukan dikuantisasi setelah pelatihan selesai. Masalahnya adalah banyak model kecil yang rusak ketika Anda
00:04:03mengompresnya setelah pelatihan karena mereka tidak pernah dibuat untuk bertahan dari kompresi tersebut. Tetapi Needle
00:04:09dilatih dengan memperhitungkan kompresinya sendiri sejak awal, sehingga versi default mereka sudah dioptimalkan. Jadi, apakah semua ini
00:04:16benar-benar terbukti? Nah, pada tolok ukur Cactus sendiri, Needle 2 benar-benar bersaing langsung dengan model
00:04:23yang ukurannya lima kali lipat lebih besar. Dan pada beberapa pengujian pemanggilan alat yang lebih sulit, model ini benar-benar mengunggulinya secara telak,
00:04:30meskipun berjalan pada presisi dua-bit dibandingkan dengan presisi penuh 16-bit milik LFM. Dan pada tolok ukur tindakan
00:04:38seluler, Needle memilih nama fungsi yang benar sebanyak 98,3% dari waktu, dan angka itu lebih tinggi daripada setiap
00:04:45model yang dibandingkan dengannya. Jadi model ini tidak sempurna dalam segala hal, tetapi untuk tugas yang memang dibangun untuknya,
00:04:51model ini sangat, sangat bagus. Jadi mari kita mengujinya untuk melihat bagaimana kinerjanya. Untuk tujuan ini, saya membuat
00:04:57mesin inferensi kustom saya sendiri yang benar-benar berjalan pada papan persis ini, yaitu ESP32-S3. Dan saya akan menyertakan tautan ke
00:05:05repositori GitHub di deskripsi di bawah jika Anda ingin mencobanya sendiri. Di terminal ini,
00:05:10kita dapat melihat bahwa kita memiliki aplikasi TUI kecil. Jadi sekarang saya dapat memberikannya perintah berupa permintaan
00:05:17bahasa alami dan melihat cara kerjanya. Pertama, mari kita beri perintah yang sederhana. Misalnya menyalakan lampu merah
00:05:25berkedip selama tiga detik. Dan begitu saya meluncurkan ini, Anda dapat melihat ia memetakan model langsung dari
00:05:32cip kilat dan menyiapkan memori kerjanya. Dan setelah selesai, model melewati fase penalaran.
00:05:39Dan kita dapat melihat bahwa model mengidentifikasi warnanya adalah merah, modenya adalah berkedip, dan ia juga mengidentifikasi
00:05:48bahwa kita harus melakukannya selama tiga detik. Jadi setelah selesai dengan fase penalaran,
00:05:53model akan melanjutkan ke penulisan pemanggilan alat yang sebenarnya. Dan ini memerlukan sedikit waktu karena berjalan lambat
00:06:00pada ESP32. Namun demikian, ini cukup keren. Dan lihat itu, kita sekarang mendapatkan lampu merah yang berkedip selama
00:06:08tiga detik. Dan kita juga dapat melihat bahwa model memiliki skor tingkat keyakinan (confidence score) yang memberi tahu kita seberapa yakin
00:06:15ia terhadap pemanggilan alat tertentu ini. Dan ini sudah bawaan di needle dua. Dan ini sangat keren karena berdasarkan
00:06:21skor keyakinan ini, kita dapat memrogram cip untuk skenario yang berbeda. Jadi seperti yang Anda lihat, ini memakan waktu sekitar
00:06:2739 detik untuk diselesaikan, yang mungkin terdengar lambat. Tapi ingat bahwa ini adalah model 45 juta parameter
00:06:35yang berjalan pada mikrokontroler delapan megabyte tanpa GPU. Sekarang, mari kita lihat apa yang terjadi jika saya meminta sesuatu
00:06:41yang sepenuhnya di luar konteks. Jadi biarkan saya bertanya, apa ibu kota Prancis?
00:06:48Dan seperti yang dapat Anda lihat di sini, model membaca permintaan kita lagi. Dan sekarang dalam fase penalaran,
00:06:54ia mengatakan bahwa tidak ada alat yang tersedia untuk fakta negara. Jadi pemanggilan alat akan kosong. Dan
00:07:00lihat itu, ia sangat yakin bahwa tidak ada alat yang dapat dieksekusi dengan percaya diri berdasarkan
00:07:07perintah ini. Jadi saya rasa ini tetap merupakan respons yang sangat cerdas. Kali ini, mari kita minta untuk
00:07:14menyalakan lampu ungu selama tujuh detik. Dan mari kita lihat apakah ia memahaminya. Dan model mengidentifikasi bahwa
00:07:21warnanya memang ungu. Dan ia memahami bahwa menyalakan berarti modenya harus stabil dan tidak berkedip.
00:07:29Dan ia juga mengerti bahwa durasinya harus selama tujuh detik. Jadi ia kemudian melanjutkan untuk menulis alat
00:07:36pemanggilan yang sebenarnya. Dan setelah selesai, lihat itu. Lampu ungu sekarang menyala. Seharusnya selama tujuh detik.
00:07:46Nah, itu dia. Betapa kerennya itu? Dan yang menarik, kali ini tingkat keyakinannya tidak begitu tinggi.
00:07:52Jadi skor keyakinannya adalah 0,57, tetapi model tetap berhasil bernalar melalui tugas tersebut dengan semestinya dan
00:08:00mengeksekusi persis seperti yang kita minta. Dan ada satu hal lagi yang ingin saya tunjukkan kepada Anda. Saya membangun proyek ini
00:08:06khusus agar dapat digunakan kembali. Jadi Anda dapat menukar perintah lampu berkedip dengan sesuatu yang lain. Seperti,
00:08:12misalnya, jika Anda memiliki proyek robotika yang menggunakan servo, Anda pada dasarnya dapat mengganti perintah-perintah ini
00:08:17dengan perintah Anda sendiri. Dan saya telah mendokumentasikan proses tiga langkah cara melakukannya di file readme proyek.
00:08:24Jadi jika Anda ingin menggunakannya kembali untuk proyek Anda sendiri, ikuti saja tiga langkah tersebut dan Anda
00:08:29siap menggunakannya. Mari kita coba variasi lain. Tampilkan lampu kuning selama lima detik. Dan silakan lihat.
00:08:36Model menyalakan lampu kuning berkedip selama lima detik. Dan ini memiliki skor keyakinan terendah dari semuanya,
00:08:42yaitu 0,46. Dan saya merasa menarik bahwa ia berpikir menampilkan berarti menyalakan lampu berkedip dan bukan menampilkannya
00:08:50untuk jangka waktu yang lama. Jadi begitulah. Itu menunjukkan bahwa model ini tidak sempurna. Ia mungkin masih
00:08:56salah memahami niat Anda, tetapi meskipun demikian, kita mendapatkan lampu kuning dan kita mendapatkannya selama lima detik. Dan
00:09:03sebagian besar pemanggilan alat ini membutuhkan waktu sekitar 40 detik untuk diproses dengan kecepatan rata-rata 1,86 token per detik. Jadi
00:09:10itu adalah hasil yang cukup keren menurut saya. Jadi begitulah kawan-kawan. Itulah Needle 2 secara singkat,
00:09:16model 45 juta parameter, 14 megabyte yang berjalan sepenuhnya secara offline pada cip yang harganya sekitar 10 dolar.
00:09:24Dan teman-teman, jika Anda menyukai jenis analisis teknis seperti ini, beri tahu saya dengan menekan tombol
00:09:28suka di bawah video. Dan juga jangan lupa untuk berlangganan saluran kami.
00:09:33Ini adalah Andrus dari BetterStack dan saya akan melihat Anda di video berikutnya.

핵심 요약

Needle 2 membuktikan bahwa model bahasa kecil berukuran 14 megabyte pada cip seharga 10 dolar dapat menjalankan pemanggilan alat secara offline dengan akurasi tinggi menggunakan arsitektur engram dan kuantisasi dua bit.

하이라이트

  • Needle 2 adalah model LLM agentic berukuran 14 megabyte dengan 45 juta parameter yang dikembangkan oleh Cactus Compute di bawah lisensi Apache 2.0.

  • Model ini dirancang khusus sebagai pemanggil alat (tool call dispatcher) dan tidak dilatih untuk pengetahuan umum atau percakapan chatbot.

  • Arsitektur Needle 2 menggunakan tabel pencarian terenkripsi (hashed lookup tables) dan transformasi Hadamard untuk memangkas kebutuhan komputasi.

  • Model ini dilatih langsung pada presisi dua bit per bobot sejak awal untuk memastikan kompresi tidak merusak kemampuannya.

  • Pada tolok ukur tindakan seluler, Needle 2 memilih nama fungsi yang benar sebanyak 98,3% dari waktu.

  • Pengujian pada mikrokontroler ESP32-S3 seharga 10 dolar menunjukkan bahwa model ini dapat mengeksekusi pemanggilan alat secara offline dalam waktu sekitar 40 detik dengan kecepatan rata-rata 1,86 token per detik.

타임라인

Pengenalan Needle 2 dan Spesifikasi Dasar

  • Needle 2 adalah model LLM agentic berukuran 14 megabyte yang memiliki 45 juta parameter.
  • Model ini dikembangkan oleh Cactus Compute di bawah lisensi Apache 2.0 dan dapat berjalan pada perangkat edge seperti mikrokontroler ESP32-S3.
  • Fungsi utama model ini bukan sebagai chatbot percakapan, melainkan sebagai pemanggil alat (tool call dispatcher) untuk mengontrol perangkat keras.

Model ini dirancang untuk membaca perintah bahasa alami dan memetakannya ke pemanggilan alat yang telah ditentukan sebelumnya. Pengembang menetapkan berbagai tindakan seperti menggerakkan servo atau mengontrol perangkat mekanis, dan model menentukan alat mana yang harus dieksekusi berdasarkan perintah pengguna.

Batasan Fungsional dan Inovasi Arsitektur

  • Model ini mencapai kecepatan hingga 500 token per detik pada Raspberry Pi 5, tetapi tidak dapat menjawab pertanyaan pengetahuan umum.
  • Cactus Compute memindahkan sebagian pengetahuan model ke dalam tabel pencarian terenkripsi untuk menghindari perkalian matriks yang berat.
  • Lapisan MLP normal digantikan oleh transformasi Hadamard untuk melakukan pencampuran matematika secara gratis tanpa menghabiskan parameter.
  • Model ini dilatih langsung pada presisi dua bit per bobot alih-alih dikuantisasi setelah pelatihan selesai.

Ukuran yang sangat kecil dicapai dengan mengubah bagian arsitektur dari awal agar model tidak kehilangan kemampuan penalaran fungsinya. Dengan menggunakan tabel pencarian terenkripsi dan transformasi Hadamard, model dapat beroperasi secara efisien tanpa memerlukan anggaran parameter yang besar. Pelatihan pada presisi dua bit memastikan model tetap stabil dan akurat meskipun dikompresi sejak awal.

Pengujian Inferensi pada Mikrokontroler ESP32-S3

  • Mesin inferensi kustom yang berjalan pada papan ESP32-S3 mengeksekusi perintah bahasa alami secara offline tanpa GPU.
  • Model mengenali perintah di luar konteks seperti menanyakan ibu kota Prancis dan mengembalikan hasil kosong karena tidak ada alat yang sesuai.
  • Pemanggilan alat pada mikrokontroler memakan waktu sekitar 40 detik dengan kecepatan rata-rata 1,86 token per detik.

Demonstrasi praktis menunjukkan bahwa cip seharga 10 dolar dapat memproses model 45 juta parameter secara mandiri. Pengujian dengan berbagai warna lampu dan durasi membuktikan bahwa model mampu bernalar dan mengeksekusi instruksi fisik, meskipun terkadang menghasilkan tingkat keyakinan yang lebih rendah pada variasi perintah tertentu.

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기