Donanım hızlandırıcıları, modern yapay zeka iş yükleri için vazgeçilmez hale geldi, AI'da yaygın olarak kullanılan matematiksel desenlere yönelik eğitimden dolayı büyük bir sinir ağları eğitimden, kenar cihazlarında gerçek zamanlı olarak inferansa kadar. Bu özel çipler performans ve enerji verimliliğinde, performans ve enerji verimliliğine göre daha sık göz ardı edilen bir bileşendir: kayıt.

Kayıtlar, bir işlemci veya hızlandırıcı içindeki en küçük, en hızlı bellek elementleridir. Doğrudan işlem birimlerinde otururlar, AI donanım hızlandırıcılarında kayıtlı kayıtların rolünü inceleyeceğiz.En sofistike bir kayıt hiyerarşisi olmadan, en sofistike hızlandırıcılar bile, geç saatler boyunca talep edilen hesaplama birimlerini besler.

Dijital Sistemlerde Kayıtları Anlamak

AI'ya özel kullanımlara girmeden önce, kayıt dosyaları oluşturmak ve diğer hafıza teknolojilerinden nasıl farklı olduklarını oluşturmak faydalı olacaktır.Bir kayıt, genellikle Flip-flops veya latches ile uygulanır, bu bir veya daha fazla veri tutabilir. Kayıtlar kayıt dosyalarına dahil edilir - paralel olarak okunabilir veya yazılabilir kayıt dosyaları.

Önbellek veya ana bellek dışında hangi setler erişim hızıdır. Çünkü kayıtlar fiziksel olarak aynı çipe bir arithmetic mantık birimleri (ALUs) olarak entegre edilir ve genellikle özel statik CMOS mantığı ile yapılır, tek bir saat döngüsünde okunabilirler - bir maliyet altında: kayıtlar önemli bir ölüm alanı gerektirir ve statik güç mühendislerini kullanmalıdır.

Kayıtlar herhangi bir işlemci veya hızlandırıcıda birkaç temel işlevine hizmet eder:

  • [FONT:0)Operand depolama:[Dönetici:0)[Döneticileri bir öğretim sırasında arithmetic birimlerine besleyen kaynak değerleri tutarlar.
  • [FONT:0]Result buffering:[Dönetici:[Dönetici: 1 ) Önceki yazının tekrar hafızaya geri dönmesi veya başka bir birim için ileri sürülmesinden önce geçici olarak bir şekilde ele alırlar.
  • [FONT:0) Kontrol durumu:[Dönetici:[Dönetici: 0 3)) Bazı konfigürasyonları, mod ayarlarını ve veripath davranışını belirleyen boru hatları.
  • [FONT=0]Architectural state:[Dönetici:[Dönetici: 1) Genel amaçlı bir temelde, programcı-visible kayıtları makine durumunu (örneğin, program sayacı, yığın noktası) tanımlar.

AI hızlandırıcıları bağlamında, son nokta genellikle daha az alakalı çünkü hızlandırıcılar genellikle bir uygulama geliştiricisi tarafından doğrudan programlanabilir değildir. Bunun yerine, kayıt dosyası, sinir ağ hesaplamalarının belirli veri akış kalıplarına çok özeldir.

AI Donanım Hızlandırıcılarında Kayıtların Rolü

AI hızlandırıcıları - grafik işleme birimleri (GPU) ise, onor işleme birimleri (TPU) alan programlanabilir kapı dizileri (FPGA) veya özel uygulama-özel entegre veri devreleri (ASICs) - ortak bir gereklilik paylaş: bunu mümkün kılan çok sayıda gecikmeli veri işleme işlemine izin vermek gerekir. Kayıtlar üç kritik kapasiteye sahiptir: iyi donanımlı borular, yüksek bant genişliği veri beslemesi ve esnek yeniden yapılandırma.

Güzel-Grateed Pipelining

Modern AI hızlandırıcıları, uzun süreli bir tasarıma sahip olan her aşamaya kadar çok sayıda aşamaya kırılır: Operands, çoğaltma, bir araya gelme ve geri yazma. Kayıtlar her aşamada en yavaş bir aşama beklemeden sorunsuz bir şekilde yerleştirilir.Bu teknik, boru hattın açılmasına izin verir, her bir bireyin çalışmasını tamamlamak için her döngüyü tamamen kırar.

Yüksek-Band Geniş Veri Besleme

Neural ağ katmanları onlarda çalışır: veri toplama işlemi için çok boyutlu diziler oldukça düşük, yani bir konvolul tabakası, bir giriş özelliği haritasının 3×3 filtresini ve bir parçasının bir parçasının bir parçası olarak, sonra işlem birimleri için ilk seviye veri önbelleklisi hesaplar olarak kaydedilir.Demirlerin çoğu zaman işlem için çok yüksek bir anahtarlama işlemine izin vermek için çok yüksek bir anahtarlama gerekir.

Esnek Konsülasyon ve Kontrol

Hızlandırıcılar birçok farklı sinir ağ mimarisine destek olmalıdır: çeşitli katman boyutları, veri türleri, aktivasyon işlevleri ve bu parametreleri zorlayandan ziyade, tasarımcılar onları kontrol kayıtlarında depolar. Bir yapılandırma kaydı, bir konvolution çekirdeğinin boyutunu belirtebilir, stridasyon modu veya bir döngüdeki iterasyonlar hızla gerçekleşir.Bu kayıt tabanlı bir kontrol planına göre, nesiller boyunca sürekli olarak kullanılabilir.

AI Hızlandırıcılar için kayıt dosyaları

Bir AI hızlandırıcı için bir kayıt dosyasını tasarlamak, hedef iş yüklerinin veri akışı modeline göre ayarlanabilir. Common architecture seçenekleri şunları içerir:

Vector Register Files

Birçok hızlandırıcı, vektör veya SIMD (Tek Öğretim, Birden Çok Veri) paradigması kabul eder, tek bir talimat aynı anda birden fazla vektör elementi taşımaya olanak sağlar.Bu tasarımlar vektör kayıt dosyaları kullanır - çok bankalı diziler, tüm vektörleri tutar (örneğin, 128, 256 veya 512 elementleri).Her banka, birden fazla vektör elementi aynı anda getirmesine izin verebilir.Bu tasarımlar, ana tasarım parametresidir: daha fazla portlar artış hızı, ancak aynı zamanda alanı ve gücü artırmak için çok bankayı kullanır.

Shanpad Anılar vs. Register Files

Donanım tarafından yönetilen bir kayıt dosyasına ortak bir alternatif, ancak büyük bir kayıt dosyası ve küçük bir çizpad arasındaki çizgi bulanık ve sabit bir şekilde işlem birimlerine bağlı olarak veri kümesine bağlıdır.The choice depend on main memory and a local SRAM scratchpad. Registers then used only for the same solution. but, while record files is implicitly managed by the small scratchpad. Her iki canlı grafik işleme birimine bağlı olarak kullanılan bir dizindeki veri kümesine bağlı olarak, kayıt dosyaların bir araya gelmesi gerekir.

Kayıt Renaming ve Hazard Destek

Orijinal kayıt motorları (yüksek uçlu GPU'larda ve bazı AI hızlandırıcıları) kayıt yenileme yanlış bağımlılıkları ortadan kaldırmak için kullanılır. Fiziksel kayıt dosyası, mimari kayıt setinden daha fazla kayıt içerir, donanıma mantıksal kayıtlardan kaçınmak için farklı fiziksel kayıtlara izin verir.Renaming karmaşıklaşırken, özellikle de bilgisayar ağ eğitim gibi iş yüklerinin kullanımında, çoklu ipler veya savaşlar veya savaşlar yer imrengileri gizlemek için.

TasarımDüşündürümleri: Hız, Alan ve Güç

Kayıt dosyalarının tasarımı, on binlerce çoklu kayıt kullanarak çok basit bir şekilde genişletilebilir: tüm gigahertz frekanslarında çalışan bir 32-bit kayıt için, modern 7 nm sürecindeki bazı mikrowattlar ve aktif olarak milyonlarca kayıtta kullanım için yeterince hızlı olmalıdır. Multipliers, tüm normal alan ve güç önemli hale gelir - bazen modern 7 nm sürecinde uygulanan bir bütçeye hükmedebilir.

Bunu azaltmak için mimarlar birkaç teknik kullanır:

  • [FONT:0]Banking ve port azaltımı:[Dönetici:0) Tek bir monolithic kayıt dosyası oluşturmak yerine, birçok kitapla dosyayı birden çok bankaya ayırdılar, her biri daha az limana girdi.
  • [FONT:0)Hierarchical kayıt dosyaları:[Dönetici:[Dönetici:0) Bazı tasarımları, daha büyük, daha yavaş bir kayıt dosyası tarafından desteklenen küçük, ultra hızlı bir kayıt dosyası kullanır.
  • [FONT=0)Power gating:[Dönetici:[Döneticileri kullanmamış olan kayıt bankaları, mobil veya kenar hızlandırıcılarında özellikle önemli olan sızıntı gücünü kurtarmak için kapatılmıştır.
  • [FONT:0)Datapath entegrasyonu:[Dön performans tasarımlarında, kayıtlar doğrudan multiplier cumulator (MAC) hücrelerine dönüştürülür. MAC hücresinin kendisi bir boru hattı kaydı ve kısmi özetleme kaydı içerir.Bu, ayrı, merkezileştirilmiş kayıt dosyasına ihtiyaç duyar ve tel gecikmesini azaltır.

Özel Hızlandırıcı Mimarlıklarda Kayıtlar

GPUs (NVIDIA, AMD)

GPU'lar, büyük kayıt dosyalarına güvenen çok paralel hızlandırıcılar, sıfır maliyetli bir konuya izin veren binlerce kayıt dosyası içeriyor: bir bellek girişine bir savaş ilanı dosyasında, 32 bit kayıt defterini kullanarak hemen başlayın. Bu kayıt boyutu doğrudan SM'ye ait en fazla sayıdaki ipleme planı arasından ayrılır ve böylece gecikmeli bir şekilde kayıt defteri kaydın kaydına kayıt yaptırmaya başlayabilir.

Tensor Processing Birimleri (Google Seiko)

Google'ın radyatörü farklı bir yaklaşım alır: iki seviyeli bir hiyerarşi kullanır. Büyük, 8MiB (veya daha büyük) SRAMpad, “sör tampon” mağazaları filtre ağırlıkları ve “systolic veri kurulumu” modülü, verileri sıfırpad ve yem satırları için her sistolik hücresine kadar kullanır - her bir diskoyu kullanarak kayıt için kayıt defteri kaydı - giriş değerleri için boru hatları kaydı ve özel bir cumulator kaydı için özel olarak optimize edilir.

RISC-V Vector (e.g., SiFive Intelligence, Esperanto)

RISC-V vektör uzatması (V) kayıt başına esnek, yazılım tanımlı vektör uzunluğu (VLEN) Uygulamalar, mimari vektör kayıtlarının fiziksel kayıt dosyalarına nasıl kayıt kayıtlarına nasıl kayıt yaptırdıkları konusunda değişir.Bazılar kayıt dosyalarının tasarımını kullanarak, VLEN kayıt dosyalarının kaydedilmesi ve paketsiz veri türlerine destek vermelidirler (örneğin, tam anlamıyla, bflot işlemleri sırasında vektör operaları depolamak için önemlidir.

FPGA-Based Hızlandırıcılar

FPGA'lar yeniden yapılandırılabilir bir donanım sağlar ve kayıtlar temel bir kaynaktır.Her FPGA mantık bloğu (LUT) bir Flip-flop ( Kayıt Kayıt) ile eşlik eder. Bir FPGA'da uygulanan bir AI hızlandırıcısı, kayıt dosyası LUT sayılarına karşı kayıt numarasının optimizasyonu gerekir. çünkü kayıt bağlantı tekrar programlanabilir, ancak kayıt bağlantı tam hızlandırıcı tasarımına özelleştirilebilir.

Future Trends: Near-Memory and Processing-in-Memory

AI modelleri boyut ve karmaşıklıkta büyürken, 3D-stacked bellek (e.g., HBM) Bu tasarımlarda, kayıt benzeri depolamanın geçici olarak depolandığı, genellikle 3D-stacked bellek (e.g., HBM) parçası olarak ortaya çıkan küçük bir bellek tablosunun, veri toplama elemanlarının bulunduğu küçük bir dizi tarafından değiştirilmesi mümkündür.

Başka bir eğilim, kayıt altına alınan hafıza sıkıca çift hızlandırıcılarda [FONT veya host işlemcisi, bir bellekten alınan bölge olarak kayıt dosyasını okuyabiliyor ve yazabiliyor, hızlı iletişimin kesintiye uğramadan izin veriyor.Bu programda sık sık sık sık ankete alınması gereken kontrol ve durum kayıtları önemlidir.

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

Kayıtlar, AI donanım hızlandırıcılarının temel bir bina bloğudur. Her MAC hücresindeki büyük vektör kayıtlarına kayıt dosyaları sağlarlar, her kayıt biraz hız, alan ve güç arasında bir mühendislik ticaretini temsil eder. AI iş yükleri, bilgisayar ağlarının gerektirdiği performansa ulaşmak için gerekli olan esnek kontroller. kayıt dosyası tasarımından - her MAC hücresinde yükselen bellek teknolojileri ile entegrasyon gibi - bir sonraki yüksek performanslı enerji üretimi ile ilgili olarak, yüksek performanslı yükleri sağlamada kritik bir şekilde kalır.

Daha derin bir teknik anlayış arayan okuyucular için, aşağıdaki dış kaynaklar ek bağlam sağlar:

  • [0]Wikipedia: Süreç veya kayıt).
  • [0]Wikipedia: Donanım Hızı).
  • [0]Wikipedia: AI hızlandırıcı).
  • [FONT=0)Wikipedia: Systolic serisi).