berita

Pelatihan GPU Llama 3.1 mogok gila-gilaan. Apakah ada pabrikan besar yang menggunakan server CPU untuk menjalankan model besar dengan ratusan miliar parameter?

2024-08-01

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Laporan Kebijaksanaan Baru

Editor: Departemen Editorial

[Pengantar Kebijaksanaan Baru]Saatnya menggunakan server universal CPU untuk menjalankan model besar dengan ratusan miliar parameter!

Musk membangun superkomputer terbesar di dunia yang terdiri dari 100.000 H100 yang terhubung dalam 19 hari, dan telah mengabdikan dirinya sepenuhnya untuk pelatihan Grok 3.

Pada saat yang sama, media asing mengabarkan bahwa cluster superkomputer berikutnya yang dibangun bersama oleh OpenAI dan Microsoft akan terdiri dari 100.000 GB200.

Dalam kompetisi AI ini, perusahaan-perusahaan teknologi besar melakukan segala upaya untuk meningkatkan investasi pada GPU, yang sepertinya menyiratkan bahwa memiliki GPU yang lebih banyak dan lebih bertenaga akan membuat mereka tak terkalahkan.

Namun, upaya fanatik terhadap GPU kelas atas ini bukanlah solusi sempurna dalam segala situasi.


Ayah dari Pytorch mengatakan bahwa ada banyak detail menarik tentang infrastruktur yang tersembunyi dalam laporan teknis, termasuk cara memparalelkan, cara membuat sistem lebih andal, dll.

Mengambil stabilitas sebagai contoh, selama 54 hari pelatihan Llama 3.1, cluster H100 Meta yang terdiri dari 16.000 blok mengalami total 419 gangguan tak terduga, yang setara dengan rata-rata satu gangguan setiap 3 jam.

Diantaranya, 148 kali (30,1%) disebabkan oleh berbagai kegagalan GPU.

Sebaliknya, hanya ada 2 interupsi yang disebabkan oleh kegagalan CPU.


Di sisi lain, jika Anda ingin menjalankan Llama 3.1 405B, Anda perlu memasangkannya dengan dua workstation DGX 8×H100 - yaitu memori video 1280 GB.

Seorang pejuang pernah mencoba menjalankannya dengan 4090, tetapi setelah menunggu selama 30 menit, model tersebut perlahan mengeluarkan "The".


Balasan lengkap membutuhkan waktu 20 jam penuh

Teman-teman yang akrab dengan pelatihan model dan inferensi mengetahui bahwa hal-hal tersebut tidak mengherankan sama sekali.

Konstruksi cluster (konfigurasi GPU, desain jaringan, optimalisasi track, dll.), manajemen cluster (pemantauan real-time, pemecahan masalah, dll.)...semuanya merupakan "batu sandungan".

Apa yang harus dilakukan oleh perusahaan yang tidak memiliki pengalaman dan modal yang relevan?


Baru-baru ini, insinyur R&D Inspur Information hanya menggunakan 4 CPU untuk menjalankan "Sumber 2.0" dengan ratusan miliar parameter pada server tujuan umum!

Dihadapkan pada tugas coding menulis program di Java, "Sumber 2.0" memberikan hasil dengan sangat cepat.


Berikan pertanyaan penalaran lainnya - sebuah tangga digantung di sisi perahu, 2 meter di atas permukaan laut. Jika air laut naik setengah meter setiap jam, berapa jam yang diperlukan air laut untuk menenggelamkan tangga tersebut?

Demikian pula, AI memberikan langkah-langkah dan jawaban pemecahan masalah yang terperinci dengan hampir tanpa penundaan.



Belum pernah terjadi sebelumnya penggunaan server tujuan umum untuk menjalankan model besar dengan ratusan miliar parameter. Akumulasi di bidang ini benar-benar kosong, dan tidak ada pengalaman yang dapat diambil.

Bagaimana Inspur Information melakukannya?

Gunakan 4 CPU untuk memanfaatkan model besar dengan ratusan miliar parameter

Untuk mencapai inferensi model besar dengan ratusan miliar parameter pada satu server, ada dua tahap utama, yang keduanya menerapkan persyaratan ketat pada daya komputasi.

Pertama, ada tahap pra-pengisian, disebut juga tahap propagasi maju.

Tahap ini melibatkan pemrosesan data masukan dan pembacaan pertama parameter model.

Misalnya, saat Anda memasukkan prompt "Tuliskan saya artikel tentang AI", tahap pra-populasi akan memasukkan semua token dan parameter model dalam pertanyaan ke dalam penghitungan sekaligus.

Terkadang, masukan ini mungkin berupa beberapa kata, atau mungkin ribuan kata, atau mungkin sebuah buku.

Seberapa menuntutnya komputasi pada tahap pertama terutama bergantung pada panjang masukan kita.

Selama penghitungan token pertama, sejak model dimuat untuk pertama kalinya, semua parameter bobot, serta KV Cache dan data lainnya akan disimpan di memori.

Ini adalah 2-3 kali lipat ruang memori yang ditempati oleh parameter model itu sendiri.

Untuk ratusan miliar model parameter, sejumlah besar parameter dan input data perlu diproses dalam unit komputasi yang kuat. Untuk itu, perlu mendukung set instruksi vektorisasi dan set instruksi perhitungan matriks untuk mengimplementasikan operasi perkalian matriks dan tensor dalam jumlah besar.

Kedua, tahap decoding, yaitu tahap dimana model mulai mengeluarkan hasil setelah semua pertanyaan dimasukkan.

Pada tahap ini, satu-satunya persyaratan untuk model besar adalah menghasilkan output secepat mungkin. Pada saat yang sama, tantangannya bukan lagi tantangan kekuatan komputasi, melainkan tantangan “transfer data”.

Ini berisi dua bagian "transfer data":

  • KV Cache yang dihasilkan pada tahap pra-pengisian dalam jumlah besar perlu dipindahkan dari memori video/memori ke unit komputasi (beban kerjanya sangat berat)

  • Transfer parameter model itu sendiri

Transfer ini memainkan peran penting dalam penghitungan dan kecepatan inferensi model besar. Transfer datanya sangat cepat, dan kecepatan pengucapan LLM juga akan cepat.

Output LLM terutama menghasilkan token satu per satu melalui KV Catch, dan menyimpan vektor nilai kunci dari potongan kata baru setelah setiap langkah pembuatan.

Oleh karena itu, untuk inferensi real-time terhadap ratusan miliar model besar, server harus memiliki daya komputasi yang tinggi dan efisiensi transfer data yang tinggi dari unit penyimpanan ke unit komputasi.

Secara keseluruhan, kedua tahap penalaran model besar memiliki karakteristik komputasi yang sangat berbeda, yang memerlukan optimalisasi kolaboratif dalam hal perangkat lunak dan perangkat keras.

GPU bukanlah segalanya

Secara tradisional, GPU telah menjadi pilihan pertama untuk pelatihan dan inferensi AI karena kemampuan pemrosesan paralelnya yang unggul.

biaya

Namun, server GPU kelas atas sering kali kekurangan pasokan di pasar dan sangat sulit diperoleh.

Hanya raksasa teknologi yang mempunyai dana besar, seperti Microsoft dan Google, yang mampu menanggung biaya ini.

Di sisi lain, hal ini tidak hanya tidak terjangkau, tetapi juga tidak terjangkau.

Penyewaan layanan cloud berbasis GPU mahal dalam tugas inferensi. Bagi peneliti ilmiah dan produsen aplikasi, jika mereka ingin mencapai efektivitas biaya yang lebih tinggi, mereka harus mencari cara lain.

Memori video

Selain itu, salah satu kelemahan terbesar GPU adalah kapasitas memori video yang terbatas.

Arsitektur jaringan LLM di industri saat ini secara bertahap berpindah dari GPT ke MoE. Skala parameter model besar yang mengarah ke AGI hanya akan meningkat secara eksponensial.

Artinya, ukuran model arus utama sumber tertutup/sumber terbuka hanya akan semakin besar, dan model dengan ratusan miliar parameter atau bahkan triliunan parameter akan menjadi arus utama.

Untuk puluhan miliar model parameter, memori video 20-30 GB sudah cukup. Namun, jika Anda ingin menjalankan 100 miliar parameter, Anda memerlukan ruang memori video sekitar 200-300 GB.

Chip AI mainstream saat ini biasanya hanya memiliki memori video beberapa puluh GB, yang jelas tidak dapat menampung model sebesar itu. (Chip AI paling kuat saat ini belum mencapai 200GB)


Server tujuan umum yang diremehkan

Jika GPU tidak berfungsi, mulailah dengan CPU.

Meskipun pelatihan model skala besar saat ini tidak memungkinkan, server tujuan umum secara tidak terduga memiliki keuntungan besar dalam tugas inferensi.

Dalam proses praktik khusus, para insinyur Informasi Inspur memulai dari sumber daya perangkat keras dan tingkat algoritma untuk mengatasi setiap "batu sandungan".

Memori ultra besar + bandwidth berkecepatan tinggi

Dalam hal kekuatan komputasi,Saat ini, CPU server terkemuka sudah memiliki kemampuan akselerasi AI.

Mirip dengan inti Tensor GPU, ekstensi matriks lanjutan AMX dapat mempercepat penghitungan presisi rendah, mengkompilasi set instruksi ke inti CPU, dan menggunakan inti khusus untuk akselerasi.

Dalam hal algoritma,Server universal Inspur Information secara bersamaan dapat mendukung kerangka kerja AI arus utama seperti PyTorch dan TensorFlow, serta alat pengembangan populer seperti DeepSpeed, sehingga memenuhi kebutuhan pengguna akan ekosistem terbuka yang lebih matang, mudah diterapkan, dan lebih nyaman.

Dalam hal komunikasi,Desain interkoneksi bus UPI (Ultra Path Interconnect) full-link mewujudkan transmisi data yang efisien antar CPU:

  1. Memungkinkan transfer data langsung antara dua CPU mana pun, mengurangi penundaan komunikasi

  2. Memberikan kecepatan transfer tinggi, hingga 16GT/s (Giga Transfer per detik)


Selain itu, insinyur R&D Inspur Information juga mengoptimalkan jalur pengkabelan dan kontinuitas impedansi antara CPU dan antara CPU dan memori.

Berdasarkan hasil simulasi tiga dimensi, mereka menyesuaikan pengaturan via untuk mengurangi crosstalk sinyal hingga di bawah -60dB, yang 50% lebih rendah dari generasi sebelumnya.

Selain itu, melalui simulasi aktif matriks DOE, solusi optimal untuk kombinasi seluruh sudut saluran ditemukan, sehingga kinerja daya komputasi dapat dimanfaatkan sepenuhnya.

Dalam hal memori,Ini bisa dikatakan sebagai keuntungan terbesar dari server tujuan umum.

  • kapasitas

Untuk server 4 soket, Anda hanya perlu mencolokkan 8 memory stick 32GB ke setiap CPU agar mudah mencapai 1TB. Ketika dimasukkan sepenuhnya, kapasitasnya bahkan dapat diperluas hingga 16 TB, dan dapat mendukung model dengan hingga satu triliun parameter.

  • lebar pita

Dipasangkan dengan memori DDR5, bandwidth teoretis sebesar 4800MHz × 8bit × 8 saluran × 4 1024 = 1200GB/s dapat dicapai.

Hasil pengukuran sebenarnya menunjukkan bandwidth baca 995GB/s, bandwidth tulis 423GB/s, dan bandwidth baca dan tulis 437GB/s.

Data ini sebanding dengan beberapa GPU atau kartu akselerator yang dilengkapi memori GDDR.


Namun perangkat keras saja tidak cukup

Mengandalkan inovasi perangkat keras saja tidak cukup. Sulit bagi CPU untuk melakukan perhitungan paralel skala besar dari algoritma model besar.

Seperti disebutkan di awal, model besar memiliki persyaratan bandwidth komunikasi yang sangat tinggi, baik itu penghitungan data, antar unit komputasi, atau antara unit komputasi dan memori.

Jika dihitung berdasarkan akurasi BF16, jika Anda ingin penundaan pengoperasian model besar 100 miliar kurang dari 100 ms, bandwidth komunikasi antara memori dan unit komputasi harus minimal 2TB/dtk.

Tidak hanya itu, prosesor server tujuan umum tidak cocok untuk model AI besar berdasarkan desain kartu akselerator yang bagus untuk komputasi paralel skala besar.

Alasannya jelas: meskipun yang terakhir memiliki inti komputasi yang sangat serbaguna dan berkinerja tinggi, ia tidak memiliki lingkungan kerja paralel.

Secara umum, server tujuan umum pertama-tama akan mentransfer bobot model ke CPU, dan kemudian membiarkannya terhubung ke CPU lain secara seri untuk mewujudkan transmisi data bobot.

Namun, karena model besar perlu sering mentransfer bobot algoritma antara memori dan CPU selama operasi, konsekuensinya adalah pemanfaatan bandwidth antara CPU dan memori tidak tinggi dan overhead komunikasi menjadi sangat tinggi.


Bagaimana cara mengatasi masalah tersebut?Berinovasi dengan algoritma

Menanggapi masalah di atas, Inspur Information mengusulkan dua inovasi teknologi, "Tensor Parallel" (Tensor Parallel) dan "NF4 Quantification", dan berhasil merealisasikan inferensi real-time dari model besar Yuan2.0-102B yang bernilai ratusan miliar.

Berdasarkan hasil analisis kinerja, distribusi waktu penghitungan berbagai bagian model dapat terlihat dengan jelas——

Waktu berjalan lapisan linier menyumbang 50%, waktu berjalan konvolusi menyumbang 20%, waktu komunikasi agregasi menyumbang 20%, dan penghitungan lainnya menyumbang 10%.

Perhatikan bahwa selama keseluruhan proses inferensi, waktu penghitungan mencapai 80%!

Hal ini sangat kontras dengan penggunaan beberapa kartu akselerator PCIe AI - overhead komunikasi pada kartu akselerator tersebut mungkin mencapai 50%, sehingga mengakibatkan pemborosan daya komputasi yang serius.


Bagan hasil analisis kinerja inferensi model Yuan2.0-102B

paralelisme tensor

Apa yang disebut paralelisme tensor pertama-tama membagi operator konvolusi menjadi tensor, lalu menghitung bobot matriks lapisan perhatian dan lapisan umpan maju dalam model besar dan memasukkannya ke dalam memori beberapa prosesor.

Dengan cara ini, keempat CPU di server umum dapat memperoleh bobot algoritme secara bersamaan untuk mempercepat penghitungan.

Namun, paralelisme tensor membagi parameter model menjadi rincian yang lebih halus, sehingga mengharuskan CPU melakukan sinkronisasi data setelah setiap penghitungan tensor.

Untuk persyaratan ini, teknologi interkoneksi bus UPI full-link yang disebutkan di atas dapat sepenuhnya memenuhi persyaratan ini (bandwidth komunikasi hingga 16GT/s).

Pada akhirnya, kerja paralel kolaboratif ini secara langsung meningkatkan efisiensi komputasi sebanyak 4 kali lipat!


kuantifikasi NF4

Mengenai masalah bandwidth memori yang tidak mencukupi, model perlu "diperkecil" tanpa mempengaruhi akurasi, yaitu terkuantisasi.

Keuntungannya adalah di satu sisi, parameter LLM dapat dikuantisasi menjadi data bit rendah, dan bobotnya akan menjadi lebih kecil. Sebaliknya, setelah bobotnya dikurangi, jumlah data yang dikirimkan selama penghitungan juga akan semakin kecil.

Di sini, Informasi Inspur mengadopsi metode kuantifikasi kuantil yang langka - NF4 (NormalFloat 4 digit).


Metode kuantisasi NF4 dapat memampatkan ukuran Yuan2.0-102B menjadi 1/4 dari ukuran aslinya.

Secara khusus, ide inti NF4 adalah untuk memastikan bahwa jumlah nilai tensor masukan dalam interval kuantisasi adalah sama.

Fitur ini sangat cocok untuk menyajikan bobot LLM dengan distribusi mendekati normal.

Karena deviasi standar dapat disesuaikan agar sesuai dengan rentang tipe data terkuantisasi, NF4 dapat mencapai akurasi yang lebih tinggi daripada kuantifikasi integer 4-bit tradisional atau floating point 4-bit.

Dengan cara ini, model terkuantisasi tidak hanya dapat memenuhi persyaratan akurasi, tetapi juga secara signifikan mengurangi jumlah data akses memori untuk komputasi paralel skala besar, sehingga memenuhi persyaratan penguraian kode penalaran waktu nyata.


Interval data untuk metode kuantisasi integer atau floating point biasanya terdistribusi secara merata atau terdistribusi secara eksponensial

Untuk lebih memampatkan parameter bobot model, tim juga menggunakan teknologi kuantisasi bersarang (Double Quant).

Ini adalah kuantisasi sekunder berdasarkan kuantisasi NF4.

Karena NF4 akan menghasilkan sejumlah besar parameter skala setelah kuantisasi, jika angka floating point 32-bit (FP32) digunakan untuk menyimpannya, sejumlah besar memori akan digunakan.

Untuk LLM dengan ratusan miliar parameter, jika setiap 64 parameter dihitung sebagai blok kuantisasi (ukuran blok=64), hanya menyimpan parameter skala memerlukan tambahan memori 6 GB: (100B 64) × 4 = 6 GB.

Tim secara signifikan mengurangi ruang penyimpanan yang diperlukan dengan mengkuantisasi parameter skala ini menjadi angka floating point 8-bit (FP8).

Saat menggunakan 256 sebagai ukuran blok kuantisasi (ukuran blok=256), ruang tambahan yang diperlukan untuk menyimpan semua parameter skala hanya 1,57 GB: (100B 64 256) × 4 + (100B 64) × 1 = 1,57 GB.

Melalui kuantisasi bersarang, setiap parameter bobot model hanya menempati ruang memori 4 byte, menghemat banyak ruang memori dibandingkan FP32 asli.

Pada saat yang sama, ini meningkatkan efisiensi transfer data dari memori ke CPU sebanyak 4 kali lipat.

Pengoptimalan tersebut secara signifikan mengurangi batasan bandwidth memori pada efisiensi inferensi dan decoding model Yuan2.0-102B, sehingga semakin meningkatkan kinerja inferensi model.

Yang disebut universal berarti semua orang dapat menggunakannya.

Sampai disini, Informasi Inspur telah berhasil dikirimkan!

Melalui optimalisasi sistem, NF8260G7 dari Inspur Information adalah yang pertama di industri yang mendukung pengoperasian model besar dengan ratusan miliar parameter yang hanya didasarkan pada prosesor tujuan umum.

Sejauh ini, skala parameter model AI besar yang didukung oleh daya komputasi umum telah melampaui 100 miliar, sehingga sepenuhnya mengisi kesenjangan dalam industri dan menjadi titik awal baru bagi perusahaan untuk memiliki AI.

Penerapan model AI dengan ratusan miliar parameter kini memiliki pilihan dengan kinerja yang lebih kuat dan biaya yang lebih ekonomis; aplikasi model AI yang besar dapat mencapai integrasi yang lebih erat dengan cloud, big data, dan database.


Tujuan akhir dari kemajuan ilmu pengetahuan dan teknologi haruslah jatuh ke dunia fana.

Melihat saat ini, AIGC telah merambah ke ribuan industri. AI telah merambah ke setiap perangkat komputasi dengan kecepatan yang mengkhawatirkan.

Dari bulan Januari hingga April 2024, jumlah pemenang tender untuk model-model besar dalam negeri telah melampaui total keseluruhan tahun 2023, dan jumlah pemenang tender yang diungkapkan telah mencapai 77% dari jumlah keseluruhan tahun 2023.

Praktisi di industri keuangan, departemen rawat jalan rumah sakit, dan departemen TI perusahaan semuanya telah menemukan hal ini: infrastruktur daya komputasi di industri tradisional tidak lagi cukup!

Saat ini, model besar dengan ratusan miliar parameter menjadi kunci munculnya kecerdasan di ribuan industri. Apakah daya komputasi umum dapat menjalankan model besar dengan ratusan miliar parameter adalah kunci untuk mengukur apakah daya komputasi tersebut dapat mendukung munculnya kecerdasan di ribuan industri.

Inisiatif Inspur Information memungkinkan pelanggan di bidang Internet, keuangan, medis, dan industri lainnya mencapai penerapan yang efisien dan menghemat lebih dari 80% biaya konstruksi pada investasi pertama.

Baik itu pencegahan penipuan keuangan, analisis data keuangan, wawasan pemasaran CRM perusahaan, diagnosis medis cerdas, diagnosis dan rencana perawatan yang dipersonalisasi, pendidikan dan pelatihan, dll., kita akan menyaksikan penerapan AI secara luas.

Mulai sekarang, semua perhitungan adalah AI.

Referensi:

https://mp.weixin.qq.com/s/1wYt7dfoVy2J1FFkOJjRTg