PANDUAN Teknikal

Pengumpulan Kecerunan

Pengumpulan kecerunan membolehkan anda mensimulasikan saiz kelompok besar pada memori GPU terhad dengan menjumlahkan kecerunan pada beberapa kelompok kecil kecil sebelum mengemas kini pemberat.

Dengar panduan iniAI-diceritakan · ~2 min

Pada halaman ini2 min dibaca
  1. Gambaran keseluruhan
  2. Menyelam dalam
  3. Pelaksanaan Dunia Sebenar
  4. Masa Depan Pengumpulan Kecerunan
  5. Mempraktikkannya
  6. Teruskan Meneroka
  7. Soalan lazim

Gambaran keseluruhan

It is the standard workaround for training big models when memory is the bottleneck.

Menyelam dalam

Biasanya langkah latihan memproses satu kelompok, mengira kecerunan, dan segera mengemas kini parameter. Dengan pengumpulan kecerunan, anda menjalankan beberapa hantaran ke hadapan dan ke belakang pada kelompok mikro yang lebih kecil, menambahkan kecerunannya bersama-sama dalam penimbal parameter dan hanya memanggil langkah pengoptimum (dan sifar kecerunan) selepas N kelompok mikro. Saiz kumpulan berkesan menjadi saiz kumpulan mikro dikali N, walaupun memori puncak hanya pernah memegang satu kumpulan mikro pengaktifan. Ini penting kerana banyak resipi latihan menganggap kumpulan besar untuk statistik yang stabil, dan kerana model seperti pengubah besar tidak boleh memuatkan kumpulan sasaran penuh pada satu peranti. Tangkapan: statistik penormalan kelompok dikira setiap kelompok mikro, jadi norma lapisan atau norma kumpulan berpasangan dengan lebih baik dengan pengumpulan, dan anda mesti menskalakan kerugian dengan betul untuk memastikan kadar pembelajaran berkesan betul.

Pelaksanaan Dunia Sebenar

Perhalusi model bahasa besar pada GPU pengguna tunggal dengan mengumpul lebih 8 atau 16 kumpulan mikro untuk mencapai kumpulan berkesan ratusan.

Melatih model visi atau segmentasi resolusi tinggi yang mana sekumpulan 2 sesuai, tetapi resipi memerlukan kumpulan 32 yang berkesan.

Pelatih Wajah Berpeluk dan PyTorch Lightning mendedahkan tetapan gradient_accumulation_steps yang digunakan secara rutin dalam persediaan VRAM terhad.

Menghasilkan semula kumpulan besar kertas menghasilkan perkakasan yang lebih kecil dengan memadankan saiz kumpulan berkesan melalui pengumpulan.

Masa Depan Pengumpulan Kecerunan

Pengumpulan kecerunan akan kekal sebagai tuil lalai kerana saiz model mengatasi memori peranti tunggal. Ia semakin digabungkan dengan ketepatan campuran, titik semakan pengaktifan, serpihan ZeRO dan paralelisme saluran paip dalam rangka kerja seperti DeepSpeed ​​dan FSDP. Jangkakan automasi yang lebih ketat di mana perpustakaan menala automatik langkah-langkah pengumpulan kepada belanjawan memori, dan kepentingan berterusan untuk memperhalusi model besar pada perkakasan sederhana, termasuk GPU pengguna yang membuka kunci latihan yang mungkin mustahil.

Mempraktikkannya

Mengapa ia penting

  • Kos dan bajet. Keputusan seni bina memacu prestasi dan kos operasi selama bertahun-tahun.
  • Keputusan yang lebih jelas. Pendidikan teknikal membantu pasukan memilih timbunan yang betul, bukan hanya yang terbaharu.
  • Kawalan kualiti. Pilihan kejuruteraan yang lebih baik mengurangkan insiden kebolehpercayaan dalam pengeluaran.

Berhati-hati untuk

  • Mengoptimumkan satu penanda aras boleh menyembunyikan kelemahan sistem yang lebih luas.
  • Kos infrastruktur dan penyelenggaraan sering dipandang remeh.
  • Jurang keselamatan dan pemerhatian boleh berkembang apabila sistem menjadi lebih kompleks.

Langkah seterusnya

  1. Tentukan sasaran kependaman, kualiti dan kos sebelum pelaksanaan.
  2. Penanda aras di bawah beban realistik dan keadaan data.
  3. Pemantauan instrumen untuk ralat, drift dan kesan pengguna.
  4. Sediakan laluan balik dan tindak balas insiden sebelum penskalaan.

Teruskan Meneroka

Newsletter percuma

Dapatkan taklimat AI harian

Tiga cerita AI yang disahkan setiap pagi hari bekerja, ditulis dalam Bahasa Inggeris biasa. Percuma selamanya, tiada iklan.

Satu e-mel setiap hari bekerja. Berhenti melanggan dalam satu klik. Kami tidak pernah menjual atau berkongsi alamat anda.

Uji diri anda

Take the Gradient Accumulation quiz

Maklum balas segera pada setiap jawapan, dan sijil yang boleh dikongsi dengan ID yang boleh disahkan sebaik sahaja anda lulus kursus.

Mulakan kuiz

Sokong pendidikan AI percuma. AI Understanding ialah pertubuhan bukan keuntungan 501(c)(3) — tiada iklan, tiada bayaran dinding, selamanya. Buat derma

Soalan lazim

What is Gradient Accumulation?

Pengumpulan kecerunan membolehkan anda mensimulasikan saiz kelompok besar pada memori GPU terhad dengan menjumlahkan kecerunan pada beberapa kelompok kecil kecil sebelum mengemas kini pemberat. Ia adalah penyelesaian standard untuk melatih model besar apabila ingatan adalah halangan.

Apakah yang boleh anda lakukan oleh pengumpulan kecerunan?

Dengan menjumlahkan kecerunan pada beberapa kelompok mikro sebelum mengemas kini, anda meniru kumpulan besar tanpa menyimpan kesemuanya dalam ingatan sekaligus.

With an accumulation factor N, when should optimizer.step() and zero_grad() occur?

Accumulate gradients across N micro-batches, call optimizer.step() once for the effective batch, then clear gradients before the next window; begin training with cleared buffers.

Lapisan normalisasi yang manakah berpasangan dengan lebih bersih dengan pengumpulan kecerunan?

Norma kelompok mengira statistik setiap kelompok mikro, jadi norma lapisan atau kumpulan mengelakkan ketidakpadanan dengan kelompok mikro kecil.

Why may four micro-batches with BatchNorm behave differently from one physical batch of the same total size?

Batch-dependent forward computations break exact equivalence.