Para penyelidik berkata bahawa mereka melihat latihan kelebihan sebagai masalah pengoptimuman dan dengan itu menemui jadual optimum untuk mencapai penggunaan tenaga minimum di bawah bajet memori yang diberikan.
Pada masa ini, model pembelajaran mendalam telah digunakan secara meluas pada peranti edge seperti telefon pintar dan platform terbenam untuk inferens. Antaranya, latihan masih dilakukan terutamanya pada pelayan awan besar dengan pemecut daya pemprosesan tinggi seperti GPU. Model latihan awan berpusat memerlukan pemindahan data sensitif seperti foto dan ketukan kekunci daripada peranti tepi ke awan, mengorbankan privasi pengguna dan menanggung kos pergerakan data tambahan.
Kapsyen: Twitter @Shishir Patil
Oleh itu, untuk membolehkan pengguna memperibadikan model mereka tanpa mengorbankan privasi, pembelajaran bersekutu kaedah latihan berasaskan peranti seperti Alibaba Cloud tidak perlu menyepadukan data ke dalam awan dan juga boleh melakukan kemas kini latihan tempatan. Kaedah ini telah digunakan pada papan kekunci Gboard Google untuk memperibadikan cadangan papan kekunci dan juga digunakan oleh iPhone untuk meningkatkan pengecaman pertuturan automatik. Pada masa yang sama, kaedah latihan berasaskan peranti semasa tidak menyokong latihan seni bina moden dan model besar. Melatih model yang lebih besar pada peranti tepi tidak boleh dilaksanakan, terutamanya kerana memori peranti terhad tidak dapat menyimpan pengaktifan rambatan belakang. Lelaran latihan tunggal ResNet-50 memerlukan lebih 200 kali lebih memori daripada inferens.
Strategi yang dicadangkan dalam kerja terdahulu termasuk paging kepada memori tambahan dan pelaksanaan semula untuk mengurangkan jejak memori latihan awan. Walau bagaimanapun, kaedah ini dengan ketara meningkatkan penggunaan tenaga keseluruhan. Pemindahan data yang dikaitkan dengan kaedah halaman biasanya memerlukan lebih banyak tenaga daripada pengiraan berat data. Apabila belanjawan memori mengecil, pelaksanaan semula meningkatkan penggunaan tenaga pada kadar O(n^2).
Dalam kertas kerja UC Berkeley baru-baru ini, beberapa penyelidik menunjukkan bahawa paging dan pelaksanaan semula sangat saling melengkapi. Dengan melaksanakan semula operasi mudah sambil membuka halaman hasil operasi kompleks ke storan sekunder seperti flash atau kad SD, mereka dapat mengembangkan kapasiti memori yang berkesan dengan penggunaan tenaga yang minimum. Selain itu, melalui gabungan kedua-dua kaedah ini, para penyelidik juga membuktikan bahawa adalah mungkin untuk melatih model seperti BERT pada peranti tepi gred mudah alih. Dengan menganggap latihan kelebihan sebagai masalah pengoptimuman, mereka menemui jadual optimum yang mencapai penggunaan tenaga minimum di bawah belanjawan memori yang diberikan.
Pengkaji mencadangkan POET (Latihan Tenaga Optimum Swasta ) , yang merupakan algoritma untuk latihan optimum tenaga bagi rangkaian saraf moden pada peranti tepi yang dikekang memori Seni binanya ditunjukkan dalam Rajah 1 di bawah. Memandangkan kos caching yang sangat tinggi untuk semua tensor pengaktifan untuk perambatan belakang, POET mengoptimumkan paging dan pelaksanaan semula pengaktifan, dengan itu mengurangkan penggunaan memori sehingga dua faktor. Mereka merumuskan semula masalah latihan marginal sebagai pengaturcaraan linear integer (ILP) dan mendapati ia boleh diselesaikan secara optimum oleh penyelesai dalam masa 10 minit.
Kapsyen: POET mengoptimumkan latihan model pembelajaran mesin SOTA pada peranti edge.
Untuk model yang digunakan pada peranti tepi dunia sebenar, latihan berlaku apabila peranti tepi menjadi melahu dan boleh mengira kitaran, seperti Google Gboard yang menjadualkan kemas kini model semasa telefon sedang dicas. Oleh itu, POET juga mengandungi kekangan latihan yang ketat. Memandangkan had ingatan dan beberapa zaman latihan, POET menjana penyelesaian yang juga memenuhi tarikh akhir latihan yang diberikan. Di samping itu, penyelidik membangunkan model kos komprehensif menggunakan POET dan menunjukkan bahawa ia secara matematik mengekalkan nilai (iaitu, tidak membuat anggaran) dan berfungsi dengan seni bina luar kotak sedia ada.
Shishir Patil, pengarang pertama kertas itu, berkata dalam video demonstrasi bahawa algoritma POET boleh melatih mana-mana model SOTA yang memerlukan memori besar pada peranti kelebihan komersial seperti telefon pintar. Mereka juga menjadi pasukan penyelidik pertama yang menunjukkan latihan model pembelajaran mesin SOTA seperti BERT dan ResNet pada telefon pintar dan peranti ARM Cortex-M.
Pelaksanaan semula dan paging ialah dua teknik untuk mengurangkan penggunaan memori model SOTA ML yang besar. Dalam pelaksanaan semula, tensor pengaktifan dipadamkan apabila ia tidak lagi diperlukan, selalunya semasa hantaran ke hadapan. Ini membebaskan memori berharga yang boleh digunakan untuk menyimpan pengaktifan untuk lapisan seterusnya. Apabila tensor yang dipadam diperlukan sekali lagi, kaedah mengira semula ia daripada pengaktifan lain yang berkaitan seperti yang ditentukan oleh keturunan. Paging, juga dikenali sebagai pemuatan, adalah teknik pelengkap untuk mengurangkan ingatan. Dalam paging, tensor pengaktifan yang tidak diperlukan segera dipanggil dari storan utama ke storan sekunder, seperti memori kilat atau kad SD. Apabila tensor diperlukan sekali lagi, keluarkan halamannya.
Rajah 2 menunjukkan jadual pelaksanaan rangkaian saraf lapan lapisan. Sepanjang paksi X, setiap unit sepadan dengan setiap lapisan rangkaian saraf (sejumlah 8 lapisan L8). Paksi Y mewakili langkah masa logik dalam satu zaman. Sel yang diduduki dalam rajah (diisi dengan warna) mewakili operasi yang dilakukan pada langkah masa yang sepadan (pengiraan perambatan ke hadapan/belakang, pelaksanaan semula atau halaman).
Sebagai contoh, kita dapat melihat bahawa pengaktifan L1 dikira pada langkah kali pertama (T1). Pada T2 dan T3, jumlah pengaktifan L2 dan L3 dikira masing-masing. Dengan mengandaikan bahawa lapisan L2 dan L3 berlaku sebagai operasi intensif memori tetapi pengiraan murah, seperti bukan lineariti (tanH, ReLU, dll.), maka pelaksanaan semula menjadi pilihan terbaik. Kami boleh memadamkan pengaktifan ({T3, L2}, {T4, L3}) untuk mengosongkan memori, dan apabila pengaktifan ini diperlukan semasa perambatan belakang, kami boleh melaksanakannya semula ({T14, L3}, {T16, L2}) .
Anggapkan bahawa lapisan L5 dan L6 adalah operasi intensif pengiraan, seperti konvolusi, pendaraban matriks padat, dsb. Untuk operasi sedemikian, pelaksanaan semula akan menghasilkan peningkatan masa dan tenaga berjalan dan tidak optimum. Untuk lapisan ini, adalah lebih baik untuk halaman tensor pengaktifan kepada storan tambahan ({T6, L5}, {T7, L6}) dan apabila diperlukan untuk ({T10, L6}, {T11, L5}).
Kelebihan utama paging ialah ia boleh disalurkan untuk menyembunyikan kependaman berdasarkan penghunian bas memori. Ini kerana sistem moden mempunyai ciri DMA (Direct Memory Access) yang menggerakkan tensor pengaktifan daripada storan sekunder ke memori utama semasa enjin pengiraan berjalan selari. Sebagai contoh, pada langkah masa T7, L6 boleh dipanggil keluar dan L7 dikira pada masa yang sama. Walau bagaimanapun, pelaksanaan semula adalah intensif dari segi pengiraan dan tidak boleh disejajarkan, yang mengakibatkan peningkatan masa jalan. Sebagai contoh, kita perlu menggunakan langkah masa T14 untuk mengira semula L3, dengan itu melambatkan seluruh pelaksanaan rambatan belakang.
Penyelidikan mencadangkan POET, penyusun peringkat graf untuk rangkaian saraf dalam yang menulis semula DAG latihan model besar untuk dimuatkan ke dalam memori had peranti tepi sambil mengekalkan kecekapan tenaga yang tinggi.
POET menyedari perkakasan, ia mula-mula menjejaki pelaksanaan hantaran ke hadapan dan ke belakang serta permintaan peruntukan memori yang berkaitan, masa jalan dan penggunaan memori serta tenaga bagi setiap operasi. Analisis terperinci bagi setiap beban kerja ini berlaku sekali sahaja untuk perkakasan tertentu, diautomatikkan, murah dan menyediakan model kos yang paling tepat untuk POET.
POET kemudian menjana program linear integer campuran (MILP) yang boleh diselesaikan dengan cekap. Pengoptimum POET mencari pelaksanaan semula yang cekap dan jadual halaman yang meminimumkan penggunaan tenaga hujung ke hujung yang terikat memori. Jadual yang terhasil kemudiannya digunakan untuk menjana DAG baharu untuk pelaksanaan pada peranti tepi.
Sementara MILP diselesaikan pada perkakasan komoditi, jadual yang dihantar ke peranti tepi hanya beberapa ratus bait, menjadikannya sangat cekap memori.
Pelaksanaan semula adalah paling cekap untuk operasi yang murah dari segi pengiraan tetapi intensif memori. Walau bagaimanapun, paging paling sesuai untuk operasi intensif pengiraan di mana pelaksanaan semula akan menanggung overhed tenaga yang ketara. POET bersama-sama mempertimbangkan pelaksanaan semula dan halaman dalam ruang carian bersepadu.
Kaedah dalam artikel ini boleh diperluaskan kepada seni bina yang kompleks dan realistik Algoritma pengoptimum POET adalah seperti berikut.
Kajian ini memperkenalkan fungsi objektif baharu dalam masalah pengoptimuman untuk meminimumkan penggunaan tenaga gabungan pengiraan, halaman masuk dan keluar halaman, halaman dan pelaksanaan semula fungsi objektif yang menggabungkan penggunaan tenaga ialah:
di mana Φ_compute, Φ_pagein dan Φ_pageout mewakili tenaga yang digunakan oleh setiap nod dalam pengiraan, page-in dan page-out masing-masing.
POET dilaksanakan semula mengikut nod (k) graf mana yang dilaksanakan semula dan nod mana yang masuk halaman atau keluar halaman pada setiap langkah (t) untuk mengeluarkan jadual DAG.
Dalam penilaian POET, penyelidik cuba menjawab tiga soalan utama. Pertama, berapa banyak tenaga yang boleh dikurangkan oleh POET merentas model dan platform yang berbeza? Kedua, bagaimana POET mendapat manfaat daripada paging hibrid dan strategi pelaksanaan semula? Akhir sekali, bagaimanakah POET menyesuaikan diri dengan belanjawan masa jalan yang berbeza?
Para penyelidik menyenaraikan empat peranti perkakasan berbeza dalam Jadual 2 di bawah, iaitu ARM Cortex M0 MKR1000, ARM Cortex M4F nrf52840, A72 Raspberry Pi 4B+ dan Nvidia Jetson TX2. POET mengetahui perkakasan sepenuhnya dan bergantung pada analisis terperinci.
Rajah 3 di bawah menunjukkan penggunaan tenaga bagi satu zaman latihan Setiap lajur sepadan dengan platform perkakasan yang berbeza. Para penyelidik mendapati bahawa POET menjana jadual cekap tenaga (paksi-Y) merentasi semua platform sambil mengurangkan penggunaan memori puncak (paksi-X) dan belanjawan masa mesyuarat.
Dalam Rajah 5 di bawah, penyelidik menanda aras POET dan Capuchin semasa melatih ResNet-18 pada A72. Apabila belanjawan RAM berkurangan, Capuchin menggunakan 73% hingga 141% lebih tenaga daripada garis dasar dengan memori penuh. Sebagai perbandingan, POET menjana kurang daripada 1% tenaga yang digunakan. Aliran ini digunakan untuk semua seni bina dan platform yang diuji.
Dalam Jadual 3, kajian menanda aras POET dan POFO apabila melatih ResNet-18 pada Jetson TX2 Nvidia. Kajian mendapati bahawa POET menemui pelaksanaan semula bersepadu dan paging yang mengurangkan penggunaan memori puncak sebanyak 8.3% dan meningkatkan daya pengeluaran sebanyak 13%. Ini menunjukkan kelebihan penyelesai MILP POET, yang mampu mengoptimumkan ke atas ruang carian yang lebih besar. Walaupun POFO hanya menyokong model linear, POET boleh digeneralisasikan kepada model bukan linear, seperti yang ditunjukkan dalam Rajah 3.
Rajah 4 menyerlahkan faedah POET mengamalkan strategi ensemble di bawah kekangan masa yang berbeza. Bagi setiap masa jalan, rajah di bawah menggambarkan jumlah penggunaan tenaga.
Atas ialah kandungan terperinci Melatih BERT dan ResNet pada telefon pintar buat kali pertama, mengurangkan penggunaan tenaga sebanyak 35%. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!