Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Reformer

Uzun diziler için verimli bir Transformer varyantı olan Reformer mimarisini keşfedin. LSH dikkat ve RevNets'in AI araştırmaları için belleği nasıl optimize ettiğini öğrenin.

Reformer, standart modeller için hesaplama açısından imkansız olan çok uzun veri dizilerini işlemek üzere tasarlanmış Transformer mimarisinin verimli bir varyasyonudur. Reformer, geleneksel derin öğrenme sistemlerinde Geleneksel derin öğrenme sistemlerinde mevcuttur. Reformer, dikkat mekanizmasının karmaşıklığını ikinci dereceden terimlerden doğrusal-logaritmik terimlere indirger. Bu yenilik, yapay zeka araştırmacılarının tek bir GPU üzerinde on binlerce token'ı kapsayan bağlam pencereleri (örneğin, kitaplar, yüksek çözünürlüklü görüntüler veya uzun müzik besteleri) üzerinde modelleri eğitimlerine olanak tanır. GPU.

Reformcunun Temel Yenilikleri

Reformer, BERTveya orijinal GPT serisi gibi modellerden ayıran iki temel mimari değişiklik sayesinde verimliliğini elde eder. Bu teknikler, model eğitimi sırasında aktivasyonları depolamak için gereken geniş bellek ihtiyacını giderir. Model eğitimi sırasında aktivasyonları depolamak için gereken geniş bellek ihtiyacını giderir.

  • Yerel Duyarlı Karma (LSH) Dikkat: Standart bir Transformer'da, bir dizideki her öğe diğer tüm öğelere dikkat eder ve bu da büyük bir hesaplama yükü oluşturur. Reformer, benzer vektörleri bir araya getirmek için Yerel Duyarlı Karma kullanır. Tüm çiftler için dikkat puanlarını hesaplamak yerine, model yalnızca en yakın komşuların küçük bir alt kümesi için hesaplama yapar ve bu da çıkarım motorunu önemli ölçüde hızlandırır.
  • Tersine Çevrilebilir Kalıntı Katmanlar (RevNets): Geleneksel sinir ağları, geri yayılım sırasında gradyanları hesaplamak için her katmanın aktivasyonlarını depolamak zorundadır. Reformer, tersine çevrilebilir sinir ağlarını kullanır; bu sayede, geri geçiş sırasında bir katmanın girdisi, çıktısından yeniden hesaplanabilir. Bu teknik, ara aktivasyonları önbelleğe alma ihtiyacını ortadan kaldırarak, daha büyük parti boyutları için bellek boşaltır.

Reformer ve Standart Transformatör Karşılaştırması

Her iki mimari de kendi kendine dikkat mekanizmasına dayanmakla birlikte, makine öğrenimi ekosisteminde farklı amaçlara hizmet ederler.

  • Standart Dönüştürücü: Kısa ve orta uzunluktaki diziler için mükemmeldir. Ancak, bellek kullanımı dizi uzunluğu ($L$) ile kare olarak ($O(L^2)$) artar. Duygu analizi veya sohbet robotları gibi görevler backbone kullanılan birçok Büyük Dil Modelinin (LLM) backbone oluşturur.
  • Reformer: Aşırı uzunluklar için optimize edilmiştir ($O(L \log L)$). Bazı bağlamlarda, standart Transformer'ların işleyemediği girdileri işleyebilme yeteneği için az miktarda doğruluktan ödün verir. Örneğin, aşırı uzun zaman serisi analiz verilerini işleme veya piksel piksel görüntü oluşturma gibi.

Gerçek Dünya Uygulamaları

Reformer'ın geniş bağlam pencerelerini işleme yeteneği, verilerin kolayca parçalanamadığı alanlarda yeni olanaklar sunar .

  1. Genomik Analiz: DNA dizileri milyonlarca baz çiftinden oluşur. Reformer, bu uzun dizileri analiz ederek biyoinformatikte daha geniş bağlamı kaybetmeden kalıpları belirleyebilir ve protein yapısı tahminine yardımcı olabilir.
  2. Uzun Metin Oluşturma: Birkaç paragraf sonra tutarlılığını kaybedebilen standart metin oluşturma modellerinden farklı olarak, Reformer binlerce kelime boyunca tutarlılığı koruyabilir, bu da onu uzun yasal sözleşmelerin veya roman bölümlerinin özetlerini oluşturmak için uygun hale getirir.

Bilgisayar Görmesinde Verimlilik

Reformcular genellikle metinle ilişkilendirilirken, verimlilik ilkesi bilgisayar görüşünde çok önemlidir. Reformcu, Transformatörleri optimize ettiği gibi, YOLO26 gibi modern görüş modelleri de gerçek zamanlı çıkarım için Evrişimli Sinir Ağlarını (CNN) optimize eder. Donanım kaynaklarının sınırlı olduğu Ultralytics aracılığıyla modelleri uç cihazlara yerleştirirken bellek kısıtlamalarını anlamak çok önemlidir.

Aşağıdaki kod, PyTorch kullanarak bir modelin bellek ayak izini nasıl inceleyeceğinizi gösterir. PyTorchkullanarak bir modelin bellek ayak izini nasıl inceleyebileceğinizi gösterir. Bu kavram, Reformer gibi bellek verimli mimarilerin geliştirilmesinde merkezi bir öneme sahiptir.

import torch
import torch.nn as nn

# Define a simple Transformer layer (Standard, not Reformer optimized)
layer = nn.TransformerEncoderLayer(d_model=512, nhead=8)
model = nn.TransformerEncoder(layer, num_layers=6)

# Create a long sequence input (Sequence Length: 2000, Batch: 1, Features: 512)
# Standard Transformers struggle as this length increases.
input_data = torch.rand(2000, 1, 512)

# Check parameter count to understand model complexity
params = sum(p.numel() for p in model.parameters())
print(f"Model Parameters: {params:,}")

# Perform a forward pass
output = model(input_data)
print(f"Output shape: {output.shape}")

İlgili Kavramlar

  • Seyrek Dikkat: LSH dahil olmak üzere, modelin hesaplama gücünden tasarruf etmek için yalnızca belirli bir alt kümeye odaklandığı daha geniş bir teknik kategorisi.
  • Gradient Checkpointing: Model eğitimi sırasında hesaplama süresini bellek ile takas etmek için kullanılan tersine çevrilebilir katmanlara benzer bir teknik. model eğitimi.
  • Model Optimizasyonu: Reformer'daki gibi niceleme, budama ve mimari değişiklikleri içeren model verimliliğini artırmaya yönelik genel uygulama. .

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın