Expert Parallelism
Uzman paralelliğinin Uzman Karışımı modellerini GPU'lar arasında nasıl dağıttığını, yönlendirmeyi, iletişimi ve performansı dengelerken bellek taleplerini nasıl azalttığını öğren.
Uzman paralelliği, bir uzman karışımı modelindeki farklı uzmanları farklı GPU'lara veya hızlandırıcılara yerleştiren dağıtık bir bilişim tekniğidir. Her cihaz her uzmanı depolamak yerine her biri bir alt küme barındırır. Öğrenilmiş bir yönlendirici, her girdi token'ını seçilen uzmanlara göndererek çok büyük modellerin her girdi için her parametreyi etkinleştirmeden parametre kapasitesini artırmasını sağlar.
Teknik, sıradan yoğun sinir ağlarına değil, özellikle uzman karışımı mimarilerine uygulanır. Genellikle, uzman katmanları aksi takdirde tek bir cihazda çok fazla bellek tüketebilecek büyük dil modelleri ve görüntü-dil modelleri eğitilirken veya sunulurken kullanılır.
Uzman Paralelliği Nasıl Çalışır#
Bir MoE katmanı, tipik olarak ileri beslemeli sinir ağları olan birkaç uzman ağ ile bir yönlendirici içerir. Her token için yönlendirici skorlar üretir ve genellikle top-k yönlendirme olarak adlandırılan küçük bir uzman sayısı seçer.
Örneğin dört GPU arasında dağıtılmış sekiz uzmanlı bir katmanda her GPU iki uzman depolayabilir. İşleme daha sonra dört ana adımı izler:
- Yönlendirici, her token için uzmanları seçer.
- Token'lar, bu uzmanları barındıran cihazlara ulaşmaları için GPU'lar arasında takas edilir.
- Her uzman, kendisine atanan token'ları yerel olarak işler.
- Sonuçlar orijinal token konumlarına döner ve model üzerinden devam eder.
Bu takas genellikle NVIDIA NCCL collective operations documentation belgesinde açıklanan ortak bir işlem olan tümüyle-tümüyle iletişime dayanır. NVIDIA Megatron Bridge parallelism guide, uzman sayısının ve uzman-paralel boyutun her GPU'ya yerleştirilen uzman sayısını nasıl belirlediğini gösterir.
Uzman paralelliği, uzman ağırlıkları bölümlendiği için cihaz başına bellekten tasarruf sağlar. Ancak hesaplama veya iletişim maliyetlerini ortadan kaldırmaz: token'lar her MoE katmanında cihaz veya düğüm sınırlarını aşabilir.
Uzman Paralelliği ile İlgili Tekniklerin Karşılaştırması#
Uzman paralelliği, bir dağıtık eğitim biçimidir, ancak bir modeli diğer stratejilerden farklı şekilde böler:
- Veri paralelliği: Her cihaz tam bir model kopyası depolar ve farklı bir yığın işler. Gradyanlar, PyTorch distributed training overview kısmında açıklandığı gibi kopyalar arasında eşitlenir. Bu, eksiksiz model her cihazda sığdığında etkilidir.
- Tensor paralelliği: Bir katman içindeki bireysel ağırlık matrisleri ve matematiksel işlemler cihazlar arasında bölünür. Uzman paralelliği bunun yerine cihazlara eksiksiz uzmanlar atar.
- Boru hattı paralelliği: Ardışık katman grupları farklı cihazlarda çalışır ve mikro yığınlar boru hattı aşamaları olarak bunlar üzerinden akar.
- Bağlam paralelliği: Uzun girdi dizileri, aktivasyon belleği gereksinimlerini azaltmak için cihazlar arasında bölümlere ayrılır.
- Uzman tensor paralelliği: Uzmanlar cihazlar arasında dağıtılır ve her bireysel uzman da tensor parçalarına ayrılır. Bu hibrit yaklaşım daha büyük uzmanlara uyum sağlayabilir ancak ek iletişim getirir.
Bu yaklaşımlar birbirini tamamlar. Büyük MoE sistemleri model boyutuna ve donanım topolojisine göre uzman, veri, tensor, boru hattı ve bağlam paralelliğini birleştirebilir.
Gerçek Dünya Uygulamaları#
Büyük ölçekli çok dilli asistanlar: Bir MoE dil modeli, her token için yalnızca birkaçını etkinleştirirken birçok uzman ağ içerebilir. Uzman paralelliği bu ağları bir sunum kümesine dağıtarak sistemin her uzmanı her GPU'ya yüklemeden yüksek model kapasitesini korumasını sağlar. vLLM expert-parallel deployment ve TensorRT-LLM expert parallelism gibi üretim çalışma zamanları bu tür çıkarım düzenini destekler.
Çok modlu içerik analizi: Görüntü yamalarını ve metin token'larını işleyen büyük bir MoE modeli, girdileri birden çok hızlandırıcıya dağıtılmış seçilen uzmanlar aracılığıyla yönlendirebilir. Bu, cihaz başına uzman belleğini yönetilebilir tutarken belge anlama, görsel soru yanıtlama ve diğer çok modlu yapay zeka hizmetlerini destekleyebilir. Aynı ilke, çoğu kompakt gerçek zamanlı vizyon modeli bunu gerektirmese de seyrek büyük ölçekli vizyon transformatörlerine de uygulanabilir.
Avantajlar, Darboğazlar ve Pratik Rehberlik#
Uzman paralelliği üç ana avantaj sunar: GPU başına azaltılmış uzman ağırlığı belleği, daha büyük toplam kapasiteye sahip modeller için destek ve token başına yalnızca birkaç uzman etkinleştiğinde verimli seyrek hesaplama. Amazon SageMaker expert parallelism guide, uzman-paralel derecesinin bir küme genelindeki dağılımı nasıl kontrol ettiğini gösterir.
Temel zorluğu yük dengesizliğidir. Yönlendirici çok fazla token'ı bir uzmana gönderirse, o uzmanın GPU'su diğerleri beklerken geride kalır. Sonuçlar arasında daha düşük verimlilik, kararsız gecikme ve uzman kapasitesi sınırlı olduğunda olası token düşürme yer alır. Mühendisler uzman başına token'ları, yönlendirme dengelemesini, iletişim süresini, bellek kullanımını ve uçtan uca gecikmeyi izlemelidir. Yüksek bant genişliğine sahip ara bağlantılar ve iletişim-hesaplama örtüşmesi aktarım ek yükünü azaltabilir.
Ultralytics YOLO26 gibi yoğun bir model kullanılırken uzman paralelliği gereksizdir. Çoklu GPU Ultralytics YOLO training bunun yerine dağıtık veri paralelliği kullanır:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
# Two-GPU YOLO training uses data parallelism, not expert parallelism.
results = model.train(
data="coco8.yaml",
epochs=10,
imgsz=640,
device=[0, 1],
)Bu iş akışı YOLO26'yı iki GPU'da çoğaltır ve eğitim yığınlarını bunlar arasında böler; girdileri uzman ağlar arasında yönlendirmez. Ekipler ayrıca dağıtık altyapıyı manuel olarak yapılandırmadan vizyon veri kümelerini, eğitimi, metrikleri, dışa aktarmayı ve dağıtımı yönetmek için Ultralytics Platform cloud training kullanabilir.









