Pada 12 September, Kumpulan Taotian dan Aicheng Technology secara rasmi membuka sumber rangka kerja latihan model besar - Megatron-LLaMA, yang bertujuan untuk membolehkan pembangun teknologi meningkatkan prestasi latihan model bahasa besar dengan lebih mudah, mengurangkan kos latihan dan mengekalkan Keserasian dengan komuniti LLaMA. Ujian menunjukkan bahawa dalam latihan 32-kad, Megatron-LLaMA boleh mencapai pecutan 176% berbanding versi kod yang diperoleh secara langsung daripada HuggingFace dalam latihan berskala besar, Megatron-LLaMA mempunyai skalabiliti hampir linear berbanding dengan 32 kad untuk ketidakstabilan rangkaian. Pada masa ini, Megatron-LLaMA berada dalam talian dalam komuniti sumber terbuka.
Alamat sumber terbuka: https://github.com/alibaba/Megatron-LLaMA
Prestasi cemerlang model bahasa yang besar telah melebihi imaginasi orang dari semasa ke semasa. Dalam beberapa bulan lalu, LLaMA dan LLaMA2 telah dibuka sepenuhnya kepada komuniti sumber terbuka, memberikan pilihan yang baik kepada orang yang ingin melatih model bahasa besar mereka sendiri. Dalam komuniti sumber terbuka, terdapat banyak model berdasarkan output LLaMA, termasuk latihan berterusan/SFT (seperti Alpaca, Vicuna, WizardLM, Platypus, StableBegula, Orca, OpenBuddy, Linly, Ziya, dll.) dan latihan dari awal ( Baichuan , QWen, InternLM, OpenLLaMA). Kerja-kerja ini bukan sahaja berprestasi baik pada senarai penilaian objektif semasa pelbagai keupayaan model besar, tetapi juga menunjukkan prestasi cemerlang dalam senario praktikal seperti pemahaman teks panjang, penjanaan teks panjang, penulisan kod dan penyelesaian matematik. Tambahan pula, banyak produk menarik telah muncul dalam industri, seperti LLaMA digabungkan dengan robot sembang suara Whisper, LLaMA digabungkan dengan perisian lukisan Stable Diffusion, robot perundingan tambahan dalam bidang perubatan/undang-undang, dsb. Walaupun anda boleh mendapatkan kod model LLaMA daripada HuggingFace, melatih model LLaMA dengan data anda sendiri bukanlah tugas kos rendah dan mudah untuk pengguna individu atau organisasi kecil dan sederhana. Jumlah model besar dan skala data menjadikannya mustahil untuk melengkapkan latihan berkesan mengenai sumber pengkomputeran biasa, dan kuasa dan kos pengkomputeran telah menjadi kesesakan yang serius. Pengguna komuniti Megatron-LM mempunyai permintaan yang sangat mendesak dalam hal ini. Taotian Group dan Aicheng Technology mempunyai senario aplikasi yang sangat luas untuk aplikasi model besar, dan telah melabur banyak dalam latihan cekap model besar. Kemunculan LLaMA telah memberi banyak syarikat, termasuk Kumpulan Taotian dan Aicheng Technology, banyak inspirasi dari segi pemprosesan data, reka bentuk model, penalaan halus dan pelarasan maklum balas pembelajaran pengukuhan, dan juga telah membantu mencapai kejayaan baharu dalam senario aplikasi perniagaan. . Oleh itu, untuk memberi kembali kepada seluruh komuniti sumber terbuka LLaMA dan mempromosikan pembangunan komuniti sumber terbuka model besar pra-terlatih Cina, supaya pembangun dapat dengan lebih mudah meningkatkan prestasi latihan model bahasa besar dan mengurangkan kos latihan, Taotian Teknologi Kumpulan dan Aicheng akan menggabungkan beberapa teknologi Optimize dalaman dan sumber terbukanya, mengeluarkan Megatron-LLaMA, dan berharap untuk membina ekosistem Megatron dan LLaMA dengan setiap rakan kongsi. Megatron-LLaMA menyediakan satu set megatron-LM standard dilaksanakan LLaMA, dan menyediakan alat untuk penukaran percuma dengan format HuggingFace untuk memudahkan keserasian dengan alatan ekologi komuniti. Megatron-LLaMA telah mereka bentuk semula proses songsang Megatron-LM, supaya ia boleh dicapai tidak kira di mana bilangan nod adalah kecil dan agregasi kecerunan besar (GA) perlu dihidupkan, atau apabila bilangan nod adalah besar dan GA kecil mesti digunakan prestasi latihan yang sangat baik.
- Dalam latihan 32 kad, berbanding dengan versi kod yang diperolehi terus daripada HuggingFace, Megatron-LLaMA boleh mencapai 176% pecutan walaupun dengan versi yang dioptimumkan oleh DeepSpeed dan FlashAttention, masih boleh Megatron-LLattention; mencapai Kurangkan masa latihan sekurang-kurangnya 19%.
- Dalam latihan berskala besar, Megatron-LLaMA mempunyai kebolehskalaan hampir linear berbanding 32 kad. Contohnya, menggunakan 512 A100 untuk menghasilkan semula latihan LLaMA-13B, mekanisme songsang Megatron-LLaMA boleh menjimatkan sekurang-kurangnya dua hari berbanding dengan DistributedOptimizer Megatron-LM asli tanpa kehilangan ketepatan.
-
Megatron-LLaMA mempamerkan toleransi yang tinggi untuk ketidakstabilan rangkaian. Walaupun pada kluster latihan 8xA100-80GB yang menjimatkan kos semasa dengan lebar jalur komunikasi 4x200Gbps (persekitaran ini biasanya merupakan persekitaran penggunaan bercampur, rangkaian hanya boleh menggunakan separuh daripada lebar jalur, lebar jalur rangkaian adalah kesesakan yang serius, tetapi harga sewa adalah agak rendah), Megatron-LLaMA masih boleh mencapai keupayaan pengembangan linear sebanyak 0.85, tetapi Megatron-LM hanya boleh mencapai kurang daripada 0.7 pada penunjuk ini. -Teknologi MEGATRON-LM membawa peluang latihan LLAMA berprestasi tinggi
Llama ialah tugas penting dalam komuniti sumber terbuka model bahasa besar. LLaMA memperkenalkan teknologi pengoptimuman seperti pengekodan aksara BPE, pengekodan kedudukan RoPE, fungsi pengaktifan SwiGLU, penyelarasan RMSNorm dan Untied Embedding ke dalam struktur LLM, dan telah mencapai keputusan cemerlang dalam banyak penilaian objektif dan subjektif. LLaMA menyediakan versi 7B, 13B, 30B, 65B/70B, yang sesuai untuk pelbagai senario dengan keperluan model yang besar dan juga digemari oleh majoriti pembangun. Seperti kebanyakan model besar sumber terbuka, memandangkan pegawai hanya menyediakan versi inferens kod, tiada paradigma standard untuk menjalankan latihan yang cekap pada kos terendah.
Megatron-LM ialah penyelesaian latihan berprestasi tinggi yang elegan.Megatron-LM menyediakan selari tensor (Tensor Parallel, TP, yang mengagihkan pendaraban besar kepada berbilang kad untuk pengkomputeran selari), paralelisme saluran paip (Pipeline Parallel, PP, yang mengedarkan lapisan model yang berbeza kepada kad yang berbeza untuk diproses), dan paralelisme jujukan ( Sequence Parallel). Selari, SP, bahagian jujukan yang berlainan diproses oleh kad yang berbeza, menjimatkan memori video), pengoptimuman DistributedOptimizer (serupa dengan DeepSpeed Zero Stage-2, kecerunan pemisahan dan parameter pengoptimum kepada semua nod pengkomputeran) dan teknologi lain boleh mengurangkan penggunaan memori video dengan ketara dan meningkatkan penggunaan GPU. Megatron-LM mengendalikan komuniti sumber terbuka yang aktif, dan teknologi pengoptimuman baharu serta reka bentuk berfungsi terus dimasukkan ke dalam rangka kerja. Walau bagaimanapun, pembangunan berdasarkan Megatron-LM bukanlah mudah, dan penyahpepijatan serta pengesahan berfungsi pada mesin berbilang kad yang mahal adalah lebih mahal. Megatron-LLaMA mula-mula menyediakan satu set kod latihan LLaMA berdasarkan rangka kerja Megatron-LM, menyokong versi model pelbagai saiz, dan boleh disesuaikan dengan mudah untuk menyokong pelbagai varian LLaMA, termasuk sokongan langsung untuk Tokenizer dalam format HuggingFace. Oleh itu, Megatron-LLaMA boleh digunakan dengan mudah pada pautan latihan luar talian sedia ada tanpa penyesuaian yang berlebihan. Dalam senario latihan kecil dan sederhana/penalaan halus LLaMA-7b dan LLaMA-13b, Megatron-LLaMA boleh dengan mudah mencapai penggunaan perkakasan (MFU) peneraju industri sebanyak 54% dan ke atas.
Pengoptimuman proses songsang bagi Megatron- DeepSpeed ZeRO ialah satu set rangka kerja latihan yang diedarkan yang dilancarkan oleh Microsoft Teknologi yang dicadangkan di dalamnya sangat penting untuk banyak Rangka Kerja berikutnya mempunyai kesan yang sangat luas. DeepSpeed ZeRO Stage-2 (selepas ini dirujuk sebagai ZeRO-2) ialah teknologi dalam rangka kerja yang menjimatkan penggunaan memori tanpa menambah beban kerja pengiraan dan komunikasi. Seperti yang ditunjukkan dalam rajah di atas, disebabkan keperluan pengiraan, setiap Kedudukan perlu mempunyai semua parameter. Tetapi untuk keadaan pengoptimum, setiap Kedudukan hanya bertanggungjawab untuk sebahagian daripadanya, dan tidak perlu semua Kedudukan melakukan operasi berulang sepenuhnya pada masa yang sama. Oleh itu, ZeRO-2 mencadangkan untuk membahagikan keadaan pengoptimum secara sama rata ke dalam setiap Kedudukan (perhatikan bahawa tidak perlu memastikan bahawa setiap pembolehubah dibahagikan sama rata atau dikekalkan sepenuhnya dalam Kedudukan tertentu Setiap Kedudukan hanya perlu dibahagikan semasa proses latihan). . Bertanggungjawab untuk mengemas kini status pengoptimum dan parameter model bahagian yang sepadan. Dalam tetapan ini, kecerunan juga boleh dibahagikan dengan cara ini. Secara lalai, ZeRO-2 menggunakan kaedah Kurangkan untuk mengagregat kecerunan antara semua Kedudukan secara terbalik, dan kemudian setiap Kedudukan hanya perlu mengekalkan bahagian parameter yang bertanggungjawab, yang bukan sahaja menghapuskan pengiraan berulang yang berlebihan, tetapi juga mengurangkan memori. penggunaan. Megatron-LM DistributedOptimizer Megatron-LM DistributedOptimizer Megatron-LM Asli melaksanakan kecerunan seperti ZeRO-2 dan pengoptimum keadaan memori O. Seperti yang ditunjukkan dalam rajah di atas, DistributedOptimizer menggunakan pengendali ReduceScatter untuk mengagihkan semua kecerunan terkumpul sebelum ini kepada Kedudukan berbeza selepas memperoleh semua kecerunan yang diagregatkan oleh kecerunan pratetap. Setiap Kedudukan hanya memperoleh sebahagian daripada kecerunan yang perlu diproses dan kemudian mengemas kini keadaan pengoptimum dan parameter yang sepadan. Akhir sekali, setiap Kedudukan memperoleh parameter yang dikemas kini daripada nod lain melalui AllGather, dan akhirnya memperoleh semua parameter. Keputusan latihan sebenar menunjukkan bahawa komunikasi kecerunan dan parameter Megatron-LM dilakukan secara bersiri dengan pengiraan lain Untuk tugasan pra-latihan berskala besar, untuk memastikan jumlah saiz data kelompok kekal tidak berubah, biasanya mustahil untuk dilakukan. buka GA yang lebih besar. Oleh itu, perkadaran komunikasi akan meningkat dengan peningkatan mesin Pada masa ini, ciri-ciri komunikasi bersiri membawa kepada skalabiliti yang sangat lemah. Di dalam masyarakat, keperluan juga amat ketara.
Megatron-LLaMA OverlappedDistributedOptimizer
Untuk menyelesaikan masalah ini, Megatron-LLaMA menambah baik DistributedOpt bagi pengimizer Megatron-LM asli, supaya operator komunikasi kecerunannya boleh disejajarkan dengan pengiraan. Khususnya, berbanding dengan pelaksanaan ZeRO, Megatron-LLaMA menggunakan kaedah komunikasi kolektif yang lebih berskala untuk meningkatkan kebolehskalaan melalui pengoptimuman bijak strategi pembahagian pengoptimum di bawah premis selari.Reka bentuk utama OverlappedDistributedOptimizer memastikan perkara berikut: a) Jumlah data bagi operator komunikasi set tunggal cukup besar untuk menggunakan lebar jalur komunikasi sepenuhnya b) Jumlah data komunikasi yang diperlukan oleh kaedah segmentasi baharu hendaklah sama dengan minimum volum data komunikasi yang diperlukan untuk keselarian data c) Semasa proses penukaran parameter atau kecerunan lengkap dan parameter atau kecerunan tersegmen, terlalu banyak salinan memori video tidak boleh diperkenalkan. Secara khusus, Megatron-LLaMA menambah baik mekanisme DistributedOptimizer dan mencadangkan OverlappedDistributedOptimizer, yang digunakan untuk mengoptimumkan proses terbalik dalam latihan dalam kombinasi dengan kaedah segmentasi baharu. Seperti yang ditunjukkan dalam rajah di atas, apabila OverlappedDistributedOptimizer dimulakan, semua parameter akan dipraperuntukkan kepada Baldi yang menjadi miliknya. Parameter dalam Baldi adalah lengkap Parameter hanya dimiliki oleh satu Baldi Mungkin terdapat berbilang parameter dalam Baldi. Secara logiknya, setiap Baldi akan terus dibahagikan kepada P (P ialah bilangan kumpulan selari data) bahagian yang sama, dan setiap Kedudukan dalam kumpulan selari data bertanggungjawab untuk salah satu daripadanya. Badi diletakkan dalam baris gilir tempatan (Baris gilir baldi grad tempatan) untuk memastikan susunan komunikasi. Semasa latihan dan pengiraan, kumpulan selari data menukar kecerunan yang mereka perlukan melalui komunikasi kolektif dalam unit Baldi. Pelaksanaan Bucket dalam Megatron-LLaMA menggunakan pengindeksan alamat sebanyak mungkin, dan hanya memperuntukkan ruang baru apabila nilai yang diperlukan berubah, mengelakkan pembaziran memori video. Reka bentuk di atas, digabungkan dengan sejumlah besar pengoptimuman kejuruteraan, membolehkan Megatron-LLaMA menggunakan sepenuhnya perkakasan semasa latihan berskala besar, mencapai pecutan yang lebih baik daripada Megatron-LM asli. Apabila melatih daripada 32 kad A100 kepada 512 kad A100, Megatron-LLaMA masih boleh mencapai nisbah pengembangan 0.85 dalam persekitaran rangkaian campuran yang biasa digunakan. -Pelan masa depan Megatron-Llama
Megatron-Llama ialah rangka kerja latihan yang biasanya dibuka oleh Tao Tian Group dan Ai Orange Technology dan menyediakan sokongan penyelenggaraan seterusnya Ia telah menggunakan aplikasi dalaman secara meluas. Memandangkan semakin ramai pembangun berduyun-duyun ke komuniti sumber terbuka LLaMA dan menyumbangkan pengalaman yang boleh dipelajari antara satu sama lain, saya percaya akan ada lebih banyak cabaran dan peluang di peringkat rangka kerja latihan pada masa hadapan. Megatron-LLaMA akan memberi perhatian kepada pembangunan komuniti dan bekerjasama dengan pembangun untuk mempromosikan arahan berikut:
Pemilihan konfigurasi optimum adaptif
Sokongan untuk lebih banyak struktur model atau perubahan reka bentuk tempatan
- Latihan prestasi yang lebih muktamad penyelesaian di bawah persekitaran perkakasan yang berbezaAlamat projek: https://github.com/alibaba/Megatron-LLaMA
-
Atas ialah kandungan terperinci Kumpulan Taotian dan Teknologi Aicheng bekerjasama untuk mengeluarkan rangka kerja latihan model berskala besar sumber terbuka Megatron-LLaMA. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!