Akumulasi Gradien

Bagaimana model sebenarnya belajar, dari gradient descent dasar hingga Adam

Gradient accumulation mensimulasikan batch yang lebih besar ketika memori terbatas. Alih-alih melangkah setelah setiap micro-batch, Anda menjumlahkan gradien dari beberapa micro-batch, lalu mengambil satu langkah optimizer.

Effective batch size adalah ukuran micro-batch dikalikan jumlah langkah akumulasi. Ini memungkinkan GPU kecil berperilaku lebih seperti dilatih pada batch yang lebih besar.

Tong penampung air hujan menangkap idenya. Satu cangkir kecil tidak bisa menyirami seluruh kebun sekaligus, jadi Anda menuangkan beberapa cangkir ke dalam tong lalu menggunakan jumlah tong itu. Gradient accumulation mengumpulkan beberapa kontribusi gradien kecil sebelum satu update. Gambar di bawah secara harfiah adalah proses ini: setiap suku baru adalah satu cangkir, dan batang-batang yang naik adalah tong yang terisi menuju totalnya. Gradient accumulation adalah jumlah parsial (partial sum) dari gradien yang Anda cairkan sebagai satu langkah.

Di mana ini berlaku dalam MLGradient accumulation umum digunakan untuk large language model, gambar besar, dan memori GPU yang terbatas. Ini memungkinkan tim memilih effective batch size tanpa mengharuskan seluruh batch itu muat sekaligus.
▶ Akumulasi Gradien
← Penskalaan Batch SizeInisialisasi & Skala Sinyal →