Memperbesar batch training mengurangi variasi pada gradien minibatch, tetapi pengurangan tersebut tidak terus menghasilkan progres yang sebanding. Setelah batch cukup besar sehingga estimasi gradiennya sudah didominasi oleh sinyal gradien yang mendasarinya, memproses lebih banyak contoh sebelum parameter update berikutnya memberikan diminishing return secara algoritmik.
Gradient noise scale membuat transisi ini dapat diukur. Besaran ini membandingkan variasi stokastik pada gradien per-example dengan besar mean gradient. Nilainya bukan pengaturan batch size universal, dan estimator tepatnya bergantung pada asumsi sampling serta agregasi gradien. Gradient noise scale berguna sebagai diagnostik untuk mengetahui seberapa banyak tambahan batch parallelism yang dapat diserap oleh state optimisasi saat ini.
Gradien minibatch mengandung sinyal dan sampling noise
Misalkan g_i adalah kontribusi gradien dari satu sampled example dan g adalah population mean gradient pada nilai parameter saat ini. Minibatch berukuran B membentuk estimasi:
g_B = (1 / B) * sum(g_i)Dengan independent sampling dan covariance yang finite, merata-ratakan lebih banyak example mengurangi covariance estimasi ini dengan faktor B. Mean tetap g, sementara komponen stokastik mengecil saat batch membesar.
Perbedaan ini lebih penting daripada raw gradient norm saja. Norm yang besar dapat berasal dari arah bersama yang kuat antar-example, perbedaan besar antar-example, atau keduanya. Batch scaling berkaitan dengan komponen perbedaan tersebut karena averaging dapat menekannya.
Perbandingan konseptual signal-to-noise dapat ditulis sebagai:
signal = ||g||²
noise = trace(Cov[g_i])
noise scale = noise / signalKonvensi berbeda antar-analisis, sehingga implementasi harus menyatakan norm, ringkasan covariance, loss reduction, dan sampling unit yang digunakan. Rasio di atas menangkap gagasan utamanya: noise scale meningkat ketika variasi stokastik besar dibanding squared mean-gradient magnitude.
Batch yang lebih besar mengurangi noise tanpa menciptakan lebih banyak sinyal
Bayangkan dua minibatch independen menghasilkan arah gradien yang cukup berbeda. Menggabungkannya menghasilkan gradien yang lebih dekat ke rata-ratanya, sehingga batch lebih besar dapat membuat estimasi update kurang bervariasi.
Sekarang bayangkan minibatch yang sudah menghasilkan gradien hampir identik. Menggabungkan lebih banyak minibatch tetap mengurangi variance estimator, tetapi arah yang dihasilkan hanya berubah sedikit. Example tambahan mengonsumsi komputasi tanpa memberikan pengurangan yang sama besar pada jumlah parameter update yang diperlukan.
Inilah sumber batas praktis bagi data parallelism. Di bawah wilayah tersebut, peningkatan batch size sering dapat menukar pemrosesan example secara paralel dengan lebih sedikit update yang noisy. Jauh di atasnya, setiap update mengonsumsi jauh lebih banyak example sementara manfaat pengurangan jumlah update semakin menurun.
Batas ini tidak tetap untuk suatu arsitektur model. Statistik gradien berubah bersama parameter, distribusi data, objective, dan fase training. Batch size yang berada di bawah noisy regime pada satu titik dapat berada di atasnya pada titik lain, atau sebaliknya.
Estimasi membutuhkan gradien pada state parameter yang sama
Pengukuran noise sulit ditafsirkan jika gradien yang dibandingkan berasal dari nilai parameter berbeda. Optimizer update mengubah titik tempat objective didiferensiasikan, sehingga variasi antar-training step mencampurkan sampling noise dengan pergerakan melalui parameter space.
Estimasi yang lebih bersih mengevaluasi beberapa minibatch independen sambil mempertahankan parameter model tetap. Mean-nya mengaproksimasi sinyal gradien bersama, sedangkan dispersinya mengestimasi variasi stokastik pada titik yang sama.
Hal ini tidak mengharuskan penyimpanan setiap per-example gradient jika estimator dirancang menggunakan statistik minibatch. Dua atau lebih batch size juga dapat dibandingkan untuk memisahkan komponen yang menyusut dengan 1 / B dari komponen yang terkait dengan mean gradient. Estimator harus memperhitungkan apakah gradien berupa sum atau mean; mengubah reduction tersebut mengubah skala sekaligus interpretasinya.
Random augmentation menambahkan sumber sampling lain. Jika augmentation merupakan bagian dari training objective, randomness-nya secara sah berkontribusi pada gradient variance. Jika tujuannya mengisolasi variance akibat pemilihan example, randomness augmentation harus dikontrol selama pengukuran.
Distributed reduction dapat menyembunyikan effective batch
Dalam synchronous data parallelism, setiap worker menghitung gradien lokal dan worker melakukan reduction terhadap gradien tersebut sebelum optimizer update. Jika masing-masing dari W worker memproses B_local example independen, jumlah example efektif untuk full reduction sederhana adalah:
B_effective = W * B_localGradient accumulation dapat mengalikan jumlah tersebut lagi ketika beberapa microbatch berkontribusi sebelum update. Karena itu, perbandingan noise scale hanya terhadap local batch dapat menggambarkan operating point yang salah.
Semantik reduction juga penting. Menjumlahkan gradien worker dan merata-ratakannya berbeda dengan faktor konstan. Faktor tersebut tidak mengubah arah, tetapi estimator berbasis gradient norm dan variance harus menggunakan konvensi yang konsisten pada semua pengukuran.
Sample yang berkorelasi melemahkan model independent-sampling sederhana. Sequence packing, grouped example, record berulang, atau skema sampling yang menempatkan item terkait bersama-sama dapat membuat pengurangan variance berbeda dari relasi ideal 1 / B. Dalam kondisi ini, jumlah example nominal melebih-lebihkan jumlah observasi gradien yang independen.
Noise scale bukan jaminan optimizer
Noise scale yang terukur tidak membuktikan bahwa batch lebih besar tertentu akan mempertahankan kualitas model akhir. Optimizer state, step size, schedule, regularization, clipping, normalization layer, dan training budget yang finite semuanya dapat mengubah hasil.
Pengukuran ini menjawab pertanyaan yang lebih sempit: seberapa besar variasi gradien stokastik dibanding mean gradient pada state parameter tetap. Mengubah statistik tersebut menjadi keputusan batch size membutuhkan model optimisasi dan objective eksplisit, seperti mengurangi wall-clock time dengan data parallelism yang tersedia atau mengurangi jumlah example yang diproses untuk mencapai target loss.
Batas ini juga memisahkan gradient noise dari hardware throughput. Sebuah batch dapat berguna secara algoritmik tetapi terlalu kecil untuk menyaturasi accelerator. Batch lain dapat meningkatkan utilisasi device meskipun sudah berada pada regime diminishing return optimisasi. Throughput dan statistik gradien menggambarkan constraint berbeda dan sebaiknya diukur terpisah.
Pantau statistik sepanjang training, bukan hanya sekali
Geometri gradien berubah saat parameter bergerak. Di dekat wilayah ketika mean gradient mengecil, rasio variance terhadap squared signal dapat meningkat walaupun absolute variance tidak bertambah. Satu pengukuran di dekat initialization tidak dapat mewakili semua state berikutnya.
Pengukuran periodik menghasilkan trajectory, bukan label tetap untuk run. Trajectory tersebut dapat mendukung adaptive batch policy, tetapi perubahan batch size juga mengubah update cadence. Schedule yang dinyatakan dalam optimizer step, example, atau token kemudian membutuhkan accounting yang konsisten.
Interval pengukuran sebaiknya tetap moderat. Mengestimasi statistik gradien membutuhkan forward dan backward computation tambahan, dan estimator yang noisy tidak otomatis menjadi lebih berguna secara operasional hanya karena diambil sangat sering.
Gradient noise scale paling informatif ketika diperlakukan sebagai properti lokal dari state optimisasi. Besaran ini dapat menunjukkan kapan batch parallelism tambahan masih merata-ratakan variasi stokastik yang berarti dan kapan sebagian besar hanya mengulang estimasi gradien yang sudah stabil. Perbedaan tersebut memberi keputusan batch size ukuran algoritmik yang dapat ditempatkan berdampingan dengan kapasitas memori dan accelerator throughput.