28 puan yazan xguru 2023-09-12 | 6 yorum | WhatsApp'ta paylaş
  • Nvidia'nın 10 yılda GPU performansını 1000 kat artırmasını sağlayan 4 unsur
  • Chief Scientist Bill Dally, bunu IEEE Hot Chips 2023 açılış konuşmasında tek bir slaytla açıkladı

Number Representation: 16 kat

  • "Genel olarak elde ettiğimiz en büyük fayda, sayı gösteriminin iyileştirilmesi oldu"
  • Buradaki sayılar, sinir ağlarının temel parametrelerini ifade ediyor
  • Bu parametrelerden biri ağırlıklar (Weights), bir diğeri ise aktivasyonlar (Activations)
    • Ağırlıklar: modeldeki nöronlar arasındaki bağlantı gücü
    • Aktivasyonlar: nöronda, ağırlıkların uygulandığı girdilerin toplamını işleyerek etkinleşip etkinleşmeyeceğini belirlemesi ve bilgiyi sonraki katmana aktarması
  • P100 öncesindeki Nvidia GPU'ları bu tür ağırlıkları tek duyarlıklı kayan nokta (single precision floating-point) sayılarla ifade ediyordu
  • IEEE 754 standardıyla tanımlanan bu sayıların uzunluğu 32 bittir; 23 bit kesir kısmını, 8 bit bu kesre uygulanan üs kısmını, 1 bit ise sayının işaretini temsil eder
  • Ancak makine öğrenimi araştırmacıları, birçok hesaplamada daha düşük hassasiyetli sayıların kullanılabileceğini ve buna rağmen sinir ağlarının hâlâ doğru yanıtlar verebildiğini fark etti
  • Böylece daha az sayıda biti işlemek, makine öğreniminin temel hesaplamalarını (çarpma ve biriktirme) yapan mantığı daha küçük ve verimli hâle getirebiliyor
    • Çarpma için gereken enerji, bit sayısının karesiyle orantılıdır
  • Bu yüzden Nvidia, P100 ile bu sayıyı yarıya indirerek FP16 kullandı. Google da bfloat16 adlı kendi sürümünü sundu
    • İkisi arasındaki fark, hassasiyet sağlayan kesir bitleri ile aralık sağlayan üs bitlerinin göreli sayısından kaynaklanıyor
    • bfloat16, FP32 ile aynı sayıda üs bitine sahip olduğu için iki biçim arasında geçiş yapmak kolaydır
  • Günümüzün en yeni GPU'su H100, ChatGPT ve diğer LLM'ler gibi büyük transformer sinir ağlarının belirli bölümlerini yürütmek için 8 bitlik sayılar kullanabiliyor
    • Ancak Nvidia bunun her durumda geçerli olan tek tip bir çözüm olmadığını gördü
    • Örneğin Nvidia'nın Hopper GPU mimarisi, hesaplama yapmak için aslında iki farklı FP8 formatı kullanıyor
    • Bunlardan biri biraz daha yüksek hassasiyet, diğeri ise biraz daha geniş aralık sağlıyor
    • Nvidia'nın özel sırrı, hangi durumda hangi formatın kullanılacağını bilmesi
  • Dally ve ekibinin, daha az bitle daha fazla yapay zeka performansı çıkarmak için pek çok ilginç fikri var
  • Ayrıca kayan nokta sisteminin ideal olmadığı da açık
  • Temel sorunlardan biri, sayı büyük ya da küçük olsun kayan nokta hassasiyetinin oldukça tutarlı kalması
  • Oysa sinir ağı parametreleri büyük sayılar kullanmıyor; 0 çevresinde kümeleniyor
  • Bu nedenle Nvidia'nın Ar-Ge odağı, sayıları 0'a yakın bölgede daha hassas temsil edebilecek verimli yöntemler bulmak

Complex Instructions: 12.5 kat

  • "Komutları getirme ve çözümleme maliyeti, basit aritmetik işlemler yapmanın maliyetinden kat kat yüksek"
  • Örneğin çarpma işlemlerinden biri, işlemin kendisi için gereken 1.5 picojoules'in 20 katına ulaşan bir ek yük tüketiyor
  • Nvidia, GPU'ları bir komut dizisi yerine tek bir komutla büyük hesaplamalar yapacak şekilde tasarlayarak önemli kazanç elde etti
  • Hâlâ bir ek yük var, ancak karmaşık komutlar kullanıldığında bu maliyet daha fazla matematik işlemi üzerine yayılabiliyor
  • Örneğin karmaşık bir komut olan IMMA (integer matrix multiply and accumulate, tamsayı matris çarpma ve biriktirme) için ek yük, matematik enerjisi maliyetinin yalnızca %16'sı

Moore’s Law: 2.5 kat

  • Moore Yasası'nın ilerleyişini sürdürmek milyarlarca dolarlık yatırım, son derece karmaşık mühendislik ve çok sayıda uluslararası belirsizlik gerektiriyor
  • Ancak bu da Nvidia GPU performansındaki artışın bir parçası
  • Nvidia sürekli olarak en ileri üretim teknolojilerinden yararlandı
  • H100, TSMC'nin N5 (5 nanometre) süreciyle üretiliyor ve çip üreticisi ancak 2022'nin sonlarında yeni nesil N3 için ilk üretime başladı

Sparsity: 2 kat

  • Eğitimden sonra sinir ağında, aslında en başta var olmaması gereken pek çok nöron kalıyor
  • Bazı sinir ağlarında "nöronların yarısından fazlasını kaldırıp yine de doğruluğu korumak mümkün olabilir"
  • Bu nöronların ağırlık değerleri 0 ya da 0'a çok yakın olduğu için çıktıya katkı yapmaz; bunları hesaplamaya katmak yalnızca zaman ve enerji israfıdır
  • Hesaplama yükünü azaltmak için bu ağları "seyrek (Sparse)" hâle getirmek zor bir iştir
  • Ancak Nvidia, H100'ün selefi A100 ile structured sparsity adını verdiği bir özelliği tanıttı
  • Bu donanım, mümkün olan dört budama olayından ikisini zorunlu kılarak yeni ve daha küçük matris hesaplamalarına yol açabiliyor
  • "Seyreklik sorunu henüz çözülmedi" "Aktivasyonlar tarafında yapmamız gereken şeyler var ve ağırlıklarda da daha yüksek seyreklik elde edebiliriz"

6 yorum

 
ninebow 2023-09-12

Vay, güzel yazı için teşekkürler!

 
nicewook 2023-09-12

Keyifle okudum.

 
ragingwind 2023-09-12

Vay be, hisseyi almaya devam etmek lazım..

 
xguru 2023-09-12

2018'de erkenden biraz Nvidia hissesi almıştım, şu an %1100 olmuş. O zaman çok daha fazla alsaymışım. T_T

 
laeyoung 2023-09-12

Vay canına..!

 
xguru 2023-09-12

16 x 12.5 x 2.5 x 2 yapınca tam 1000 ediyor.