- Empat faktor yang membuat Nvidia mampu meningkatkan performa GPU 1000 kali lipat dalam 10 tahun
- Dijelaskan oleh Chief Scientist Bill Dally dalam satu slide pada keynote IEEE Hot Chips 2023
Representasi Angka: 16x
- "Secara umum, keuntungan terbesar yang kami dapatkan adalah peningkatan representasi angka"
- Angka-angka ini mengacu pada parameter utama jaringan saraf
- Salah satu parameter tersebut adalah bobot (weights), dan parameter lainnya adalah aktivasi (activations)
- Bobot: kekuatan koneksi antar-neuron dalam model
- Aktivasi: menentukan apakah neuron diaktifkan dengan mengalikan jumlah input yang telah diberi bobot, lalu meneruskan informasi ke layer berikutnya
- Sebelum P100, GPU Nvidia merepresentasikan bobot semacam ini menggunakan angka floating-point presisi tunggal (single precision floating-point)
- Angka yang didefinisikan oleh standar IEEE 754 ini memiliki panjang 32 bit: 23 bit untuk fraksi, 8 bit sebagai eksponen yang diterapkan pada fraksi, dan 1 bit untuk tanda angka
- Namun, para peneliti machine learning menemukan bahwa pada banyak perhitungan, angka yang kurang presisi tetap bisa digunakan dan jaringan saraf masih dapat memberikan jawaban yang akurat
- Dengan memproses lebih sedikit bit seperti ini, logika yang menjalankan perhitungan utama machine learning (perkalian dan akumulasi) bisa dibuat lebih kecil dan lebih efisien
- Energi yang dibutuhkan untuk perkalian sebanding dengan kuadrat jumlah bit
- Karena itu, Nvidia menggunakan FP16 pada P100 untuk memangkas jumlah tersebut menjadi setengah. Google juga merilis versinya sendiri yang disebut bfloat16
- Perbedaan di antara keduanya adalah proporsi relatif antara bit fraksi yang memberikan presisi dan bit eksponen yang memberikan jangkauan
- bfloat16 memiliki jumlah bit eksponen yang sama dengan FP32, sehingga konversi antara kedua format lebih mudah
- GPU terkini saat ini, H100, dapat menggunakan angka 8 bit untuk menjalankan bagian tertentu dari jaringan saraf transformer skala besar seperti ChatGPT dan LLM lainnya
- Namun Nvidia menemukan bahwa ini bukan solusi one-size-fits-all yang berlaku untuk semua kasus
- Misalnya, arsitektur GPU Hopper milik Nvidia sebenarnya menggunakan dua format FP8 yang berbeda untuk melakukan komputasi
- Salah satunya memiliki presisi sedikit lebih tinggi, dan yang lain memiliki jangkauan sedikit lebih luas
- Keunggulan khusus Nvidia adalah mengetahui kapan harus menggunakan format yang mana
- Dally dan timnya memiliki berbagai ide menarik untuk memeras lebih banyak kemampuan AI dari jumlah bit yang lebih sedikit
- Dan jelas bahwa sistem floating-point bukanlah sesuatu yang ideal
- Salah satu masalah utamanya adalah presisi floating-point cukup konsisten, terlepas dari apakah angkanya besar atau kecil
- Padahal parameter jaringan saraf tidak menggunakan angka besar dan cenderung terkonsentrasi di sekitar 0
- Karena itu, fokus R&D Nvidia adalah menemukan cara yang efisien untuk merepresentasikan angka dengan lebih akurat di dekat 0
Instruksi Kompleks: 12,5x
- "Overhead untuk mengambil dan mendekode instruksi berkali-kali lebih besar daripada melakukan operasi aritmetika sederhana"
- Misalnya, salah satu operasi perkalian menghabiskan overhead yang mencapai 20 kali energi operasinya sendiri, yaitu 1,5 picojoule
- Nvidia memperoleh keuntungan besar dengan merancang GPU agar dapat melakukan perhitungan besar dalam satu instruksi tunggal, bukan dalam rangkaian instruksi
- Overhead itu tetap ada, tetapi dengan instruksi kompleks, biayanya bisa diamortisasi ke lebih banyak operasi matematika
- Sebagai contoh, overhead dari instruksi kompleks IMMA (integer matrix multiply and accumulate, perkalian dan akumulasi matriks bilangan bulat) hanya 16% dari biaya energi matematikanya
Hukum Moore: 2,5x
- Mempertahankan laju kemajuan Hukum Moore membutuhkan investasi miliaran dolar, rekayasa yang sangat kompleks, dan banyak ketidakpastian internasional
- Namun ini juga merupakan bagian dari peningkatan performa GPU Nvidia
- Nvidia terus memanfaatkan teknologi manufaktur paling maju
- H100 dibuat dengan proses N5 (5 nanometer) milik TSMC, dan pabrik chip tersebut baru memulai produksi awal generasi berikutnya, N3, pada akhir 2022
Sparsity: 2x
- Setelah pelatihan, masih banyak neuron yang tersisa dalam jaringan saraf yang sebenarnya tidak perlu ada sejak awal
- Pada beberapa jaringan saraf, "lebih dari separuh neuron dapat dihapus tanpa kehilangan akurasi"
- Nilai bobot neuron-neuron ini adalah 0 atau sangat dekat dengan 0, sehingga tidak berkontribusi pada output; memasukkannya ke dalam perhitungan hanya membuang waktu dan energi
- Untuk mengurangi beban komputasi, membuat jaringan seperti ini menjadi "sparse" adalah pekerjaan yang rumit
- Namun melalui A100, pendahulu H100, Nvidia memperkenalkan fitur yang mereka sebut structured sparsity
- Hardware ini dapat memaksa terjadinya 2 dari 4 kemungkinan peristiwa pembersihan, sehingga memungkinkan perhitungan matriks baru yang lebih kecil
- "Masalah sparsity belum selesai" "Kita masih harus melakukan sesuatu pada aktivasi, dan kita juga bisa memiliki sparsity yang lebih besar pada bobot"
6 komentar
Wow, terima kasih atas tulisannya yang bagus!
Saya membacanya dengan menyenangkan.
Wah, harus terus beli saham..
Saya punya sedikit saham Nvidia yang saya beli sebagai langkah antisipasi pada 2018, dan sekarang sudah naik 1100%. Seharusnya dulu saya beli banyak. T_T
Wow..!
16 x 12.5 x 2.5 x 2 hasilnya tepat 1000.