Dengan perkembangan teknologi AI, teknologi AI yang terlibat dalam perniagaan yang berbeza menjadi lebih pelbagai Pada masa yang sama, bilangan parameter model AI berkembang pesat dari tahun ke tahun Bagaimana cara mengatasi masalah yang dihadapi oleh pelaksanaan algoritma AI seperti kos pembangunan yang tinggi, pergantungan yang kuat kepada buruh manual, algoritma yang tidak stabil, dan kitaran pelaksanaan yang panjang telah menjadi masalah yang membelenggu pengamal kecerdasan buatan. "Platform pembelajaran mesin automatik" ialah kaedah utama untuk menyelesaikan tekanan pelaksanaan AI. Hari ini saya akan berkongsi dengan anda pengalaman praktikal Du Xiaoman dalam membina platform pembelajaran mesin automatik ATLAS.
Pertama sekali, mari kita perkenalkan latar belakang dan perkembangan Du. Proses platform pembelajaran mesin Xiaoman dan situasi semasa.
ijazah Xiaoman ialah syarikat teknologi kewangan Senario perniagaan dalaman syarikat terbahagi terutamanya kepada tiga aspek:
Oleh kerana teknologi AI yang terlibat dalam perniagaan sangat pelbagai, ia membawa cabaran hebat kepada pelaksanaan algoritma AI.
Terdapat masalah dengan pelaksanaan algoritma AI Segitiga mustahil: Sukar untuk mencapai kecekapan tinggi, kos rendah dan kualiti tinggi pembangunan algoritma pada masa yang sama.
Menghadapi masalah pelaksanaan AI ini, saya fikir satu-satunya penyelesaian ialah menggunakan platform pembelajaran mesin.
Mari kita fahami proses pelaksanaan algoritma AI dari AI proses pengeluaran algoritma kesukaran khusus yang dihadapi.
Pelaksanaan algoritma AI terbahagi terutamanya kepada empat bahagian: pengurusan data, latihan model, pengoptimuman algoritma dan penggunaan serta pelepasan model dan pengoptimuman algoritma ialah proses berulang.
Dalam setiap langkah pembangunan algoritma, keperluan teknikal bagi mereka yang terlibat dalam langkah itu sangat berbeza:
Daripada susunan teknologi yang diperlukan untuk setiap langkah, dapat dilihat bahawa sukar bagi seorang atau dua atau tiga juruteknik untuk menguasai sepenuhnya semua teknologi, dan setiap Setiap langkah yang melibatkan buruh manual adalah kesesakan pengeluaran yang menyebabkan pengeluaran tidak stabil. Penggunaan platform pembelajaran mesin boleh menyelesaikan dua masalah ini.
Platform pembelajaran mesin kami ATLAS berjalan melalui keseluruhan proses pengeluaran AI, bertujuan untuk Penyertaan manusia dalam proses menggantikan pelaksanaan algoritma AI boleh mencapai matlamat output yang cekap dan meningkatkan tenaga dan kecekapan dalam penyelidikan dan pembangunan algoritma AI.
ATLAS melibatkan empat platform berikut:
<.>Bahagian data dan latihan merangkumi platform anotasi, platform data dan platform latihan.
Platform anotasi data ATLAS terutamanya mempunyai dua keupayaan dan ciri: liputan berbilang senario dan anotasi pintar.
(2) Platform data Platform data terutamanya mencapai besar -skala Tadbir urus data boleh mengambil kira fleksibiliti semasa proses tadbir urus, memadankan sampel secara dinamik . Berdasarkan ciri penjimatan lebih daripada 5000 dimensi ratusan juta pengguna , pertanyaan dalam talian masa nyata boleh dicapai. Sampel padanan dinamik boleh memenuhi keperluan pemilihan sampel dan pemilihan data bagi senario yang berbeza. (3) Platform latihan Platform latihan adalah kemudahan yang sangat penting. Ia dibahagikan kepada lima lapisan: Our The. penyebaran menggunakan seni bina seperti tanpa pelayan Sebab mengapa ia dikatakan seperti tanpa pelayan ialah ia bukan perkhidmatan tanpa pelayan sepenuhnya. Oleh kerana perkhidmatan kami tidak berorientasikan kepada pelbagai senario aplikasi umum, tetapi hanya kepada perkhidmatan model dalam talian, tidak perlu mempertimbangkan keserasian dengan lebih banyak senario. Lapisan antara muka API menyediakan tiga bahagian yang model akan bersentuhan dengan: Bagi pengguna, hanya bahagian oren dalam gambar yang perlu dibimbangkan, dan API yang disediakan oleh platform boleh mengurangkan pembangunan kos rendah dan serasi dengan hampir semua algoritma di pasaran. Menggunakan API untuk membangunkan model, proses dari pembangunan hingga pelaksanaan boleh diselesaikan dalam masa sehari atau setengah hari. Selain itu, melalui pengurusan kluster, kami boleh menyediakan jaminan kestabilan, pengurusan trafik dan pengurusan kapasiti yang baik untuk platform. Berikut menunjukkan senario dua lelaran pengoptimuman pada ATLAS. Contohnya Semasa pelaksanaan model OCR, beberapa kes buruk akan dijana selepas model lama digunakan ini akan digabungkan dengan data anotasi sedia ada untuk menjadi set data baharu kemudiannya akan dioptimumkan melalui Saluran paip pengoptimuman AutoML untuk menjana model baharu Selepas penggunaan, kitaran berulang. Melalui kitaran sedemikian, model boleh mengekalkan peningkatan ketepatan 1% tambahan Memandangkan ketepatan model OCR adalah sangat tinggi, secara amnya melebihi 95%, 1% juga merupakan peningkatan yang besar. Untuk kesederhanaan Proses pengoptimuman berulang digantikan dengan AutoML proses penuh digunakan sebagai pengoptimuman tambahan untuk senario yang memerlukan pengalaman pakar Hasil daripada AutoML proses penuh digunakan sebagai Baseline untuk memilih model optimum untuk penggunaan dan dalam talian. Dalam syarikat kami, lebih daripada 60% senario telah mencapai peningkatan prestasi melalui kaedah pengoptimuman sedemikian, dengan kesan peningkatan antara 1% hingga 5%. Berikut memperkenalkan teknologi AutoML yang kami gunakan dan perkara yang kami lakukan penambahbaikan. Pertama sekali, mari kita perkenalkan kelebihan AutoML berbanding pemodelan pakar tradisional Kelebihan. Kelebihan AutoML terbahagi kepada tiga aspek: Berikut ialah pengenalan kepada teknologi yang biasa digunakan dalam AutoML .
6 ATLAS: penempatan dalam talian
7 ATLAS: Lelaran Pengoptimuman
2. Pembelajaran mesin automatik
1. Pemodelan pakar dan AutoML
2. Pengenalan kepada AutoML
Teknologi AutoML yang biasa digunakan merangkumi tiga aspek:
Bahagian berikut masing-masing memperkenalkan ketiga-tiga aspek teknologi ini.
3 Platform pembelajaran mesin automatik: saluran paip pengoptimuman automatik
Yang pertama ialah bahagian pengoptimuman parameter super. Malah, dalam saluran paip pengoptimuman automatik kami, keseluruhan saluran paip pembelajaran mesin digunakan sebagai sasaran pengoptimuman automatik, bukan hanya untuk pengoptimuman hiperparameter. Termasuk kejuruteraan ciri automatik, pemilihan model, latihan model dan penyepaduan automatik, dsb., ini mengurangkan kemungkinan pemasangan berlebihan berbanding pengoptimuman hiperparameter individu.
Selain itu, kami telah melaksanakan rangka kerja AutoML, Genesis, agar serasi dengan algoritma AI arus perdana dan alatan AutoML, dan mesra kepada pengembangan. Ia boleh mengortogonkan modul keupayaan yang berbeza dalam platform untuk menjadikannya digabungkan secara bebas untuk mencapai saluran paip pengoptimuman automatik yang lebih fleksibel.
juga digunakan dalam kami sistem Kaedah meta-pembelajaran diperkenalkan di bawah. Keperluan kaedah meta-pembelajaran dan senario aplikasi utama diperkenalkan di bawah.
(1) Keperluan meta-pembelajaran
Selepas mengumpul jumlah yang besar data percubaan Selepas itu, kami mendapati bahawa set data menunjukkan pengagregatan yang jelas dalam ruang ciri meta, jadi kami mengandaikan bahawa penyelesaian optimum set data dengan pengedaran rapat dalam ruang ciri meta juga akan hampir. Berdasarkan andaian ini, kami menggunakan hiperparameter tugas sejarah untuk membimbing pengoptimuman parameter tugas baharu dan mendapati bahawa carian hiperparameter akan menumpu lebih cepat, dan di bawah belanjawan terhad, kesan algoritma boleh dipertingkatkan dengan tambahan 1%.
(2) Senario aplikasi
Dalam senario aplikasi data besar, kadangkala perlu untuk menggabungkan set data sedia ada, seperti set data A dan set data B bercantum untuk menjana set data baharu C. Jika hiperparameter set data A dan set data B digunakan sebagai permulaan sejuk bagi set data C untuk membimbing pengoptimuman hiperparameter set data C, di satu pihak, ruang carian boleh menjadi dikunci , sebaliknya, ia boleh mencapai hasil pengoptimuman parameter yang optimum.
Dalam proses pembangunan sebenar, kadangkala perlu mengambil sampel set data, dan kemudian melakukan pengoptimuman hiperparameter pada set data sampel Kerana taburan spatial ciri meta bagi data sampel adalah hampir dengan data asal, data asal set digunakan Menggunakan hiperparameter untuk membimbing pengoptimuman hiperparameter data sampel boleh meningkatkan kecekapan pengoptimuman.
Akhirnya. Ia adalah pengoptimuman automatik kami untuk senario pembelajaran mendalam. Ia terbahagi kepada dua aspek: pengoptimuman parameter super dan penerokaan NAS:
Hambatan pembangunan pembelajaran mendalam ialah masa latihan Satu lelaran mengambil masa berjam-jam hingga berhari-hari Kemudian menggunakan pengoptimuman Bayesian tradisional memerlukan dua puluh atau tiga puluh lelaran, dan masa latihan adalah selama satu Bulan. kepada beberapa bulan. Oleh itu, kami akan menggunakan kaedah Hyperband untuk menyediakan benih untuk pengoptimuman Bayesian dalam bahagian pengoptimuman hiperparameter pembelajaran mendalam untuk mempercepatkan proses carian hiperparameter. Atas dasar ini, kami juga akan menggunakan maklumat data sejarah untuk mengoptimumkan permulaan sejuk dan menggunakan model alternatif sejarah untuk penyepaduan, yang akan mencapai penyelesaian optimum global pada kelajuan penumpuan yang lebih cepat daripada permulaan rawak.
Dalam senario pembangunan sebenar, senario penggunaan yang berbeza mempunyai kesan pada skala model dan masa Keperluan prestasi adalah berbeza Kedua, pengoptimuman struktur rangkaian saraf adalah bahagian penting dalam pengoptimuman model. Kita perlu menghapuskan gangguan manual dalam langkah ini. Jadi kami mencadangkan kaedah NAS satu pukulan ini berdasarkan keterjeratan berat Kecekapan carian boleh mencapai lebih daripada 3 kali ganda daripada kaedah DARTS klasik, dan jumlah parameter dan kos pengiraan model subrangkaian yang dicari boleh dikawal dipilih mengikut sasaran. Selain itu, kami juga menyokong pelbagai ruang seperti MobileNet dan ResNet untuk memenuhi keperluan tugas CV yang berbeza.
Akhir sekali, mari kita bincangkan isu yang kami hadapi semasa pembinaan pembelajaran mesin platform Isu skala dan kecekapan.
Sebab mengapa kami memberi tumpuan kepada isu skala dan kecekapan adalah kerana pembelajaran mendalam menghadapi Ini mewakili konflik antara saiz model dan keperluan pengiraan. Ia adalah konsensus industri bahawa lebih banyak parameter model bermakna prestasi model yang lebih baik. Terdapat Hukum Moore berikut dalam pembelajaran mendalam:
Saiz parameter model meningkat sepuluh kali setahunPrestasi perkakasan meningkat dua kali ganda dalam tempoh 18 bulan
Kaedah pengoptimuman yang paling biasa digunakan ialah keselarian, termasuk keselarian data, keselarian model, dll. Yang paling biasa digunakan ialah teknologi selari data.
Teknologi selari data platform ATLAS mempunyai ciri-ciri berikut:
Sebagai fungsi asas ATLAS, ia boleh digunakan tanpa sebarang makna; bukan sahaja menyokong model rangkaian saraf tiruan , juga menyokong model Boosting, seperti XGB, LGBM, dll.; 🎜>Dari segi kesan pengoptimuman, untuk kedua-dua model rangkaian saraf dan model Boosting, daya tampung dipertingkatkan secara linear, dan untuk model rangkaian saraf, latihan selari meningkat skala yang boleh dilatih dan boleh mempercepatkan kelajuan penumpuan Akhirnya, ketepatan model boleh dipertingkatkan.
Skala parameter lapisan tersambung sepenuhnya bagi sesetengah model rangkaian adalah sangat besar Sebagai contoh, skala klasifikasi arcFace adalah setinggi berpuluh-puluh, berjuta-juta malah berpuluh-puluh juta lapisan yang disambungkan sepenuhnya tidak boleh dilindungi oleh kad GPU. Pada masa ini, teknologi selari intra-lapisan perlu diperkenalkan, dan nod yang berbeza mengira bahagian yang berlainan bagi tensor yang sama.
Teknologi selari antara lapisan juga akan digunakan, iaitu, data lapisan berbeza rangkaian dikira pada nod yang berbeza, dan pengiraan tidak bergantung didahulukan untuk mengurangkan IDLE (masa menunggu GPU) dalam proses pengiraan .
Selain data linear yang boleh diterangkan oleh tensor, kami membuat beberapa graf Penerokaan latihan selari data.
Untuk data graf, sama ada ia adalah pensampelan atau operasi lain, ia perlu merentas nod secara dinamik dan data graf adalah secara amnya berskala besar Semuanya sangat besar Data graf dalaman kami telah mencecah puluhan bilion Sukar untuk menyelesaikan pengiraan data graf tersebut pada satu mesin.
Hambatan pengkomputeran teragih data graf ialah jadual pemetaan Kerumitan ruang jadual pemetaan tradisional ialah O(n), seperti 1 bilion mata 1 bilion Data graf tepi menduduki 160GB memori, membentuk siling skala untuk latihan teragih. Kami mencadangkan kaedah dengan kerumitan ruang O(1) Dengan menyusun semula ID nod dan tepi, hanya sempadan pemetaan dikekalkan, mencapai kesan bahawa skala latihan selari graf boleh dikembangkan sewenang-wenangnya.
Pada masa yang sama, kami juga telah membuat beberapa pengoptimuman dari segi kecekapan latihan. .
Banyak masa GPU dihabiskan untuk membaca data, GPU melahu, dsb. Melalui pra-latihan, pemantauan dalam proses dan amaran awal serta analisis selepas acara, purata penggunaan GPU boleh digandakan. Kami juga menggunakan teknologi pengiraan semula Backpropagation diguna pakai. Untuk sesetengah model dengan parameter yang sangat banyak, semasa proses perambatan ke hadapan, kami tidak menyimpan hasil pengiraan semua lapisan, tetapi hanya mengekalkan pusat pemeriksaan beberapa nod Semasa perambatan ke belakang, nod parameter kosong dikira semula dari pusat pemeriksaan. Dengan cara ini, sumber ingatan boleh dikurangkan lebih daripada 50%, dan kecekapan latihan boleh dipertingkatkan lebih daripada 35%.
Akhir sekali, mari bercakap tentang pengalaman dan pemikiran kami dalam pembinaan platform pembelajaran mesin.
telah meringkaskan beberapa pengalaman seperti berikut:
Oleh kerana pelaksanaan algoritma AI kami melibatkan semua aspek teknologi dan kandungan, saya tidak boleh meminta pelajar dalam mana-mana pautan untuk memahami keseluruhan situasi, jadi kami mesti mempunyai platform yang boleh menyediakan keupayaan asas ini untuk membantu semua orang menyelesaikan masalah ini.
Oleh kerana hanya jika aplikasi automasi atau AutoML dilakukan dengan baik, produktiviti pakar algoritma boleh dibebaskan dengan lebih berkesan, membolehkan pakar algoritma melakukan lebih mendalam algoritma , atau pembinaan kapasiti untuk meningkatkan had atas pembelajaran mesin.
A1: Rangka kerja AutoML sumber terbuka yang paling biasa digunakan ialah Optuna Saya juga telah mencuba Auto-Sklearn dan AutoWeka Kemudian saya mengesyorkan tapak web kepada semua orang, automl.org. Kerana sebenarnya terdapat sedikit orang yang bekerja dalam bidang ini sekarang, tapak web ini adalah tapak web yang dibina oleh beberapa pakar dan profesor dalam bidang AutoML Ia mempunyai banyak bahan pembelajaran sumber terbuka untuk AutoML yang boleh dirujuk oleh semua orang. Rangka kerja sumber terbuka yang kami cadangkan ialah Optuna, yang kami gunakan untuk pelarasan parameter, kerana algoritmanya bukan sahaja pengoptimuman Bayesian yang paling asas, Ia adalah algoritma TPE, yang lebih sesuai untuk parameter yang sangat besar, pengoptimuman Bayesian masih lebih sesuai untuk beberapa senario dengan parameter yang agak sedikit Walau bagaimanapun, cadangan saya ialah anda boleh mencuba beberapa kaedah yang berbeza untuk senario yang berbeza, kerana selepas lebih banyak percubaan, anda mungkin mempunyai pendapat yang berbeza tentang senario apakah Kaedah yang sesuai untuk lebih banyak pengalaman.
S2: Berapa lamakah kitaran pembangunan platform pembelajaran mesin?A2: Sudah 3 atau 4 tahun sejak pembinaan platform pembelajaran mesin kami. Pada mulanya, kami mula-mula menyelesaikan masalah menggunakan aplikasi, dan kemudian mula membina keupayaan pengeluaran kami, seperti pengkomputeran dan latihan. Jika anda membinanya dari awal, saya cadangkan anda merujuk kepada beberapa rangka kerja sumber terbuka untuk membinanya dahulu, dan kemudian lihat jenis masalah yang anda akan hadapi dalam senario perniagaan anda semasa penggunaan, untuk menjelaskan arah pembangunan masa hadapan.
S3: Bagaimana untuk menghapuskan overfitting semasa pengesahan silang?A3: Ini mungkin masalah pengoptimuman algoritma yang lebih khusus, tetapi dalam saluran paip pengoptimuman kami, kami melatih melalui kaedah pensampelan, melalui ini Kaedah ini membolehkan tugas kami melihat lebih banyak sudut, atau aspek, set data, dan kemudian menyepadukan model teratas yang dilatih selepas pensampelan untuk memberikan model kami keupayaan generalisasi yang lebih kukuh. Ini juga merupakan kaedah yang sangat penting dalam adegan kami. J4: Seperti yang dinyatakan sebentar tadi, kitaran pembangunan ini mengambil masa kira-kira tiga hingga empat tahun. Kemudian, dari segi pelaburan kakitangan, pada masa ini terdapat enam atau tujuh pelajar Pada masa awal, bilangannya lebih kurang daripada ini. A5: Pertama sekali, GPU maya yang disebut oleh pelajar ini harus merujuk kepada pembahagian dan pengasingan sumber. Jika kita sedang membina platform pembelajaran mesin, memayakan GPU harus menjadi keupayaan yang diperlukan Ini bermakna kita mesti memayakan sumber untuk mencapai penjadualan dan peruntukan sumber yang lebih baik. Kemudian atas dasar ini, kami juga boleh membahagikan memori video GPU kami dan sumber pengkomputerannya, dan kemudian memperuntukkan blok sumber dengan saiz yang berbeza untuk tugasan yang berbeza, tetapi kami sebenarnya tidak berlatih pada ketika ini, kerana tugas latihan biasanya mempunyai lebih tinggi keperluan untuk kuasa pengkomputeran, dan ia tidak akan menjadi senario aplikasi dengan penggunaan sumber yang lebih kecil Kami akan menggunakannya dalam senario inferens. Semasa proses permohonan sebenar, kami mendapati bahawa tiada penyelesaian percuma sumber terbuka yang baik untuk teknologi virtualisasi Sesetengah vendor perkhidmatan awan akan menyediakan beberapa penyelesaian berbayar, jadi kami menggunakan penyelesaian pemultipleksan perkongsian masa untuk penggunaan, iaitu Mencampurkan beberapa tugas dengan tinggi. keperluan pengkomputeran dan beberapa tugas dengan keperluan pengkomputeran yang rendah untuk mencapai pemultipleksan perkongsian masa boleh mencapai kesan peningkatan kapasiti pada tahap tertentu. A6: Kita boleh mendekati nisbah pecutan linear Jika kita mengukurnya sendiri, ia mungkin boleh mencapai tahap 80 hingga 90 apabila ia lebih baik. Sudah tentu, jika bilangan nod adalah sangat besar, pengoptimuman selanjutnya mungkin diperlukan Sekarang anda boleh menerbitkan kertas kerja atau melihat kertas yang menyebut bahawa 32 atau 64 nod boleh mencapai nisbah pecutan 80 atau 90. Itu mungkin perlu pengoptimuman yang lebih khusus. Tetapi jika kami berada dalam platform pembelajaran mesin, kami mungkin perlu menyasarkan julat senario yang lebih luas Dalam senario sebenar, kebanyakan latihan mungkin memerlukan 4 kad GPU atau 8 kad GPU, dan sehingga 16 kad GPU boleh memenuhi keperluan. A7: Dalam situasi ideal AutoML kami, pengguna tidak perlu mengkonfigurasi sebarang parameter. Sudah tentu, kami akan membenarkan pengguna melaraskan atau menentukan beberapa parameter mengikut keperluan mereka. Dari segi penggunaan masa, untuk semua senario AutoML kami, matlamat kami adalah untuk menyelesaikan pengoptimuman dalam masa satu hari. Dan dari segi kuasa pengkomputeran, jika ia adalah pemodelan data besar umum, seperti model pokok XGB, LGBM, dll., walaupun satu mesin boleh mengendalikannya jika ia adalah tugas GPU, ia bergantung pada skala tugas GPU itu sendiri pada asasnya latihan AutoML boleh diselesaikan dengan 2 hingga 3 kali kuasa pengkomputeran skala latihan asal. J8: Soalan ini telah disebut tadi Anda boleh merujuk kepada Optuna, Auto-Sklearn dan AutoWeka. Dan saya baru sahaja menyebut laman web automl.org Ia mempunyai banyak maklumat mengenainya. Anda boleh pergi dan mempelajarinya. A9: EasyDL adalah daripada Baidu, dan rangka kerja kami dibangunkan sendiri sepenuhnya. Itu sahaja perkongsian hari ini, terima kasih semua. S4: Berapakah kitaran pembangunan dan pelaburan kakitangan apabila kami membina keseluruhan platform pembelajaran mesin?
S5: Adakah pemayaan GPU akan menambah baik platform pembelajaran mesin?
S6: Apakah nisbah pecutan latihan selari teragih berbilang nod? Bolehkah ia hampir dengan linear?
S7: Apakah parameter yang pengguna perlu konfigurasikan apabila menggunakan AutoML? Berapakah kuasa dan masa pengkomputeran yang diperlukan oleh keseluruhan pengiraan?
S8: Apakah rangka kerja pembelajaran mesin sumber terbuka yang boleh saya rujuk?
S9: Apakah hubungan dengan EasyDL?
Atas ialah kandungan terperinci Amalan platform pembelajaran mesin automatik Duxiaoman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!