PANDUAN Teknikal

Titik Semak Kecerunan

Titik semakan kecerunan (juga dikenali sebagai titik semakan pengaktifan) ialah helah penjimatan memori yang membuang kebanyakan pengaktifan perantaraan semasa hantaran hadapan dan mengiranya semula dengan cepat semasa rambatan belakang.

2 min dibacaKemas kini terakhir

Gambaran keseluruhan

It lets you train deeper, larger networks by trading extra compute for much lower memory use.

Menyelam dalam

Rangkaian saraf latihan biasanya menyimpan pengaktifan setiap lapisan semasa hantaran ke hadapan kerana perambatan belakang memerlukannya untuk mengira kecerunan. Untuk model dalam, pengaktifan ini menguasai memori. Titik semakan kecerunan sebaliknya menyimpan pengaktifan hanya pada set lapisan 'titik semakan' yang jarang dan membuang selebihnya. Apabila backprop mencapai rantau yang pengaktifannya digugurkan, ia menjalankan semula pengiraan hadapan untuk segmen itu sahaja untuk menjana semula apa yang diperlukannya, kemudian meneruskan. Dengan pusat pemeriksaan diletakkan kira-kira setiap lapisan punca kuasa dua bagi N, memori untuk pengaktifan menurun daripada susunan N kepada susunan punca kuasa dua bagi N, manakala pengiraan meningkat hanya kira-kira satu hantaran hadapan tambahan (kira-kira 20-30% lebih perlahan). Ini memungkinkan untuk memuatkan saiz kelompok yang lebih besar atau pengubah yang lebih dalam pada GPU yang sama.

Wawasan Teknikal

Teknik ini mengeksploitasi pertukaran masa lawan memori. Menyimpan semua pengaktifan adalah pantas tetapi haus ingatan; pengiraan semula mereka adalah murah pada pemecut moden berbanding dengan kos kehabisan ingatan. Rangka kerja seperti PyTorch (torch.utils.checkpoint) membalut modul supaya output hadapan disimpan tetapi dalaman dikira semula semasa ke belakang. Memilih penempatan pusat pemeriksaan adalah penting: jarak sekata bagi segmen kira-kira sqrt(N) meminimumkan jumlah memori sambil menambah hanya satu pas ke hadapan tambahan pengiraan secara keseluruhan.

Kesan Strategik

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.

Masa Depan Titik Semak Kecerunan

Titik semakan kecerunan kini menjadi standard dalam latihan model besar dan semakin automatik, dengan perpustakaan memilih lokasi pusat pemeriksaan yang optimum untuk anda. Ia berpasangan secara semula jadi dengan FSDP, ketepatan campuran dan pemunggahan untuk menolak saiz model lebih tinggi. Jangkakan pusat pemeriksaan 'selektif' yang mengira semula hanya operasi murah sambil mengekalkan yang mahal (seperti matriks perhatian) dicache, serta pendekatan dipacu pengkompil dalam alatan seperti torch.compile PyTorch yang secara automatik memutuskan perkara yang perlu disimpan berbanding pengiraan semula untuk baki memori kelajuan terbaik.

Pelaksanaan Dunia Sebenar

Melatih pengubah dalam dengan saiz kelompok yang lebih besar pada GPU tunggal dengan membuang dan mengira semula pengaktifan lapisan.

Penalaan halus model penglihatan pada imej resolusi tinggi yang mana peta pengaktifan sebaliknya akan melimpahi memori GPU.

Memeluk Face Transformers yang membolehkan gradient_checkpointing=Benar padan model berbilion parameter semasa penalaan halus.

Menggabungkan pemeriksaan dengan FSDP supaya kedua-dua parameter dan pengaktifan dikekalkan kecil, membolehkan latihan model bahasa yang sangat besar.

Risiko & Pengawal

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.

Hala Tuju Pelaksanaan

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

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Gradient Checkpointing quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Mulakan kuiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Panduan seterusnya

Pengumpulan Kecerunan

Soalan lazim

What is Gradient Checkpointing?

Titik semakan kecerunan (juga dikenali sebagai titik semakan pengaktifan) ialah helah penjimatan memori yang membuang kebanyakan pengaktifan perantaraan semasa hantaran hadapan dan mengiranya semula dengan cepat semasa rambatan belakang. Ia membolehkan anda melatih rangkaian yang lebih dalam dan lebih besar dengan berdagang pengiraan tambahan untuk penggunaan memori yang jauh lebih rendah.

Apakah yang didagangkan oleh pusat pemeriksaan kecerunan untuk menjimatkan memori?

Titik semakan kecerunan mengira semula pengaktifan yang dibuang semasa hantaran ke belakang, membelanjakan pengiraan tambahan sebagai pertukaran untuk memori yang berkurangan dengan ketara.

Mengapakah pengaktifan biasanya disimpan semasa hantaran hadapan?

Backprop mengira kecerunan menggunakan pengaktifan perantaraan daripada pas hadapan, jadi ia mesti tersedia melainkan ia dikira semula.

Secara kasar bagaimana skala memori pengaktifan jika pusat pemeriksaan diletakkan setiap lapisan sqrt(N) dalam rangkaian lapisan N?

Jarakkan pusat pemeriksaan tentang setiap lapisan punca kuasa dua bagi N mengurangkan memori pengaktifan yang disimpan daripada susunan N ke bawah kepada susunan sqrt(N).

Kira-kira berapa banyak pengiraan tambahan yang biasanya ditambah oleh pusat pemeriksaan kecerunan yang diletakkan dengan baik?

Dengan penempatan pusat pemeriksaan yang baik, overhed adalah kira-kira satu pas ke hadapan tambahan, selalunya sekitar 20-30% kelembapan.

Dalam PyTorch, utiliti manakah yang biasa digunakan untuk menggunakan titik semak kecerunan pada modul?

torch.utils.checkpoint membungkus modul supaya pengaktifan dalamannya dikira semula semasa ke belakang dan bukannya disimpan.