1 puan yazan GN⁺ 2024-03-26 | 1 yorum | WhatsApp'ta paylaş
  • Google'ın ilk TPU'su (Tensor Processing Unit) v1, derin öğrenmeden yararlanan yeni hizmetler için oluşan fırsatları ve gereken donanımın ölçek ile maliyetini dikkate alarak 10 kat maliyet-performans avantajı sunan bir ASIC (Application Specific Integrated Circuit) geliştirmeyi hedefledi.
  • TPU, tensör işlemlerini hızlandırmak için tasarlandı; tensör işlemleri, vektörler, skalerler ve diğer tensörler arasındaki çok boyutlu dizi ilişkilerini eşleyen işlemleri ifade eder.
  • Matris çarpımı, sinir ağlarının temel işlemlerinden biridir; giriş vektörü ile ağırlık matrisini çarpıp ardından aktivasyon fonksiyonu uygulayarak gizli katmanları ve çıktı katmanını hesaplamak için kullanılır.

Google'ın ilk tensör işleme birimi: kökeni

  • TPU v1 projesi 2013'ün sonunda başladı ve 15 ay içinde geliştirildi; bu da sinir ağı hızlandırıcılarıyla ilgilenenler için ilgi çekici bir konu.
  • TPU v1'in geliştirilme arka planı ve hedefleri önceki yazıda ele alınmıştı; bu yazıda ise TPU v1'in yapısı ve performansına daha yakından bakılıyor.

Yapı ve performans

  • TPU v1'in tasarımı, 1978'de H.T Kung ve Charles E. Leiserson'ın "Systolic Arrays (for VLSI)" makalesinde sunulan mimariye dayanıyor.
  • Systolic array, veriyi periyodik olarak hesaplayıp sistem boyunca ileten bir işlemci ağıyla verimli matris çarpımı gerçekleştiren bir yapıdır.
  • TPU v1'in systolic array'i, 256x256 çarpma/toplama biriminden oluşur ve ara sonuçları ana belleğe kaydedip geri getirmeye gerek kalmadan gereken sonuçları otomatik olarak üretir.

Multiply/Accumulate Units (MACs)

  • TPU v1, 8-bit x 8-bit tamsayı çarpımı yapar ve kayan nokta hesaplamalara göre daha az die alanı gerektiren quantization'dan yararlanır.

Komut seti

  • TPU v1, yaklaşık 20 karmaşık komuttan oluşan bir komut seti (CISC) kullanır ve bu komutlar PCIe arayüzü üzerinden ana bilgisayardan gönderilir.
  • Başlıca komutlar arasında ana bellek okuma, ağırlık okuma, matris çarpımı/toplama, aktivasyon ve ana belleğe yazma bulunur.

Yazılım

  • TPU v1'in donanımı, TensorFlow gibi yazılım yığınlarını destekleyerek CPU ve GPU'da geliştirilen uygulamaların TPU'ya hızla taşınmasını sağlar.

Üretim ve die

  • TPU v1, TSMC'nin 28nm süreciyle üretildi ve die alanı, Google'ın veri merkezlerinde kullandığı Intel Haswell CPU ile Nvidia K80 GPU çiplerinin yarısından daha küçüktü.

Performans

  • TPU v1, çıkarımı daha verimli hale getirmek için tasarlandı ve Nvidia K80 GPU ile Haswell CPU'ya kıyasla yaklaşık 15 ila 30 kat daha yüksek çıkarım hızı ve enerji verimliliği sundu.

Çıkarılan dersler

  • TPU v1'in özel mimarisi, modern CPU ve GPU'lara kıyasla çok daha iyi performans ve enerji kullanımı sağladı.
  • TPU v1, çıkarımı hızlı ve enerji verimli hale getirmeyi hedefleyerek tasarlandı; eğitim için tasarlanmadı.

GN⁺ görüşü

  • TPU v1'in geliştirilmesi, Google'ın büyük ölçekli veri merkezlerindeki çıkarım iş yüklerini optimize etmek için özel amaçlı donanıma yönelmesinde önemli bir dönüm noktasını temsil ediyor.
  • Systolic array mimarisi, veri akışını optimize ederek bellek erişimini en aza indiriyor; bu da enerji verimliliği ve performans artışına katkı sağlıyor.
  • TPU v1'in başarısı, daha sonra çeşitli TPU sürümlerinin geliştirilmesine yol açtı ve yapay zeka çıkarım donanımının ilerlemesinde önemli bir rol oynadı.
  • TPU'ya benzer işlevler sunan diğer ürünler arasında Nvidia'nın Tensor Core içeren GPU'ları, Intel'in Nervana NNP'si ve Amazon'un Inferentia'sı bulunuyor.
  • TPU teknolojisini benimserken mevcut altyapıyla uyumluluk, yazılım yığını ve belirli uygulamalara yönelik optimizasyon düzeyi dikkate alınmalı. TPU seçmenin sağlayacağı avantajlar, çıkarım işlerinde hız artışı ve enerji verimliliğidir; ancak belirli modeller veya veri türleri için optimizasyon gerekebilir.

1 yorum

 
GN⁺ 2024-03-26
Hacker News görüşleri
  • Groq CEO'su Jonathon Ross, bir podcast röportajında Google'da TPU'nun prototipini oluşturma sürecini anlattı. Başlangıçta, komşu bir ekibin çıkarım hızı sorununu çözmek için kendi %20 zamanında bir FPGA yaptı. Jeff Dean matematiksel hesaplamaları yaptıktan sonra ASIC'e geçmeye karar verildi. Şu anda Google'ın TPU ekibini bağımsız bir şirket olarak ayırması gerektiği görüşü var. TPU, NVidia'ya karşı tek güvenilir rakip ve yazılım desteği de NVidia'dan sonra en iyi ikinci seviyede.
  • Google TPU'yu icat etmiş ve Google Research LLM'lerle ilgili temel makaleleri yayımlamış olsa da, neden piyasa değerinin büyük kısmını NVidia ve yapay zeka girişimlerinin aldığı sorgulanıyor.
  • Bir Google çalışanı, TPU v5'e bakılmasını öneriyor. PyTorch/JAX desteği olduğu için yalnızca TensorFlow kullanıldığı zamana kıyasla kullanımı çok daha kolay.
  • Bir makale, soyut parçaların silikon üzerinden nasıl birbirine bağlandığını iyi açıklıyor. CISC komutlarının LLM çıkarım aşamasına nasıl eşlendiğini görmek ilginç.
  • Google'ın 2nm EUV teknolojisine girmesi ve 2nm'nin altına ilerlemesi gerektiği yönünde bir görüş var. ASML'nin sunduğu elektron litografi teknolojisini güvence altına alabilirse çok güçlü sonuçlar elde edebilir. Bu, Google X için cesur bir proje olabilir ve TPU gerçekten bu kadar iyiyse, kendi fabrikası ve teknolojisi olan bir iş kolu için de iyi bir fırsat olabilir.
  • Şu anda TPU adının hangi deniz canlısını ifade ettiğine dair bir soru.
  • OP'nin (Original Poster) alıntısı: "TPU v1, yaklaşık 20 komuta sahip bir CISC tasarımı kullanıyor." Buna yanıt olarak, CISC/RISC'nin araştırma programlarından pazarlama terimlerine kadar çeşitli aşamalardan geçtiği ve artık anlamsız bir gürültüye dönüştüğü yönünde alaycı bir yorum yapılıyor.
  • Bir yorumda, TPU donanımı gerçekte yalnızca vektör ve matris işlemleri yaparken neden "tensor" teriminin kullanıldığının anlaşılmadığı söyleniyor.
  • [silinmiş yorum]
  • [silinmiş yorum]