0Pricing
Learn AI with Python · Pelajaran

Pelatihan Efisien dengan Hugging Face Accelerate

accelerate.Accelerator, pelatihan yang tidak bergantung pada perangkat, akumulasi gradien, integrasi DeepSpeed.

Pelatihan Efisien dengan Hugging Face Accelerate adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Masalah Kode Berulang

Menulis penempatan perangkat, penyiapan DDP, dan presisi campuran secara manual membutuhkan banyak kode serta rentan terhadap kesalahan. Hugging Face Accelerate menghapus kode berulang tersebut: skrip yang sama dapat berjalan pada CPU, satu GPU, banyak GPU, atau bahkan TPU tanpa perubahan kode.

Objek Accelerator

Inti pustaka ini adalah Accelerator. Anda membuatnya di bagian atas skrip; objek ini mendeteksi lingkungan dan mengelola perangkat, penyiapan terdistribusi, serta presisi untuk Anda.

from accelerate import Accelerator

accelerator = Accelerator()
device = accelerator.device

Menyiapkan Objek

accelerator.prepare menerima model, pengoptimal, dan pemuat data Anda, lalu mengembalikan versi yang telah disesuaikan dengan penyiapan saat ini: dipindahkan ke perangkat yang tepat, dibungkus dalam DDP jika diperlukan, dan dengan pemuat data yang dibagi di antara proses.

model, optimizer, dataloader = accelerator.prepare(
    model, optimizer, dataloader
)

Fungsi prepare

Di balik layar, prepare menangani pekerjaan yang sebelumnya harus Anda lakukan secara manual: pemindahan perangkat, pembungkusan DDP, pengambilan sampel terdistribusi, dan pengaitan presisi campuran. Satu pemanggilan menggantikan puluhan baris.

Tanpa .to(device) Manual

Karena pemuat data yang telah disiapkan menghasilkan kumpulan data yang sudah berada pada perangkat yang benar, Anda tidak perlu lagi memanggil x.to(device) secara manual. Perulangan yang sama dapat digunakan di mana saja.

for batch in dataloader:
    inputs, labels = batch   # already on device
    outputs = model(inputs)
    loss = loss_fn(outputs, labels)

accelerator.backward

Alih-alih loss.backward(), panggil accelerator.backward(loss). Pemanggilan ini secara otomatis menggunakan jalur yang tepat untuk pelatihan terdistribusi dan presisi campuran, termasuk penskalaan gradien.

optimizer.zero_grad()
accelerator.backward(loss)
optimizer.step()

Perulangan Pelatihan Lengkap

Perulangan Accelerate lengkap sangat rapi dan tidak bergantung pada perangkat.

accelerator = Accelerator()
model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)

for epoch in range(epochs):
    for batch in dataloader:
        inputs, labels = batch
        outputs = model(inputs)
        loss = loss_fn(outputs, labels)
        optimizer.zero_grad()
        accelerator.backward(loss)
        optimizer.step()

Presisi Campuran melalui Konfigurasi

Anda dapat mengaktifkan FP16/BF16 tanpa menyentuh kode, dengan menetapkannya saat membuat Accelerator atau melalui konfigurasi CLI. Accelerate kemudian mengelola autocast dan penskalaan gradien untuk Anda.

accelerator = Accelerator(mixed_precision="fp16")

unwrap_model untuk Penyimpanan

Setelah prepare, model mungkin dibungkus dalam DDP. Sebelum menyimpan, panggil accelerator.unwrap_model(model) untuk mendapatkan model dasar tanpa pembungkus, sehingga titik pemeriksaan tetap bersih dan portabel.

unwrapped = accelerator.unwrap_model(model)
accelerator.save(unwrapped.state_dict(), "model.pt")

Peluncuran Lintas Perangkat

Anda menjalankan skrip yang sama dengan perintah accelerate launch, yang membaca konfigurasi Anda (jumlah proses, mesin, presisi) dan memulai proses-proses tersebut, dengan menangani kasus satu GPU, banyak GPU, dan banyak simpul secara transparan.

accelerate config        # one-time interactive setup
accelerate launch train.py

Mengapa Accelerate

Accelerate memberi Anda penanganan multi-perangkat yang transparan: tulis satu loop yang rapi dan skalakan dari CPU laptop ke klaster GPU multi-simpul tanpa menulis ulang kode. Accelerate dibangun di atas konsep DDP dan AMP yang telah Anda pelajari, hanya saja detail penghubungnya disembunyikan.

Uji Cepat

Ujilah pengetahuan Anda tentang Accelerate.

Ringkasan

Anda telah mempelajari pelatihan yang efisien dengan Hugging Face Accelerate:

  • Accelerator() mendeteksi dan mengelola lingkungan
  • acc.prepare(model, optimizer, dataloader) menyiapkan semuanya untuk perangkat yang sedang digunakan
  • acc.backward(loss) menangani propagasi balik terdistribusi dan presisi campuran
  • acc.unwrap_model memberikan model yang bersih untuk disimpan
  • Satu skrip dapat diskalakan secara transparan dari CPU ke GPU multi-simpul

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pelatihan Efisien dengan Hugging Face Accelerate” gratis?

Ya — teks lengkap “Pelatihan Efisien dengan Hugging Face Accelerate” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pelatihan Efisien dengan Hugging Face Accelerate”?

accelerate.Accelerator, pelatihan yang tidak bergantung pada perangkat, akumulasi gradien, integrasi DeepSpeed. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Pelatihan Efisien dengan Hugging Face Accelerate” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pelatihan Multi-GPU dengan DataParallel
  2. DistributedDataParallel (DDP)
  3. Pelatihan Presisi Campuran dengan AMP
  4. Pelatihan Efisien dengan Hugging Face Accelerate
← Kembali ke Learn AI with Python