1 puan yazan GN⁺ 2025-05-06 | 1 yorum | WhatsApp'ta paylaş
  • MVDRAM, değiştirilmemiş DRAM kullanarak düşük bitli LLM çıkarımı için GeMV işlemlerini hızlandıran bir sistemdir
  • DRAM’ı bir GeMV motoru olarak kullanarak yüksek verim sunar
  • Mevcut PUD yaklaşımındaki girdi ön düzenleme ve çıktı bit dönüştürme maliyetlerini ortadan kaldırır
  • Deney sonuçları, düşük bitli LLM’lerde işlemci tabanlı uygulamalara kıyasla daha üstün performans gösterdiğini ortaya koyuyor
  • Yapay zeka donanımı için yeni olanaklar sunuyor

MVDRAM: Değiştirilmemiş DRAM ile Düşük Bitli LLM Hızlandırma

  • GeMV işlemleri, büyük dil modeli (LLM) çıkarımında önemli bir gecikme darboğazı olmaya devam ediyor
  • Processing-Using-DRAM (PUD), DRAM’ı bir GeMV motoru olarak yeniden kullanma potansiyeline sahip
  • Ancak PUD’yi LLM çıkarım hattına uygulamak önemli ek yükler doğuruyor

MVDRAM’ın yenilikçi yaklaşımı

  • MVDRAM, veri paylaşım örüntülerini ve matematiksel doğrusallığı kullanarak işlemci ile DRAM arasında koordinasyon sağlıyor
  • Mevcut PUD yaklaşımının maliyetlerini ortadan kaldırarak GeMV işlemlerini hızlandırıyor

Deney sonuçları

  • Dört DDR4 DRAM modülüyle yapılan deneylerde MVDRAM, düşük bitli (4 bit ve altı) LLM’lerde işlemci tabanlı uygulamalardan daha yüksek performans gösterdi
  • En fazla 7.29 kat hızlanma ve 30.5 kat enerji verimliliği sağladı

LLM çıkarımında genel iyileştirme

  • 2 bit ve 4 bit kuantize düşük bitli modellerde sırasıyla 2.18 kat ve 1.31 kat throughput artışı gösterdi
  • Enerji verimliliği de sırasıyla 3.04 kat ve 2.35 kat iyileşti

Yapay zeka donanımı için yeni olanaklar

  • MVDRAM, standart DRAM’ın bir LLM hızlandırıcısı olarak kullanılabileceğini gösteriyor
  • Yapay zeka donanımında yeni ufuklar açma potansiyeline sahip

1 yorum

 
GN⁺ 2025-05-06
Hacker News yorumları
  • Arka plan materyali olarak in-DRAM compute için ilk önerilerden biri olan https://users.ece.cmu.edu/~omutlu/pub/in-DRAM-bulk-AND-OR-ie..., hazır bileşenlerle yapılan ilk gösterim https://parallel.princeton.edu/papers/micro19-gao.pdf, uygulama aracı DRAM Bender https://github.com/CMU-SAFARI/DRAM-Bender ve yakın tarihli processing-in-DRAM derleme makalesi https://arxiv.org/abs/2412.19275 var

    • DRAM içinde işlem eski bir fikir; 90’larda da DRAM banklarını SIMD makinesine dönüştürmeye çalışan çeşitli makaleler vardı
      Bugünkü fikir kadar zekice ya da gelişmiş değillerdi ama sonuçta bu makaleler eski bir fikrin modern sürümüne yakın
  • Kaynakça 1 ve 3’teki yazar listelerinin inanılmaz uzun olması dikkat çekiyor
    2016’daki yazının https://news.ycombinator.com/item?id=12469270 da içinde olacağını sanmıştım; 2019’daki yazı https://news.ycombinator.com/item?id=22712811 ise gerçekten görünüyor
    Elbette DRAM’in bu tür spesifikasyon dışı davranışları, özellikle de kopyalama yeteneği, kötü şöhretli hatayla https://news.ycombinator.com/item?id=5314959 da ilişkili
    Görünüşe göre birçok kişi bağımsız olarak bu olguyu görüp “işe yarar bir davranış olabilir” diye düşünmüş

    • Bir gün tüm departmanımızı, şarküteri çalışanlarını ve saat 14.00’te parkta bulunan herkesi katkıda bulunanlar arasına eklemeyi düşünüyorum
    • Bu bir biçimlendirme hatası gibi görünüyor
      Yazar listesi bu kadar devasa olduğunda genelde yalnızca ilk ad yazılır, geri kalanı “et al.” diye geçilir
  • “Üreticinin belirlediği zamanlama parametrelerini kasıtlı olarak ihlal eden DRAM komutları göndererek paralel biçimde 65.536’ya kadar bit işlemi elde etmek” kulağa DRAM eğitimi için kullanılan binary blob’a sağlam bir gol atmak gibi geliyor

  • Bu gerçekten insanın aklını bükecek kadar tuhaf ve aynı zamanda harika derecede yaratıcı
    En dip ayrıntılara kadar inmenin ödüllendirildiği zamanlar oluyor. Müthiş

    • Bu tür davranış satır/sütun adreslerini çoklayan erken DRAM’lerden beri vardı
      1973 tarihli Mostek MK4096 da muhtemelen bunu yapabiliyordu; birinin keşfetmesi yaklaşık yarım yüzyıl sürmüş oldu
  • DRAM’in kendi içinde matris işlemleri yapmak mı? Delice ama ilginç

    • Evet; şaşırtıcı biçimde bunu standart RAM’de zamanlama parametrelerini kasıtlı olarak ihlal ederek başarıyorlar
      DRAM kullanarak işlem (PUD), bellek dizisi içinde son derece paralel bit-seri hesaplamayı mümkün kılmak için DRAM’in kendine özgü analog davranış özelliklerinden yararlanıyor
      Önceki araştırmalar, ticari kullanıma hazır DRAM’in de donanım değişikliği olmadan, zamanlama parametreleri kasıtlı olarak ihlal edildiğinde PUD işlevselliğine ulaşabildiğini göstermişti
      Temel işlemler RowCopy ve majority-of-X (MAJX) olmak üzere iki tane. RowCopy, bitline precharge tamamlanmadan PRE’nin hemen ardından ACT komutu vererek veriyi aynı alt dizi içindeki başka bir satıra taşır; bir satırdaki tüm hücreleri aynı anda etkilediği için işlemci aracılı veri hareketinden yaklaşık 100 kat daha hızlıdır
      MAJX, aynı bitline’ı paylaşan X hücreyi eşzamanlı etkinleştirerek çoğunluk oylaması yapar; ticari DRAM’de gecikme olmadan ACT, PRE, ACT komutlarını hızlıca ardışık yayımlayarak uygulanır. Böylece 2–32 satır aynı anda etkinleştirilebilir ve 65.536 sütunlu alt dizi paralelliğinden yararlanan PUD’un temel hesaplama birimi haline gelir
    • Her şeyde LLM inference çalıştırmak, bir sonraki “Doom çalışıyor” akımı olacak gibi
  • Donanım dünyasında da üreticinin bir gün düzeltebileceği bir hatadan yararlanma riski var mı?
    Yazılımda, bir özellik yapmak ya da başka hataları düzeltmek için platform hatasına bel bağlamak kötü fikirdir
    15 yıl sonra o hata düzeltilebilir; o zaman sistem patlar ve kimse nedenini bilemeyebilir
    Yakın zamanda da benzer bir tartışma olmuştu sanki; muhtemelen bir C fonksiyonunun tanımsız davranışı ile ilgiliydi

    • Düşük gecikmeli yüksek frekanslı alım satımda bu özellikle ağ kartlarında olur
      Belirli bir ağ kartında bir hata bulunabilir ya da özellik kombinasyonları ilginç biçimde davranıp alım satım şirketine avantaj sağlayabilir
      Bu tür hatalar veya özellikler, hatanın giderilmesi ya da daha büyük pazarda gerekli görülmemesi nedeniyle ortadan kalkabilir. Bu yüzden şirketler belirli bir modelin kalan tüm stokunu satın almaya çalışabilir
    • Bunlar genelde birlikte çalışabilirlik testi kapsamına girer ama çoğu zaman donanımla değil, firmware ile hafifletilir
      En kötü durumda, 15 yıl önce ortadan kaybolmuş ünlü bir tedarikçinin donanımıyla bile çalışmasını sağlamak zorunda kalırsınız. Çünkü büyük müşteriler o ekipmanı 15 yıldır sorunsuz kullanmıştır; yeni ekipmanı taktıklarında çalışmazsa sorunun sizin donanımınızda olduğunu düşüneceklerdir
      Telekom ekipmanlarında bu özellikle önemlidir; standarda uymayan tedarikçiler için her türlü özel işlem bulunur. Ve başkasının sistemini bozmamak için bu özel işlemleri firmware’de tutmaya devam etmeniz gerekir
      Eski ekipmanların, artık yok olmuş şirketlerin ekipmanlarının ve mevcut rakiplerin ekipmanlarının duvarları doldurduğunu, robot kolların kablolar taktığını hayal ederseniz bazı donanım doğrulama laboratuvarlarının nasıl olduğunu anlayabilirsiniz
      Anakart üreticilerinin firmware’leri de belirli CPU’lar, chipset’ler vb. için özel işlemlerle doludur
    • C/C++’ın tanımsız davranışı çok eskiden beri tartışılıyor
      Optimize edici derleyicilerle birleştiğindeki etkisinin daha geniş kitlelerce fark edilmesi 2010 civarı, belki 2013 civarı gibi görünüyor; artık 12 yılı geçti
      Bu makale bir hataya dayanmayı önermekten ziyade, DRAM ile nelerin mümkün olabileceğini gösterip bu işlevlerin standartlaştırılmasını ummaya daha yakın
  • Genel matris-vektör çarpımı (GeMV) ha; matematikte pek iyi sayılmam
    3D matematik dersinde kuaterniyonları öğrenirken grafik geliştirmede matris hesaplamalarının tarihine kısaca değinmiştik. O dersten ilk seferinde kaldım, yani gerçekten matematik insanı değilim
    Anladığım kadarıyla kuaterniyonlar matrisler kadar neredeyse doğru sonuç verirken hesaplama karmaşıklığı çok daha düşük olduğu için popüler olmuş gibi
    Matrisler yerine kuaterniyonlarla LLM yapmayı deneyen oldu mu? Yoksa kuaterniyon optimizasyonu gerçek zamanlı grafiklerde mi daha işe yarıyor?

    • Matrisler doğrusal fonksiyonları ifade etmenin bir yoludur. Örneğin toplama ve skaler çarpımla iyi uyum sağlayan fonksiyonlar
      Bunların belirli bir alt kümesi 3B uzaydaki dönüşleri açıklamak için kullanılabilir; kuaterniyonlar da, tartışmalı olsa da, bunu daha iyi yapabilir
      Ama kuaterniyonlarla keyfi bir doğrusal fonksiyonu açıklayamazsınız; bu yüzden LLM'lere uygun görünmüyor
    • Kuaterniyonların yalnızca sabit 4 boyutu vardır
      Sinir ağları çok daha fazla boyuta ihtiyaç duyar
    • Birkaç kavramı birbirine karıştırıyor gibisin. Kuaterniyonlar karmaşık sayılarla aynı kategoridedir
      Matrislerle temsil edilebilirler; ayrıca eleman olarak reel sayılar yerine kuaterniyon kullanan matrisler için QDNN gibi makul kullanım alanları da muhtemelen vardır
      Benim deneyimime göre LLM gibi büyük ölçekli yapılarda, fizik ya da 3D grafiklerde olduğu gibi daha rafine bir skaler türle temsil etmenin gerçek bir avantajı yoksa, daha basit biçimlerin başarılı olma ihtimali daha yüksektir
    • Bilgisayar grafiklerinde kuaterniyonların başlıca avantajının, dönüşleri gimbal lock oluşmayacak şekilde temsil etmeleri olduğunu anlamıştım
      Bunun dışında, bu tür dönüş temsilleri boyut ekledikçe kuaterniyonlarla pek iyi ölçeklenmez
      Karmaşık sayılar 2B uzayın karmaşık temsilidir; kuaterniyonlar 3B uzayın karmaşık temsilidir; 4B'ye geçmek için 8 öğeli oktonyonlara ihtiyaç vardır
  • 1997'deki özgün Intelligent RAM (IRAM) materyaline atıf yapılmaması biraz bilimsel değil gibi görünüyor
    https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=iram...

    • Daha eski materyaller de olması büyük olasılık bence
      Ancak IRAM, bellek çipine ALU ekleyen belleğe yakın hesaplamaya daha yakın görünüyor; bellek içi hesaplama ise bellek dizisinin kendisini kullanma yönünde
      Adil olmak gerekirse, devasa vektör uzunlukları kullanan derin öğrenme ortaya çıkmadan önce bellek içi hesaplamanın cazibesi çok daha azdı. Bu yüzden insanlar sanırım işlemler üzerinde daha ayrıntılı kontrol sağlayabilecek yöntemler geliştirmeye çalışıyordu
  • Matris çarpımı ve belki başka işlemlerin de geleneksel CPU'lardan DRAM'e kaymasını, hatta bunun için özellikle donanım desteği eklenmesini bekleyebilir miyiz?
    Böyle bir işlem konumunun değişmesi Samsung gibi şirketlere avantaj sağlar mı? NVIDIA gibi şirketler nerede konumlanır?

  • İlginç bir hack. Makaleyi okumadım ama bu tür işlemler termal olarak kararsız olacak gibi
    O zaman LLM çıkarım sonuçları ortam sıcaklığına göre değişebilir :-)

    • Doğru, ama etkisi az
      Ayrıntılar için makaleyi okuyabilir ya da “temperature” diye aratabilirsin