Perjalanan saya menuju Model Bahasa Besar (LLM) dimulai dengan kegembiraan melihat ChatGPT beraksi. Saya mulai dengan menjelajahi model difusi, tertarik pada kemampuannya menciptakan visual yang indah. Namun, mengerjakan chip M1 memiliki keterbatasan, yang memotivasi saya untuk membuat rig khusus dengan GPU NVIDIA 4090. Saat saya terus menjelajahi LLM dan bereksperimen dengan sistem multi-agen, saya menyadari pentingnya menguasai dasar-dasarnya. Kesadaran ini membuat saya fokus pada pelatihan LLM dari awal—tidak hanya menggunakannya tetapi juga memahami secara mendalam bagaimana fungsi dan perkembangannya.
Evolusi Rig
Catatan: Penyiapan ini mampu melatih model dengan hingga 1 miliar parameter; namun, kinerjanya lebih baik dengan ~500 juta model parameter untuk mencapai pemanfaatan model (MFU) yang lebih tinggi.
- Pembangunan Awal: Rig dengan 2x GPU NVIDIA 4090.
- Bangunan yang Ditingkatkan: Rig dengan 4x GPU NVIDIA 4090.
Berikut panduan komprehensif untuk membangun rig khusus yang disesuaikan untuk pelatihan LLM.
Total Biaya: Keseluruhan pengaturan ini memakan biaya sekitar $12.000 USD. Ini mungkin tidak hemat biaya tetapi saya ingin mencoba dan melakukan lebih banyak eksperimen.
Anda selalu dapat menggunakan cloud dengan biaya yang lebih murah. Silakan periksa dan beberapa lainnya
Langkah Berikutnya: Perjalanan saya ke LLM
1. Merencanakan Pembangunan Anda
-
Tentukan Tujuan Anda: Tentukan skala dan jenis model yang ingin Anda latih. Model yang lebih kecil mungkin bekerja dengan sumber daya yang terbatas, namun arsitektur yang lebih besar memerlukan daya komputasi yang lebih tinggi.
-
Penganggaran: Tetapkan anggaran yang realistis untuk menyeimbangkan kinerja dengan biaya. Perlu diingat bahwa komponen kelas atas, terutama GPU, bisa jadi mahal.
2. Memilih Komponen Perangkat Keras
-
papan utama: Pilih server atau papan workstation, terutama untuk jumlah jalur PCIe dan kompatibilitas dengan beberapa GPU. Saya merekomendasikan SuperMicro M12SWA-TF. Meskipun ini merupakan papan yang sangat bagus, kipas chipsetnya yang berisik mungkin perlu diganti dengan heatsink yang lebih besar dan kipas Noctua.
-
CPU: Pilihlah prosesor yang kuat seperti AMD Threadripper PRO 5955WX. Alasan utama memilih CPU ini adalah itu 128 jalur PCIememungkinkan Anda menghubungkan beberapa GPU tanpa batasan bandwidth.
-
Memori (RAM): Pastikan kompatibilitas antara RAM dan motherboard Anda. Pengaturan dengan Memori 128GB direkomendasikan untuk kumpulan data besar dan tugas komputasi.
-
GPU: GPU NVIDIA 4090 ideal untuk pelatihan LLM karena arsitektur Ada yang canggih. Manfaat utama meliputi:
- VRAM 24GB: Cukup untuk menangani model dan kumpulan data besar.
- Kinerja BFloat16: Inti tensor generasi keempat menghadirkan kinerja luar biasa dengan presisi bfloat16 hingga 330 TFLOPS, memastikan komputasi yang efisien untuk beban kerja AI.
- Warna CUDA: 16.384 inti CUDA memastikan kemampuan pemrosesan paralel yang tak tertandingi.
- Keunggulan Arsitektur: Penelusuran sinar yang ditingkatkan, Penataan Ulang Eksekusi Shader, dan teknologi DLSS 3 untuk meningkatkan efisiensi.
Pengaturan dengan 4x NVIDIA 4090sdihubungkan menggunakan kabel riser seperti yang inimenawarkan kinerja terbaik untuk pelatihan LLM. Beberapa orang tidak menyarankan penggunaan kabel saja karena potensi kesalahan PCIe, namun menurut pengalaman saya, kabel berfungsi dengan sempurna tanpa masalah apa pun.
-
Penyimpanan: Berinvestasi dalam solusi penyimpanan berkapasitas tinggi. Pengaturan saya termasuk SSD NVMe 6 TB untuk akses sangat cepat dan Penyimpanan HDD 8 TB untuk pengarsipan.
-
Catu Daya: Pengaturan PSU ganda sering kali diperlukan untuk build berdaya tinggi. saya menggunakan 2x 1500 Watt PSU Senyap (Tautan Amazon). Setiap PSU memberi daya pada dua GPU, dan satu PSU juga memberi daya pada motherboard dan CPU.
-
Kasus/Bingkai: Untuk pemasangan, saya sarankan kasus iniyang mengakomodasi banyak GPU dan pendinginan yang kuat.
-
Sistem Pendingin: Ganti kipas chipset yang berisik dengan heatsink seperti yang ini untuk pendinginan yang lebih tenang dan efisien.
-
Papan Dasar Motherboard: Gunakan alas tiang seperti yang ini untuk pemasangan yang tepat pada casingnya.
3. Merakit Rig
-
Pengaturan PSU Ganda: Saat menggunakan dua catu daya, pastikan satu memberi daya pada motherboard dan CPU, sementara masing-masing PSU memberi daya pada dua GPU. Adaptor khusus dapat membantu menyinkronkan urutan penyalaannya.
-
Pemeriksaan Kompatibilitas: Pastikan semua komponen kompatibel untuk menghindari masalah perakitan.
-
Perakitan Fisik: Pasang komponen dengan hati-hati, berikan perhatian khusus pada penempatan dan jarak GPU untuk aliran udara optimal.
-
Manajemen Kabel: Atur kabel dengan rapi untuk meningkatkan aliran udara dan menyederhanakan perawatan.
4. Konfigurasi Perangkat Lunak
-
Sistem Operasi: Menggunakan OS berbasis Linux (misalnya Ubuntu), yang terkenal dengan stabilitas dan kesesuaiannya untuk tugas pembelajaran mesin.
-
Driver dan Ketergantungan: Instal driver GPU terbaru, pustaka CUDA, dan cuDNN untuk memaksimalkan kinerja GPU.
-
Kerangka Pembelajaran Mesin: Menyiapkan framework seperti PyTorch atau TensorFlow, yang penting untuk pelatihan model.
-
Kernel Khusus: Saya menggunakan a kernel khusus dari Tinygrad untuk mengaktifkan komunikasi P2P antar GPU, sehingga semakin meningkatkan kinerja.
5. Melatih Model Bahasa Besar
-
Persiapan Data: Kurasi, bersihkan, dan praproses kumpulan data untuk memastikan masukan berkualitas tinggi untuk pelatihan.
-
Pemilihan Model: Pilih arsitektur seperti Llama2 atau GPT, yang disesuaikan dengan perangkat keras dan tujuan pelatihan Anda.
-
Proses Pelatihan: Memulai pelatihan, memantau pemanfaatan sumber daya, dan menyesuaikan konfigurasi sesuai kebutuhan untuk hasil optimal.
6. Optimasi dan Penskalaan
-
Pelatihan Multi-GPU: Gunakan teknik pelatihan terdistribusi seperti Distributed Data Parallel (DDP) atau ZeRO untuk memanfaatkan banyak GPU sepenuhnya.
-
Peretasan George: Memanfaatkan patch kernel oleh George Hotz untuk mengaktifkan komunikasi peer-to-peer (P2P) untuk GPU NVIDIA 4xxx, mengatasi kurangnya dukungan resmi.
-
Penyetelan Kinerja: Optimalkan hyperparameter, ukuran batch, dan kecepatan pembelajaran untuk mencapai konvergensi dan efisiensi yang lebih baik.
7. Pemeliharaan dan Pemantauan
-
Pembaruan Reguler: Selalu perbarui sistem dan perangkat lunak Anda untuk memanfaatkan pengoptimalan dan patch keamanan terbaru.
-
Pemantauan Sistem: Gunakan alat seperti nvidia-smi NVIDIA atau Prometheus untuk melacak kesehatan sistem, pemanfaatan, dan suhu.
Wawasan dan Tip Utama
-
Alternatif Perangkat Keras: Meskipun GPU seperti A100 atau H100 memberikan VRAM yang lebih tinggi, GPU konsumen seperti 4090 menawarkan kinerja luar biasa untuk pengaturan yang hemat biaya.
-
Pertimbangan Awan: Rig lokal ideal untuk proyek dan eksperimen jangka panjang, namun solusi cloud menawarkan fleksibilitas untuk tugas jangka pendek.
-
Sumber Daya Komunitas: Jelajahi tutorial dari para ahli seperti Andrej Karpati dan panduan dari Hugging Face untuk wawasan tambahan.
Membangun peralatan untuk pelatihan LLM adalah upaya yang menantang namun bermanfaat yang membuka peluang untuk mendorong batas-batas pengembangan AI. Dengan perencanaan dan pelaksanaan yang cermat, penyiapan kustom Anda dapat menjadi alat yang ampuh untuk menjelajahi lanskap pembelajaran mesin yang luas.