Satu langkah optimisasi dapat menghasilkan gradien dengan besar gabungan yang jauh melebihi langkah-langkah di sekitarnya. Jika gradien itu langsung diberikan kepada optimizer, update parameter yang dihasilkan dapat memindahkan model ke wilayah space parameter yang sangat berbeda. Global norm clipping membatasi besar gradien sebelum optimizer memakainya.

Mekanismenya sederhana, tetapi perilakunya mudah disalahartikan. Mekanisme ini tidak membatasi setiap elemen gradien secara terpisah dan tidak menjamin norm update parameter yang tetap untuk optimizer adaptif. Mekanisme ini menskalakan ulang seluruh vektor gradien ketika norm yang dipilih melewati ambang.

Global clipping memperlakukan gradien parameter sebagai satu vektor

Anggap semua gradien parameter diratakan dan digabungkan menjadi vektor konseptual g. Dengan ambang L2 c, global norm clipping menghitung:

r = ||g||₂

g_clipped = g                         if r <= c
g_clipped = g * (c / r)               if r > c

Implementasi dapat menyertakan pengaman numerik kecil pada penyebut. Operasi utamanya adalah penskalaan bersama: setiap komponen gradien yang disertakan menerima faktor pengali yang sama ketika clipping aktif.

Faktor yang sama itu mempertahankan arah g selama penskalaan bernilai positif. Vektor yang sudah di-clip memiliki arah yang sama dengan vektor asli dan norm L2 sebesar c, dengan perbedaan kecil akibat detail numerik. Ini berbeda dari element-wise value clipping, yang membatasi komponen individual dan dapat memutar arah gradien.

Misalkan dua komponen gradien adalah [6, 8]. Norm L2-nya 10. Dengan ambang 5, global norm clipping mengalikan keduanya dengan 0.5, menghasilkan [3, 4]. Element-wise clipping pada 5 menghasilkan [5, 5]. Kedua vektor itu memiliki arah yang berbeda.

Ambang mengatur intervensi, bukan langkah normal

Ketika norm gradien tetap di bawah ambang, clipping tidak mengubahnya. Jadi, ambang menentukan kapan proses training melakukan intervensi, bukan norm target yang harus dicapai setiap langkah.

Perbedaan ini penting saat menafsirkan konfigurasi clipping. Ambang yang sangat tinggi mungkin jarang aktif dan terutama membatasi langkah ekstrem. Ambang rendah dapat menskalakan ulang sebagian besar update, sehingga lebih sering mengubah dinamika optimisasi.

Ambang juga tidak memiliki skala universal antar-model. Norm gradien dipengaruhi oleh reduction loss, pembentukan batch, parameterisasi, panjang sequence, dan kumpulan parameter yang dimasukkan ke dalam norm. Ambang yang disalin dari setup training lain dapat mewakili tingkat intervensi yang sangat berbeda.

Mencatat norm sebelum clipping dan apakah clipping aktif memberi informasi lebih banyak daripada hanya mencatat nilai ambang. Jika hampir setiap langkah di-clip, optimizer rutin menerima gradien yang sudah diskalakan. Jika clipping hanya muncul pada spike tertentu, perannya lebih sempit sebagai pembatas langkah ekstrem.

Clipping ditempatkan sebelum optimizer update

Global norm clipping bekerja pada gradien, sehingga posisinya terhadap optimizer penting. Urutan konseptualnya:

hitung gradien
terapkan unscaling gradien yang diperlukan
hitung global gradient norm
clip gradien jika diperlukan
optimizer update

Training mixed-precision menambahkan batasan urutan yang spesifik. Saat loss scaling digunakan, gradien dapat tersimpan dalam bentuk berskala selama backpropagation. Norm untuk clipping harus mewakili gradien pada skala yang dimaksudkan, sehingga clipping dilakukan setelah operasi unscaling yang diwajibkan framework dan sebelum optimizer step.

Gradient accumulation menimbulkan pilihan lain. Clipping setiap microbatch secara terpisah umumnya tidak setara dengan mengakumulasi gradien lalu melakukan clipping sekali. Clipping per microbatch mengubah setiap kontribusi sebelum dijumlahkan. Clipping setelah akumulasi membatasi gradien yang mewakili batch terakumulasi. Penempatannya harus sesuai dengan besaran yang memang ingin dibatasi oleh desain training.

Gradien yang sudah di-clip bukan parameter update akhir

Untuk stochastic gradient descent biasa tanpa momentum, update berbentuk:

delta = -eta * g_clipped

dengan eta sebagai laju yang diterapkan pada gradien. Dalam kondisi terbatas ini, pembatasan norm gradien juga membatasi norm update yang digerakkan gradien hingga eta * c.

Optimizer dengan momentum atau state adaptif menambahkan transformasi antara gradien saat ini dan update parameter. Metode bergaya Adam, misalnya, menggunakan estimasi bergerak yang berasal dari gradien lalu menerapkan normalisasi per koordinat. Karena itu, clipping gradien mentah saat ini tidak berarti norm parameter update akhir adalah c atau kelipatan tetap apa pun.

Batas ini berguna saat diagnosis. Jika yang ingin diukur adalah perpindahan parameter sebenarnya, periksa norm update atau delta parameter selain norm gradien. Gradient clipping membatasi input optimizer; clipping bukan proyeksi umum terhadap parameter akhir agar langkahnya tetap terbatas.

Weight decay dapat menciptakan pemisahan lain. Bergantung pada formulasi optimizer, decay dapat diterapkan secara terpisah dari gradien yang sudah di-clip. Batas norm gradien tidak otomatis membatasi setiap term yang berkontribusi pada perubahan parameter.

Distributed training mengubah norm yang bermakna

Dalam training data-parallel, gradien biasanya direduce di antara worker sebelum optimizer update. Clipping sebelum dan sesudah reduction dapat menghasilkan hal yang berbeda.

Jika setiap worker lebih dulu melakukan clipping pada gradien lokalnya, setiap vektor lokal dapat menerima faktor skala yang berbeda. Merata-ratakan vektor yang sudah diubah itu umumnya tidak sama dengan merata-ratakan gradien asli lalu melakukan clipping pada hasil agregat. Jika optimizer step yang dimaksud didasarkan pada gradien hasil reduction, global norm harus sesuai dengan besaran hasil reduction tersebut.

Sharded training membuat implementasinya kurang terlihat karena tidak ada satu device yang menyimpan semua gradien. Framework tetap dapat menghitung global norm dengan mengagregasikan statistik norm yang dibutuhkan di seluruh shard. Gunakan primitive clipping yang dirancang untuk strategi sharding tersebut, bukan menganggap subset parameter lokal sebagai norm seluruh model.

Prinsip yang sama berlaku untuk monitoring. Norm dari satu shard tidak dapat disamakan dengan norm seluruh parameter yang dilatih kecuali framework secara eksplisit mendefinisikannya demikian.

Clipping dapat menyembunyikan masalah numerik atau data lain

Gradien besar adalah observasi, bukan diagnosis. Spike dapat berkaitan dengan batch yang sulit, aktivasi tidak stabil, konfigurasi optimisasi yang tidak sesuai, overflow numerik, atau penyebab lain. Clipping dapat membatasi besar secara langsung tanpa menemukan sumbernya.

Karena itu, statistik clipping berguna sebagai sinyal operasional. Perubahan mendadak pada frekuensi clipping dapat menunjukkan perubahan distribusi gradien meskipun proses training terus menghasilkan loss yang finite. Memeriksa norm sebelum clipping mempertahankan bukti yang akan hilang jika hanya nilai setelah clipping yang dicatat.

Gradien non-finite memerlukan penanganan tersendiri. Menskalakan ulang vektor yang mengandung NaN tidak mengubahnya menjadi gradien yang valid. Sistem training sering menyediakan pemeriksaan eksplisit untuk nilai non-finite, terutama dalam workflow mixed-precision. Pemeriksaan tersebut dan global norm clipping menangani kondisi kegagalan yang berbeda.

Global norm clipping paling tepat dipahami sebagai transformasi terbatas pada titik tertentu dalam pipeline optimisasi. Dampaknya bergantung pada gradien yang masuk ke dalam norm, kapan reduction atau accumulation terjadi, dan apa yang dilakukan optimizer setelahnya. Batas-batas ini membuat ambang clipping dapat ditafsirkan dengan benar dan mencegahnya disalahartikan sebagai jaminan atas seluruh parameter update.