𝗔𝗸𝘂𝗺𝘂𝗹𝗮𝘀𝗶 𝗚𝗿𝗮𝗱𝗶𝗲𝗻 𝗧𝗲𝗺𝗽𝗮𝘁𝗮𝗻 𝗠𝗲𝗺𝗽𝗲𝗿𝗰𝗲𝗽𝗮𝘁𝗸𝗮𝗻 𝗟𝗮𝘁𝗶𝗵𝗮𝗻 𝟭.𝟳𝘅

Kelajuan latihan sering terhenti disebabkan oleh masa terbiar dalam pipeline. Masa terbiar ini dipanggil "bubble".

Kaedah baharu yang dipanggil PACI menyelesaikan masalah ini. Ia menghapuskan "bubble" ini dan mempercepatkan latihan sebanyak 1.69x.

Kebanyakan pasukan menggunakan strategi yang dipanggil 1F1B-flush. Kaedah ini mengekalkan ketekalan pemberat (weights) tetapi mewujudkan slot kosong di mana sistem menunggu data. Masa menunggu ini melambatkan segala-galanya.

Kaedah asinkronus yang lain cuba membaiki perkara ini. Ia menggunakan teknik kompleks seperti weight stashing atau salinan pendua. Teknik-teknik ini menggunakan terlalu banyak memori dan sering menjadikan latihan tidak stabil.

PACI mengambil pendekatan yang berbeza. Ia menggunakan akumulasi gradien tempatan (local gradient accumulation). Ini memastikan pipeline sentiasa sibuk tanpa memerlukan penyinkronan global.

Berikut adalah sebab mengapa PACI penting:

  • Ia menyamai kestabilan kaedah standard.
  • Ia menggunakan jumlah memori yang sama.
  • Ia mencapai kelajuan konfigurasi yang lebih pantas tetapi lebih berat.
  • Ia mengurangkan masa-ke-ketepatan (time-to-accuracy) sebanyak 1.69x.

Dalam ujian dengan GPT-2 Medium, PACI mencapai ketepatan sasaran dengan jauh lebih pantas. Ia menunjukkan bahawa anda boleh menukar sedikit hanyutan pemberat (weight drift) untuk peningkatan kecekapan yang besar.

Bagi pasukan kejuruteraan, ini bermakna pengurangan kos perkakasan sebanyak 40%. Anda mendapat hasil yang lebih pantas tanpa perlu membeli lebih banyak GPU atau menambah lebih banyak memori.

Penyelidik menguji ini pada pipeline 8-peringkat dengan model gaya GPT. Anda mungkin perlu melaras tetingkap akumulasi jika anda mengubah kedalaman pipeline atau saiz kelompok (batch size) anda.

Anda boleh menguji ini sendiri. Penulis menyediakan pembungkus (wrapper) akumulasi-tempatan dalam repositori mereka. Gantikan penyinkron flush sedia ada anda dengannya untuk melihat peningkatan kelajuan.

Sumber: https://dev.to/olaughter/local-gradient-accumulation-speeds-training-17x-2mdk

Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi