Arsitektur perangkat keras machine learning baru
- Repositori ini berisi kode sumber untuk arsitektur perangkat keras ML yang mencapai kinerja yang sama seperti saat menjalankan operasi inner product konvensional, tetapi hanya memerlukan hampir setengah dari jumlah operasi perkalian.
- Dengan memanfaatkan penjumlahan low-bitwidth untuk menggantikan hampir setengah dari operasi perkalian, arsitektur ini menjalankan algoritma inner product alternatif yang meningkatkan batas throughput teoretis dan efisiensi komputasi akselerator ML.
- Detail lebih lanjut dapat dilihat dalam makalah yang diterbitkan di jurnal IEEE Transactions on Computers.
Algoritma dan arsitektur perangkat keras baru
- Memperkenalkan algoritma dan arsitektur perangkat keras baru bernama Free-pipeline Fast Inner Product (FFIP).
- Meningkatkan algoritma Fast Inner Product (FIP) yang diusulkan oleh Winograd pada tahun 1968.
- FIP tidak terkait dengan algoritma Winograd minimal filtering yang diterapkan pada layer convolutional, dan dapat diterapkan pada semua layer model ML yang sebagian besar dapat diuraikan menjadi perkalian matriks.
- Untuk pertama kalinya mengimplementasikan FIP pada akselerator ML, serta menghadirkan algoritma FFIP dan arsitektur tergeneralisasi yang meningkatkan frekuensi clock FIP dan throughput yang dihasilkannya.
- Memberikan optimisasi khusus ML untuk algoritma dan arsitektur FIP dan FFIP.
- FFIP dapat diintegrasikan secara mulus ke akselerator ML systolic array fixed-point yang ada, untuk mencapai throughput yang sama dengan setengah jumlah unit multiply-accumulate (MAC), atau mewujudkan ukuran maksimum systolic array yang lebih besar dengan anggaran perangkat keras yang tetap.
- Implementasi FFIP untuk model ML non-sparse yang menggunakan input fixed-point 8~16 bit mencapai throughput dan efisiensi komputasi yang lebih tinggi dibanding solusi terbaik di kelasnya pada platform komputasi dengan jenis yang sama.
Struktur kode sumber
compiler: berisi compiler yang mem-parsing deskripsi model Python menjadi instruksi akselerator, serta kode antarmuka dengan driver PCIe yang memulai eksekusi model pada akselerator, membaca hasil dan performance counter, serta menguji akurasi hasil.
rtl: berisi SystemVerilog RTL yang dapat disintesis.
sim: berisi skrip untuk menyiapkan lingkungan simulasi untuk pengujian.
tests: berisi kode sumber testbench berbasis UVM yang memverifikasi akselerator dalam simulasi menggunakan Cocotb.
utils: berisi paket dan skrip Python tambahan yang digunakan dalam proyek, dibuat oleh penulis untuk utilitas pengembangan umum dan bantuan.
Pendapat GN⁺
- Artikel ini memperkenalkan kemajuan inovatif dalam arsitektur perangkat keras ML, khususnya algoritma dan arsitektur baru yang mengurangi operasi perkalian sambil mempertahankan kinerja. Ini merupakan kemajuan penting yang dapat sangat meningkatkan efisiensi operasi ML.
- Algoritma FFIP menambahkan dimensi baru pada desain akselerator ML yang ada dan menyediakan cara untuk menggunakan sumber daya perangkat keras secara lebih efisien. Hal ini sangat penting dalam lingkungan komputasi modern yang menekankan efisiensi energi dan biaya.
- Namun, agar teknologi ini dapat diadopsi secara luas, perlu dipertimbangkan kompatibilitas dengan akselerator ML yang ada, tingkat pemahaman para pengembang terhadap arsitektur baru, serta isu performa dan biaya saat diimplementasikan pada perangkat keras nyata.
- Proyek atau produk lain yang menawarkan fungsi serupa termasuk TPU (Tensor Processing Unit) milik Google dan CUDA core milik NVIDIA, yang sudah terbukti di pasar sebagai solusi akselerator ML.
- Saat mengadopsi teknologi baru atau open source, perlu mempertimbangkan kompatibilitas dengan sistem yang ada, kenaikan biaya dibanding peningkatan performa, serta kompleksitas pengembangan dan pemeliharaan. Keuntungan memilih FFIP adalah peningkatan throughput dan efisiensi komputasi, sementara potensi kekurangannya mencakup learning curve bagi pengembang terhadap sistem baru dan biaya implementasi awal.
1 komentar
Komentar Hacker News
x + log1p(exp(y - x)).