Latihan teragih menyebarkan latihan model merentasi berbilang mesin atau peranti untuk mengendalikan set data yang besar dan model yang besar, manakala latihan berpusat memastikan semuanya berada pada satu sistem. Pilihan antara kedua-duanya bergantung pada skala, infrastruktur dan beban kerja pembelajaran mesin tertentu yang ada.
Sorotan
Latihan teragih membolehkan model yang melebihi had memori mesin tunggal, manakala latihan berpusat dikekang oleh perkakasan satu sistem.
Latihan berpusat menawarkan penyahpepijatan dan kebolehulangan yang lebih mudah, manakala persediaan teragih memerlukan alat orkestrasi dan logik penyegerakan.
Latihan bersekutu dan memelihara privasi hanya boleh dilakukan dengan pendekatan teragih, memandangkan data kekal setempat kepada setiap pekerja.
Latihan teragih mengurangkan masa kerja secara mendadak untuk beban kerja yang besar tetapi memperkenalkan overhed komunikasi yang dielakkan oleh latihan berpusat.
Apa itu Latihan Teragih?
Pendekatan pembelajaran mesin yang membahagikan beban kerja latihan merentasi berbilang pemproses, mesin atau lokasi geografi untuk mempercepatkan pembangunan model.
Latihan teragih menjadi penting kerana model seperti GPT-3 dan PaLM melebihi kapasiti memori GPU tunggal, yang memerlukan ratusan gigabait VRAM.
Paralelisme data membahagikan kelompok latihan merentasi pekerja, manakala paralelisme model membahagikan lapisan model tunggal merentasi peranti.
Rangka kerja seperti PyTorch DDP, Horovod dan DeepSpeed menjadikan latihan teragih boleh diakses tanpa membina infrastruktur tersuai.
Perpustakaan komunikasi seperti NCCL dan MPI mengendalikan penyegerakan kecerunan antara pekerja semasa latihan.
Model bahasa besar daripada OpenAI, Google dan Meta bergantung pada latihan teragih merentasi ribuan GPU atau TPU.
Apa itu Latihan Berpusat?
Pendekatan pembelajaran mesin tradisional di mana semua data latihan dan pengiraan berlaku pada mesin tunggal atau kluster yang digandingkan rapat.
Latihan berpusat dijalankan pada satu pelayan atau stesen kerja, menyimpan data, model dan pengiraan di satu lokasi.
Kebanyakan penyelidikan akademik dan model perniagaan kecil hingga sederhana masih menggunakan latihan berpusat kerana kesederhanaannya.
GPU seperti NVIDIA A100 dan H100 dengan 80GB VRAM membolehkan latihan berpusat model sehingga puluhan bilion parameter.
Persediaan berpusat memudahkan penyahpepijatan, kebolehulangan dan kawalan versi kerana semuanya berlaku dalam satu persekitaran.
Rangka kerja seperti scikit-learn, TensorFlow standard dan Keras direka terutamanya dengan mengambil kira aliran kerja berpusat.
Jadual Perbandingan
Ciri-ciri
Latihan Teragih
Latihan Berpusat
Infrastruktur
Pelbagai mesin, GPU atau nod berfungsi bersama
Mesin tunggal atau kelompok yang digandingkan rapat
Kebolehskalaan
Menskala kepada beribu-ribu peranti dan model bertrilion parameter
Terhad oleh kapasiti perkakasan mesin tunggal
Pengendalian Data
Data boleh dikongsi merentasi lokasi atau disimpan setempat kepada pekerja
Semua data mesti berada pada atau boleh diakses oleh satu mesin
Komunikasi Atas Talian
Memerlukan penyegerakan kecerunan melalui NCCL, MPI atau gRPC
Tiada komunikasi antara nod diperlukan
Toleransi Kerosakan
Boleh pulih daripada kegagalan nod individu dengan pemeriksaan titik semak
Titik kegagalan tunggal jika mesin hos ranap
Kerumitan Persediaan
Tinggi — memerlukan alat orkestrasi seperti Kubernetes atau Ray
Rendah — pasang rangka kerja dan jalankan skrip
Paling Sesuai Untuk
Model bahasa yang besar, model asas, set data yang besar-besaran
Model kecil hingga sederhana, penyelidikan, prototaip
Profil Kos
Kos pendahuluan yang lebih tinggi tetapi prestasi harga yang lebih baik pada skala
Kos permulaan yang lebih rendah, tetapi peningkatan perkakasan menjadi mahal
Perbandingan Terperinci
Kebolehskalaan dan Saiz Model
Latihan teragih adalah satu-satunya pilihan praktikal apabila model melebihi memori pemecut tunggal. Model asas moden dengan ratusan bilion parameter tidak dapat dimuatkan pada satu GPU, tidak kira berapa banyak VRAM yang dimilikinya. Latihan berpusat berfungsi dengan baik untuk model sehingga beberapa bilion parameter, terutamanya pada perkakasan mewah seperti nod NVIDIA H100 dengan memori 80GB. Apabila anda perlu melampaui had tersebut, pendekatan teragih seperti paralelisme tensor dan paralelisme saluran paip menjadi perlu dan bukannya pilihan.
Privasi Data dan Lokasi
Latihan berpusat mengandaikan semua data berada di satu tempat, yang memudahkan tadbir urus tetapi mewujudkan risiko privasi apabila maklumat sensitif mesti diagregatkan. Latihan teragih membuka pintu kepada pembelajaran bersekutu, di mana data kekal pada peranti atau pelayan tempatan dan hanya kemas kini model dikongsi. Ini sangat penting dalam penjagaan kesihatan dan kewangan, di mana peraturan seperti HIPAA dan GDPR menyekat pergerakan data. Pertukarannya ialah pendekatan bersekutu memperkenalkan cabaran statistik dan kos komunikasi yang dielakkan sepenuhnya oleh latihan berpusat.
Infrastruktur dan Kerumitan Operasi
Menjalankan latihan teragih bermaksud berurusan dengan orkestrasi kluster, lebar jalur rangkaian dan protokol penyegerakan. Alat seperti Ray, Kubernetes dan SLURM membantu menguruskan kerumitan ini, tetapi lengkung pembelajarannya agak sukar. Sebaliknya, latihan berpusat selalunya bersamaan dengan menjalankan skrip Python pada stesen kerja atau contoh awan yang disewa. Penyahpepijatan adalah mudah kerana hanya terdapat satu persekitaran untuk diperiksa dan kebolehulangan adalah lebih mudah apabila tiada komunikasi rangkaian yang terlibat.
Kelajuan dan Daya pemprosesan
Latihan teragih boleh mengurangkan masa jam dinding secara mendadak dengan menyelaraskan pengiraan merentasi banyak peranti. Kerja yang akan mengambil masa berminggu-minggu pada satu mesin mungkin selesai dalam beberapa jam pada kelompok 64 GPU, dengan mengandaikan beban kerja selari dengan baik. Walau bagaimanapun, overhed komunikasi antara pekerja boleh menjejaskan keuntungan tersebut, terutamanya dengan sambungan yang lebih perlahan. Latihan berpusat menghapuskan overhed tersebut sepenuhnya, menjadikannya lebih pantas untuk model kecil di mana overhed selari akan melebihi masa pengiraan sebenar.
Kecekapan Kos dan Sumber
Latihan teragih memerlukan pelaburan infrastruktur yang besar, sama ada melalui penyedia awan seperti AWS, GCP dan Azure atau kluster GPU di premis. Kos setiap eksperimen adalah tinggi, tetapi kos setiap token atau parameter latihan selalunya menurun secara berskala. Latihan berpusat lebih murah untuk dimulakan dan sesuai untuk eksperimen, tetapi mencapai had perkakasan bermakna membeli mesin yang semakin mahal daripada menambah nod komoditi. Bagi organisasi yang melatih banyak model, persediaan teragih menawarkan ekonomi skala yang lebih baik.
Toleransi dan Kebolehpercayaan Kerosakan
Apabila satu mesin gagal semasa latihan berpusat, keseluruhan kerja berhenti dan mesti dimulakan semula dari pusat pemeriksaan terakhir. Sistem teragih boleh bertolak ansur dengan kegagalan nod individu dengan menugaskan semula kerja, walaupun ini memerlukan pusat pemeriksaan yang teliti dan logik pemulihan kerja. Rangka kerja seperti PyTorch DDP dan MirroredStrategy TensorFlow mengendalikan sebahagian daripadanya secara automatik, tetapi jurutera masih perlu mereka bentuk untuk kegagalan. Kesederhanaan latihan berpusat juga merupakan kelebihan kebolehpercayaannya: lebih sedikit bahagian yang bergerak bermakna lebih sedikit perkara yang boleh rosak.
Kelebihan & Kekurangan
Latihan Teragih
Kelebihan
+Skala kepada model besar-besaran
+Masa latihan yang lebih pantas
+Membolehkan pembelajaran bersekutu
+Toleransi kesalahan yang lebih baik
+Mengendalikan set data yang besar
Simpan
−Persediaan yang kompleks
−Kos infrastruktur yang tinggi
−Overhed komunikasi
−Lebih sukar untuk dinyahpepijat
Latihan Berpusat
Kelebihan
+Mudah untuk disediakan
+Penyahpepijatan mudah
+Kos permulaan yang lebih rendah
+Tiada overhed penyegerakan
+Bagus untuk prototaip
Simpan
−Terhad oleh perkakasan
−Titik kegagalan tunggal
−Privasi data yang lemah
−Lebih perlahan pada skala
Kesalahpahaman Biasa
Mitos
Latihan teragih sentiasa lebih pantas daripada latihan berpusat.
Realiti
Peningkatan kelajuan bergantung pada sejauh mana beban kerja selari dan kualiti sambungan rangkaian. Bagi model kecil, overhed komunikasi antara pekerja sebenarnya boleh menjadikan latihan teragih lebih perlahan daripada dijalankan pada satu mesin berkuasa.
Mitos
Latihan berpusat sudah ketinggalan zaman dalam era model bahasa yang besar.
Realiti
Latihan berpusat kekal sebagai lalai untuk kebanyakan kerja ML, termasuk penalaan halus, penyelidikan dan model pengeluaran di bawah beberapa bilion parameter. Sebahagian besar sistem pembelajaran mesin yang digunakan masih menggunakan pendekatan berpusat.
Mitos
Latihan teragih bermakna data anda selamat secara automatik.
Realiti
Latihan teragih standard masih mengagregatkan data pada infrastruktur kongsi. Hanya pembelajaran bersekutu, satu bentuk latihan teragih tertentu, menyimpan data mentah pada peranti setempat sambil berkongsi kemas kini model.
Mitos
Anda memerlukan latihan teragih untuk menggunakan berbilang GPU.
Realiti
Sebuah mesin tunggal dengan berbilang GPU boleh melatih model menggunakan paralelisme data tanpa latihan teragih sebenar merentasi nod. Latihan teragih secara khusus merujuk kepada koordinasi merentasi mesin berasingan yang disambungkan oleh rangkaian.
Mitos
Lebih banyak mesin sentiasa bermaksud kualiti model yang lebih baik.
Realiti
Kualiti model bergantung pada data, seni bina dan metodologi latihan, bukan sekadar skala pengiraan. Mengagihkan latihan merentasi lebih banyak mesin mempercepatkan penumpuan tetapi tidak semestinya meningkatkan ketepatan model akhir.
Soalan Lazim
Apakah perbezaan utama antara latihan teragih dan berpusat?
Latihan berpusat menjalankan semuanya pada satu mesin, manakala latihan teragih membahagikan beban kerja merentasi berbilang mesin atau peranti. Pembahagian ini boleh melibatkan pembahagian data (paralelisme data), model itu sendiri (paralelisme model), atau kedua-duanya. Latihan teragih adalah perlu apabila model atau set data melebihi apa yang boleh dikendalikan oleh satu sistem.
Bilakah saya perlu menggunakan latihan teragih?
Latihan teragih masuk akal apabila model anda terlalu besar untuk dimuatkan pada satu GPU, apabila set data anda terlalu besar untuk diproses dengan cekap pada satu mesin, atau apabila anda memerlukan masa latihan yang lebih cepat daripada yang boleh disampaikan oleh satu sistem. Ia juga merupakan pilihan yang tepat untuk senario pembelajaran bersekutu di mana data tidak boleh meninggalkan peranti setempat.
Adakah latihan berpusat lebih murah daripada latihan teragih?
Secara awal, ya. Latihan berpusat hanya memerlukan satu mesin, manakala persediaan teragih memerlukan berbilang nod, rangkaian berkelajuan tinggi dan perisian orkestrasi. Walau bagaimanapun, pada skala besar, latihan teragih selalunya memberikan kos setiap jam latihan yang lebih baik kerana anda boleh menambah nod komoditi dan bukannya membeli mesin tunggal yang semakin besar.
Apakah rangka kerja yang menyokong latihan teragih?
PyTorch menawarkan DistributedDataParallel (DDP) dan FullyShardedDataParallel (FSDP), TensorFlow menyediakan tf.distribute.Strategy dan Horovod berfungsi merentasi kedua-duanya. DeepSpeed daripada Microsoft dan Megatron-LM daripada NVIDIA popular untuk model yang sangat besar. Ray dan Hugging Face Accelerate memudahkan latihan teragih untuk banyak aliran kerja biasa.
Bolehkah saya melakukan latihan teragih pada satu mesin dengan berbilang GPU?
Ya, ini dipanggil latihan berbilang GPU nod tunggal dan secara teknikalnya merupakan satu bentuk latihan teragih. PyTorch DDP dan MirroredStrategy TensorFlow mengendalikan kes ini dengan baik, menggunakan sambungan NVLink atau PCIe yang pantas antara GPU. Latihan teragih berbilang nod sebenar menambah komunikasi rangkaian antara mesin berasingan.
Apakah pembelajaran bersekutu dan bagaimana ia berkaitan dengan latihan teragih?
Pembelajaran bersekutu merupakan satu bentuk latihan teragih khusus yang mana data kekal pada peranti tempatan (seperti telefon atau hospital) dan hanya kemas kini model dihantar kepada penyelaras pusat. Ini memelihara privasi sambil masih mendapat manfaat daripada latihan mengenai pelbagai sumber data. Ia digunakan secara meluas dalam penjagaan kesihatan, kewangan dan aplikasi mudah alih.
Bagaimanakah latihan teragih menangani kegagalan?
Sistem latihan teragih yang mantap menggunakan pemeriksaan titik semak untuk menyimpan keadaan model secara berkala, jadi nod atau mesin yang gagal boleh digantikan tanpa kehilangan semua kemajuan. Rangka kerja seperti Ray dan Elastic Horovod boleh menjadualkan semula kerja secara automatik ke nod yang sihat. Latihan berpusat tidak mempunyai mekanisme sedemikian, jadi ranap bermaksud dimulakan semula dari titik semak terakhir.
Apakah halangan komunikasi dalam latihan teragih?
Kesesakan terbesar biasanya ialah penyegerakan kecerunan, di mana pekerja bertukar kemas kini selepas setiap langkah latihan. Rangkaian perlahan, latensi tinggi dan saiz model yang besar semuanya meningkatkan overhed ini. Penyelesaian termasuk pemampatan kecerunan, pengiraan bertindih dengan komunikasi dan penggunaan sambungan berkelajuan tinggi seperti InfiniBand atau NVLink.
Adakah model bahasa yang besar menggunakan latihan berpusat atau teragih?
Semua model bahasa besar moden seperti GPT-4, PaLM dan Llama menggunakan latihan teragih merentasi beribu-ribu GPU atau TPU. Model dengan ratusan bilion parameter tidak dapat dimuatkan dalam memori mesin tunggal, menjadikan pendekatan teragih wajib. Malah model sumber terbuka yang lebih kecil sering menggunakan persediaan berbilang GPU semasa latihan.
Berapa lama masa yang diperlukan untuk menyediakan latihan teragih?
Untuk persediaan berbilang GPU yang mudah pada satu mesin, anda boleh menjalankan dalam masa sejam menggunakan PyTorch DDP atau Hugging Face Accelerate. Kluster berbilang nod dengan Kubernetes atau SLURM biasanya mengambil masa berhari-hari hingga berminggu-minggu untuk dikonfigurasikan dengan betul, terutamanya apabila anda mengambil kira rangkaian, storan dan pemantauan. Penyedia awan menawarkan penyelesaian terurus yang mengurangkan masa persediaan ini dengan ketara.
Keputusan
Pilih latihan teragih apabila anda bekerja dengan model besar, set data yang besar atau keperluan lokaliti data yang ketat yang tidak dapat dikendalikan oleh persediaan berpusat. Kekalkan latihan berpusat untuk penyelidikan, prototaip dan model pengeluaran yang sesuai dengan selesa pada perkakasan yang tersedia, di mana kesederhanaan dan overhed operasi yang lebih rendah lebih penting daripada skala mentah.