SeterusnyaPanduan seterusnya
Kecerunan Lenyap dan Meletup
Teknikal
PANDUAN Teknikal
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
It is the standard workaround for training big models when memory is the bottleneck.
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.
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.
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.
Newsletter percuma
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
Maklum balas segera pada setiap jawapan, dan sijil yang boleh dikongsi dengan ID yang boleh disahkan sebaik sahaja anda lulus kursus.
Sokong pendidikan AI percuma. AI Understanding ialah pertubuhan bukan keuntungan 501(c)(3) — tiada iklan, tiada bayaran dinding, selamanya. Buat derma
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.
Dengan menjumlahkan kecerunan pada beberapa kelompok mikro sebelum mengemas kini, anda meniru kumpulan besar tanpa menyimpan kesemuanya dalam ingatan sekaligus.
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.
Norma kelompok mengira statistik setiap kelompok mikro, jadi norma lapisan atau kumpulan mengelakkan ketidakpadanan dengan kelompok mikro kecil.
Batch-dependent forward computations break exact equivalence.
Teruskan belajar
Lebih banyak panduan dipilih untuk topik ini
SeterusnyaPanduan seterusnya
Kecerunan Lenyap dan Meletup
Teknikal