Apa itu FPGA?
Field programmable gate array (FPGA) adalah sirkuit terintegrasi dengan fabric perangkat keras yang dapat diprogram. Tidak seperti unit pemrosesan grafis (GPU) atau ASIC, sirkuit di dalam chip FPGA tidak terukir secara permanen—sirkuit ini dapat diprogram ulang sesuai kebutuhan. Kemampuan ini menjadikan FPGA sebagai alternatif ASIC yang sangat baik, yang memerlukan waktu pengembangan yang panjang—dan investasi yang signifikan—untuk merancang dan melakukan fabrikasi.
Industri teknologi mengadopsi FPGA untuk machine learning dan deep learning relatif baru-baru ini. Pada tahun 2010, Microsoft Research mendemonstrasikan salah satu kasus penggunaan pertama AI pada FPGAs sebagai bagian dari upayanya untuk mempercepat pencarian web.1FPGAs menawarkan kombinasi kecepatan, kemampuan memprogram, dan fleksibilitas—menghadirkan performa tanpa biaya dan kerumitan dalam mengembangkan sirkuit terpadu khusus aplikasi (ASIC) kustom. Lima tahun kemudian, mesin pencari Bing dari Microsoft menggunakan FPGA dalam produksi, yang membuktikan nilai mereka untuk aplikasi deep learning. Dengan menggunakan FPGAs untuk mempercepat peringkat pencarian, Bing menyadari peningkatan throughput sebesar 50 persen.
Mengapa Memilih FPGA untuk Deep Learning?
Beban kerja AI awal, seperti pengenalan gambar, sangat bergantung pada paralelisme. Karena GPU dirancang khusus untuk merender video dan grafis, maka menggunakan GPU untuk machine learning dan deep learning menjadi populer. GPU unggul dalam pemrosesan paralel, dengan melakukan sejumlah besar operasi aritmetika secara paralel. Dengan kata lain, perangkat ini dapat menghadirkan akselerasi yang luar biasa dalam kasus di mana beban kerja yang sama harus dilakukan berkali-kali secara berturut-turut dan cepat.
Namun, menjalankan AI pada GPU memiliki keterbatasan. GPU tidak menghadirkan performa sebesar ASIC, chip yang dibuat khusus untuk beban kerja deep learning tertentu.
FPGA menawarkan kustomisasi perangkat keras dengan AI terintegrasi dan dapat diprogram untuk menghadirkan perilaku yang mirip dengan GPU atau ASIC. Sifat FPGA yang dapat diprogram ulang dan dikonfigurasi ulang cocok untuk lanskap AI yang berkembang pesat, yang memungkinkan desainer untuk menguji algoritma dengan cepat dan masuk ke pasar dengan cepat. FPGA menawarkan beberapa keunggulan untuk aplikasi deep learning dan beban kerja AI lainnya:
Performa hebat dengan throughput tinggi dan latensi rendah: FPGAs secara inheren dapat memberikan latensi rendah serta latensi deterministik untuk aplikasi real-time seperti streaming video, transkripsi, dan pengenalan tindakan dengan langsung menyerap video ke dalam FPGA, melewati CPU. Desainer dapat membangun jaringan neural dari bawah ke atas dan menyusun FPGA agar sesuai dengan model yang terbaik.
Nilai dan biaya yang sangat baik: FPGAs dapat diprogram ulang untuk berbagai fungsi dan tipe data, menjadikannya salah satu opsi perangkat keras paling hemat biaya yang tersedia. Selain itu, FPGA dapat digunakan untuk lebih dari sekadar AI. Dengan mengintegrasikan kemampuan tambahan ke chip yang sama, desainer dapat menghemat biaya dan ruang board. FPGA memiliki siklus hidup produk yang panjang, sehingga desain perangkat keras yang berbasis FPGA dapat memiliki masa pakai produk yang panjang, dalam hitungan tahun atau dekade. Karakteristik ini membuatnya ideal untuk digunakan dalam pasar pertahanan industri, medis, dan otomotif.
Konsumsi daya rendah: Dengan FPGAs, desainer dapat menyempurnakan perangkat keras ke aplikasi, membantu memenuhi persyaratan efisiensi daya. FPGA juga dapat mengakomodasi beberapa fungsi, yang menghadirkan efisiensi energi yang lebih besar dari chip. Ada kemungkinan untuk menggunakan sebagian FPGA untuk suatu fungsi, alih-alih seluruh chip, yang memungkinkan FPGA untuk menjadi host dari beberapa fungsi secara paralel.
Aplikasi AI dan Deep Learning pada FPGA
FPGA dapat menawarkan keunggulan performa dibandingkan GPU ketika aplikasi menuntut latensi rendah dan ukuran batch rendah—misalnya, dengan pengenalan ucapan dan beban kerja pemrosesan bahasa alami lainnya. Karena antarmuka I/O yang dapat diprogram dan fabric yang sangat fleksibel, FPGA juga cocok untuk tugas berikut:
Mengatasi kemacetan I/O. FPGA sering digunakan di mana data harus melintasi banyak jaringan yang berbeda dengan latensi rendah. Perangkat ini sangat berguna dalam menghilangkan buffering memori dan mengatasi kemacetan I/O—salah satu faktor yang paling membatasi dalam performa sistem AI. Dengan mengakselerasi konsumsi data, FPGA dapat mempercepat seluruh alur kerja AI.
Mengintegrasikan AI ke dalam beban kerja. Dengan menggunakan FPGA, desainer dapat menambahkan kemampuan AI, seperti inspeksi paket dalam atau pendeteksian penipuan keuangan, ke beban kerja yang ada.
Mengaktifkan fusi sensor. FPGA unggul ketika menangani input data dari beberapa sensor, seperti kamera, LIDAR, dan sensor audio. Kemampuan ini dapat sangat berharga ketika merancang kendaraan otonom, robotika, dan peralatan industri.
Menghadirkan akselerasi untuk klaster high performance computing (HPC). FPGAs dapat membantu memfasilitasi konvergensi AI dan HPC dengan berfungsi sebagai akselerator yang dapat diprogram untuk inferensi. 2
Menambahkan kemampuan ekstra di luar AI. FPGA memungkinkan untuk menambahkan kemampuan keamanan, I/O, jaringan, atau pra-/pascapemrosesan tanpa memerlukan chip tambahan.
Perangkat Lunak dan Perangkat Keras Intel® FPGA
Salah satu dari beberapa rintangan yang harus diatasi ketika menggunakan FPGA adalah bahwa perangkat keras biasanya memerlukan keahlian pemrograman khusus. Intel mengurangi jumlah keahlian yang diperlukan dengan model pemrograman berbasis perangkat lunak. Model pemrograman FPGA tingkat yang lebih tinggi ini memungkinkan ilmuwan data atau developer model untuk menciptakan jaringan neural menggunakan kerangka kerja AI umum—seperti TensorFlow atau Caffe—dan menerapkannya pada FPGA tanpa mengetahui detail arsitektur FPGA. Intel telah mengembangkan beberapa alat yang membuat pemrograman FPGA jauh lebih mudah:
Toolkit Intel® Distribution of OpenVINO™ memberi developer visi komputer suatu alat tunggal untuk mengakselerasi model di beberapa platform perangkat keras, termasuk FPGA.
Intel® FPGA AI Suite menyediakan alat dan arsitektur yang dioptimalkan untuk mengakselerasi inferensi dengan Intel® FPGA. Ini menjadi antarmuka dengan toolkit OpenVINO™, yang menawarkan skalabilitas untuk mendukung jaringan kustom.
Open FPGA Stack (OFS) adalah infrastruktur perangkat lunak dan perangkat keras sumber terbuka yang menyediakan kerangka kerja untuk pengembangan platform dan beban kerja berbasis FPGA kustom. Semua kode sumber tersedia di GitHub.
Solusi teknologi deep learning Intel® FPGA mencakup berbagai rangkaian produk dan alat perangkat lunak untuk membantu mengurangi waktu dan biaya pengembangan. Produk perangkat keras berikut memiliki nilai tertentu untuk kasus penggunaan deep learning:
Intel Agilex® 5 FPGA dan SoC adalah FPGA kelas menengah yang menghadirkan blok DSP yang disempurnakan dan pertama di industri dengan AI Tensor, yang menawarkan AI efisiensi tinggi serta fungsi pemrosesan sinyal digital (DSP). Rangkaian produk ini memberikan, rata-rata, performa fabric 50% lebih tinggi dan konsumsi daya total hingga 42% lebih rendah dibandingkan FPGAs Intel® generasi sebelumnya.3
Portofolio Intel untuk AI
Seiring pengadopsian AI bertumbuh, berbagai aplikasi dan lingkungan di mana AI berjalan—mulai dari perangkat endpoint hingga server edge dan pusat data—akan menjadi sangat beragam. Tidak ada satu arsitektur, chip, atau form factor yang akan memenuhi syarat untuk semua aplikasi AI. Arsitek infrastruktur harus memiliki akses ke arsitektur pilihan mereka.
Intel menawarkan empat jenis silikon yang memungkinkan proliferasi AI: FPGA, GPU, dan ASIC untuk akselerasi, dan CPU untuk komputasi tujuan umum. Setiap arsitektur memenuhi kebutuhan unik, sehingga arsitek infrastruktur dapat memilih arsitektur tepat yang mereka perlukan untuk mendukung aplikasi AI apa pun. Dengan beragam jenis komputasi yang dioptimalkan untuk daya dan performa, arsitek infrastruktur akan selalu mendapatkan alat yang tepat untuk pekerjaan yang mereka lakukan.