28 poin oleh xguru 2023-09-12 | 6 komentar | Bagikan ke WhatsApp
  • 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

 
ninebow 2023-09-12

Wow, terima kasih atas tulisannya yang bagus!

 
nicewook 2023-09-12

Saya membacanya dengan menyenangkan.

 
ragingwind 2023-09-12

Wah, harus terus beli saham..

 
xguru 2023-09-12

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

 
laeyoung 2023-09-12

Wow..!

 
xguru 2023-09-12

16 x 12.5 x 2.5 x 2 hasilnya tepat 1000.