Teknik KILAVUZ

Gradyan Birikimi

Gradyan birikimi, ağırlıkları güncellemeden önce birkaç küçük mini gruptaki degradeleri toplayarak sınırlı GPU belleğinde büyük bir parti boyutunu simüle etmenize olanak tanır.

2 min readSon güncelleme

Genel Bakış

It is the standard workaround for training big models when memory is the bottleneck.

Derin Dalış

Normalde bir eğitim adımı bir grubu işler, gradyanları hesaplar ve parametreleri anında günceller. Gradyan birikimiyle, daha küçük mikro gruplar üzerinde birkaç ileri ve geri geçiş çalıştırırsınız, bunların degradelerini parametre arabelleklerinde bir araya getirirsiniz ve optimize edici adımını yalnızca N mikro gruptan sonra çağırırsınız (ve degradeleri sıfırlarsınız). Etkin toplu iş boyutu, en yüksek bellekte yalnızca bir mikro toplu aktivasyon bulundurmasına rağmen, mikro toplu boyut çarpı N olur. Bu önemlidir çünkü birçok eğitim tarifi istikrarlı istatistikler için büyük partiler varsayar ve büyük transformatörler gibi modeller tek bir cihaza tam bir hedef partiyi sığdıramaz. İşin püf noktası: toplu normalleştirme istatistikleri, mikro grup başına hesaplanır, bu nedenle katman normu veya grup normu birikimle daha iyi eşleşir ve etkili öğrenme oranını doğru tutmak için kaybı doğru şekilde ölçeklendirmeniz gerekir.

Teknik Bilgi

Toplanan kaybın gradyanları toplamsal olduğundan, N mikro-partiler üzerindeki gradyanların toplanması, düzgün bir şekilde ortalama almanız koşuluyla, matematiksel olarak büyük bir partiye eşdeğerdir. Uygulamalar tipik olarak her bir mikro parti kaybını geriye doğru öncesinde N'ye böler, böylece birikmiş eğim tam etkili parti üzerindeki ortalamaya eşit olur. Optimizer.step() ve Zero_grad()'ı N'inci mikro toplu işleme kadar atlarsınız ve daha düşük maksimum bellek için ekstra hesaplama süresinden vazgeçersiniz.

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.

Gradyan Birikiminin Geleceği

Model boyutları tek cihaz belleğini geride bıraktığından, gradyan birikimi varsayılan bir kaldıraç olarak kalacaktır. DeepSpeed ​​ve FSDP gibi çerçevelerde karma hassasiyet, etkinleştirme kontrol noktası oluşturma, Sıfır Parçalama ve ardışık düzen paralelliği ile giderek daha fazla birleşiyor. Kütüphanelerin birikim adımlarını bir bellek bütçesine göre otomatik olarak ayarladığı ve aksi takdirde imkansız olacak eğitimin kilidini açtığı tüketici GPU'ları da dahil olmak üzere mütevazı donanımlarda büyük modellerin ince ayarının öneminin devam ettiği daha sıkı bir otomasyon bekleyin.

Gerçek Dünya Uygulaması

Yüzlerce mikro topluluğa ulaşmak için 8 veya 16'dan fazla mikro grup toplayarak tek bir tüketici GPU'sunda büyük bir dil modeline ince ayar yapma.

2'lik bir grubun bile sığabileceği, ancak tarifin etkili bir 32'lik gruba ihtiyaç duyduğu yüksek çözünürlüklü görüş veya segmentasyon modellerinin eğitimi.

Hugging Face Trainer ve PyTorch Lightning, sınırlı VRAM kurulumlarında rutin olarak kullanılan bir gradyan_accumulation_steps ayarını ortaya çıkarır.

Etkin parti boyutunu birikim yoluyla eşleştirerek, bir kağıdın büyük parti sonuçlarını daha küçük donanımda yeniden üretmek.

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ı

1

Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.

2

Gerçekçi yük ve veri koşulları altında kıyaslama yapın.

3

Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.

4

Ö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 Gradient Accumulation quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Testi başlat

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Next guide

Kaybolan ve Patlayan Degradeler

Sık sorulan sorular

What is Gradient Accumulation?

Gradyan birikimi, ağırlıkları güncellemeden önce birkaç küçük mini gruptaki degradeleri toplayarak sınırlı GPU belleğinde büyük bir parti boyutunu simüle etmenize olanak tanır. Bellekte darboğaz olduğunda büyük modelleri eğitmek için standart geçici çözümdür.

Gradyan birikimi öncelikli olarak ne yapmanızı sağlar?

Güncellemeden önce birkaç mikro gruptaki degradeleri toplayarak, hepsini aynı anda hafızada tutmadan büyük bir grubu taklit edersiniz.

Biriktirme sırasında, optimize edicinin adımını ne zaman çağırırsınız ve degradeleri sıfırlarsınız?

N mikro gruptaki degradeleri biriktirirsiniz ve döngünün sonunda yalnızca bir kez güncellersiniz.

Hangi normalleştirme katmanı gradyan birikimiyle daha temiz bir şekilde eşleşir?

Parti normu, mikro parti başına istatistikleri hesaplar, böylece katman veya grup normu, küçük mikro partilerle uyumsuzluğu önler.