Kita dapat membaca di halaman Wikipedia bahwa Google membangun chip ASIC khusus untuk pembelajaran mesin dan dirancang untuk TensorFlow yang membantu mempercepat AI.
Karena chip ASIC secara khusus dikustomisasi untuk satu penggunaan tertentu tanpa kemampuan untuk mengubah sirkuitnya, harus ada beberapa algoritma tetap yang dipanggil.
Jadi bagaimana tepatnya akselerasi AI menggunakan chip ASIC bekerja jika algoritmenya tidak dapat diubah? Bagian mana yang justru mempercepat?
Jawaban:
Operasi tensor
Pekerjaan utama dalam sebagian besar aplikasi ML hanyalah serangkaian operasi tensor (sangat besar) misalnya perkalian matriks. Anda dapat melakukan itu dengan mudah dalam ASIC, dan semua algoritma lain hanya dapat berjalan di atas itu.
sumber
Saya pikir algoritme telah berubah minimal, tetapi perangkat keras yang diperlukan telah dipangkas.
Jumlah transisi gerbang berkurang (mungkin operasi float dan presisi juga), seperti juga jumlah operasi pemindahan data, sehingga menghemat daya dan runtime. Google menyarankan TPU mereka mencapai penghematan biaya 10X untuk menyelesaikan pekerjaan yang sama.
https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html
sumber
ASIC - Singkatan dari Application Specific IC. Pada dasarnya Anda menulis program untuk merancang sebuah chip dalam HDL . Saya akan mengambil contoh bagaimana komputer modern bekerja untuk menjelaskan maksud saya:
n
jumlah core? Tidak masalah. Anda ingin mendefinisikan aliran data dari unit pemrosesan yang berbeda ke tempat yang berbeda? Kamu bisa melakukannya. Juga dengan perencanaan yang cermat Anda bisa mendapatkan pertukaran antara wilayah ASIC vs daya vs kecepatan. Satu-satunya masalah adalah bahwa untuk semua ini, Anda perlu membuat standar sendiri. Umumnya beberapa standar didefinisikan dengan baik diikuti dalam merancang prosesor, seperti jumlah pin dan fungsinya, standar IEEE 754 untuk representasi floating point, dll yang telah muncul setelah banyak percobaan dan kesalahan. Jadi, jika Anda dapat mengatasi semua ini, Anda dapat dengan mudah membuat ASIC Anda sendiri.Saya tidak tahu apa yang Google lakukan dengan TPU mereka tetapi ternyata mereka merancang semacam Integer dan standar FP untuk core 8 bit mereka tergantung pada persyaratan yang ada. Mereka mungkin menerapkannya pada ASIC untuk pertimbangan daya, area dan kecepatan.
sumber
Presisi rendah memungkinkan komputasi paralelisme tinggi di lapisan Convo dan FC. Arsitektur tetap CPU & GPU, tetapi ASIC / FPGA dapat dirancang berdasarkan arsitektur jaringan saraf
sumber