Rumah > Artikel > Peranti teknologi > Seseorang akhirnya menerangkan pembelajaran mesin teragih dengan jelas
Pembelajaran mesin teragih, juga dipanggil pembelajaran teragih, merujuk kepada algoritma dan sistem yang menggunakan berbilang nod pengkomputeran (juga dipanggil nod pekerja, Pekerja) untuk melaksanakan pembelajaran mesin atau pembelajaran mendalam Ia bertujuan untuk meningkatkan prestasi, melindungi privasi dan Skala kepada data latihan yang lebih besar dan model yang lebih besar.
Pembelajaran bersekutu boleh dianggap sebagai jenis pembelajaran teragih khas, yang boleh menyelesaikan beberapa kesukaran yang dihadapi dalam pembelajaran mesin teragih, seterusnya membina aplikasi dan produk kecerdasan buatan untuk perlindungan privasi.
Dalam beberapa tahun kebelakangan ini, perkembangan pesat teknologi baharu telah membawa kepada pertumbuhan yang tidak pernah berlaku sebelum ini dalam jumlah data. Algoritma pembelajaran mesin semakin digunakan untuk menganalisis set data dan membina sistem membuat keputusan. Dan disebabkan kerumitan masalah, seperti mengawal kereta pandu sendiri, mengenali pertuturan, atau meramalkan tingkah laku pengguna (lihat Khandani et al. 2010), penyelesaian algoritma tidak boleh dilaksanakan.
Dalam sesetengah kes, masa jangka panjang untuk latihan model pada mesin tunggal pereka penyelesaian segera menggunakan sistem teragih untuk meningkatkan jumlah selari dan jalur lebar I/O yang diperlukan untuk aplikasi yang kompleks Data latihan boleh mencapai terabait dengan mudah.
Dalam kes lain, apabila data itu sendiri diedarkan atau volum terlalu besar untuk disimpan pada satu mesin, penyelesaian terpusat tidak diingini. Sebagai contoh, perusahaan besar melakukan pemprosesan transaksi pada data yang disimpan di lokasi yang berbeza, atau volum data terlalu besar untuk dialihkan dan dipusatkan.
Untuk membolehkan jenis set data ini boleh diakses sebagai data latihan untuk masalah pembelajaran mesin, algoritma mesti dipilih dan dilaksanakan yang berkebolehan pengkomputeran selari, menyesuaikan diri dengan berbilang pengedaran data dan memiliki keupayaan pemulihan kerosakan.
Dalam beberapa tahun kebelakangan ini, teknologi pembelajaran mesin telah digunakan secara meluas. Walaupun pelbagai kaedah dan algoritma bersaing telah muncul, perwakilan data yang digunakan secara struktur sangat serupa. Kebanyakan pengiraan dalam kerja pembelajaran mesin adalah mengenai transformasi asas vektor, matriks atau tensor, yang merupakan masalah biasa dalam algebra linear.
Keperluan untuk mengoptimumkan operasi ini telah menjadi hala tuju penyelidikan yang sangat aktif dalam bidang Pengkomputeran Prestasi Tinggi (HPC) selama beberapa dekad. Oleh itu, beberapa teknologi dan perpustakaan daripada komuniti HPC (cth., BLAS atau MPI) telah berjaya diterima pakai oleh komuniti pembelajaran mesin dan disepadukan ke dalam sistem.
Pada masa yang sama, komuniti HPC telah mengenal pasti pembelajaran mesin sebagai beban kerja bernilai tinggi yang muncul dan telah mula menggunakan kaedah HPC pada pembelajaran mesin.
Coates et al melatih rangkaian dengan 1 bilion parameter dalam hanya tiga hari pada sistem pengkomputeran berprestasi tinggi komersial (COTSHPC) mereka.
Anda et al. mencadangkan pada 2017 untuk mengoptimumkan latihan rangkaian saraf pada Intel's Knights Landing, sebuah cip yang direka untuk aplikasi pengkomputeran berprestasi tinggi.
Kurth et al pada 2017 menunjukkan bagaimana masalah pembelajaran mendalam (seperti mengekstrak corak cuaca) boleh dioptimumkan dan berskala pada sistem HPC selari berskala besar.
Yan et al mencadangkan pada 2016 bahawa cabaran menjadualkan aplikasi rangkaian saraf dalam pada infrastruktur pengkomputeran awan boleh diselesaikan dengan memodelkan keperluan beban kerja dengan meminjam teknologi seperti analisis ringan daripada HPC.
Li et al., 2017, mengkaji sifat pemulihan rangkaian saraf dalam terhadap ralat perkakasan apabila dijalankan pada pemecut (pemecut sering digunakan dalam sistem pengkomputeran berprestasi tinggi utama).
Seperti cabaran pengkomputeran berskala besar lain, kami mempunyai dua cara asas yang berbeza dan saling melengkapi untuk mempercepatkan beban kerja: menambahkan lebih banyak sumber pada mesin (penskalaan menegak, seperti GPU/ Penambahbaikan berterusan Teras pengkomputeran TPU), menambah lebih banyak nod pada sistem (pengembangan mendatar, kos rendah).
Garisan antara superkomputer tradisional, grid dan awan semakin kabur, terutamanya apabila ia melibatkan persekitaran pelaksanaan yang optimum untuk beban kerja yang menuntut seperti pembelajaran mesin. Sebagai contoh, GPU dan pemecut adalah lebih biasa di pusat data awan utama. Oleh itu, penyelarasan beban kerja pembelajaran mesin adalah penting untuk mencapai prestasi yang boleh diterima pada skala. Walau bagaimanapun, apabila beralih daripada penyelesaian terpusat kepada sistem teragih, pengkomputeran teragih menghadapi cabaran yang serius dari segi prestasi, kebolehskalaan, daya tahan kegagalan atau keselamatan.
Memandangkan setiap algoritma mempunyai corak komunikasi yang unik, mereka bentuk sistem umum yang boleh mengedarkan pembelajaran mesin am secara berkesan adalah satu cabaran. Walaupun pada masa ini terdapat pelbagai konsep dan pelaksanaan pembelajaran mesin teragih yang berbeza, kami akan memperkenalkan seni bina biasa yang meliputi keseluruhan ruang reka bentuk. Secara umumnya, masalah pembelajaran mesin boleh dibahagikan kepada peringkat latihan dan peringkat ramalan (lihat Rajah 1-5).
▲ Rajah 1-5 Struktur pembelajaran mesin. Semasa fasa latihan, model ML dioptimumkan menggunakan data latihan dan melaraskan hiperparameter. Model terlatih kemudiannya digunakan ke dalam sistem untuk menyediakan ramalan bagi data input baharu
Fasa latihan termasuk melatih model pembelajaran mesin dengan memasukkan sejumlah besar data latihan dan menggunakan algoritma ML yang biasa digunakan, seperti Algoritma Evolusi (EA) dan algoritma Pembelajaran Mesin berasaskan Peraturan Contohnya, pepohon keputusan dan peraturan perkaitan ), model topik (TM), pemfaktoran matriks (Pemfaktoran Matriks), dan algoritma berdasarkan keturunan kecerunan stokastik (SGD), dsb., untuk mengemas kini model.
Selain memilih algoritma yang sesuai untuk masalah tertentu, kami juga perlu melakukan penalaan hiperparameter untuk algoritma yang dipilih. Hasil akhir fasa latihan adalah untuk mendapatkan model terlatih. Fasa ramalan adalah untuk menggunakan model terlatih dalam amalan. Model terlatih menerima data baharu (sebagai input) dan menjana ramalan (sebagai output).
Walaupun fasa latihan model biasanya intensif secara pengiraan dan memerlukan set data yang besar, inferens boleh dilakukan dengan kuasa pengkomputeran yang kurang. Fasa latihan dan fasa ramalan tidak saling eksklusif. Pembelajaran tambahan menggabungkan fasa latihan dan fasa ramalan, menggunakan data baharu dalam fasa ramalan untuk melatih model secara berterusan.
Mengenai pengedaran, kita boleh membahagikan masalah itu ke semua mesin dalam dua cara berbeza, iaitu data atau model selari (lihat Rajah 1-6). Kedua-dua kaedah juga boleh digunakan secara serentak.
▲ Rajah 1-6 Keselarian dalam pembelajaran mesin teragih. Keselarian data ialah melatih berbilang kejadian model yang sama pada subset berlainan set data latihan, manakala keselarian model mengagihkan laluan selari bagi satu model kepada berbilang nod
Dalam kaedah Selari Data (Data Selari), data dipisahkan seberapa banyak kali terdapat nod pekerja dalam sistem, dan kemudian semua nod pekerja menggunakan algoritma yang sama pada set data yang berbeza. Model yang sama tersedia untuk semua nod pekerja (sama ada melalui pemusatan atau replikasi), dengan itu secara semula jadi menghasilkan satu output yang konsisten. Kaedah ini boleh digunakan untuk setiap algoritma ML yang memenuhi andaian taburan bebas dan sama pada sampel data (iaitu kebanyakan algoritma ML).
Dalam pendekatan Model Parallel, salinan tepat keseluruhan set data diproses oleh nod pekerja, yang mengendalikan bahagian model yang berbeza. Oleh itu, model ialah pengagregatan semua bahagian model. Kaedah selari model tidak boleh digunakan secara automatik pada setiap algoritma pembelajaran mesin kerana parameter model biasanya tidak boleh dibahagikan.
Satu pilihan adalah untuk melatih contoh yang berbeza bagi model yang sama atau serupa dan mengagregatkan output semua model terlatih menggunakan kaedah seperti ensembel (cth. Bagging, Boosting, dsb.). Keputusan seni bina terakhir ialah topologi sistem pembelajaran mesin teragih. Nod berbeza yang membentuk sistem teragih perlu disambungkan melalui corak seni bina khusus untuk mencapai fungsi yang kaya. Ini adalah tugas biasa. Walau bagaimanapun, pilihan mod mempunyai implikasi untuk peranan yang boleh dimainkan oleh nod, tahap komunikasi antara nod dan daya tahan kegagalan keseluruhan penggunaan.
Rajah 1-7 menunjukkan 4 kemungkinan topologi, selaras dengan klasifikasi umum rangkaian komunikasi teragih Baran. Seni bina berpusat (Rajah 1-7a) menggunakan pendekatan hierarki ketat untuk pengagregatan, yang berlaku di satu lokasi pusat. Struktur terdesentralisasi membenarkan pengagregatan perantaraan, di mana model replikasi sentiasa dikemas kini apabila pengagregatan disiarkan ke semua nod (seperti topologi pepohon) (Rajah 1-7b), atau menggunakan model terbahagi yang dipecahkan merentas pelbagai pelayan parameter (Rajah 1). -7b). Seni bina teragih sepenuhnya (Rajah 1-7d) terdiri daripada rangkaian nod bebas yang menyepadukan penyelesaian, dan setiap nod tidak diberikan peranan tertentu.
▲Rajah 1-7 Topologi pembelajaran mesin teragih
Pembangunan pembelajaran mesin teragih juga telah mewujudkan beberapa keperluan untuk perlindungan privasi, yang telah mengakibatkan beberapa kandungan bertindih dengan pembelajaran bersekutu. Kaedah penyulitan biasa, seperti pengiraan berbilang pihak yang selamat, pengiraan homomorfik, privasi pembezaan, dsb., juga digunakan secara beransur-ansur dalam pembelajaran mesin teragih. Secara umum, pembelajaran bersekutu ialah kaedah yang berkesan untuk melatih model pembelajaran mesin secara kolaboratif menggunakan sumber yang diedarkan.
Pembelajaran bersekutu ialah pendekatan pembelajaran mesin teragih di mana berbilang pengguna bekerjasama untuk melatih model sambil mengekalkan data asal tersebar dan tidak dialihkan ke pelayan atau pusat data tunggal. Dalam pembelajaran bersekutu, data mentah atau data yang dijana melalui pemprosesan data mentah yang selamat digunakan sebagai data latihan. Pembelajaran bersekutu hanya membenarkan penghantaran data perantaraan antara sumber pengkomputeran teragih sambil mengelakkan penghantaran data latihan. Sumber pengkomputeran teragih merujuk kepada peranti mudah alih pengguna akhir atau pelayan berbilang organisasi.
Pembelajaran bersekutu memperkenalkan kod ke dalam data dan bukannya data ke dalam kod, secara teknikal menyelesaikan isu asas privasi, pemilikan dan lokasi data. Dengan cara ini, pembelajaran bersekutu membolehkan berbilang pengguna melatih model secara kolaboratif sambil memenuhi kekangan data undang-undang.
Artikel ini dipetik daripada "Pembelajaran Bersekutu: Penjelasan Terperinci Algoritma dan Pelaksanaan Sistem" (ISBN: 978-7-111-70349-5), dan diterbitkan dengan kebenaran penerbit.
Atas ialah kandungan terperinci Seseorang akhirnya menerangkan pembelajaran mesin teragih dengan jelas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!