Model bahasa besar (atau LLM) telah menjadi topik pembicaraan sehari-hari. Penerapannya yang cepat terbukti dari jumlah waktu yang dibutuhkan untuk menjangkau 100 juta pengguna, yang telah meningkat dari โ4.5 tahun melalui facebookโ ke titik terendah sepanjang masa, hanya โ2 bulan melalui ChatGPT.โ Transformator terlatih generatif (GPT) menggunakan pembaruan autoregresif kausal untuk membuat prediksi. Berbagai tugas seperti pengenalan suara, pembuatan teks, dan menjawab pertanyaan terbukti memiliki kinerja luar biasa dengan arsitektur model ini. Beberapa model terbaru seperti Neox, elang, Llama menggunakan arsitektur GPT sebagai tulang punggung. Pelatihan LLM memerlukan waktu komputasi yang sangat besar, yang menghabiskan biaya jutaan dolar. Pada postingan kali ini, kami akan merangkum prosedur pelatihan GPT Neox on Pelatihan AWS, akselerator pembelajaran mesin (ML) yang dibuat khusus dan dioptimalkan untuk pelatihan pembelajaran mendalam. Kami akan menguraikan bagaimana kami melatih model tersebut dengan AWS Trainium dengan hemat biaya (3.2 juta token/$) tanpa kehilangan kualitas model apa pun.
Ikhtisar solusi
Model GPT NeoX dan Pythia
GPT NeoX dan pythia adalah model bahasa kausal sumber terbuka oleh Eleuther-AI dengan sekitar 20 miliar parameter di NeoX dan 6.9 miliar di Pythia. Keduanya adalah model dekoder yang mengikuti desain arsitektur serupa seperti Chat GPT3. Namun, mereka juga memiliki beberapa tambahan, yang juga banyak diadopsi pada model terkini seperti Llama. Khususnya, mereka memiliki penyematan posisi rotasi (ROPE) dengan rotasi parsial melintasi dimensi kepala. Model asli (NeoX dan Pythia 6.9B) dilatih pada model yang tersedia secara terbuka Kumpulan data tumpukan dengan deduplikasi dan menggunakan backend Megatron dan Deepspeed.
Kami mendemonstrasikan pra-pelatihan dan penyempurnaan model ini pada instans Trn1 berbasis AWS Trainium menggunakan Neuron NeMo perpustakaan. Untuk menetapkan bukti konsep dan reproduksi cepat, kami akan menggunakan subset data Wikipedia yang lebih kecil yang diberi token menggunakan tokenizer GPT2 Byte-pair coding (BPE).
Walkthrough
Unduh kumpulan data Wikipedia yang telah diberi token seperti yang ditunjukkan:
Baik NeoX 20B maupun Pythia 6.9B menggunakan ROPE dengan putaran parsial, misalnya memutar 25% dimensi kepala dan sisanya tidak diputar. Untuk menerapkan rotasi parsial secara efisien pada akselerator AWS Trainium, alih-alih menggabungkan dimensi berputar dan tidak berputar, kami menambahkan frekuensi nol untuk dimensi tidak berputar dan kemudian memutar set lengkap dimensi kepala. Trik sederhana ini membantu kami meningkatkan throughput (urutan yang diproses per detik) di AWS Trainium.
Langkah-langkah pelatihan
Untuk menjalankan pelatihan, kami menggunakan Amazon Elastic Compute Cloud multi-node yang dikelola SLURM (Amazon EC2) Cluster Trn1, dengan setiap node berisi instance trn1.32xl. Setiap trn1.32xl memiliki 16 akselerator dengan dua pekerja per akselerator. Setelah mendownload yang terbaru Neuron NeMo paket, gunakan yang disediakan baru dan pythia skrip pra-pelatihan dan penyempurnaan dengan hyper-parameter yang dioptimalkan dan jalankan yang berikut untuk pelatihan empat node.
- Kompilasi: Pra-kompilasi model dengan tiga iterasi kereta untuk menghasilkan dan menyimpan grafik:
- Jalankan: Jalankan pelatihan dengan memuat grafik cache dari langkah pertama
- Pantau hasil
Langkah yang sama perlu diikuti untuk menjalankan model Pythia 6.9B dengan penggantian neox_20B_slurm.sh
by pythia_6.9B_slurm.sh
.
Eksperimen pra-pelatihan dan penyesuaian
Kami mendemonstrasikan pra-pelatihan model GPT-NeoX dan Pythia di AWS Trainium menggunakan Neuron NeMo perpustakaan untuk 10 ribu iterasi, dan juga tampilkan penyempurnaan model ini untuk 1 ribu langkah. Untuk pra-pelatihan, kami menggunakan tokenizer GPT2 BPE di dalam NeMo dan mengikuti hal yang sama config seperti yang digunakan pada model aslinya. Penyempurnaan pada AWS Trainium memerlukan perubahan beberapa parameter (seperti faktor pembagian ukuran kosakata), yang disediakan dalam skrip penyesuaian untuk mengakomodasi perbedaan Megatron versus NeMo dan perubahan GPU versus AWS Trainium. Throughput pelatihan terdistribusi multi-node dengan jumlah node yang bervariasi ditunjukkan pada Tabel-1.
Model | Tensor Paralel | Pipa Paralel | Jumlah contoh | Biaya ($/jam) | Panjang urutan | Ukuran kumpulan global | Throughput (detik/detik) | Rasio biaya-throughput (token/$) |
Pythia 6.9B | 8 | 1 | 1 | 7.59 | 2048 | 256 | 10.4 | 10,102,387 |
8 | 1 | 4 | 30.36 | 2048 | 256 | 35.8 | 8,693,881 | |
NeoX 20B | 8 | 4 | 4 | 30.36 | 2048 | 16384 | 13.60 | 3,302,704 |
8 | 4 | 8 | 60.72 | 2048 | 16384 | 26.80 | 3,254,134 | |
8 | 4 | 16 | 121.44 | 2048 | 16384 | 54.30 | 3,296,632 | |
8 | 4 | 32 | 242.88 | 2048 | 16384 | 107.50 | 3,263,241 | |
8 | 4 | 64 | 485.76 | 2048 | 16384 | 212.00 | 3,217,708 |
Tabel 1. Membandingkan throughput rata-rata model GPT NeoX dan Pythia untuk pelatihan hingga 500 langkah dengan jumlah node yang berubah. Itu harga trn1.32xl didasarkan pada tarif efektif per jam yang dicadangkan selama 3 tahun.
Selanjutnya, kami juga mengevaluasi lintasan kerugian pelatihan model di AWS Trainium dan membandingkannya dengan proses yang sesuai pada kluster P4d (inti GPU Nvidia A100). Seiring dengan hilangnya pelatihan, kami juga membandingkan indikator yang berguna seperti norma gradien, yang merupakan 2 norma gradien model yang dihitung pada setiap iterasi pelatihan untuk memantau kemajuan pelatihan. Hasil pelatihan ditunjukkan pada Gambar-1, 2 dan penyempurnaan NeoX 20B pada Gambar-3.
Gambar 1. Kerugian pelatihan dirata-ratakan pada seluruh pekerja (kiri) dan norma gradien (kanan) pada pelatihan setiap langkah. NeoX 20B dilatih pada 4 node dengan kumpulan data wiki kecil pada GPU dan Trainium dengan hyper-parameter pelatihan yang sama (ukuran batch global=256). GPU menggunakan BF16 dan presisi campuran default, sedangkan AWS Trainium menggunakan BF16 penuh dengan pembulatan stokastik. Lintasan norma kehilangan dan gradien cocok untuk GPU dan AWS Trainium.
Gambar 2. Kerugian pelatihan dirata-ratakan pada seluruh pekerja (kiri) dan norma gradien (kanan) pada pelatihan setiap langkah. Mirip dengan GPT NeoX pada Gambar-1, Pythia 6.9B dilatih pada 4 node dengan kumpulan data wiki kecil di GPU dan Trainium dengan hyper-parameter pelatihan yang sama (ukuran batch global=256). Lintasan norma kehilangan dan gradien cocok untuk GPU dan Trainium.
Gambar 3. Menyempurnakan model GPT NeoX 20B pada GPU dan AWS Trainium dengan rata-rata kerugian pelatihan di seluruh pekerja (kiri) dan norma gradien (kanan). Kumpulan data wiki kecil digunakan untuk menyempurnakan demonstrasi. Lintasan norma kehilangan dan gradien cocok untuk GPU dan AWS Trainium.
Dalam postingan ini, kami menunjukkan pelatihan LLM yang hemat biaya pada perangkat keras pembelajaran mendalam AWS. Kami melatih model GPT NeoX 20B dan Pythia 6.9B di AWS Trn1 dengan perpustakaan Neuron NeMo. Biaya throughput yang dinormalisasi untuk 20 miliar model dengan AWS Trainium adalah sekitar 3.2 juta token/$ yang dibelanjakan. Seiring dengan pelatihan yang hemat biaya di AWS Trainium, kami memperoleh akurasi model serupa, yang terlihat dari hilangnya langkah pelatihan dan lintasan norma gradien. Kami juga menyempurnakan pos pemeriksaan yang tersedia untuk model NeoX 20B di AWS Trainium. Untuk informasi tambahan tentang pelatihan terdistribusi dengan NeMo Megatron di AWS Trainium, lihat Referensi Neuron AWS untuk NeMo Megatron. Sumber daya yang bagus untuk mulai menyempurnakan model Llama dapat ditemukan di sini, Penyempurnaan Llama2. Untuk memulai AWS Trainium terkelola Amazon SageMaker, Lihat Latih Model ML Anda dengan AWS Trainium dan Amazon SageMaker.
Tentang Penulis
Gaurav Gupta saat ini menjadi Ilmuwan Terapan di laboratorium AI Amazon Web Services (AWS). Dr Gupta menyelesaikan gelar PhD dari USC Viterbi. Minat penelitiannya mencakup domain pemodelan data sekuensial, pembelajaran persamaan diferensial parsial, teori informasi untuk pembelajaran mesin, model dinamis pecahan, dan jaringan kompleks. Saat ini dia sedang mengerjakan masalah terapan dan matematika pada perilaku pelatihan LLM, model visi dengan PDE, model multi-modalitas teori informasi. Gupta memiliki publikasi di jurnal/konferensi terkemuka seperti Neurips, ICLR, ICML, Nature, IEEE Control Society, ACM cyber-physical society.
Ben Snyder adalah ilmuwan terapan di AWS Deep Learning. Minat penelitiannya meliputi model dasar, pembelajaran penguatan, dan optimasi asinkron. Di luar pekerjaan, dia menikmati bersepeda dan berkemah di pedalaman.
Amith (kanan) Mamidala adalah teknisi aplikasi pembelajaran mesin senior di AWS Annapurna Labs. Dr. Mamidala menyelesaikan gelar PhD di Ohio State University dalam bidang komputasi dan komunikasi kinerja tinggi. Selama masa jabatannya di penelitian IBM, Dr. Mamidala berkontribusi terhadap kelas komputer BlueGene yang sering menduduki peringkat Top500 superkomputer paling kuat dan hemat daya. Proyek ini dianugerahi medali Nasional Teknologi dan Inovasi 2009. Setelah sempat menjabat sebagai insinyur AI di dana lindung nilai keuangan, Dr. Mamidala bergabung dengan laboratorium Annapurna yang berfokus pada pelatihan model Bahasa Besar.
Jun (Lukas) Huan adalah ilmuwan utama di AWS AI Labs. Dr. Huan bekerja di bidang AI dan Ilmu Data. Dia telah menerbitkan lebih dari 180 makalah tinjauan sejawat di konferensi dan jurnal terkemuka. Ia adalah penerima Penghargaan Pengembangan Karir Dini Fakultas NSF pada tahun 2009. Sebelum bergabung dengan AWS, ia bekerja di penelitian Baidu sebagai ilmuwan terkemuka dan kepala Laboratorium Big Data Baidu. Ia mendirikan StylingAI Inc., sebuah start-up AI, dan menjabat sebagai CEO dan Kepala Ilmuwan pada 2019-2021. Sebelum bergabung dengan industri, dia adalah Profesor Charles E. dan Mary Jane Spahr di Departemen EECS di Universitas Kansas.
Shruti Koparkar adalah Manajer Pemasaran Produk Senior di AWS. Dia membantu pelanggan menjelajahi, mengevaluasi, dan mengadopsi infrastruktur komputasi terakselerasi Amazon EC2 untuk kebutuhan pembelajaran mesin mereka.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/frugality-meets-accuracy-cost-efficient-training-of-gpt-neox-and-pythia-models-with-aws-trainium/
- :memiliki
- :adalah
- $NAIK
- 1
- 10
- 100
- 10K
- 120
- 16
- 160
- 180
- 20
- 500
- 7
- 9
- a
- dipercepat
- akselerator
- akselerator
- menampung
- ketepatan
- ACM
- di seluruh
- Tambahan
- Informasi Tambahan
- tambahan
- mengambil
- diadopsi
- Adopsi
- Setelah
- AI
- Semua
- terendah sepanjang masa
- sepanjang
- juga
- Amazon
- Amazon EC2
- Amazon Web Services
- Layanan Web Amazon (AWS)
- jumlah
- an
- dan
- Apa pun
- Aplikasi
- terapan
- sekitar
- arsitektur
- arsitektur
- ADALAH
- sekitar
- AS
- At
- tersedia
- hadiah
- diberikan
- AWS
- Tulang punggung
- Backend
- Baidu
- berdasarkan
- BE
- menjadi
- sebelum
- laku
- Besar
- Big data
- Milyar
- BIN
- kedua
- by
- Lowongan Kerja
- CD
- ceo
- perubahan
- Perubahan
- mengubah
- Charles
- ChatGPT
- kepala
- kelas
- awan
- Kelompok
- Komunikasi
- membandingkan
- pembandingan
- lengkap
- Lengkap
- kompleks
- menghitung
- komputer
- komputasi
- konferensi
- berkontribusi
- kontrol
- percakapan
- Sesuai
- Biaya
- Biaya
- bisa
- Sekarang
- pelanggan
- harian
- data
- ilmu data
- mendalam
- belajar mendalam
- Default
- mendemonstrasikan
- menunjukkan
- Departemen
- Mendesain
- Pengembangan
- perbedaan
- ukuran
- Terkemuka
- didistribusikan
- pelatihan terdistribusi
- Divisi
- dolar
- domain
- download
- dr
- Gupta
- selama
- e
- setiap
- Awal
- Efektif
- efisien
- embedding
- encoding
- insinyur
- Teknik
- persamaan
- menetapkan
- mengevaluasi
- jelas
- contoh
- menjalankan
- menyelidiki
- beberapa
- keuangan
- Pertama
- langkah pertama
- berfokus
- mengikuti
- diikuti
- berikut
- Untuk
- ditemukan
- dasar
- Didirikan di
- empat
- fraksional
- dari
- penuh
- dana
- menghasilkan
- generasi
- generatif
- mendapatkan
- Aksi
- mati
- baik
- GPU
- gradien
- grafik
- Gupta
- Perangkat keras
- Memiliki
- he
- kepala
- pagar
- hedge fund
- membantu
- membantu
- di sini
- High
- -nya
- jam
- Seterpercayaapakah Olymp Trade? Kesimpulan
- Namun
- HTML
- HTTPS
- MemelukWajah
- IBM
- BEI
- IEEE
- melaksanakan
- memperbaiki
- in
- Inc
- memasukkan
- Indikator
- industri
- informasi
- Infrastruktur
- Innovation
- dalam
- contoh
- sebagai gantinya
- kepentingan
- IT
- perulangan
- iterasi
- jane
- bergabung
- bergabung
- jpg
- json
- Kansas
- pemeliharaan
- laboratorium
- Labs
- bahasa
- besar
- Terbaru
- terkemuka
- pengetahuan
- Dipimpin
- meninggalkan
- Panjang
- Perpustakaan
- Llama
- pemuatan
- kehilangan
- lepas
- Rendah
- mesin
- Mesin belajar
- membuat
- berhasil
- manajer
- Marketing
- Cocok
- matematis
- berarti
- Memenuhi
- mer
- meta
- juta
- jutaan
- ML
- model
- pemodelan
- model
- Memantau
- bulan
- lebih
- paling
- nasional
- Alam
- kebutuhan
- jaringan
- simpul
- node
- NSF
- jumlah
- Nvidia
- memperoleh
- of
- sering
- Ohio
- on
- open source
- secara terbuka
- optimasi
- dioptimalkan
- or
- asli
- garis besar
- di luar
- paket
- dokumen
- parameter
- khususnya
- peer-review
- untuk
- prestasi
- phd
- plato
- Kecerdasan Data Plato
- Data Plato
- Pos
- kuat
- ramalan
- Utama
- masalah
- Prosedur
- Diproses
- Produk
- Profesor
- Kemajuan
- proyek
- disediakan
- publikasi
- diterbitkan
- kualitas
- pertanyaan
- Cepat
- R
- Peringkat
- Penilaian
- perbandingan
- mencapai
- baru
- pengakuan
- referensi
- reproduksi
- wajib
- membutuhkan
- penelitian
- dilindungi
- sumber
- ISTIRAHAT
- Hasil
- benar
- pembulatan
- Run
- berjalan
- sama
- Save
- Ilmu
- ilmuwan
- script
- SEC
- melihat
- senior
- Layanan
- set
- beberapa
- dia
- Menunjukkan
- menunjukkan
- ditunjukkan
- mirip
- Sederhana
- Ukuran
- kecil
- lebih kecil
- Masyarakat
- merentang
- pidato
- Speech Recognition
- menghabiskan
- awal
- Start-up
- mulai
- Negara
- Langkah
- Tangga
- seperti itu
- meringkaskan
- tugas
- Teknologi
- teks
- dari
- Grafik
- mereka
- kemudian
- teori
- Ini
- mereka
- ini
- tiga
- keluaran
- waktu
- untuk
- dipatok
- puncak
- tema
- terhadap
- Pelatihan VE
- terlatih
- Pelatihan
- lintasan
- transformator
- dua
- universitas
- Pembaruan
- us
- menggunakan
- bekas
- Pengguna
- kegunaan
- menggunakan
- variasi
- bervariasi
- Lawan
- penglihatan
- adalah
- we
- jaringan
- layanan web
- yang
- sementara
- sangat
- Wikipedia
- dengan
- tanpa
- Kerja
- bekerja
- pekerja
- kerja
- bekerja
- Anda
- zephyrnet.dll
- nol