Tamamen Parçalanmış Veri Paralel
Tamamen Parçalanmış Veri Paralel (FSDP), bir modelin parametrelerini, degradelerini ve optimize edici durumlarını birçok GPU'ya bölerek her cihazın yalnızca bir dilim tutmasını sağlayan dağıtılmış bir eğitim tekniğidir.
Genel Bakış
It makes training huge models possible on hardware that could never fit the whole model in one GPU's memory.
Derin Dalış
Geleneksel veri paralelliği, modelin tam bir kopyasını her GPU'da tutar; bu da belleğin boşa harcanmasına ve model boyutunun sınırlanmasına neden olur. Meta'nin PyTorch'u tarafından popüler hale getirilen ve Microsoft'nin ZeRO'sundan ilham alan FSDP, bunun yerine üç şeyi cihazlar arasında parçalara ayırır: parametreler, degradeler ve optimize edici durumlar. İleri geçiş sırasında, her GPU geçici olarak bir all-gather aracılığıyla hesapladığı katmanın tüm ağırlıklarını toplar, hesaplamayı çalıştırır ve ardından toplanan kopyayı hemen serbest bırakır. Geri geçiş de benzer şekilde çalışır ve bunu, degrade dilimleri kendi GPU'larına geri dağıtan bir saçılma azaltma takip eder. Her cihaz modelin yalnızca bir kısmını kalıcı olarak sakladığından, bellek kullanımı GPU sayısıyla kabaca doğrusal olarak düşer ve ekiplerin modelleri onlarca veya yüz milyarlarca parametreyle eğitmesine olanak tanır.
Teknik Bilgi
FSDP, bellek tasarrufu için ekstra iletişim sağlar. Her katmanın ağırlıkları, kullanımdan hemen önce bir araya getirilerek talep üzerine yeniden oluşturulur ve hemen sonra atılır; degradeler ise azalt-saçılım ile birleştirilir ve bölünür. İletişim, geçerli katman çalışırken bir sonraki katmanın parametrelerini önceden getirerek, ağ gecikmesinin çoğunu gizleyerek hesaplama ile örtüşebilir. Parçalama ayrıntı düzeyinin ayarlanması (sarmalama ilkesi), bellek ayak izini iletişim yüküne karşı dengeler.
Stratejik Etki
Maliyet ve bütçe
Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler.
Daha net kararlar
Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur.
Quality control
Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır.
Tamamen Parçalanmış Verilerin Geleceği Paralel
PyTorch'taki FSDP2'nin kullanılabilirliği ve parametre başına parçalamayı iyileştirmesiyle FSDP, açık büyük model eğitimi için varsayılan haline geliyor. Trilyon parametreli modeller için tensör ve ardışık düzen paralelliğiyle daha sıkı entegrasyon, karma hassasiyet ve FP8 için daha iyi destek ve parçalama sınırlarını sizin için seçen daha akıllı otomatik sarmalama bekleyebilirsiniz. NVLink ve InfiniBand gibi GPU ara bağlantıları hızlandıkça, parçalamanın iletişim maliyeti de azalmaya devam ediyor ve bu da onu daha büyük ölçeklerde pratik hale getiriyor.
Gerçek Dünya Uygulaması
Tek tek tüm ağırlıkları taşıyamayan 8 GPU'da 70 milyar parametreli bir Llama modeline ince ayar yapılması.
Yüzlerce hızlandırıcı arasında (Adam'ın belleğine hakim olan) optimizasyon durumlarını bölerek büyük dil modellerini yapay zeka laboratuvarlarında önceden eğitmek.
Araştırmacılar, amiral gemisi 80 GB GPU'ları satın almadan bir üniversite kümesindeki görüntü transformatörlerini eğitmek için PyTorch'un FSDP sarmalayıcısını kullanıyor.
Multimodal modellerde belleği kabaca yarıya indirmek ve eğitim verimini hızlandırmak için FSDP'yi karma duyarlıklı bfloat16 ile birleştirmek.
Riskler ve Korkuluklar
Bir kıyaslamayı optimize etmek daha geniş sistem zayıflıklarını gizleyebilir.
Altyapı ve bakım maliyetleri genellikle hafife alınır.
Sistemler karmaşıklaştıkça güvenlik ve gözlemlenebilirlik boşlukları büyüyebilir.
Uygulama Yol Haritası
Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.
Gerçekçi yük ve veri koşulları altında kıyaslama yapın.
Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.
Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın.
Keşfetmeye Devam Edin
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Fully Sharded Data Parallel quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
Veri Paralelliği
Sık sorulan sorular
What is Fully Sharded Data Parallel?
Tamamen Parçalanmış Veri Paralel (FSDP), bir modelin parametrelerini, degradelerini ve optimize edici durumlarını birçok GPU'ya bölerek her cihazın yalnızca bir dilim tutmasını sağlayan dağıtılmış bir eğitim tekniğidir. Tüm modeli tek bir GPU'nun belleğine sığdıramayacak kadar büyük modellerin donanım üzerinde eğitilmesini mümkün kılar.
FSDP, GPU'lar arasında standart veri paralelliğinin OLMADIĞI neyi parçalıyor?
FSDP, modelin parametrelerini, degradelerini ve optimize edici durumlarını cihazlar arasında parçalara ayırırken standart veri paralelliği, tam modeli her GPU'da kopyalar.
FSDP, bir katmanın tam ağırlıklarını hesaplamadan hemen önce yeniden oluşturmak için hangi toplu işlemi kullanır?
Bir katman çalıştırılmadan önce FSDP, tüm parçaların tüm parametrelerini geçici olarak bir araya getirmek için bir tümünü toplama işlemi gerçekleştirir ve daha sonra bunları serbest bırakır.
FSDP neden bir katmanın hesaplanmasından hemen sonra toplanan tüm ağırlıkları serbest bırakıyor?
Yalnızca bir parçayı kalıcı olarak tutmak ve tüm ağırlıkları geçici olarak toplamak, bellek kullanımını düşük ve kabaca modelin bir kısmıyla orantılı tutan şeydir.
FSDP büyük ölçüde daha önceki hangi bellek optimizasyon yaklaşımından ilham almıştır?
FSDP'nin parametreleri, degradeleri ve optimize edici durumlarını parçalaması, DeepSpeed kitaplığından Microsoft'nin Sıfır'ında sunulan fikirleri yakından takip ediyor.
FSDP, ağ gecikmesinin çoğunu ağırlık toplamaktan nasıl gizler?
FSDP, geçerli katman hala hesaplama yaparken sonraki katmanın parametrelerini önceden getirir ve tüm toplama iletişimini faydalı çalışmayla örtüştürür.