Teknik KILAVUZ

Gradyan Kontrol Noktalaması

Gradyan kontrol noktası oluşturma (aktivasyon kontrol noktası olarak da bilinir), ileri geçiş sırasında ara aktivasyonların çoğunu ortadan kaldıran ve geri yayılım sırasında bunları anında yeniden hesaplayan, hafıza tasarrufu sağlayan bir hiledir.

2 min readSon güncelleme

Genel Bakış

It lets you train deeper, larger networks by trading extra compute for much lower memory use.

Derin Dalış

Eğitim sinir ağları normalde ileri geçiş sırasında her katmanın aktivasyonlarını saklar çünkü geri yayılmanın gradyanları hesaplaması gerekir. Derin modeller için bu aktivasyonlar hafızaya hakimdir. Gradyan kontrol noktası oluşturma bunun yerine yalnızca seyrek bir "kontrol noktası" katman kümesindeki etkinleştirmeleri kaydeder ve geri kalanını atar. Backprop, aktivasyonları bırakılan bir bölgeye ulaştığında, ihtiyaç duyduğu şeyi yeniden oluşturmak için yalnızca o segment için ileri hesaplamayı yeniden çalıştırır ve ardından ilerlemeye devam eder. Yaklaşık olarak N'nin karekökü katmanlarının her birine kontrol noktaları yerleştirildiğinden, aktivasyonlara ilişkin bellek N'den N'nin karekökü'ne düşerken hesaplama yalnızca yaklaşık bir ekstra ileri geçiş kadar artar (yaklaşık %20-30 daha yavaş). Bu, aynı GPU'ya daha büyük parti boyutlarının veya daha derin transformatörlerin sığmasını mümkün kılar.

Teknik Bilgi

Teknik, zamana karşı hafıza arasındaki dengeyi kullanıyor. Tüm aktivasyonların saklanması hızlıdır ancak hafızaya ihtiyaç duyar; hafızanın tükenmesi maliyetine kıyasla modern hızlandırıcılarda bunları yeniden hesaplamak ucuzdur. PyTorch (torch.utils.checkpoint) gibi çerçeveler, bir modülü sararak ileri çıktının kaydedilmesini sağlar ancak geriye doğru sırasında dahili çıktıların yeniden hesaplanmasını sağlar. Denetim noktası yerleşimini seçmek önemlidir: kabaca sqrt(N) segmentlerin eşit aralıklarla yerleştirilmesi, toplam belleği en aza indirirken genel olarak yalnızca tek bir ekstra ileri bilgi işlem geçişi ekler.

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 Kontrol Noktalamanın Geleceği

Kademeli kontrol noktası oluşturma artık büyük model eğitiminde standarttır ve kütüphanelerin sizin için en uygun kontrol noktası konumlarını seçmesiyle giderek daha fazla otomatik hale gelmektedir. Model boyutlarını daha yükseğe taşımak için FSDP, karma hassasiyet ve boşaltma ile doğal olarak eşleşir. Pahalı olanları (dikkat matrisleri gibi) önbellekte tutarken yalnızca ucuz işlemleri yeniden hesaplayan 'seçici' kontrol noktasının yanı sıra, en iyi hız-bellek dengesi için yeniden hesaplamaya karşı neyin kaydedileceğine otomatik olarak karar veren PyTorch'un torch.compile gibi araçlardaki derleyici odaklı yaklaşımları bekleyin.

Gerçek Dünya Uygulaması

Katman aktivasyonlarını atıp yeniden hesaplayarak tek bir GPU üzerinde daha büyük toplu iş boyutuna sahip derin bir transformatörü eğitme.

Etkinleştirme haritalarının aksi takdirde GPU belleğini aşacağı yüksek çözünürlüklü görüntüler üzerinde görüş modellerinde ince ayar yapılması.

İnce ayar sırasında milyarlarca parametreli modellere uyacak şekilde Gradient_checkpointing=True'u etkinleştiren Sarılma Yüz Transformatörleri.

Kontrol noktası oluşturmayı FSDP ile birleştirerek hem parametrelerin hem de aktivasyonların küçük tutulması, çok büyük dil modellerinin eğitilmesine olanak sağlar.

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 Checkpointing 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

Gradyan Birikimi

Sık sorulan sorular

What is Gradient Checkpointing?

Gradyan kontrol noktası oluşturma (aktivasyon kontrol noktası olarak da bilinir), ileri geçiş sırasında ara aktivasyonların çoğunu ortadan kaldıran ve geri yayılım sırasında bunları anında yeniden hesaplayan, hafıza tasarrufu sağlayan bir hiledir. Çok daha düşük bellek kullanımı için ekstra bilgi işlem yaparak daha derin ve daha büyük ağları eğitmenize olanak tanır.

Bellekten tasarruf etmek için degrade kontrol noktasının öncelikli olarak ticareti nedir?

Kademeli kontrol noktası oluşturma, geri geçiş sırasında atılan aktivasyonları yeniden hesaplar ve önemli ölçüde azaltılmış bellek karşılığında fazladan hesaplama harcar.

Aktivasyonlar neden normalde ileri geçiş sırasında saklanıyor?

Backprop, gradyanları ileri geçişteki ara aktivasyonları kullanarak hesaplar, dolayısıyla yeniden hesaplanmadıkları sürece mevcut olmaları gerekir.

N katmanlı bir ağdaki her sqrt(N) katmana kontrol noktaları yerleştirilirse etkinleştirme belleği kabaca nasıl ölçeklenir?

Her N katmanının karekökü etrafındaki kontrol noktalarının aralığı, depolanan etkinleştirme belleğini N düzeyinden sqrt(N) düzeyine azaltır.

İyi yerleştirilmiş degrade denetim noktası genellikle yaklaşık olarak ne kadar ekstra işlem ekler?

İyi bir kontrol noktası yerleşimi ile, ek yük kabaca tek bir ek ileri geçişe denk gelir ve genellikle %20-30 civarında bir yavaşlama olur.

PyTorch'ta, bir modüle degrade kontrol noktası uygulamak için yaygın olarak hangi yardımcı program kullanılır?

torch.utils.checkpoint bir modülü sararak dahili aktivasyonlarının saklanmak yerine geriye doğru yeniden hesaplanmasını sağlar.