Pengumpulan Kecerunan
Pengumpulan kecerunan membolehkan anda mensimulasikan saiz kelompok besar pada memori GPU terhad dengan menjumlahkan kecerunan pada beberapa kelompok kecil kecil sebelum mengemas kini pemberat.
Gambaran keseluruhan
It is the standard workaround for training big models when memory is the bottleneck.
Menyelam dalam
Biasanya langkah latihan memproses satu kelompok, mengira kecerunan, dan segera mengemas kini parameter. Dengan pengumpulan kecerunan, anda menjalankan beberapa hantaran ke hadapan dan ke belakang pada kelompok mikro yang lebih kecil, menambahkan kecerunannya bersama-sama dalam penimbal parameter dan hanya memanggil langkah pengoptimum (dan sifar kecerunan) selepas N kelompok mikro. Saiz kumpulan berkesan menjadi saiz kumpulan mikro dikali N, walaupun memori puncak hanya pernah memegang satu kumpulan mikro pengaktifan. Ini penting kerana banyak resipi latihan menganggap kumpulan besar untuk statistik yang stabil, dan kerana model seperti pengubah besar tidak boleh memuatkan kumpulan sasaran penuh pada satu peranti. Tangkapan: statistik penormalan kelompok dikira setiap kelompok mikro, jadi norma lapisan atau norma kumpulan berpasangan dengan lebih baik dengan pengumpulan, dan anda mesti menskalakan kerugian dengan betul untuk memastikan kadar pembelajaran berkesan betul.
Wawasan Teknikal
Oleh kerana kecerunan kerugian yang dijumlahkan adalah aditif, kecerunan terkumpul di atas N kelompok mikro secara matematik adalah bersamaan dengan satu kelompok besar, dengan syarat anda purata dengan betul. Pelaksanaan biasanya membahagikan setiap kehilangan kumpulan mikro dengan N sebelum ke belakang, jadi kecerunan terkumpul sama dengan min ke atas kumpulan berkesan penuh. Anda melangkau optimizer.step() dan zero_grad() sehingga kumpulan mikro Nth, berdagang masa pengiraan tambahan untuk mengurangkan memori puncak.
Kesan Strategik
Kos dan bajet
Keputusan seni bina memacu prestasi dan kos operasi selama bertahun-tahun.
Keputusan yang lebih jelas
Pendidikan teknikal membantu pasukan memilih timbunan yang betul, bukan hanya yang terbaharu.
Kawalan kualiti
Pilihan kejuruteraan yang lebih baik mengurangkan insiden kebolehpercayaan dalam pengeluaran.
Masa Depan Pengumpulan Kecerunan
Pengumpulan kecerunan akan kekal sebagai tuil lalai kerana saiz model mengatasi memori peranti tunggal. Ia semakin digabungkan dengan ketepatan campuran, titik semakan pengaktifan, serpihan ZeRO dan paralelisme saluran paip dalam rangka kerja seperti DeepSpeed dan FSDP. Jangkakan automasi yang lebih ketat di mana perpustakaan menala automatik langkah-langkah pengumpulan kepada belanjawan memori, dan kepentingan berterusan untuk memperhalusi model besar pada perkakasan sederhana, termasuk GPU pengguna yang membuka kunci latihan yang mungkin mustahil.
Pelaksanaan Dunia Sebenar
Perhalusi model bahasa besar pada GPU pengguna tunggal dengan mengumpul lebih 8 atau 16 kumpulan mikro untuk mencapai kumpulan berkesan ratusan.
Melatih model visi atau segmentasi resolusi tinggi yang mana sekumpulan 2 sesuai, tetapi resipi memerlukan kumpulan 32 yang berkesan.
Pelatih Wajah Berpeluk dan PyTorch Lightning mendedahkan tetapan gradient_accumulation_steps yang digunakan secara rutin dalam persediaan VRAM terhad.
Menghasilkan semula kumpulan besar kertas menghasilkan perkakasan yang lebih kecil dengan memadankan saiz kumpulan berkesan melalui pengumpulan.
Risiko & Pengawal
Mengoptimumkan satu penanda aras boleh menyembunyikan kelemahan sistem yang lebih luas.
Kos infrastruktur dan penyelenggaraan sering dipandang remeh.
Jurang keselamatan dan pemerhatian boleh berkembang apabila sistem menjadi lebih kompleks.
Hala Tuju Pelaksanaan
Tentukan sasaran kependaman, kualiti dan kos sebelum pelaksanaan.
Penanda aras di bawah beban realistik dan keadaan data.
Pemantauan instrumen untuk ralat, drift dan kesan pengguna.
Sediakan laluan balik dan tindak balas insiden sebelum penskalaan.
Teruskan Meneroka
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.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Panduan seterusnya
Kecerunan Lenyap dan Meletup
Soalan lazim
What is Gradient Accumulation?
Pengumpulan kecerunan membolehkan anda mensimulasikan saiz kelompok besar pada memori GPU terhad dengan menjumlahkan kecerunan pada beberapa kelompok kecil kecil sebelum mengemas kini pemberat. Ia adalah penyelesaian standard untuk melatih model besar apabila ingatan adalah halangan.
Apakah yang boleh anda lakukan oleh pengumpulan kecerunan?
Dengan menjumlahkan kecerunan pada beberapa kelompok mikro sebelum mengemas kini, anda meniru kumpulan besar tanpa menyimpan kesemuanya dalam ingatan sekaligus.
Semasa pengumpulan, bilakah anda memanggil langkah pengoptimum dan sifar kecerunan?
Anda mengumpul kecerunan merentas N kelompok mikro dan mengemas kini sekali sahaja pada penghujung kitaran.
Lapisan normalisasi yang manakah berpasangan dengan lebih bersih dengan pengumpulan kecerunan?
Norma kelompok mengira statistik setiap kelompok mikro, jadi norma lapisan atau kumpulan mengelakkan ketidakpadanan dengan kelompok mikro kecil.