Arsitektur hybrid mempercepat AI, beban kerja penglihatan
Aliran data hybrid baru dan arsitektur Von Neumann dapat mempercepat beban kerja termasuk jaringan saraf, pembelajaran mesin, visi komputer, DSP dan subprogram aljabar linier dasar.
Quadric, startup Silicon Valley, telah membangun akselerator yang dirancang untuk mempercepat beban kerja algoritma visi komputer AI dan standar untuk perangkat edge seperti robot, otomatisasi pabrik, dan pencitraan medis. Arsitektur perangkat keras perusahaan adalah aliran data hibrid baru dan desain Von Neumann yang dapat menangani beban kerja termasuk jaringan saraf, pembelajaran mesin, visi komputer, DSP, dan subprogram aljabar linier dasar.
“Sejak awal, kami sangat menyadari bahwa AI bukan satu-satunya aplikasi yang diperlukan untuk komputasi di perangkat pada perangkat edge,” kata CEO Quadric Veerbhan Kheterpal kepada EE Times . “Para pengembang produk ini membutuhkan sistem lengkap untuk dapat menjalankan algoritme komputasi klasik berkinerja tinggi, bersama dengan AI. Itu benar-benar persyaratan sistem yang lengkap.”
Kheterpal menekankan bahwa arsitektur bukanlah kumpulan akselerator untuk beban kerja individu. Sebaliknya, ini adalah arsitektur terpadu dengan set instruksi paralel data yang dirancang untuk mempercepat berbagai beban kerja, termasuk inferensi AI.
“Di mana AI bergerak akhir-akhir ini, ada beberapa tren menarik seputar penggantian seluruh lapisan dengan transformasi fourier cepat (FFT),” kata Daniel Firu, chief product officer Quadric. Quadric memposisikan dirinya untuk mempercepat jenis beban kerja tersebut, mengutip makalah terbaru dari Google di mana para peneliti mempercepat jaringan transformator dengan mengganti beberapa lapisan dengan FFT. Google mengganti sublapisan self-attention dari encoder transformator dengan FFT untuk menghasilkan jaringan yang mencapai akurasi 92 persen pada benchmark BERT; pelatihan hingga tujuh kali lebih cepat di GPU atau dua kali lebih cepat di Google TPU.
Kit pengembang Quadric, kartu M.2 dengan prosesor Q16 dan memori eksternal 4 GB (Sumber:Quadric)
Robot kebun anggur
Tiga pendiri Quadric, Veerbhan Kheterpal, Daniel Firu dan Nigel Drego, sebelumnya mendirikan 21, sebuah perusahaan penambangan bitcoin yang dijual ke Coinbase. Quadric, Burlingame, California, tidak mulai merancang chip. Sebagai gantinya, ia awalnya membangun robot pertanian yang bisa berjalan mondar-mandir di kebun anggur Lembah Napa melihat tanaman merambat dan mengirimkan peringatan saat melihat kebocoran irigasi atau hama.
Verbhan Kheterpal (Sumber:Quadric)
“Ketika kami membangunnya, kami menyadari bahwa itu tidak akan menjadi produk yang layak yang dibangun dari rantai pasokan drone dengan harga $5 hingga $10.000,” kata Kheterpal. “Itu harus dibangun dari rantai pasokan traktor seharga $50.000, dan membawa PC besar dengan GPU di dalamnya, dengan banyak kamera. Saat itulah kami mulai memeriksa semua perangkat lunak robotika dan menemukan apa yang secara mendasar menyebabkan kebutuhan energi ini meningkat pada platform seperti Nvidia dan Intel.”
Perusahaan berputar untuk membangun chip akselerator – “chip yang kami harap kami miliki,” menurut Firu.
Putaran pendanaan awal diluncurkan pada tahun 2017, diikuti oleh putaran Seri A yang menghasilkan $13 juta dari pelanggan potensial termasuk investor utama Quadric, otomotif Jepang Tier-One Denso. Total pendanaan Quadric adalah $18 juta.
Turing selesai
Quadric menggunakan arsitektur berbasis instruksi yang mengambil elemen dari arsitektur aliran data dan menggabungkannya dengan elemen mesin Von Neumann. Tujuannya adalah untuk mengganti sistem heterogen di perangkat edge dengan sesuatu yang tidak terlalu rumit. Sebagai mesin lengkap Turing, inti Quadric Vortex menawarkan kombinasi akselerasi dengan fleksibilitas, klaim perusahaan. Arsitekturnya dapat diskalakan dalam hal susunan inti, dan portabel hingga node proses lanjutan (7 atau 5-nm). Ini cocok untuk aplikasi perangkat edge dengan anggaran daya antara sekitar ratusan miliwatt hingga 20W.
Chip pertama perusahaan, Q16, adalah array dari 16 x 16 inti Vortex. Setiap inti memiliki kemampuan untuk melakukan perkalian matriks dan perhitungan AI, tetapi masing-masing juga memiliki ALU multifungsi, untuk operasi seperti AND, OR, reduksi, shift, dan lainnya. Perangkat lunak memungkinkan pengembang untuk mengekspresikan berbagai jenis algoritma, termasuk fungsi aktivasi LSTM dan banyak lagi. Pernyataan If-then-Else tersedia di seluruh larik, memungkinkan pengembang memanfaatkan sparity yang sangat halus.
Setiap inti dalam larik memiliki akses satu siklus ke inti tetangganya, ditambah akses satu siklus ke memori dalam inti sebesar 4 Kb. Memori on-chip juga disertakan di samping larik, memberikan akses deterministik latensi rendah pada inti.
Inti beroperasi secara paralel dalam apa yang disebut Quadric sebagai "instruksi tunggal, dekode ganda"; setiap inti mendapat instruksi yang sama dengan setiap siklus. Tetapi berdasarkan data dinamis saat runtime, setiap inti dapat menafsirkan instruksi itu secara berbeda. Itu memungkinkan inti, atau kelompok inti, untuk melakukan fungsi yang sedikit berbeda.
Juga disertakan adalah bus siaran khusus yang mengoptimalkan bandwidth ke dalam array dan dapat digunakan untuk menyiarkan konstanta, seperti bobot jaringan saraf, ke semua inti sekaligus (Firu mengatakan banyak algoritma visi komputer juga memiliki beberapa informasi loop-invarian yang dapat dipetakan ke dalam bus).
Informasi dinamis memasuki array melalui unit penyimpanan beban statis yang dikendalikan perangkat lunak yang memungkinkan runtime kernel deterministik. Perangkat memungkinkan pemuatan dan penyimpanan simultan dari dua sisi perangkat, ditambah properti khusus dari satu sisi yang dapat digunakan untuk mengirim bobot jaringan saraf – memuat dari dua sisi dan menyimpan dari sisi ketiga secara bersamaan dapat mengurangi runtime eksekusi komputasi.
Daniel Firu (Sumber:Quadric)
“Anda dapat memuat ke satu sisi dan kemudian menyimpan dari sisi tegak lurus,” kata Firu. “Itu memungkinkan beberapa hal yang cukup menarik terjadi di tingkat perangkat lunak. Anda juga dapat mulai melakukan hal-hal seperti pemetaan ulang data dan rotasi gambar dan hal-hal seperti itu menggunakan paradigma ini.”
Sementara itu, memori statis yang dikendalikan perangkat lunak (bukan cache) pada chip menawarkan ruang untuk struktur data yang besar. Quadric memungkinkan akses API ke ini sehingga pengembang dapat menentukan struktur data arbitrer di dalamnya. Dalam chip Q16, memorinya berukuran 8 GB, cukup untuk memuat “dua atau tiga frame buffer di HD di sana, atau seluruh jaringan saraf bobot,” kata Firu.
Tumpukan perangkat lunak
Quadric membangun tumpukan perangkat lunaknya sebelum silikon. Pelanggan telah menggunakannya dengan simulator arsitektur perusahaan, atau dengan FPGA, selama setahun, kata Kheterpal. Tumpukan Quadric mengabstraksi arsitektur dan instruksi yang ditetapkan melalui kompiler berbasis LLVM, dengan C++ API di atasnya.
Mode Sumber mendukung algoritme paralel data yang berbeda dengan kontrol C++ tingkat sumber dari fitur arsitektur prosesor. Saat jaringan saraf menjadi lebih kompleks, Mode Sumber juga memungkinkan pengembang untuk mengekspresikan operasi khusus.
Tumpukan perangkat lunak Quadric (Sumber:Quadric)
Pembaruan mendatang untuk tumpukan akan menawarkan Mode Grafik tanpa kode, yang akan mendukung jaringan saraf versi TensorFlow atau ONNX. Itu akan mencakup kompiler jaringan saraf dalam (DNN) berbasis TVM yang secara otomatis menghasilkan kode.
“Kami menggabungkan kekuatan tanpa kode dengan fleksibilitas untuk memiliki kode kustom Anda sendiri, dan menggabungkannya dengan cara yang menarik untuk mencapai aplikasi Anda,” kata Kheterpal. “Sebagian besar platform hanya akan menawarkan arsitektur khusus AI dengan beberapa jenis kompiler DNN – tetapi bagaimana dengan penyesuaian? Bagaimana dengan DNN yang tidak didukung? Bagaimana dengan operator yang tidak didukung? Kami tidak memiliki batasan itu karena ini adalah inti lengkap Turing, inti dapat melakukan operasi apa pun. Fleksibilitas kode memberi pengembang kemampuan untuk menulis algoritme apa pun yang mereka inginkan.”
Peta jalan chip
Chip Q16 Quadric, yang menampilkan 256 inti Vortex dalam susunan 16 x 16 dalam silikon 16 nm, menawarkan 4 INT8 DNN TOPS. Itu dapat menjalankan ResNet-50 pada 200 inferensi per detik (untuk parameter INT8 pada ukuran gambar 224 x 224), mengkonsumsi rata-rata 2W.
Peta jalan Quadric mencakup arsitektur generasi kedua, ditambah tapeout chip Q32 (array 1.000 core), “mungkin dalam 7 nm,” kata Firu. Meskipun Q16 benar-benar merupakan akselerator (itu akan berada di samping prosesor host sistem), Q32 yang sedang dikembangkan juga dapat menyertakan inti Arm atau RISC-V untuk bertindak sebagai host.
Kit pengembang format M.2, dengan prosesor Q16 bersama memori eksternal 4 GB yang langsung dipetakan ke ruang memori universal Q16, kini tersedia.
>> Artikel ini awalnya diterbitkan di situs saudara kami, EE Waktu.
Konten Terkait:
Akselerator perangkat keras melayani aplikasi AI
Saat DSP mengalahkan akselerator perangkat keras
Panduan untuk mempercepat aplikasi dengan petunjuk khusus RISC-V yang tepat
Kinerja chip inferensi dibangun berdasarkan desain subsistem memori yang dioptimalkan
Modul akselerasi AI baru meningkatkan performa edge
Edge AI menantang teknologi memori
Untuk lebih banyak Tertanam, berlangganan buletin email mingguan Tertanam.