- 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
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
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üş
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ş
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ç
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
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
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
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
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?
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
Sinir ağları çok daha fazla boyuta ihtiyaç duyar
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
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...
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?
https://www.patentlyapple.com/2024/12/apple-plans-to-transit...
İ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 :-)
Ayrıntılar için makaleyi okuyabilir ya da “temperature” diye aratabilirsin