


Flying Paddle direka dan diamalkan untuk keselarian automatik dalam senario heterogen.
1. Pengenalan latar belakang
Sebelum memperkenalkan paralelisme automatik, mari kita fikirkan mengapa keselarian automatik diperlukan? Di satu pihak, terdapat struktur model yang berbeza, dan di sisi lain, terdapat pelbagai strategi selari secara amnya terdapat hubungan pemetaan banyak-ke-banyak antara kedua-duanya. Dengan mengandaikan bahawa kita boleh melaksanakan struktur model bersatu untuk memenuhi pelbagai keperluan tugas, adakah strategi selari kita akan mencapai penumpuan pada struktur model bersatu ini?
Jawapannya tidak, kerana strategi selari bukan sahaja berkaitan dengan struktur model ; Saiz model dan sumber mesin sebenar yang digunakan adalah berkait rapat. Ini mencerminkan nilai selari automatik Matlamatnya ialah: selepas pengguna diberikan model dan sumber mesin yang digunakan, ia secara automatik boleh membantu pengguna memilih strategi selari yang lebih baik atau optimum untuk pelaksanaan yang cekap.
Berikut ialah senarai beberapa pekerjaan yang saya minati. Ia mungkin tidak lengkap. Saya ingin membincangkan status semasa dan sejarah paralelisme automatik dengan awak. Ia secara kasar dibahagikan kepada beberapa dimensi: dimensi pertama ialah tahap selari automatik, yang dibahagikan kepada automatik sepenuhnya dan separa automatik adalah kebutiran selari, yang menyediakan strategi selari untuk setiap Lapisan atau untuk setiap operator tensor untuk menyediakan strategi selari; yang ketiga adalah kebolehan perwakilan, yang dipermudahkan kepada dua kategori: SPMD (Single Program Multiple Data) paralelisme dan Pipeline parallelism, berikut adalah senarai kerja berkaitan yang saya rasa lebih tersendiri . tempat kelima ialah perkakasan sokongan, terutamanya menulis jenis dan kuantiti perkakasan terbesar yang disokong oleh kerja berkaitan. Antaranya, bahagian yang ditandakan dengan warna merah adalah terutamanya titik pencerahan untuk pembangunan selari automatik dayung terbang.
Untuk keselarian automatik sepenuhnya, kita dapat melihat bahawa kebutiran selari ditentukan oleh kasar proses pembangunan daripada butiran kepada butiran halus adalah daripada SPMD yang agak mudah kepada model yang sangat umum dan Paip yang disokong adalah daripada CNN yang ringkas kepada RNN kepada GPT yang lebih kompleks walaupun ia menyokong berbilang mesin dan berbilang kad; Tetapi skala keseluruhannya tidak begitu besar.
Untuk selari separa automatik, kebutiran selari pada asasnya berdasarkan operator , dan keupayaan perwakilan terdiri daripada SPMD mudah untuk melengkapkan strategi selari SPMD ditambah Pipeline, skala sokongan model mencecah ratusan bilion dan trilion, dan bilangan perkakasan yang digunakan mencapai tahap kilokalori.
Dari perspektif rangka kerja, kita dapat melihat bahawa rangka kerja sedia ada pada asasnya adalah mod automatik telah disokong atau dirancang untuk disokong, dan butiran selari juga telah dibangunkan kepada butiran pengendali Keupayaan perwakilan pada asasnya menggunakan perwakilan lengkap SPMD ditambah Pipeline, dan berorientasikan kepada pelbagai model dan pelbagai perkakasan.
Berikut ialah ringkasan beberapa pemikiran peribadi:
① Perkara pertama ialah strategi yang diedarkan disatukan secara beransur-ansur dalam perwakilan asas.
② Perkara kedua, separa automatik akan beransur-ansur menjadi paradigma pengaturcaraan teragih bagi rangka kerja, manakala automatik sepenuhnya akan meneroka pelaksanaan berdasarkan senario tertentu dan peraturan empirikal. .
③ Perkara ketiga ialah untuk mencapai prestasi akhir ke hujung yang muktamad, yang memerlukan penalaan bersama strategi selari dan strategi pengoptimuman.
2. Reka bentuk seni bina
Secara amnya, latihan teragih yang lengkap merangkumi 4 proses khusus. Yang pertama ialah pembahagian model Sama ada penyelarasan manual atau penyelarasan automatik, model perlu dibahagikan kepada pelbagai tugas yang boleh diselaraskan memohon daripada platform ; Kemudian terdapat penempatan tugas (atau pemetaan tugas), yang bermaksud meletakkan tugas yang dibahagikan pada sumber yang sepadan, akhirnya terdapat pelaksanaan yang diedarkan, yang bermaksud tugas pada setiap peranti dilaksanakan secara selari dan disegerakkan dan berinteraksi melalui mesej. komunikasi.
Sesetengah penyelesaian arus perdana semasa mempunyai beberapa masalah: dalam satu pihak, mereka mungkin hanya mempertimbangkan beberapa proses dalam latihan yang diedarkan, atau hanya menumpukan pada beberapa proses; yang kedua ialah mereka terlalu bergantung mengenai pengalaman pakar Peraturan, seperti pembahagian model dan peruntukan sumber akhirnya, kekurangan kesedaran tentang tugas dan sumber semasa keseluruhan proses latihan;
Seni bina latihan teragih adaptif hujung ke hujung yang direka oleh Fei Paddle secara komprehensif mempertimbangkan 4 asas proses Di atas, yang kelima proses ditambah, iaitu penjadualan fleksibel. Konsep reka bentuk teras kami terutamanya merangkumi tiga perkara ini:
Pertama, pengkomputeran dan sumber dinyatakan dalam cara yang bersatu, dan pengkomputeran serta sumber adalah sama penting. Selalunya orang lebih prihatin tentang cara membahagikan model, tetapi kurang perhatian diberikan kepada sumber. Di satu pihak, kami menggunakan graf pengkomputeran teragih bersatu untuk mewakili pelbagai strategi selari, sebaliknya, kami menggunakan graf sumber teragih bersatu untuk memodelkan pelbagai sumber mesin, yang boleh mewakili isomorfik, Ia juga boleh mewakili hubungan sambungan sumber heterogen; termasuk keupayaan pengkomputeran dan penyimpanan sumber itu sendiri.
Kedua, memaksimumkan penyahgandingan Sebagai tambahan kepada penyahgandingan antara modul, kami juga akan mengasingkan segmentasi logik daripada peletakan fizikal dan pelaksanaan teragih, supaya model yang berbeza dapat direalisasikan dengan lebih baik dalam sumber Kluster yang berbeza berprestasi dengan cekap.
Ketiga, penyesuaian hujung ke hujung merangkumi semua proses yang terlibat dalam latihan teragih dan menggunakan model perwakilan global untuk memacu keputusan penyesuaian pada strategi selari atau penempatan sumber untuk menggantikan penyesuaian manual sebanyak mungkin. Bahagian yang dibingkai dalam warna biru muda dalam gambar di atas ialah kerja berkaitan selari automatik yang diperkenalkan dalam laporan ini.
1 graf pengkomputeran teragih Bersatu
Yang pertama ialah graf pengkomputeran teragih bersatu. Tujuan penyatuan adalah untuk memudahkan kami menyatakan pelbagai strategi selari sedia ada dengan cara yang bersatu, yang kondusif untuk pemprosesan automatik. Seperti yang kita sedia maklum, graf pengiraan bersiri boleh mewakili pelbagai model Begitu juga, berdasarkan graf pengiraan bersiri, kami menambah atribut teragih kepada setiap operator dan tensor untuk berfungsi sebagai graf pengiraan teragih Pendekatan berbutir halus ini boleh mewakili sedia ada strategi selari, dan semantik akan menjadi lebih kaya dan lebih umum, dan ia juga boleh mewakili strategi selari baharu. Atribut teragih dalam graf pengkomputeran teragih terutamanya merangkumi tiga aspek maklumat: 1) Ia perlu menunjukkan cara membahagi tensor atau cara memisahkan operator 2) Ia perlu menunjukkan sumber yang digunakan untuk pengkomputeran teragih; untuk membelahnya Tensor atau operator yang terhasil dipetakan ke sumber. Berbanding dengan graf pengkomputeran bersiri, graf pengkomputeran teragih mempunyai tiga konsep asas: tensor teragih, yang serupa dengan tensor bersiri, yang serupa dengan penyusunan semula teragih, yang diedarkan Unik kepada graf pengiraan;
(1) Tensor teragih
Mula-mula, perkenalkan tiga aspek maklumat yang disertakan dalam tensor teragih:
① Maklumat tensor bersiri: Terutamanya mengandungi beberapa meta-maklumat seperti bentuk tensor dan dtype Secara amnya, pengiraan sebenar tidak memerlukan instantiasi tensor bersiri.
② ProcessMesh: Perwakilan topologi kartesi proses adalah berbeza daripada DeviceMesh Sebab kami menggunakan ProcessMesh terutamanya untuk mengharapkan proses logik boleh dipadankan dengan peranti fizikal A decoupling, yang memudahkan pemetaan tugas yang lebih cekap.
③ ShardSpec: digunakan untuk menunjukkan dimensi ProcessMesh yang digunakan untuk memisahkan setiap dimensi siri tensor , sila lihat contoh di bawah untuk butiran.
Andaikan terdapat tensor 6*12 dua dimensi dan ProcessMesh 3*2 (dimensi pertama ialah x , dimensi kedua ialah y, dan elemen ialah ID proses). Jika ShardSpec ialah [Tiada, Tiada], ini bermakna dimensi ke-0 dan ke-2 tensor tidak dibahagikan dan terdapat tensor penuh pada setiap proses. Jika ShardSpec ialah ['x', 'y'], ini bermakna paksi-x ProcessMesh digunakan untuk memotong dimensi ke-0 tensor dan paksi-y ProcessMesh digunakan untuk memotong dimensi pertama tensor. , supaya setiap proses mempunyai saiz tensor tempatan 2*6. Ringkasnya, melalui ProcessMesh dan ShardSpec dan maklumat bersiri sebelum tensor dipecah, adalah mungkin untuk mewakili situasi pemisahan tensor pada proses yang berkaitan.
(2) Pengendali teragih
Pengendali teragih Perwakilan adalah berdasarkan pada tensor teragih dan termasuk maklumat operator bersiri, sifat teragih tensor input dan output. Begitu juga, tensor teragih mungkin sepadan dengan kaedah penghirisan berbilang Atribut teragih dalam operator teragih adalah berbeza dan sepadan dengan kaedah penghirisan yang berbeza. Mengambil operator pendaraban segi empat tepat Y=X*W sebagai contoh, jika atribut pengedaran input dan output adalah berbeza, ia sepadan dengan pelaksanaan operator teragih yang berbeza (atribut pengedaran termasuk ProcessMesh dan ShardSpec). Untuk pengendali teragih, ProcessMesh tensor input dan outputnya adalah sama.
(3) Susunan semula teragih
Yang terakhir ialah penyusunan semula teragih, iaitu satu konsep yang graf pengkomputeran teragih mesti perlu berurusan dengan situasi di mana sifat taburan tensor sumber dan tensor destinasi adalah berbeza. Sebagai contoh, terdapat dua operator dalam pengiraan Operator sebelumnya menghasilkan y, yang berbeza daripada operator seterusnya menggunakan atribut teragih y (ditunjukkan oleh warna yang berbeza dalam rajah pada masa ini, kita perlu memasukkan tambahan Operasi reshard untuk melaksanakannya melalui komunikasi Intipati penyusunan semula teragih tensor adalah untuk menangani ketidakpadanan antara pengeluaran dan penggunaan.
Terdapat tiga sebab utama ketidakpadanan: 1) Ia menyokong pengasingan data dan pengiraan, jadi terdapat kaedah rawatan yang berbeza untuk tensor dan operator yang menggunakan ia. Atribut teragih; 2) Menyokong penandaan yang ditentukan oleh pengguna bagi atribut teragih yang berbeza untuk tensor dan operator yang menggunakannya; atribut formula tidak disokong, penyusunan semula yang diedarkan juga diperlukan.
2. Peta sumber teragih Bersatu
Selepas memperkenalkan tiga konsep asas graf pengkomputeran teragih bersatu, mari lihat graf sumber teragih bersatu Pertimbangan reka bentuk utama ialah: 1) Menyokong gugusan heterogen bermakna gugusan mungkin mempunyai sumber CPU, GPU dan XPU . ; 2) Mewakili sambungan topologi, yang meliputi hubungan sambungan hierarki kluster, termasuk kuantifikasi keupayaan sambungan, seperti lebar jalur atau kependaman 3) Pemodelan peranti itu sendiri, termasuk keupayaan storan dan pengkomputeran. Untuk memenuhi keperluan reka bentuk di atas, kami menggunakan Kluster untuk mewakili sumber teragih, yang mengandungi berbilang DeviceMesh isomorfik. Setiap DeviceMesh akan mengandungi Graf yang terdiri daripada pautan Peranti.
Ini adalah contoh dalam gambar di atas, anda boleh melihat bahawa terdapat 4 mesin, termasuk 2 mesin GPU dan 2 mesin XPU. Untuk 2 mesin GPU, satu DeviceMesh isomorphic akan digunakan dan untuk 2 mesin XPU, DeviceMesh isomorphic lain akan digunakan. Untuk kluster tetap, DeviceMeshnya ditetapkan, dan pengguna mengendalikan ProcessMesh, yang boleh difahami sebagai abstraksi DeviceMesh Pengguna boleh membentuk semula dan menghiris sesuka hati, dan akhirnya proses ProcessMesh akan dipetakan secara seragam ke peranti DeviceMesh.
diwakili oleh graf pengkomputeran teragih halus berdasarkan tensor dan pengendalinya boleh meliputi strategi selari sedia ada dan juga strategi selari baharu yang mungkin muncul pada masa hadapan. Keselarian data adalah untuk memisahkan dimensi Batch tensor data. Model membahagikan dimensi berkaitan berat secara selari. Keselarian saluran paip diwakili oleh ProcessMesh yang berbeza, yang boleh dinyatakan sebagai selari Saluran Paip yang lebih fleksibel Contohnya, Peringkat Talian Paip boleh menyambungkan berbilang Peringkat Talian Paip, dan bentuk ProcessMesh yang digunakan oleh Peringkat yang berbeza boleh berbeza. Keselarian saluran paip beberapa rangka kerja lain dicapai melalui Nombor Peringkat atau Peletakan, yang tidak cukup fleksibel dan serba boleh. Keselarian hibrid ialah campuran keselarian data, keselarian model tensor dan keselarian saluran paip.
3. Pelaksanaan utama
Bahagian hadapan ialah reka bentuk seni bina selari automatik dayung terbang dan pengenalan beberapa abstrak konsep. Berdasarkan asas sebelumnya, mari kita perkenalkan proses pelaksanaan dalaman paralelisasi automatik dayung terbang melalui contoh rangkaian lapisan 2 FC.
Gambar di atas ialah keseluruhan carta alir selari automatik dayung terbang. Pertama, kami akan melakukan penjanaan songsang berdasarkan graf pengiraan hadapan bersiri untuk mendapatkan graf pengiraan lengkap termasuk subgraf ke hadapan, ke belakang dan kemas kini. Kemudian, adalah perlu untuk menjelaskan sifat teragih setiap tensor dan setiap operator dalam rangkaian. Sama ada kaedah terbitan separa automatik atau kaedah carian automatik sepenuhnya boleh digunakan. Laporan ini menerangkan terutamanya kaedah terbitan separa automatik, iaitu untuk menyimpulkan sifat teragih tensor dan pengendali tidak berlabel lain berdasarkan sebilangan kecil label pengguna. Selepas terbitan melalui sifat teragih, setiap tensor dan setiap operator dalam graf pengiraan bersiri mempunyai sifat teragihnya sendiri. Berdasarkan atribut teragih, graf pengiraan bersiri mula-mula diubah menjadi graf pengiraan teragih logik yang menyokong selari SPMD melalui modul segmentasi automatik, dan kemudian melalui penyusunan semula teragih, graf pengiraan teragih logik yang menyokong selari Paip direalisasikan. Graf pengkomputeran teragih logik yang dijana akan diubah menjadi graf pengkomputeran teragih fizikal melalui pemetaan fizikal Pada masa ini, hanya pemetaan satu dengan satu bagi satu proses dan satu peranti disokong. Akhir sekali, graf pengkomputeran teragih fizikal ditukar menjadi graf pergantungan tugas sebenar dan diserahkan kepada pelaksana tak segerak untuk pelaksanaan sebenar.
1. Derivasi atribut teragih
Terbitan atribut teragih diberi sifat teragih beberapa tensor dan operator dalam graf pengiraan, sifat teragih semua tensor dan operator lain dilengkapkan secara automatik. Contohnya ialah dua pengiraan Matmul Pengguna hanya menandakan dua atribut teragih parameter, yang bermaksud bahawa W1 melakukan pemotongan lajur pada proses 0 dan 1, dan W2 melakukan pemotongan baris pada proses 2 dan 3. Terdapat dua ProcessMesh yang berbeza .
Penerbitan atribut teragih dibahagikan kepada dua langkah: 1) Mula-mula menjalankan penghantaran ProcessMesh untuk melaksanakan segmentasi Saluran Paip 2) Kemudian menjalankan penghantaran ShardSpec untuk melaksanakan segmentasi SPMD dalam satu Peringkat. Derivasi ProcessMesh menggunakan Program linear paddle terbang lR, dan menggunakan strategi pemilihan terdekat untuk derivasi mengikut Susunan Program statik Ia menyokong pengiraan yang disertakan, iaitu, jika terdapat dua ProcessMesh, satu lebih besar dan satu lagi lebih kecil, maka. yang lebih besar dipilih sebagai ProcessMesh terakhir. Derivasi ShardSpec menggunakan Flying Paddle SSA Graph IR untuk melakukan analisis aliran data ke hadapan dan ke belakang untuk derivasi Sebab mengapa analisis aliran data boleh digunakan adalah kerana semantik ShardSpec memenuhi sifat Semilattice analisis aliran data. Analisis aliran data secara teorinya boleh menjamin penumpuan Dengan menggabungkan analisis ke hadapan dan ke belakang, sebarang maklumat tanda kedudukan dalam graf pengiraan boleh disebarkan ke keseluruhan graf pengiraan, dan bukannya merambat dalam satu arah sahaja.
Berdasarkan terbitan atribut teragih, setiap jumlah tensor dalam graf dikira secara bersiri Setiap operator mempunyai atribut teragih sendiri, supaya graf pengiraan boleh dibahagikan secara automatik berdasarkan atribut teragih. Mengikut contoh, graf pengiraan bersiri mesin tunggal diubah menjadi empat graf pengiraan Rank0, Rank1, Rank2, dan Rank3.
Ringkasnya, setiap operator akan dilalui, dan jumlah output dibahagikan menjadi tensor, dan kemudian setiap operator dikira dan dibahagikan. Segmentasi Tensor akan menggunakan objek Tensor Teragih untuk membina objek Tensor Tempatan, manakala segmentasi operator akan menggunakan objek Operator Teragih untuk memilih pelaksanaan teragih yang sepadan berdasarkan atribut pengedaran input dan output sebenar, serupa dengan pengagihan operator daripada a rangka kerja mesin tunggal kepada proses Kernel.
Melalui segmentasi automatik sebelumnya, hanya graf pengkomputeran teragih yang menyokong selari SPMD boleh diperolehi . Untuk menyokong paralelisme Saluran Paip, ia juga perlu diproses melalui penyusunan semula teragih, supaya dengan memasukkan operasi Reshard yang sesuai, setiap Kedudukan dalam contoh mempunyai graf pengiraan yang benar-benar bebas. Walaupun Y bagi Rank0 dalam gambar kiri adalah sama dengan Y Rank2, mereka berada pada ProcessMesh yang berbeza, mengakibatkan ketidakpadanan dalam atribut pengedaran pengeluaran dan penggunaan, jadi Reshard juga perlu dimasukkan.
Flying Paddle pada masa ini menyokong dua jenis penyusunan semula yang diedarkan. Kategori pertama ialah taburan tensor sumber yang lebih biasa dan taburan tensor sasaran pada ProcessMesh yang sama, tetapi taburan tensor sumber dan taburan tensor sasaran menggunakan kaedah penghirisan yang berbeza (iaitu, ShardSpec adalah berbeza). Kategori kedua ialah taburan tensor sumber dan tensor sasaran diedarkan pada ProcessMesh yang berbeza, dan saiz ProcessMesh boleh berbeza, seperti proses 0-5 dan proses 6-9 dalam kes 2 dalam rajah. Untuk mengurangkan komunikasi sebanyak mungkin, Flying Paddle juga melakukan pengoptimuman berkaitan pada operasi Reshard.
Selepas penyusunan semula diedarkan, graf pengkomputeran teragih logik diperolehi dan pemetaan peranti tertentu. Berdasarkan graf pengkomputeran teragih logik dan graf perwakilan sumber yang disatukan sebelum ini, operasi pemetaan fizikal dilakukan, iaitu Pemetaan Kedudukan, iaitu untuk mencari penyelesaian pemetaan optimum daripada penyelesaian pemetaan berbilang (peranti mana proses dipetakan secara khusus).
Berikut ialah pelaksanaan yang agak mudah berdasarkan peraturan tamak. Pertama, bina jadual bersebelahan antara proses dan komunikasi antara proses Tepi mewakili volum komunikasi dan nod mewakili keperluan peranti Kemudian bina jadual bersebelahan antara peranti dan nod mewakili pengkomputeran peranti ingatan. Kami akan memilih proses R secara rawak dan meletakkannya pada peranti D yang memenuhi keperluan Selepas meletakkannya, kami akan memilih proses dengan volum komunikasi yang paling besar dengan R dan meletakkannya pada peranti lain di mana D berada kaedah akan digunakan sehingga semua pemetaan proses selesai. Semasa proses pemetaan, adalah perlu untuk menentukan sama ada peranti yang dipilih sepadan dengan jenis peranti yang diperlukan oleh graf proses, serta jumlah pengiraan dan memori yang diperlukan.
Selepas pemetaan fizikal, kami akan membina rangkaian teragih berdasarkan tugasan Sebenar fizikal yang diperolehi graf pergantungan. Contoh dalam rajah ialah membina graf pergantungan tugas berdasarkan peranan hadapan, belakang dan kemas kini graf pengiraan Operator dengan peranan yang sama akan membentuk tugas. Untuk menyokong pengoptimuman kumpulan mikro, graf pergantungan tugas akan menghasilkan graf pergantungan contoh tugasan berbilang Walaupun setiap kejadian mempunyai logik pengiraan yang sama, ia menggunakan memori yang berbeza. Pada masa ini, Flying Paddle secara automatik akan membina graf tugasan berdasarkan peranan graf pengiraan, tetapi pengguna boleh menyesuaikan pembinaan tugas mengikut butiran yang sesuai. Selepas setiap proses mempunyai graf pergantungan berbilang contoh tugas, ia akan dilaksanakan secara tak segerak berdasarkan mod Aktor, dan penjadualan pelaksanaan 1F1B boleh direalisasikan secara automatik melalui kaedah dipacu mesej.
Berdasarkan keseluruhan proses di atas, kami telah melaksanakan penyejajaran automatik dengan fungsi yang agak lengkap . Tetapi hanya strategi selari tidak dapat memperoleh prestasi hujung ke hujung yang lebih baik, jadi kami juga perlu menambah strategi pengoptimuman yang sepadan. Untuk penyelarasan automatik dayung terbang, kami akan menambah beberapa strategi pengoptimuman sebelum pembahagian automatik dan selepas pembahagian rangkaian Ini kerana beberapa pengoptimuman lebih semula jadi untuk dilaksanakan dalam logik bersiri, dan beberapa pengoptimuman lebih mudah dilaksanakan selepas pembahagian mekanisme pengurusan, kami boleh memastikan gabungan bebas strategi selari dan strategi pengoptimuman dalam penyejajaran automatik dayung terbang.
4. Amalan Permohonan
Amalan permohonan diperkenalkan di bawah.
Yang pertama ialah antara muka Tidak kira bagaimana ia dilaksanakan, pengguna akhirnya akan menggunakan apa yang kita ada melalui antara muka keupayaan selari automatik yang disediakan. Jika keperluan edaran pengguna dibongkar, ia termasuk pembahagian rangkaian model, perwakilan sumber, pemuatan data teragih, kawalan proses pelaksanaan teragih, penjimatan dan pemulihan teragih, dsb. Untuk memenuhi keperluan ini, kami menyediakan kelas Enjin yang menggabungkan kemudahan penggunaan dengan fleksibiliti. Dari segi kemudahan penggunaan, ia menyediakan API peringkat tinggi, boleh menyokong panggilan balik tersuai dan proses yang diedarkan adalah telus kepada pengguna. Dari segi fleksibiliti, ia menyediakan API peringkat rendah, termasuk pembinaan pemuat data teragih, pemotongan dan pelaksanaan graf selari automatik, dan antara muka lain, membolehkan pengguna mempunyai kawalan yang lebih halus. Kedua-duanya akan berkongsi antara muka seperti shard_tensor, shard_op, save dan load.
Terdapat dua antara muka berlabel shard_op dan shard_tensor. Antaranya, shard_op boleh menandakan sama ada satu operator atau keseluruhan Modul, yang merupakan formula berfungsi. Gambar di atas adalah contoh penggunaan yang sangat mudah. Pertama, gunakan API Flying Paddle sedia ada untuk menjalankan rangkaian bersiri, di mana kami akan menggunakan shard_tensor atau shard_op untuk penandaan atribut teragih yang tidak mengganggu. Kemudian, bina enjin selari automatik dan masukkan maklumat dan konfigurasi berkaitan model. Pada masa ini, pengguna mempunyai dua pilihan Satu pilihan ialah menggunakan antara muka pesanan tinggi muat /evaluasi/ramalkan secara langsung, dan pilihan lain ialah menggunakan antara muka pemuat data+sediakan+jalan. Jika anda memilih antara muka yang sesuai, pengguna hanya perlu lulus Set Data dan rangka kerja akan memuatkan set data yang diedarkan secara automatik, menyusun proses selari secara automatik dan melaksanakan latihan yang diedarkan. Jika anda memilih antara muka pemuat data+sediakan+jalankan, pengguna boleh memisahkan pemuatan data teragih, kompilasi selari automatik dan pelaksanaan teragih, membolehkan penyahpepijatan satu langkah yang lebih baik.
PaddleFleetX ialah penyelesaian sehenti hujung ke hujung dengan kemudahan penggunaan dan prestasi tinggi Suite model besar dengan sokongan untuk keupayaan selari automatik. Jika pengguna ingin menggunakan fungsi hujung ke hujung selari automatik dayung terbang, mereka hanya perlu menyediakan rangkaian model graf dinamik bersiri. Selepas memperoleh rangkaian siri graf dinamik pengguna, pelaksanaan dalaman akan menggunakan modul dinamik dayung terbang kepada modul statik untuk menukar rangkaian kad tunggal graf dinamik kepada rangkaian kad tunggal graf statik, dan kemudian secara automatik menyusun secara selari, dan akhirnya menjalankan diedarkan latihan. Semasa penjanaan inferens, sumber mesin yang digunakan mungkin berbeza daripada yang digunakan semasa latihan Pelaksanaan dalaman juga akan melakukan segmentasi parameter penyesuaian parameter dan rangkaian. Pada masa ini, keselarian automatik dalam PaddleFleetX merangkumi strategi selari dan strategi pengoptimuman yang biasa digunakan, dan menyokong mana-mana gabungan kedua-duanya Untuk tugas yang dijana, ia juga menyokong pembahagian automatik aliran kawalan While.
5 Ringkasan dan Tinjauan
fly Masih banyak kerja yang sedang dilakukan pada paralelisme dayung automatik Ciri-ciri semasa boleh diringkaskan dalam aspek berikut:
Pertama sekali, satu kesatuan. graf pengkomputeran teragih boleh menyokong Strategi pengedaran lengkap SPMD dan Pipeline boleh menyokong perwakilan storan dan pengiraan yang dipisahkan
Kedua, graf sumber teragih bersatu boleh menyokong; Pemodelan dan perwakilan sumber heterogen;
Ketiga, sokong gabungan organik strategi selari dan strategi pengoptimuman; Keempat, ia menyediakan sistem antara muka yang agak lengkap;
Paralelisme secara amnya boleh dibahagikan kepada dua bidang (tiada pembahagian yang jelas), satu adalah tradisional Pengkomputeran teragih, salah satunya adalah pengkomputeran berprestasi tinggi tradisional, kedua-duanya mempunyai kelebihan dan kekurangan mereka sendiri. Rangka kerja perwakilan berdasarkan pengkomputeran teragih tradisional ialah TensorFlow, yang memfokuskan pada mod selari MPMD (Multiple Program-Multiple Data) dan boleh menyokong keanjalan dan toleransi kesalahan Pengalaman pengguna pengkomputeran teragih akan menjadi lebih baik, dan pengaturcaraan lebih mudah umumnya menggunakan Pengaturcaraan dari perspektif global bersiri; rangka kerja perwakilan berdasarkan pengkomputeran berprestasi tinggi tradisional ialah PyTorch, yang lebih memfokuskan pada mod SPMD (Program Tunggal-Berbilang Data) dan mengejar prestasi muktamad untuk pengaturcaraan dan bertanggungjawab untuk membahagikan model itu sendiri Dan memasukkan komunikasi yang sesuai, keperluan pengguna adalah lebih tinggi. Paralelisme automatik atau pengkomputeran teragih adaptif boleh dilihat sebagai gabungan kedua-duanya. Sudah tentu, seni bina yang berbeza mempunyai keutamaan reka bentuk yang berbeza dan perlu ditimbang mengikut keperluan sebenar Kami berharap seni bina penyesuaian dayung terbang dapat mengambil kira kelebihan kedua-dua bidang.
Atas ialah kandungan terperinci Flying Paddle direka dan diamalkan untuk keselarian automatik dalam senario heterogen.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Anotasi imej ialah proses mengaitkan label atau maklumat deskriptif dengan imej untuk memberi makna dan penjelasan yang lebih mendalam kepada kandungan imej. Proses ini penting untuk pembelajaran mesin, yang membantu melatih model penglihatan untuk mengenal pasti elemen individu dalam imej dengan lebih tepat. Dengan menambahkan anotasi pada imej, komputer boleh memahami semantik dan konteks di sebalik imej, dengan itu meningkatkan keupayaan untuk memahami dan menganalisis kandungan imej. Anotasi imej mempunyai pelbagai aplikasi, meliputi banyak bidang, seperti penglihatan komputer, pemprosesan bahasa semula jadi dan model penglihatan graf Ia mempunyai pelbagai aplikasi, seperti membantu kenderaan dalam mengenal pasti halangan di jalan raya, dan membantu dalam proses. pengesanan dan diagnosis penyakit melalui pengecaman imej perubatan. Artikel ini terutamanya mengesyorkan beberapa alat anotasi imej sumber terbuka dan percuma yang lebih baik. 1.Makesen

Dalam bidang pembelajaran mesin dan sains data, kebolehtafsiran model sentiasa menjadi tumpuan penyelidik dan pengamal. Dengan aplikasi meluas model yang kompleks seperti kaedah pembelajaran mendalam dan ensemble, memahami proses membuat keputusan model menjadi sangat penting. AI|XAI yang boleh dijelaskan membantu membina kepercayaan dan keyakinan dalam model pembelajaran mesin dengan meningkatkan ketelusan model. Meningkatkan ketelusan model boleh dicapai melalui kaedah seperti penggunaan meluas pelbagai model yang kompleks, serta proses membuat keputusan yang digunakan untuk menerangkan model. Kaedah ini termasuk analisis kepentingan ciri, anggaran selang ramalan model, algoritma kebolehtafsiran tempatan, dsb. Analisis kepentingan ciri boleh menerangkan proses membuat keputusan model dengan menilai tahap pengaruh model ke atas ciri input. Anggaran selang ramalan model

Artikel ini akan memperkenalkan cara mengenal pasti pemasangan lampau dan kekurangan dalam model pembelajaran mesin secara berkesan melalui keluk pembelajaran. Underfitting dan overfitting 1. Overfitting Jika model terlampau latihan pada data sehingga ia mempelajari bunyi daripadanya, maka model tersebut dikatakan overfitting. Model yang dipasang terlebih dahulu mempelajari setiap contoh dengan sempurna sehingga ia akan salah mengklasifikasikan contoh yang tidak kelihatan/baharu. Untuk model terlampau, kami akan mendapat skor set latihan yang sempurna/hampir sempurna dan set pengesahan/skor ujian yang teruk. Diubah suai sedikit: "Punca overfitting: Gunakan model yang kompleks untuk menyelesaikan masalah mudah dan mengekstrak bunyi daripada data. Kerana set data kecil sebagai set latihan mungkin tidak mewakili perwakilan yang betul bagi semua data. 2. Underfitting Heru

Dalam istilah orang awam, model pembelajaran mesin ialah fungsi matematik yang memetakan data input kepada output yang diramalkan. Secara lebih khusus, model pembelajaran mesin ialah fungsi matematik yang melaraskan parameter model dengan belajar daripada data latihan untuk meminimumkan ralat antara output yang diramalkan dan label sebenar. Terdapat banyak model dalam pembelajaran mesin, seperti model regresi logistik, model pepohon keputusan, model mesin vektor sokongan, dll. Setiap model mempunyai jenis data dan jenis masalah yang berkenaan. Pada masa yang sama, terdapat banyak persamaan antara model yang berbeza, atau terdapat laluan tersembunyi untuk evolusi model. Mengambil perceptron penyambung sebagai contoh, dengan meningkatkan bilangan lapisan tersembunyi perceptron, kita boleh mengubahnya menjadi rangkaian neural yang mendalam. Jika fungsi kernel ditambah pada perceptron, ia boleh ditukar menjadi SVM. yang ini

Pada tahun 1950-an, kecerdasan buatan (AI) dilahirkan. Ketika itulah penyelidik mendapati bahawa mesin boleh melakukan tugas seperti manusia, seperti berfikir. Kemudian, pada tahun 1960-an, Jabatan Pertahanan A.S. membiayai kecerdasan buatan dan menubuhkan makmal untuk pembangunan selanjutnya. Penyelidik sedang mencari aplikasi untuk kecerdasan buatan dalam banyak bidang, seperti penerokaan angkasa lepas dan kelangsungan hidup dalam persekitaran yang melampau. Penerokaan angkasa lepas ialah kajian tentang alam semesta, yang meliputi seluruh alam semesta di luar bumi. Angkasa lepas diklasifikasikan sebagai persekitaran yang melampau kerana keadaannya berbeza daripada di Bumi. Untuk terus hidup di angkasa, banyak faktor mesti dipertimbangkan dan langkah berjaga-jaga mesti diambil. Para saintis dan penyelidik percaya bahawa meneroka ruang dan memahami keadaan semasa segala-galanya boleh membantu memahami cara alam semesta berfungsi dan bersedia untuk menghadapi kemungkinan krisis alam sekitar

Cabaran biasa yang dihadapi oleh algoritma pembelajaran mesin dalam C++ termasuk pengurusan memori, multi-threading, pengoptimuman prestasi dan kebolehselenggaraan. Penyelesaian termasuk menggunakan penunjuk pintar, perpustakaan benang moden, arahan SIMD dan perpustakaan pihak ketiga, serta mengikuti garis panduan gaya pengekodan dan menggunakan alat automasi. Kes praktikal menunjukkan cara menggunakan perpustakaan Eigen untuk melaksanakan algoritma regresi linear, mengurus memori dengan berkesan dan menggunakan operasi matriks berprestasi tinggi.

Pembelajaran mesin ialah cabang penting kecerdasan buatan yang memberikan komputer keupayaan untuk belajar daripada data dan meningkatkan keupayaan mereka tanpa diprogramkan secara eksplisit. Pembelajaran mesin mempunyai pelbagai aplikasi dalam pelbagai bidang, daripada pengecaman imej dan pemprosesan bahasa semula jadi kepada sistem pengesyoran dan pengesanan penipuan, dan ia mengubah cara hidup kita. Terdapat banyak kaedah dan teori yang berbeza dalam bidang pembelajaran mesin, antaranya lima kaedah yang paling berpengaruh dipanggil "Lima Sekolah Pembelajaran Mesin". Lima sekolah utama ialah sekolah simbolik, sekolah sambungan, sekolah evolusi, sekolah Bayesian dan sekolah analogi. 1. Simbolisme, juga dikenali sebagai simbolisme, menekankan penggunaan simbol untuk penaakulan logik dan ekspresi pengetahuan. Aliran pemikiran ini percaya bahawa pembelajaran adalah proses penolakan terbalik, melalui sedia ada

Penterjemah |. Disemak oleh Li Rui |. Chonglou Model kecerdasan buatan (AI) dan pembelajaran mesin (ML) semakin kompleks hari ini, dan output yang dihasilkan oleh model ini adalah kotak hitam – tidak dapat dijelaskan kepada pihak berkepentingan. AI Boleh Dijelaskan (XAI) bertujuan untuk menyelesaikan masalah ini dengan membolehkan pihak berkepentingan memahami cara model ini berfungsi, memastikan mereka memahami cara model ini sebenarnya membuat keputusan, dan memastikan ketelusan dalam sistem AI, Amanah dan akauntabiliti untuk menyelesaikan masalah ini. Artikel ini meneroka pelbagai teknik kecerdasan buatan (XAI) yang boleh dijelaskan untuk menggambarkan prinsip asasnya. Beberapa sebab mengapa AI boleh dijelaskan adalah penting Kepercayaan dan ketelusan: Untuk sistem AI diterima secara meluas dan dipercayai, pengguna perlu memahami cara keputusan dibuat
