Satu langkah training dapat menghasilkan gradient dengan besar gabungan yang jauh melampaui langkah di sekitarnya. Global norm clipping mengubah kumpulan gradient tersebut sebelum diproses optimizer. Saat norm yang diukur melewati ambang yang ditetapkan, setiap gradient terpilih dikalikan dengan faktor skala yang sama.
Batas mekanismenya perlu dinyatakan dengan tepat. Clipping mengendalikan norm gradient yang diberikan ke optimizer. Operasi ini tidak secara langsung menetapkan batas yang sama pada perubahan parameter, terutama ketika optimizer menyimpan momentum atau state adaptif.
Satu faktor skala berlaku untuk kumpulan gradient terpilih
Misalkan gradient yang dipilih untuk clipping adalah (g_1, g_2, \ldots, g_n). Jika seluruh elemennya dipandang sebagai satu vektor gabungan, global L2 norm yang umum digunakan adalah
G = sqrt(sum_i ||g_i||_2^2)Untuk ambang c > 0, gradient setelah clipping dapat ditulis sebagai
g_i' = g_i * min(1, c / G)dengan pengaman numerik kecil di sekitar penyebut yang detailnya bergantung pada implementasi.
Jika G <= c, gradient tidak berubah. Jika G > c, seluruh tensor terpilih menerima pengali yang sama. Global L2 norm gabungannya kemudian dibatasi pada c, selain selisih akibat numerik.
Pengali tunggal mempertahankan arah relatif vektor gradient gabungan. Sifat ini berbeda dari clipping setiap komponen skalar ke interval tetap. Pada clipping per komponen, elemen yang berbeda dapat mencapai batas secara independen sehingga arah vektor dapat berubah.
Ambang bekerja pada gradient, bukan langsung pada parameter
Pada stochastic gradient descent biasa tanpa momentum, update berbentuk
Δθ = -η g'dengan η sebagai step size. Dalam kondisi tersebut, batas pada ||g'|| juga memberi batas yang sepadan pada norm update melalui faktor η.
Hubungan langsung itu tidak tetap sama pada optimizer yang memiliki state. Metode momentum menggabungkan gradient saat ini dengan state yang terakumulasi. Metode adaptif seperti Adam mentransformasikan gradient saat ini memakai estimasi momen berjalan dan suku penyebut. Weight decay juga dapat menambah pergerakan parameter melalui jalur yang tidak tercakup oleh norm gradient hasil clipping, bergantung pada formulasi optimizer.
Karena itu, ambang 1.0 tidak tepat disebut sebagai batas universal 1.0 untuk pergerakan parameter. Nilai tersebut membatasi norm gradient yang dipilih pada titik clipping di pipeline training.
Posisi clipping di pipeline mengubah besaran yang dibatasi
Gradient accumulation membuat urutan operasi terlihat jelas. Misalkan beberapa microbatch menyumbang gradient sebelum satu langkah optimizer. Melakukan clipping pada setiap microbatch secara terpisah umumnya tidak setara dengan mengakumulasi semuanya lebih dulu lalu melakukan clipping satu kali pada hasil gabungan.
Untuk dua vektor gradient a dan b, operasi
clip(a) + clip(b)dan
clip(a + b)dapat menghasilkan vektor yang berbeda. Operasi pertama membatasi setiap kontribusi sebelum digabungkan. Operasi kedua membatasi sinyal gabungan yang dipakai untuk langkah optimizer.
Mixed-precision training menambah ketentuan urutan lain. Jika gradient telah dikalikan loss scale, melakukan clipping pada nilai yang masih terskala akan mengukur norm yang berbeda dari gradient yang sudah dikembalikan ke skalanya. Integrasi framework yang memakai loss scaling karena itu perlu menempatkan clipping pada titik yang ditentukan untuk gradient yang sudah di-unscale. Urutan API yang tepat bergantung pada implementasi dan perlu dicatat bersama konfigurasi training.
Distributed training juga memerlukan definisi yang jelas mengenai kumpulan gradient yang diukur. Norm yang dihitung hanya dari shard lokal tidak otomatis sama dengan norm gradient penuh secara logis. Framework terdistribusi dapat menyediakan perhitungan norm khusus atau perilaku sharded optimizer, sehingga semantik clipping harus sesuai dengan strategi distribusi yang digunakan.
Clipping mengubah besar gradient hanya setelah ambang terlewati
Global norm clipping bersifat piecewise. Di bawah ambang, gradient dibiarkan apa adanya. Di atas ambang, seluruh vektor terpilih diskalakan.
Sebagai contoh, jika norm gabungan bernilai 5 dan ambangnya 2, pengalinya adalah
2 / 5 = 0.4sehingga setiap tensor gradient terpilih dikalikan 0.4. Tensor yang hanya memberi kontribusi kecil terhadap norm total tetap ikut diskalakan karena keputusan dibuat secara global.
Perilaku ini membedakan threshold clipping dari pengali gradient konstan. Pengali konstan mengubah setiap langkah. Norm clipping hanya mengubah langkah yang norm terukurnya melewati ambang.
Clipping juga tidak dapat memulihkan informasi yang sudah rusak pada tahap sebelumnya. Gradient non-finite akibat overflow atau operasi yang tidak valid tidak menjadi bermakna hanya karena diberi ambang norm. Deteksi non-finite serta perilaku skip, penyesuaian skala, atau kegagalan yang dipilih framework tetap merupakan mekanisme terpisah.
Ambang clipping merupakan bagian dari konfigurasi optimisasi
Nilai ambang tidak memiliki arti yang berdiri sendiri. Skala gradient dipengaruhi objective, konvensi reduction, susunan batch, skema accumulation, parameterisasi, jalur precision, serta tensor yang dimasukkan ke dalam perhitungan norm.
Mengubah loss dari sum menjadi mean dapat mengubah besar gradient tanpa mengubah contoh dasarnya. Mengubah accumulation dari satu langkah optimizer per microbatch menjadi satu langkah setelah beberapa microbatch juga dapat mengubah norm pada titik clipping. Membandingkan threshold antar konfigurasi tanpa rincian tersebut dapat menghasilkan interpretasi yang keliru.
Catatan konfigurasi yang memadai mencakup jenis norm, threshold, posisi clipping terhadap accumulation dan loss unscaling, serta kumpulan parameter yang dicakup operasi. Untuk eksekusi terdistribusi, catatan itu juga perlu menyebut apakah norm mewakili tensor lokal, gradient yang telah disinkronkan, atau kumpulan parameter sharded secara logis.
Global norm clipping paling tepat diperlakukan sebagai batas pada input gradient menuju optimizer, bukan sebagai jaminan umum mengenai stabilitas training atau pergerakan parameter. Saat state optimizer, decay, scaling, accumulation, dan distribusi masuk ke pipeline, masing-masing mekanisme tersebut memerlukan perhitungan tersendiri.