TutorialAI Translated Content

Setup Driver GPU Nvidia: Langkah Penting untuk Developer AI

Tim Float16
5 min read
Setup Driver GPU Nvidia: Langkah Penting untuk Developer AI

Di era booming AI ini, LLM mungkin adalah apa yang setiap perusahaan bicarakan. Banyak tempat ingin Solusi LLM memainkan peran yang lebih besar di perusahaan mereka, apakah itu membuat Chatbot, RAG, dll. Yang mengikuti adalah solusi ini perlu berada di Infrastructure perusahaan, baik On-premises atau Cloud provider, berdasarkan persyaratan bahwa data tidak boleh dikirim ke penyedia LLM eksternal seperti OpenAI untuk diproses.

Oleh karena itu, tugas baru untuk orang infrastructure seperti kita adalah menyediakan mesin GPU. Namun, setelah mendapatkan mesin, masih banyak hal yang perlu dikonfigurasi, seperti menginstal driver dan alat lainnya. Dalam artikel ini, kita akan memperkenalkan metode persiapan mesin dasar untuk tim Infra untuk memastikan GPU Instances yang kita buat seready mungkin untuk digunakan.

Saya akan mengawali dengan mengatakan bahwa GPU yang utamanya kita gunakan adalah dari Nvidia, yang merupakan salah satu pemimpin pasar dengan pengguna terbanyak saat ini. Jadi semua konten akan menggunakan Nvidia sebagai pencerita. Siap? Mari kita mulai!!

Menginstal Driver

Menginstal Nvidia GPU Driver tidak sesulit atau sekompleks yang Anda pikirkan. Kita dapat mengikuti Document Nvidia, tetapi kita perlu menyesuaikan beberapa parameter agar sesuai dengan OS dan CPU Architecture yang kita pilih. Dalam artikel ini, kita mungkin tidak akan membahas setiap topik yang tercantum di Document, tetapi kita akan mengajarkan metode instalasi dasar yang memungkinkan penggunaan GPU.

Dokumen instalasi driver Nvidia

1. Siapkan Parameter yang Diperlukan

Dari tabel Supported Linux Distributions, yang memberi tahu kita versi Linux mana yang mendukung instalasi Driver.

3 parameter yang perlu kita catat untuk digunakan di langkah selanjutnya:

  1. $distro
  2. $arch
  3. $arch_ext

Misalkan kita menggunakan Linux Ubuntu 22.04 LTS di mesin x86. Ketika kita membandingkan nilai dalam tabel:

Nilainya akan: $distro = ubuntu2204 $arch = x86_64 $arch_ext = amd64

2. Pilih Panduan Instalasi Sesuai Distribusi Linux

Langkah ini adalah memilih metode instalasi Driver sesuai OS kita. Dari contoh saya memilih Ubuntu, kita akan melihat bagian 10 yang menjelaskan metode instalasi Ubuntu.

Yang perlu kita lakukan adalah:

  1. Ikuti semua langkah Pre-installation
  2. Instal kernel headers dan development packages
sudo apt install linux-headers-$(uname -r)
  1. Pilih metode instalasi antara Local Repository atau Network Repository. Saya akan memilih Network Repository.

Di URL https://developer.download.nvidia.com/compute/cuda/repos/$distro/$arch/cuda-keyring_1.1-1_all.deb

Ganti $distro dan $arch dengan nilai dari tabel

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update

Instal paket cuda-keyring baru

  1. Instal Driver
sudo apt install nvidia-open

Setelah menyelesaikan langkah ini, kita akan memiliki Nvidia Driver dan CUDA Library terinstal di mesin kita. Kita dapat memverifikasi dengan perintah:

nvidia-smi

Output akan menunjukkan jumlah GPU aktif bersama dengan utilisasi dasar.

output nvidia-smi

  1. Instal CUDA Toolkit
apt install cuda-toolkit

Instalasi CUDA Toolkit

Itu saja! Kita sekarang memiliki mesin Linux Ubuntu dengan GPU siap digunakan.

NVIDIA Container Toolkit

Sederhananya, ini adalah Tools dan Libraries yang memungkinkan container menggunakan GPU. Kita akan mulai dengan menginstal NVIDIA Container Toolkit. Contoh ini berfokus pada container Docker yang saya yakin banyak orang paling banyak gunakan.

Dari contoh ini, kita akan menggunakan Ubuntu sebagai contoh instalasi.

Prerequisites:

  • Container engine (Docker, Containerd)
  • Nvidia GPU Driver
  1. Konfigurasi production repository
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  1. Update daftar packages dari repository
sudo apt-get update
  1. Instal packages NVIDIA Container Toolkit
sudo apt-get install -y nvidia-container-toolkit

Dari 3 langkah ini, kita akan memiliki nvidia container toolkit terinstal. Langkah selanjutnya adalah mengkonfigurasi container engine kita untuk menggunakan toolkit ini.

Konfigurasi Docker

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Untuk container engine lain, Anda dapat memeriksa Document untuk detail lebih lanjut.

Untuk Kubernetes, saya akan menjadikannya topik utama lain karena ada Tool khusus lain yang lebih cocok untuk K8S daripada menginstal GPU Driver dan mengkonfigurasi toolkit di setiap Node.

Alat Monitoring

Setelah instalasi dan penggunaan, hal berikutnya yang harus kita lakukan adalah memonitor penggunaan. Monitoring awal paling sederhana mungkin hanya menggunakan nvidia-smi untuk melihat berapa banyak GPU ada dan berapa banyak penggunaan, tetapi itu tidak cukup detail. Jadi saya ingin merekomendasikan Tools lain sebagai pilihan penggunaan.

Nvitop

Interactive CLI yang dapat melihat penggunaan GPU secara detail. Instalasi sangat mudah dengan:

pip3 install --upgrade nvitop

Kemudian gunakan saja perintah:

nvitop

Dan Anda akan mendapatkan Interactive UI yang ditampilkan melalui terminal

Di mana kita dapat Drill-Down untuk melihat setiap proses yang berjalan.

NVIDIA DCGM

Tool Official dari Nvidia yang dikembangkan dengan Golang, bertindak sebagai API untuk mengekstrak berbagai metrik GPU Cluster.

Untuk instalasi di VM biasa, Anda memerlukan GPU Driver, Docker engine bersama dengan Nvidia Container toolkit terinstal terlebih dahulu untuk menggunakan DCGM.

Untuk metode penggunaan, saya akan menyimpannya untuk menulis sebagai artikel lengkap terpisah karena menggunakan DCGM secara maksimal memerlukan penggunaannya dengan beberapa Tools lain seperti Prometheus dan Grafana Dashboard.

Ringkasan Akhir

Sekarang, saya pikir semua orang yang membaca sampai akhir harus dapat menyediakan VM dengan GPU siap untuk penggunaan tim. Jika kita secara bertahap memahaminya, saya pikir ini lebih mudah daripada menginstal beberapa Services. Untuk konten yang tertunda, silakan terus ikuti. Ini harus membantu Anda membangun infrastructure dari dev hingga production.