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

Uzmanlar Karışımı (MoE)

Uzman Karışımı (MoE) mimarisini keşfedin. Ağ geçitleri ve seyrek katmanların, yüksek performanslı yapay zeka ve bilgisayar görüşü için sinir ağlarını nasıl ölçeklendirdiğini öğrenin.

Uzman Karışımı (MoE), modellerin hesaplama maliyetinde orantılı bir artış olmadan büyük boyutlara ölçeklenmesini sağlayan, derin öğrenmede özel bir mimari tasarımdır. Her parametrenin her girdi için aktif olduğu standart yoğun sinir ağından (NN) farklı olarak, MoE modeli koşullu hesaplama adı verilen bir teknik kullanır. Bu yaklaşım, ağ bileşenlerinin küçük bir alt kümesini dinamik olarak etkinleştirir. Bu yaklaşım, giriş verilerinin belirli özelliklerine göre ağ bileşenlerinin yalnızca küçük bir alt kümesini ("uzmanlar" olarak adlandırılır) dinamik olarak etkinleştirir. Böylelikle MoE mimarileri, çok daha küçük sistemlerin çıkarım gecikmesi ve çalışma hızını korurken trilyonlarca parametreye sahip olabilen güçlü temel modellerin oluşturulmasını sağlar. .

MoE'nin Temel Mekanizmaları

Uzman Karışımı modelinin verimliliği, standart yoğun katmanların seyrek MoE katmanıyla değiştirilmesinden kaynaklanmaktadır. Bu katman, bilgileri verimli bir şekilde işlemek için birlikte çalışan iki ana unsurdan oluşur:

  • Uzmanlar: Bunlar bağımsız alt ağlardır ve genellikle basit ileri beslemeli sinir ağlarıdır (FFN). Her uzman, verilerin farklı yönlerini ele almada uzmanlaşmıştır. Doğal dil işleme (NLP) bağlamında, bir uzman grameri ele almada yetkin hale gelirken, bir diğeri gerçeklerin geri getirilmesi veya kod sözdizimi üzerine odaklanabilir.
  • Gating Ağı (Yönlendirici): Yönlendirici, veriler için trafik denetleyicisi görevi görür. Bir görüntü yaması veya metin belirteci gibi bir girdi katmana girdiğinde, yönlendirici bir softmax işlevi kullanarak bir olasılık puanı hesaplar. Ardından, bu girdiyi yalnızca en yüksek puanlara sahip "Top-K" uzmanlarına (genellikle bir veya iki) yönlendirir. Bu, modelin yalnızca en alakalı parametrelere enerji harcamasına olanak tanır.

Model Topluluklarından Ayırma

Her iki kavram da birden fazla alt modelin kullanılmasını içerse de, Uzman Karışımı ile model topluluğunu birbirinden ayırmak çok önemlidir. Geleneksel bir toplulukta, gruptaki her model aynı girdiyi işler ve sonuçları, doğruluğu en üst düzeye çıkarmak için ortalaması alınır veya oylanır. Bu yaklaşım, hesaplama maliyetini model sayısıyla doğrusal olarak artırır.

Tersine, MoE, farklı girdilerin farklı yollardan geçtiği tek ve birleşik bir modeldir. Seyrek MoE, herhangi bir belirli çıkarım adımı için toplam parametrelerin yalnızca bir kısmını çalıştırarak ölçeklenebilirlik ve verimlilik hedefler. Bu, yoğun kümelerle ilişkili yüksek maliyetler olmadan büyük miktarda eğitim verisi üzerinde eğitim yapılmasına olanak tanır.

Gerçek Dünya Uygulamaları

MoE mimarisi, özellikle çoklu görev yetenekleri ve geniş bilgi tutma gerektiren senaryolarda modern yüksek performanslı AI için bir mihenk taşı haline gelmiştir. .

  1. Çok Dilli Dil Modelleri: Mistral AI'nın Mixtral 8x7B gibi önde gelen modeller, çeşitli dil görevlerinde üstün performans göstermek için MoE'yi kullanır. Bu sistemler, belirli uzmanlara tokenleri yönlendirerek, tek bir model yapısı içinde çeviri, özetleme ve kodlama görevlerini gerçekleştirebilir ve benzer aktif parametre sayılarına sahip yoğun modellerden daha iyi performans gösterir.
  2. Ölçeklenebilir Bilgisayar Görme: Bilgisayar görme (CV) alanında, araştırmacılar MoE'yi kullanarak büyük görme omurgaları oluştururlar. Vision MoE (V-MoE) mimarisi, uzmanların farklı görsel özellikleri tanımada nasıl uzmanlaşabileceğini gösterir ve ImageNet gibi ImageNetgibi testlerde performansı etkili bir şekilde ölçeklendirebileceklerini göstermektedir. YOLO26 gibi yüksek düzeyde optimize edilmiş yoğun modeller, öngörülebilir bellek ayak izleri nedeniyle gerçek zamanlı kenar algılama için standart olmaya devam ederken, MoE araştırmaları sunucu tarafında görsel anlayışın sınırlarını zorlamaya devam etmektedir.

Yönlendirme Mantığı Örneği

Gating ağının uzmanları nasıl seçtiğini anlamak için, bu basitleştirilmiş PyTorch örneğini ele alalım. Bu örnek, belirli bir girdi için en uygun uzmanı seçen bir yönlendirme mekanizmasını göstermektedir.

import torch
import torch.nn as nn

# A simple router deciding between 4 experts for input dimension of 10
num_experts = 4
input_dim = 10
router = nn.Linear(input_dim, num_experts)

# Batch of 2 inputs
input_data = torch.randn(2, input_dim)

# Calculate scores and select the top-1 expert for each input
logits = router(input_data)
probs = torch.softmax(logits, dim=-1)
weights, indices = torch.topk(probs, k=1, dim=-1)

print(f"Selected Expert Indices: {indices.flatten().tolist()}")

Eğitim ve Dağıtımda Karşılaşılan Zorluklar

Avantajlarına rağmen, MoE modelleri eğitim sürecine benzersiz zorluklar getirir. Birincil sorun yük dengelemesidir; yönlendirici, diğerlerini göz ardı ederek birkaç "popüler" uzmanı tercih edebilir ve bu da kapasite israfına yol açabilir. Bunu azaltmak için araştırmacılar, tüm uzmanların eşit kullanımını teşvik etmek için yardımcı kayıp fonksiyonları kullanır. .

Ayrıca, bu devasa modellerin kullanılması için gelişmiş donanım kurulumları gerekir. Toplam parametre sayısı yüksek olduğundan (aktif parametreler düşük olsa bile), model genellikle önemli miktarda VRAM gerektirir ve bu da birden fazla GPU'da dağıtılmış eğitim gerektirir. Microsoft gibi çerçeveler, bu sistemleri verimli bir şekilde eğitmek için gereken paralelliği yönetmeye yardımcı olur. Bu kadar karmaşık mimariler için veri kümelerini ve eğitim iş akışlarını yönetmek amacıyla Ultralytics gibi araçlar, günlük kaydı, görselleştirme ve dağıtım için gerekli altyapıyı sağlar.

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