JAKARTA — OpenTPU menguji apakah agen kecerdasan buatan dapat merancang akselerator AI yang kelak menjalankan inferensinya sendiri. Proyek sumber terbuka ini menjalankan model bahasa pada kartu FPGA, sekaligus membuka rancangan perangkat keras, perangkat lunak, dan alat pengukurnya untuk dipelajari.
Pengembang OpenTPU menyebut proyek ini membawa pelajaran dari auto-arch-tournament ke desain akselerator AI. Pertanyaannya bukan cuma seberapa jauh AI dapat membantu merancang perangkat keras, tetapi juga apakah hasil rancangannya mampu menjalankan inferensi AI secara nyata.
OpenTPU berjalan pada kartu Inspur YPCB-00338 dengan FPGA Xilinx Kintex-7 xc7k480t dan dua kanal DDR3. Menurut dokumentasi proyek, kartu itu menjalankan sepuluh model modern dengan bobot aslinya. Token yang dihasilkan cocok dengan simulator, bit demi bit.
OpenTPU membuka rancangan akselerator AI dari ujung ke ujung
Proyek ini dikemas dalam satu monorepo kecil. Isinya mencakup rancangan perangkat keras dengan SystemVerilog, set instruksi, simulator yang menjaga hasil tetap presisi, bahasa kernel dan kompilernya, serta perangkat lunak host untuk mengendalikan kartu PCIe.
Susunan itu membuat OpenTPU bisa dipakai sebagai bahan belajar, bukan sekadar perangkat untuk mengejar kecepatan. Pengembang dapat mengikuti alur komputasi dari operasi perkalian matriks dalam Python sampai instruksi yang menggerakkan perangkat keras.
Mesinnya sengaja dibuat sederhana. Sebuah sequencer mengeluarkan satu instruksi per siklus ke beberapa unit: DMA memindahkan data, unit matriks mengalikan bobot int8 dari DRAM, unit vektor mengerjakan operasi fp32, lalu quantizer mengubah hasil kembali menjadi int8.
Tidak ada cache atau penjadwalan tersembunyi. Perpindahan data harus dinyatakan sebagai instruksi, sehingga jejak eksekusi dapat menunjukkan bagian mana yang bekerja dan bagian mana yang menunggu. Alat profiler Lens menampilkan rekaman dari RTL, simulator, atau kartu lewat peramban, lengkap dengan lini masa dan tabel instruksi.
Kecepatan OpenTPU dibatasi lalu lintas memori
Pengujian mencatat kartu memakai DDR3-1066 dengan bandwidth puncak 17,1 GB/s. Build B, yang mulai digunakan untuk produksi setelah pengujian pada 2026-10-01, mendekode sejumlah model 8-9 persen lebih cepat daripada citra produksi sebelumnya. Untuk Gemma 4 E2B, peningkatannya 10 persen.
Build B memakai 91-94 persen dari puncak DRAM, naik dari 82-87 persen pada citra sebelumnya. Namun, peningkatan itu tidak membuat semua model lebih cepat secara merata. Pengembang menyatakan proses decode terikat oleh bandwidth DRAM, dan pembacaan LiteDRAM berada pada 82-85 persen dari puncak DDR3, serupa dengan MIG pada citra sebelumnya.
Pada pengujian yang membandingkan citra baru dengan se-cand3, kecepatan decode berada dalam selisih 2,3 persen di setiap konfigurasi. Keuntungan paling jelas muncul pada prefill, yakni pemrosesan prompt: kecepatannya meningkat 1,3 kali untuk Qwen3.5 hingga 2,0 kali untuk LFM2 4-bit.
Perbedaan itu penting karena laju komputasi chip bukan satu-satunya penentu pengalaman menjalankan model. Data bobot harus terus bergerak dari memori ke unit pemroses. Saat jalur memori sudah sibuk, menambah kemampuan hitung saja belum tentu membuat token keluar lebih cepat.
Model besar mengandalkan pemindahan bobot dari host
Sejumlah model campuran pakar (mixture of experts) melampaui kapasitas kartu sebesar 4 GiB. OpenTPU menjalankannya dengan menyimpan pakar di penyimpanan host, lalu memindahkan pakar yang belum tersedia ke slot DRAM kartu. Kartu menentukan pakar yang dipakai untuk setiap token dan mengerjakan komputasinya; host menangani penyalinan data.
Dalam pengukuran pada 2026-10-01 dengan build B, LFM2.5-8B-A1B menghasilkan 10,6 token per detik selama 160 token. Sebanyak 98,5 persen pemakaian pakar mengenai slot yang tersedia, dengan 5,2 MB data dialirkan per token.
Qwen3.5-35B-A3B mencapai 3,95 token per detik, dengan 16 token greedy yang cocok dengan Hugging Face. Tingkat kecocokan pakarnya 62 persen. Sistem mengalirkan 153 MB per token melalui PCIe pada 1,41 GB/s.
Angka itu menunjukkan kompromi yang nyata bagi pengguna dan pengembang: model yang bobotnya lebih besar daripada kapasitas memori kartu tetap dapat dijalankan, tetapi pertukaran data dengan host ikut menentukan kecepatannya. Pengujian ini juga memperlihatkan mengapa angka kinerja perlu dibaca bersama metode pengukurannya, bukan sebagai satu nilai yang berdiri sendiri.
Simulator dan metode pengukuran ikut dibuka
OpenTPU memakai bobot 4-bit berbasis nilai FP4 dengan skala blok dua tingkat. Setiap bobot memakai 4,25 bit, sementara LM head dipertahankan pada int8 untuk menjaga akurasi.
Menurut dokumentasi proyek, format ini mengurangi data per token sekitar sepertiga dan menaikkan kecepatan decode 40 persen untuk Qwen3.5 serta 45 persen untuk Qwen3 dan LFM2. Imbalannya, perplexity berubah dan dilaporkan per model.
Pengembang juga menjelaskan cara pengukuran. Decode standar memakai 64 token greedy setelah prompt 512 token, dengan pemilihan argmax dilakukan host dan bukan melalui streaming. Angka “device” hanya menghitung siklus kerja akselerator, sedangkan “wall” turut memasukkan waktu host. Lalu lintas DRAM berasal dari pencatat internal kartu.
Pada Gemma 4 E2B, tabel embedding tiap lapisan disimpan di kartu dengan citra 3,5-3,6 GiB; versi int8 tidak muat. Untuk E4B, tabel 2,95 GB tetap di host dan host menyalin satu baris 11 KB ke kartu per token. Rincian seperti ini membantu pembaca memahami mengapa hasil setiap model bergantung pada konfigurasi dan susunan memorinya.
Kalibrasi memori juga berlangsung di kartu. Saat citra dimulai, CPU kecil di inti memori mengalibrasi kedua kanal DDR3 dalam 12 s tanpa bantuan host. Dengan begitu, proyek ini tidak hanya membagikan hasil performa, tetapi juga memperlihatkan bagian teknis yang biasanya tersembunyi di balik angka benchmark.
Dokumentasi OpenTPU mencatat citra Qwen3.5-4B int8 berukuran lebih dari 4 GiB, melewati kapasitas kartu. Untuk model sebesar itu, pengembang memakai konfigurasi bobot yang lebih hemat atau mengalirkan pakar dari host.

📝 Tinggalkan Komentar
Komentar sebagai . Ditinjau admin sebelum tampil.