Akumulasi Gradien
Akumulasi gradien memungkinkan Anda menyimulasikan ukuran batch besar pada memori GPU terbatas dengan menjumlahkan gradien pada beberapa mini-batch kecil sebelum memperbarui bobotnya.
Ikhtisar
It is the standard workaround for training big models when memory is the bottleneck.
Menyelam Lebih Dalam
Biasanya langkah pelatihan memproses satu batch, menghitung gradien, dan segera memperbarui parameter. Dengan akumulasi gradien, Anda menjalankan beberapa lintasan maju dan mundur pada kumpulan mikro yang lebih kecil, menambahkan gradiennya bersama-sama dalam buffer parameter, dan hanya memanggil langkah pengoptimal (dan menghilangkan gradien) setelah N kumpulan mikro. Ukuran batch efektif menjadi ukuran batch mikro dikalikan N, meskipun memori puncak hanya menampung satu batch mikro aktivasi. Hal ini penting karena banyak resep pelatihan mengasumsikan batch besar untuk statistik yang stabil, dan karena model seperti transformator besar tidak dapat memuat batch target penuh pada satu perangkat. Tangkapannya: statistik normalisasi batch dihitung per mikro-batch, jadi norma lapisan atau norma grup berpasangan lebih baik dengan akumulasi, dan Anda harus menskalakan kerugian dengan benar untuk menjaga kecepatan pemelajaran efektif tetap tepat.
Wawasan Teknis
Karena gradien kerugian yang dijumlahkan bersifat aditif, akumulasi gradien pada N mikro-batch secara matematis setara dengan satu batch besar, asalkan Anda menghitung rata-rata dengan benar. Implementasi biasanya membagi setiap kerugian mikro-batch dengan N sebelum mundur, sehingga gradien akumulasi sama dengan rata-rata seluruh batch efektif. Anda melewatkan optimizer.step() dan zero_grad() hingga mikro-batch ke-N, sehingga memperdagangkan waktu komputasi ekstra untuk mengurangi memori puncak.
Dampak Strategis
Cost and budget
Keputusan arsitektur mendorong kinerja dan biaya pengoperasian selama bertahun-tahun.
Clearer decisions
Pendidikan teknis membantu tim memilih tumpukan yang tepat, bukan hanya yang terbaru.
Quality control
Pilihan teknik yang lebih baik mengurangi insiden keandalan dalam produksi.
Masa Depan Akumulasi Gradien
Akumulasi gradien akan tetap menjadi tuas default karena ukuran model melebihi memori satu perangkat. Ini semakin dikombinasikan dengan presisi campuran, pos pemeriksaan aktivasi, sharding ZeRO, dan paralelisme saluran pipa dalam kerangka kerja seperti DeepSpeed dan FSDP. Harapkan otomatisasi yang lebih ketat di mana perpustakaan menyesuaikan langkah-langkah akumulasi secara otomatis sesuai anggaran memori, dan pentingnya penyempurnaan model besar pada perangkat keras sederhana, termasuk GPU konsumen yang akan membuka pelatihan yang sebelumnya tidak mungkin dilakukan.
Implementasi Dunia Nyata
Menyempurnakan model bahasa besar pada satu GPU konsumen dengan mengumpulkan lebih dari 8 atau 16 mikro-batch untuk mencapai ratusan batch efektif.
Melatih visi resolusi tinggi atau model segmentasi yang dapat menampung 2 batch, namun resepnya memerlukan 32 batch yang efektif.
Hugging Face Trainer dan PyTorch Lightning mengekspos pengaturan gradien_accumulation_steps yang digunakan secara rutin dalam pengaturan VRAM terbatas.
Mereproduksi hasil kumpulan besar makalah pada perangkat keras yang lebih kecil dengan mencocokkan ukuran kumpulan efektif melalui akumulasi.
Risiko & Pagar Pembatas
Mengoptimalkan satu tolok ukur dapat menyembunyikan kelemahan sistem yang lebih luas.
Biaya infrastruktur dan pemeliharaan sering kali diremehkan.
Kesenjangan keamanan dan kemampuan observasi dapat tumbuh seiring dengan semakin kompleksnya sistem.
Peta Jalan Implementasi
Tentukan target latensi, kualitas, dan biaya sebelum penerapan.
Tolok ukur dalam kondisi beban dan data yang realistis.
Pemantauan instrumen untuk kesalahan, penyimpangan, dan dampak pengguna.
Siapkan jalur rollback dan respons insiden sebelum melakukan penskalaan.
Terus Menjelajah
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
Next guide
Gradien yang Hilang dan Meledak
Pertanyaan yang sering diajukan
What is Gradient Accumulation?
Akumulasi gradien memungkinkan Anda menyimulasikan ukuran batch besar pada memori GPU terbatas dengan menjumlahkan gradien pada beberapa mini-batch kecil sebelum memperbarui bobotnya. Ini adalah solusi standar untuk melatih model besar ketika memori menjadi penghambatnya.
Apa yang terutama dapat dilakukan oleh akumulasi gradien?
Dengan menjumlahkan gradien pada beberapa kumpulan mikro sebelum memperbarui, Anda meniru kumpulan besar tanpa menyimpan semuanya di memori sekaligus.
Selama akumulasi, kapan Anda memanggil langkah pengoptimal dan menghilangkan gradien?
Anda mengumpulkan gradien di N kumpulan mikro dan memperbarui hanya sekali di akhir siklus.
Lapisan normalisasi mana yang lebih cocok dipadukan dengan akumulasi gradien?
Norma batch menghitung statistik per batch mikro, sehingga norma lapisan atau grup menghindari ketidakcocokan dengan batch mikro kecil.