Adegan daya komputasi terdesentralisasi sangat besar, tetapi di mana tantangannya?
Ditulis oleh: Ian Xu, Foresight Ventures
##TL;DR
Kami membahas penerapan daya komputasi terdistribusi dalam pelatihan, dan umumnya berfokus pada pelatihan model bahasa besar. Alasan utamanya adalah pelatihan model kecil tidak memerlukan banyak daya komputasi. Untuk melakukan privasi data terdistribusi dan banyak proyek Masalahnya tidak hemat biaya, lebih baik menyelesaikannya secara langsung dan terpusat. Model bahasa besar memiliki permintaan besar untuk daya komputasi, dan sekarang dalam tahap awal ledakan. Dari 2012 hingga 2018, permintaan komputasi AI akan berlipat ganda kira-kira setiap 4 bulan. Menilai 5-8 tahun ke depan akan masih menjadi permintaan tambahan yang sangat besar.
Meskipun ada peluang besar, masalah juga perlu dilihat dengan jelas. Semua orang tahu bahwa pemandangannya sangat besar, tetapi di mana tantangan spesifiknya? Siapa yang dapat menargetkan masalah ini alih-alih memasuki permainan secara membabi buta adalah inti dari menilai proyek-proyek luar biasa dari trek ini.
(NVIDIA NeMo Megatron Framework)
Ambil contoh melatih model besar dengan 175 miliar parameter. Karena ukuran model yang sangat besar, model ini perlu dilatih secara paralel di banyak perangkat GPU. Misalkan ada ruang komputer terpusat dengan 100 GPU dan masing-masing perangkat memiliki memori 32GB.
Proses ini melibatkan sejumlah besar transfer dan sinkronisasi data, yang dapat menjadi penghambat efisiensi pelatihan. Oleh karena itu, mengoptimalkan bandwidth dan latensi jaringan, serta menggunakan strategi paralel dan sinkronisasi yang efisien sangat penting untuk pelatihan model berskala besar.
Perlu dicatat bahwa kemacetan komunikasi juga menjadi alasan mengapa jaringan daya komputasi terdistribusi saat ini tidak dapat melakukan pelatihan model bahasa yang besar.
Setiap node perlu sering bertukar informasi untuk bekerja bersama, yang menciptakan overhead komunikasi. Untuk model bahasa besar, masalah ini sangat serius karena banyaknya parameter model. Overhead komunikasi dibagi menjadi aspek-aspek ini:
Meskipun ada metode untuk mengurangi overhead komunikasi, seperti kompresi parameter dan gradien, strategi paralel yang efisien, dll., metode ini dapat menimbulkan beban komputasi tambahan atau berdampak negatif pada efek pelatihan model. Juga, metode ini tidak dapat sepenuhnya menyelesaikan masalah overhead komunikasi, terutama dalam kasus kondisi jaringan yang buruk atau jarak yang jauh antara node komputasi.
Sebagai contoh:
Jaringan daya komputasi terdistribusi terdesentralisasi
Model GPT-3 memiliki 175 miliar parameter, dan jika kami merepresentasikan parameter ini menggunakan angka floating point presisi tunggal (4 byte per parameter), maka penyimpanan parameter ini memerlukan ~700 GB memori. Dalam pelatihan terdistribusi, parameter ini perlu sering ditransmisikan dan diperbarui antar node komputasi.
Dengan asumsi ada 100 node komputasi, setiap node perlu memperbarui semua parameter di setiap langkah, lalu setiap langkah perlu mentransfer sekitar 70TB (700GB*100) data. Jika kita berasumsi bahwa satu langkah memerlukan waktu 1 detik (asumsi yang sangat optimis), maka 70TB data perlu ditransfer setiap detik. Permintaan bandwidth ini sudah jauh melebihi kebanyakan jaringan dan juga masalah kelayakan.
Pada kenyataannya, karena keterlambatan komunikasi dan kemacetan jaringan, waktu transmisi data mungkin lebih lama dari 1 detik. Ini berarti bahwa node komputasi mungkin perlu menghabiskan banyak waktu menunggu transmisi data daripada melakukan perhitungan yang sebenarnya. Ini akan sangat mengurangi efisiensi pelatihan, dan pengurangan efisiensi ini tidak dapat diselesaikan dengan menunggu, tetapi perbedaan antara layak dan tidak layak, yang akan membuat seluruh proses pelatihan menjadi tidak layak.
Ruang komputer terpusat
Bahkan di lingkungan ruang komputer terpusat, pelatihan model besar masih membutuhkan pengoptimalan komunikasi yang berat.
Dalam lingkungan ruang komputer terpusat, perangkat komputasi berperforma tinggi digunakan sebagai cluster, terhubung melalui jaringan berkecepatan tinggi untuk berbagi tugas komputasi. Namun, bahkan saat melatih model dengan jumlah parameter yang sangat besar dalam lingkungan jaringan berkecepatan tinggi, overhead komunikasi masih menjadi penghambat, karena parameter dan gradien model harus sering ditransmisikan dan diperbarui di antara berbagai perangkat komputasi. .
Seperti disebutkan di awal, misalkan ada 100 node komputasi, masing-masing server memiliki bandwidth jaringan 25Gbps. Jika setiap server perlu memperbarui semua parameter di setiap langkah pelatihan, maka setiap langkah pelatihan perlu mentransfer sekitar 700 GB data dan dibutuhkan ~224 detik. Dengan memanfaatkan ruang komputer terpusat, pengembang dapat mengoptimalkan topologi jaringan di dalam pusat data dan menggunakan teknologi seperti paralelisme model untuk mengurangi waktu ini secara signifikan.
Sebaliknya, jika pelatihan yang sama dilakukan di lingkungan terdistribusi, dengan asumsi masih ada 100 node komputasi yang tersebar di seluruh dunia, rata-rata bandwidth jaringan setiap node hanya 1Gbps. Dalam hal ini, dibutuhkan ~5600 detik untuk mentransfer 700GB data yang sama, yang jauh lebih lama daripada di ruang komputer terpusat. Selain itu, karena penundaan dan kemacetan jaringan, waktu aktual yang diperlukan mungkin lebih lama.
Namun, dibandingkan dengan situasi di jaringan daya komputasi terdistribusi, relatif mudah untuk mengoptimalkan overhead komunikasi di lingkungan ruang komputer terpusat. Karena di lingkungan ruang komputer terpusat, perangkat komputasi biasanya terhubung ke jaringan berkecepatan tinggi yang sama, dan bandwidth serta penundaan jaringan relatif baik. Dalam jaringan daya komputasi terdistribusi, node komputasi dapat didistribusikan ke seluruh dunia, dan kondisi jaringan mungkin relatif buruk, yang membuat masalah overhead komunikasi menjadi lebih serius.
Dalam proses pelatihan GPT-3, OpenAI mengadopsi kerangka paralel model yang disebut Megatron untuk mengatasi masalah overhead komunikasi. Megatron membagi parameter model dan memprosesnya secara paralel di antara beberapa GPU, dan setiap perangkat hanya bertanggung jawab untuk menyimpan dan memperbarui sebagian dari parameter, sehingga mengurangi jumlah parameter yang perlu diproses oleh setiap perangkat dan mengurangi overhead komunikasi. Pada saat yang sama, jaringan interkoneksi berkecepatan tinggi juga digunakan selama pelatihan, dan panjang jalur komunikasi dikurangi dengan mengoptimalkan topologi jaringan.
(Data digunakan untuk melatih model LLM)
Itu bisa dilakukan, tetapi dibandingkan dengan ruang komputer terpusat, efek pengoptimalan ini sangat terbatas.
Hampir semua tautan yang melibatkan pemrosesan dan transmisi data dapat memengaruhi keamanan dan privasi data:
**Solusi apa yang tersedia untuk masalah privasi data? **
Ringkasan
Masing-masing metode di atas memiliki skenario dan batasan yang dapat diterapkan, dan tidak ada metode yang dapat sepenuhnya menyelesaikan masalah privasi data dalam pelatihan model besar jaringan daya komputasi terdistribusi.
Secara teori, ZKP dapat digunakan untuk memastikan privasi data dalam komputasi terdistribusi, memungkinkan sebuah node untuk membuktikan bahwa ia telah melakukan perhitungan sesuai dengan peraturan, tetapi tidak perlu mengungkapkan data input dan output aktual.
Namun pada kenyataannya, kemacetan berikut dihadapi dalam skenario penggunaan ZKP untuk pelatihan jaringan daya komputasi terdistribusi skala besar model besar:
Ringkasan
Untuk menggunakan ZKP untuk jaringan komputasi terdistribusi skala besar untuk melatih model besar, diperlukan penelitian dan pengembangan selama beberapa tahun, dan juga akan membutuhkan lebih banyak energi dan sumber daya dari komunitas akademis ke arah ini.
Skenario lain yang relatif besar dari daya komputasi terdistribusi adalah penalaran model. Menurut penilaian kami pada jalur pengembangan model besar, permintaan untuk pelatihan model secara bertahap akan melambat saat model besar matang setelah melewati titik tinggi. Persyaratan inferensi juga akan meningkat secara eksponensial dengan kematangan model besar dan AIGC.
Dibandingkan dengan tugas pelatihan, tugas inferensi biasanya memiliki kompleksitas komputasi yang lebih rendah dan interaksi data yang lebih lemah, dan lebih cocok untuk lingkungan terdistribusi.
(Inferensi Power LLM dengan NVIDIA Triton)
Penundaan Komunikasi:
Dalam lingkungan terdistribusi, komunikasi antar node sangat penting. Dalam jaringan daya komputasi terdistribusi yang terdesentralisasi, node dapat tersebar di seluruh dunia, sehingga latensi jaringan dapat menjadi masalah, terutama untuk tugas penalaran yang memerlukan respons waktu nyata.
Penerapan dan Pembaruan Model:
Model perlu disebarkan ke setiap node. Jika model diperbarui, setiap node perlu memperbarui modelnya, yang menghabiskan banyak waktu dan bandwidth jaringan.
Privasi data:
Meskipun tugas inferensi biasanya hanya memerlukan data masukan dan model, dan tidak perlu mengembalikan data dan parameter perantara dalam jumlah besar, data masukan mungkin masih berisi informasi sensitif, seperti informasi pribadi pengguna.
Keamanan Model:
Dalam jaringan terdesentralisasi, model perlu diterapkan pada node yang tidak dipercaya, yang akan menyebabkan kebocoran model dan menyebabkan masalah hak dan penyalahgunaan properti model. Ini juga dapat menimbulkan masalah keamanan dan privasi, jika model digunakan untuk memproses data sensitif, node dapat menyimpulkan informasi sensitif dengan menganalisis perilaku model.
QC:
Setiap node dalam jaringan daya komputasi terdistribusi yang terdesentralisasi mungkin memiliki kemampuan dan sumber daya komputasi yang berbeda, yang mungkin menyulitkan untuk menjamin kinerja dan kualitas tugas inferensi.
Kompleksitas komputasi:
Pada fase pelatihan, model perlu melakukan iterasi berulang kali, selama proses pelatihan perlu dilakukan perhitungan forward propagation dan back propagation setiap layer, meliputi perhitungan fungsi aktivasi, perhitungan fungsi loss, perhitungan gradien dan pembaruan bobot. Oleh karena itu, kompleksitas komputasi pelatihan model tinggi.
Pada fase inferensi, hanya satu lintasan maju yang diperlukan untuk menghitung prediksi. Misalnya, dalam GPT-3, teks input perlu diubah menjadi vektor, lalu diteruskan melalui setiap lapisan model (biasanya lapisan Transformer), dan akhirnya distribusi probabilitas keluaran diperoleh, dan kata berikutnya dihasilkan menurut distribusi ini. Di GAN, model perlu menghasilkan gambar dari vektor kebisingan input. Operasi ini hanya melibatkan propagasi maju model, tidak perlu menghitung gradien atau memperbarui parameter, dan memiliki kompleksitas komputasi yang rendah.
Interaktivitas Data:
Selama fase inferensi, model biasanya memproses satu input daripada sejumlah besar data selama pelatihan. Hasil dari setiap inferensi hanya bergantung pada input saat ini, bukan pada input atau output lain, sehingga tidak diperlukan interaksi data dalam jumlah besar, dan tekanan komunikasi lebih sedikit.
Mengambil model gambar generatif sebagai contoh, dengan asumsi kita menggunakan GAN untuk menghasilkan gambar, kita hanya perlu memasukkan vektor noise ke model, lalu model akan menghasilkan gambar yang sesuai. Dalam proses ini, setiap masukan hanya akan menghasilkan satu keluaran, dan tidak ada ketergantungan antar keluaran, sehingga tidak diperlukan interaksi data.
Mengambil GPT-3 sebagai contoh, setiap generasi kata berikutnya hanya memerlukan input teks saat ini dan status model, dan tidak perlu berinteraksi dengan input atau output lain, sehingga persyaratan interaktivitas data juga lemah.
Ringkasan
Terlepas dari apakah itu model bahasa besar atau model gambar generatif, kompleksitas komputasi dan interaktivitas data tugas penalaran relatif rendah, yang lebih cocok untuk jaringan daya komputasi terdistribusi terdesentralisasi, itulah sebabnya sebagian besar proyek yang kita lihat sekarang dalam satu arah kekuatan.
Ambang teknis dan luasnya teknis dari jaringan daya komputasi terdistribusi yang terdesentralisasi sangat tinggi, dan itu juga memerlukan dukungan sumber daya perangkat keras, jadi kami belum melihat terlalu banyak upaya sekarang. Ambil Together dan Gensyn.ai sebagai contoh:
(Piyama Merah dari Together)
Together adalah perusahaan yang berfokus pada open source model besar dan berkomitmen untuk solusi daya komputasi AI terdesentralisasi. Diharapkan siapa pun dapat mengakses dan menggunakan AI di mana saja. Bersama-sama baru saja menutup putaran unggulan USD 20 juta yang dipimpin oleh Lux Capital.
Together didirikan oleh Chris, Percy, dan Ce. Niat awalnya adalah bahwa pelatihan model skala besar membutuhkan sejumlah besar klaster GPU kelas atas dan pengeluaran yang mahal, serta sumber daya dan kemampuan pelatihan model ini juga terkonsentrasi di beberapa perusahaan besar.
Dari sudut pandang saya, rencana kewirausahaan yang lebih masuk akal untuk daya komputasi terdistribusi adalah:
Langkah 1. Model sumber terbuka
Untuk mengimplementasikan penalaran model dalam jaringan daya komputasi terdistribusi terdesentralisasi, prasyaratnya adalah bahwa node harus dapat memperoleh model dengan biaya rendah, artinya, model yang menggunakan jaringan daya komputasi terdesentralisasi harus open source (jika model perlu dilisensikan sesuai Jika digunakan di bawah ini, itu akan meningkatkan kompleksitas dan biaya implementasi). Misalnya, chatgpt, sebagai model non-sumber terbuka, tidak cocok untuk dijalankan pada jaringan daya komputasi terdesentralisasi.
Oleh karena itu, dapat berspekulasi bahwa penghalang tak terlihat dari perusahaan yang menyediakan jaringan daya komputasi terdesentralisasi perlu memiliki kemampuan pengembangan dan pemeliharaan model skala besar yang kuat. Dikembangkan sendiri dan bersumber terbuka model dasar yang kuat dapat menghilangkan ketergantungan pada model open source pihak ketiga sampai batas tertentu, dan menyelesaikan masalah paling mendasar dari jaringan daya komputasi terdesentralisasi. Pada saat yang sama, lebih kondusif untuk membuktikan bahwa jaringan daya komputasi dapat secara efektif melakukan pelatihan dan penalaran model besar.
Dan Bersama melakukan hal yang sama. RedPajama berbasis LLaMA yang baru-baru ini dirilis diluncurkan bersama oleh Together, Ontocord.ai, ETH DS3Lab, Stanford CRFM, dan Hazy Research, dengan tujuan mengembangkan serangkaian model bahasa besar open source sepenuhnya.
Langkah 2. Daya komputasi terdistribusi mendarat di penalaran model
Seperti disebutkan dalam dua bagian di atas, dibandingkan dengan pelatihan model, inferensi model memiliki kompleksitas komputasi dan interaksi data yang lebih rendah, dan lebih cocok untuk lingkungan terdistribusi yang terdesentralisasi.
Berdasarkan model open source, tim R&D Together telah membuat serangkaian pembaruan pada model RedPajama-INCITE-3B, seperti menggunakan LoRA untuk mencapai penyetelan halus berbiaya rendah, membuat model berjalan di CPU (terutama MacBook Pro dengan prosesor M2 Pro) Berjalan pada model yang lebih halus. Pada saat yang sama, meskipun skala model ini kecil, kemampuannya melebihi model lain dengan skala yang sama, dan telah diterapkan secara praktis dalam skenario hukum, sosial, dan lainnya.
Langkah3. Daya komputasi terdistribusi mendarat di pelatihan model
(Mengatasi Hambatan Komunikasi untuk diagram jaringan daya komputasi Pelatihan Terdesentralisasi)
Dalam jangka menengah dan panjang, meskipun menghadapi tantangan besar dan hambatan teknis, harus menjadi yang paling menarik untuk melakukan permintaan daya komputasi untuk pelatihan AI model besar. Bersama-sama mulai menjabarkan bagaimana mengatasi kemacetan komunikasi dalam pelatihan desentralisasi di awal pendiriannya. Mereka juga menerbitkan makalah terkait tentang NeurIPS 2022: Mengatasi Kemacetan Komunikasi untuk Pelatihan Terdesentralisasi. Kami terutama dapat meringkas petunjuk berikut:
Pengoptimalan Penjadwalan
Saat berlatih di lingkungan terdesentralisasi, penting untuk menetapkan tugas-tugas berat komunikasi ke perangkat dengan koneksi yang lebih cepat karena koneksi antar node memiliki latensi dan bandwidth yang berbeda. Bersama-sama membangun model untuk menggambarkan biaya strategi penjadwalan tertentu, dan mengoptimalkan strategi penjadwalan dengan lebih baik untuk meminimalkan biaya komunikasi dan memaksimalkan throughput pelatihan. Tim Together juga menemukan bahwa bahkan dengan jaringan 100 kali lebih lambat, throughput pelatihan end-to-end hanya 1,7 hingga 2,3 kali lebih lambat. Oleh karena itu, menarik untuk mengejar ketinggalan antara jaringan terdistribusi dan cluster terpusat melalui optimasi penjadwalan.
Pengoptimalan kompresi komunikasi
Bersama-sama mengusulkan kompresi komunikasi untuk aktivasi maju dan gradien balik, dan memperkenalkan algoritme AQ-SGD, yang memberikan jaminan ketat untuk konvergensi penurunan gradien stokastik. AQ-SGD mampu menyempurnakan model basis besar pada jaringan lambat (misalnya 500 Mbps) dengan kinerja pelatihan end-to-end hanya 31% lebih lambat pada jaringan terpusat (misalnya 10 Gbps) tanpa kompresi. Selain itu, AQ-SGD dapat dikombinasikan dengan teknik kompresi gradien canggih seperti QuantizedAdam untuk mencapai percepatan end-to-end 10%.
Ringkasan proyek
Konfigurasi tim bersama sangat komprehensif, anggota memiliki latar belakang akademis yang sangat kuat, mulai dari pengembangan model besar, komputasi awan hingga pengoptimalan perangkat keras yang didukung oleh pakar industri. And Together memang menunjukkan postur jangka panjang dan sabar dalam perencanaan jalur, mulai dari mengembangkan model besar open source hingga menguji daya komputasi idle (seperti mac) di jaringan daya komputasi terdistribusi menggunakan penalaran model, lalu ke daya komputasi terdistribusi dalam Tata Letak besar pada pelatihan model. — Ada semacam akumulasi dan perasaan rambut tipis :)
Namun, saat ini, kami belum melihat terlalu banyak hasil penelitian Bersama di lapisan insentif, menurut saya ini sama pentingnya dengan penelitian dan pengembangan teknologi, dan merupakan faktor kunci untuk memastikan pengembangan jaringan daya komputasi yang terdesentralisasi.
(Review.ai)
Dari jalur teknis Together, secara kasar kita dapat memahami proses implementasi jaringan daya komputasi terdesentralisasi dalam pelatihan dan penalaran model, serta prioritas penelitian dan pengembangan yang sesuai.
Poin penting lainnya yang tidak dapat diabaikan adalah desain lapisan insentif/algoritma konsensus dari jaringan daya komputasi.Misalnya, jaringan yang bagus harus memiliki:
……
Lihat bagaimana Gensyn.ai melakukannya:
Pertama-tama, pemecah dalam jaringan daya komputasi bersaing untuk mendapatkan hak untuk memproses tugas yang diajukan oleh pengguna melalui penawaran, dan sesuai dengan skala tugas dan risiko ketahuan curang, pemecah perlu menggadaikan sejumlah uang.
Solver menghasilkan beberapa pos pemeriksaan saat memperbarui parameter (untuk memastikan transparansi dan keterlacakan pekerjaan), dan secara berkala menghasilkan bukti penalaran kriptografi (bukti kemajuan pekerjaan) tentang tugas;
Ketika Solver menyelesaikan pekerjaan dan menghasilkan sebagian dari hasil perhitungan, protokol akan memilih verifikator, dan verifikator juga akan menjaminkan jumlah tertentu (untuk memastikan bahwa verifikator melakukan verifikasi dengan jujur), dan memutuskan bagian mana dari perhitungan hasil perlu diverifikasi sesuai dengan bukti yang diberikan di atas.
Melalui struktur data berbasis pohon Merkle, lokasi yang tepat di mana hasil perhitungan berbeda berada. Seluruh operasi verifikasi akan ada di rantai, dan penipu akan dikurangi dari jumlah yang dijanjikan.
Ringkasan proyek
Rancangan algoritma insentif dan verifikasi membuat Gensyn.ai tidak perlu memutar ulang semua hasil dari seluruh tugas komputasi selama proses verifikasi, tetapi hanya perlu menyalin dan memverifikasi sebagian dari hasil sesuai dengan bukti yang diberikan, yang sangat meningkat efisiensi verifikasi. Pada saat yang sama, node hanya perlu menyimpan sebagian dari hasil perhitungan, yang juga mengurangi konsumsi ruang penyimpanan dan sumber daya komputasi. Selain itu, node kecurangan potensial tidak dapat memprediksi bagian mana yang akan dipilih untuk verifikasi, sehingga hal ini juga mengurangi risiko kecurangan;
Metode verifikasi perbedaan dan penemuan curang ini juga dapat dengan cepat menemukan kesalahan dalam proses perhitungan tanpa membandingkan seluruh hasil perhitungan (mulai dari simpul akar pohon Merkle dan menelusuri langkah demi langkah) Sangat efektif untuk tugas komputasi skala besar.
Singkatnya, tujuan desain lapisan insentif/verifikasi Gensyn.ai adalah: sederhana dan efisien. Namun, saat ini terbatas pada tingkat teoretis, dan penerapan khusus mungkin menghadapi tantangan berikut:
Pertanyaan tentang siapa yang membutuhkan jaringan daya komputasi terdesentralisasi belum diverifikasi. Penerapan daya komputasi menganggur untuk pelatihan model skala besar yang membutuhkan sumber daya daya komputasi yang besar jelas merupakan ruang yang paling masuk akal dan paling imajinatif. Namun nyatanya, hambatan seperti komunikasi dan privasi harus membuat kita berpikir ulang:
Apakah benar-benar ada harapan untuk pelatihan model besar yang terdesentralisasi?
Jika Anda keluar dari konsensus ini, “skenario pendaratan paling masuk akal”, apakah akan menerapkan daya komputasi terdesentralisasi untuk pelatihan model AI kecil juga merupakan skenario besar. Dari segi teknis, faktor pembatas saat ini telah teratasi karena ukuran dan arsitektur model. Pada saat yang sama, dari sudut pandang pasar, kami selalu merasa bahwa pelatihan model besar akan sangat besar mulai dari sekarang ke masa depan, tetapi pasar untuk model AI kecil sudah tidak menarik lagi?
Saya kira tidak demikian. Dibandingkan dengan model besar, model AI kecil lebih mudah diterapkan dan dikelola, dan lebih efisien dalam hal kecepatan pemrosesan dan penggunaan memori Dalam sejumlah besar skenario aplikasi, pengguna atau perusahaan tidak memerlukan kemampuan penalaran yang lebih umum dari bahasa besar model, tetapi hanya Fokus pada target perkiraan yang sangat terperinci. Oleh karena itu, model AI kecil masih merupakan pilihan yang lebih layak di sebagian besar skenario dan tidak boleh diberhentikan sebelum waktunya dalam gelombang model besar.
Referensi