Yeni makine öğrenimi donanım mimarisi
- Bu depo, mevcut iç çarpım (
inner product) işlemleriyle aynı performansı elde ederken çarpma işlemlerinin neredeyse yarısını gerektiren bir ML donanım mimarisinin kaynak kodunu içeriyor.
- Düşük bit genişlikli (
low-bitwidth) toplamaları kullanarak çarpmaların neredeyse yarısının yerine geçen alternatif bir iç çarpım algoritması çalıştırarak, ML hızlandırıcılarının teorik throughput ve hesaplama verimliliği sınırlarını yükseltiyor.
- Daha fazla ayrıntı, IEEE Transactions on Computers dergisinde yayımlanan makalede bulunabilir.
Yeni algoritma ve donanım mimarisi
- Free-pipeline Fast Inner Product (FFIP) adlı yeni bir algoritma ve donanım mimarisi tanıtılıyor.
- 1968'de Winograd tarafından önerilen hızlı iç çarpım algoritmasını (FIP) geliştiriyor.
- FIP, konvolüsyonel (
convolutional) katmanlara uygulanan Winograd minimum filtreleme algoritmasıyla ilişkili değildir; matris çarpımına büyük ölçüde indirgenebilen tüm ML model katmanlarına uygulanabilir.
- ML hızlandırıcılarında ilk kez FIP uygulanıyor ve FIP'nin saat frekansını ve bunun sonucunda elde edilen throughput'u iyileştiren FFIP algoritması ile genelleştirilmiş bir mimari sunuluyor.
- FIP ve FFIP algoritmaları ile mimarilerine ML odaklı optimizasyonlar katkı olarak sunuluyor.
- FFIP, mevcut sabit noktalı (
fixed-point) systolic array ML hızlandırıcılarına sorunsuz biçimde entegre edilerek, çarpma-birikim (MAC) birimlerinin yarısıyla aynı throughput'u elde edebiliyor veya sabit bir donanım bütçesiyle daha büyük bir azami systolic array boyutu uygulanmasını mümkün kılıyor.
- 8~16 bit sabit noktalı girdiler kullanan seyrek olmayan (
non-sparse) ML modelleri için FFIP uygulaması, aynı tür hesaplama platformunda en iyi çözümlerden daha yüksek throughput ve hesaplama verimliliği sağlıyor.
Kaynak kod yapısı
compiler: Python model tanımlarını hızlandırıcı komutlarına ayrıştıran derleyiciyi içerir; ayrıca hızlandırıcıda model çalıştırmayı başlatan, sonuçları ve performans sayaçlarını okuyan ve sonuç doğruluğunu test eden PCIe sürücüsüyle arayüz kodunu da içerir.
rtl: Sentezlenebilir SystemVerilog RTL içerir.
sim: Test için simülasyon ortamını kuran betikleri içerir.
tests: Cocotb kullanarak simülasyonda hızlandırıcıyı doğrulayan UVM tabanlı testbench kaynak kodunu içerir.
utils: Projede kullanılan ek Python paketleri ve betikleri içerir; genel geliştirme yardımcıları ve destek için yazar tarafından hazırlanmıştır.
GN⁺ görüşü
- Bu yazı, ML donanım mimarisinde yenilikçi bir ilerlemeyi tanıtıyor; özellikle çarpma işlemlerini azaltırken performansı koruyan yeni bir algoritma ve mimariyi açıklıyor. Bu, ML işlemlerinin verimliliğini önemli ölçüde artırabilecek kayda değer bir gelişme.
- FFIP algoritması, mevcut ML hızlandırıcı tasarımlarına yeni bir boyut ekliyor ve donanım kaynaklarının daha verimli kullanılmasına olanak tanıyan bir yaklaşım sunuyor. Bu, enerji verimliliği ve maliyet etkinliğinin öne çıktığı modern bilişim ortamlarında oldukça önemli.
- Ancak bu teknolojinin yaygın biçimde benimsenmesi için mevcut ML hızlandırıcılarıyla uyumluluk, geliştiricilerin yeni mimariyi ne kadar anlayabildiği ve gerçek donanıma uygulanırken ortaya çıkacak performans ile maliyet sorunları gibi etkenlerin dikkate alınması gerekiyor.
- Benzer işlevler sunan diğer proje veya ürünler arasında Google'ın TPU'su (Tensor Processing Unit) ve NVIDIA'nın CUDA çekirdekleri yer alıyor; bunlar piyasada zaten doğrulanmış ML hızlandırıcı çözümleri.
- Yeni bir teknoloji veya açık kaynak çözümü benimserken mevcut sistemlerle uyumluluk, performans artışına karşılık maliyet artışı ve geliştirme ile bakım karmaşıklığı dikkate alınmalıdır. FFIP'yi seçmenin avantajları throughput ve hesaplama verimliliğinde artış olurken, olası dezavantajlar geliştiricilerin yeni sisteme alışma süreci ve başlangıç uygulama maliyeti olabilir.
1 yorum
Hacker News görüşleri
x + log1p(exp(y - x))olur.