Self-Hosted LLMs for Enterprise #2

ในตอนที่แล้ว เราได้ติดตั้ง NVIDIA GPU Driver ให้พร้อมใช้งานบนเครื่อง EC2 (g5g.xlarge) ที่ใช้ Ubuntu 24.04 LTS บทนี้เราจะทำให้ GPU ที่ติดตั้งไว้สามารถใช้งานได้ภายใน Docker container เพื่อเตรียมต่อยอดไปยังการสร้าง LLM API ด้วย llama.cpp
อ่านตอนแรกได้ที่ https://blog.float16.cloud/self-hosted-llms-for-enterprise-1/
ติดตั้ง Docker Engine
1.เพิ่ม GPG key ของ Docker
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
2.เพิ่ม Docker repository เข้าสู่ apt sources
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# อัปเดต repo อีกครั้ง
sudo apt-get update
3.ติดตั้ง Docker Engine และ Docker CLI
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
ทดสอบการติดตั้งด้วย
sudo docker run hello-world
ติดตั้ง NVIDIA Container Toolkit
1.เพิ่ม NVIDIA Container Toolkit 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
2.อัปเดต Package
sudo apt-get update
3.ติดตั้ง NVIDIA Container Toolkit
sudo apt-get install -y nvidia-container-toolkit
4.Config ให้ Docker มองเห็น GPU ได้
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
5.ทดลองใช้งานด้วย Docker
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
สรุปตอนที่ 2
- ติดตั้ง Docker Engine จาก official repository
- ติดตั้ง NVIDIA Container Toolkit เพื่อให้ Docker เข้าถึง GPU ได้
- ทดสอบ container ว่าสามารถรัน
nvidia-smi
ได้จริง
ในตอนถัดไป เราจะเริ่มรัน LLM อย่าง llama.cpp ผ่าน container และเปิดเป็น API ให้ใช้งาน