Buckets:

hf-doc-build/doc / diffusers /v0.43.0 /tr /training /distributed_inference.md
mishig's picture
|
download
raw
2.99 kB

Dağıtık çıkarım

Dağıtık çıkarım, iş yükünü birden fazla GPU arasında paylaştırır. Daha büyük modellerin belleğe sığdırılması ve aynı anda daha fazla istek işlenmesi için faydalıdır.

Diffusers dört stratejiyi destekler. Her birinin kendi kılavuzu vardır ve bu sayfa size birini seçmede yardımcı olur.

Strateji seçimi

Her strateji farklı bir sorunu çözdüğü için, sizi sınırlayan kaynağa göre birini seçin.

Strateji Bölümler Azaltır Tek bir istem için gecikme En iyi olduğu durum
Veri paralelliği kopyalar arasında istemler hiçbir şey, çünkü her GPU tam bir kopya tutar değişmedi model zaten sığıyor ve birçok isteminiz var
device_map cihazlar arası bileşenler ağırlık belleği biraz daha kötü model sığmıyor ve bağlantı yavaş
Bağlam paralelliği giriş dizisi aktivasyon belleği düşük diziler uzun, yüksek çözünürlüklü görüntüler veya videolar gibi
Tensor paralelliği ağırlık matrisleri ağırlık belleği düşük bir bileşenin ağırlıkları sığmıyor ve bağlantı hızlı

Bazı pratik yönergeler:

  • Model zaten sığmıyorsa ve birçok isteminiz varsa veri paralelliğini kullanın. Bu yöntem, modele dokunmadan GPU sayısıyla birlikte verimliliği ölçekler ve tek istem gecikmesini etkilemez. Bunu Accelerate veya PyTorch Distributed ile yapılandırın.
  • Tek bir bileşenin ağırlıkları sığmıyorsa, hem belleği hem de gecikmeyi düşürdüğü için önce tensör paralelliğini deneyin. Tensör paralelliği her blok sınırında iletişim kurar, bu nedenle NVLink gibi hızlı bir bağlantıya ihtiyaç duyar. PCIe üzerinde, katman başına trafik, sağladığı hesaplama tasarrufundan daha ağır basabilir ve device_map daha iyi bir seçim haline gelir. device_map, bileşenlerin tek başına uygun olmasına rağmen toplu olarak çok büyük olduğu durumu da ele alır.
  • Eğer sorun ağırlıklar değilse, aktivasyonlarsa, bağlam paralelliğini kullanın. Bu, büyük görüntüler ve çok sayıda kare içeren videolar gibi uzun dizilerde işe yarar. Context parallelism kılavuzundaki kıyaslamalardan bir arka uç seçin.
  • Hem ağırlıklar hem de dizi çok büyükse, Diffusers aynı modele hem tensör hem de bağlam paralelliğini uygulayamaz. ParallelConfig, her iki yapılandırmayı da iletirseniz bir hata üretir ve enable_parallelism, zaten paralelleştirilmiş bir modelde ikinci kez çağrılamaz.

xDiT ve ParaAttention topluluk entegrasyonları, kendi bağlam paralelliği uygulamalarını sunar.

Xet Storage Details

Size:
2.99 kB
·
Xet hash:
8c5238cad59dd0dc37ccc04976f4d53e00fff957f7df0b6893fdc34f737dea4b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.