Setup VPS GPU AI: Cài đặt JupyterLab & môi trường Deep Learning (2025)

Tác giả: Trần Thảo 06 tháng 01, 2026

Sự bùng nổ của Generative AI và các mô hình ngôn ngữ lớn (LLMs) đã thay đổi hoàn toàn cách chúng ta tiếp cận công nghệ. Từ việc huấn luyện (training) các mạng nơ-ron sâu cho đến tinh chỉnh (fine-tuning) Llama 3 hay Stable Diffusion, nhu cầu về khả năng tính toán song song đang lớn hơn bao giờ hết. Tuy nhiên, việc đầu tư một trạm làm việc (Workstation) vật lý với chi phí hàng trăm triệu đồng không phải là lựa chọn khả thi cho mọi nhà nghiên cứu hay dự án khởi nghiệp.

Đây chính là lúc giải pháp VPS GPU AI (Virtual Private Server tích hợp Card đồ họa rời) trở thành chìa khóa công nghệ. Thay vì phải tự vận hành phần cứng phức tạp, bạn có thể tiếp cận các dòng VPS GPU NVIDIA mới nhất 2025 chỉ với vài cú click chuột.

Bài viết này là tài liệu kỹ thuật chuyên sâu (Technical Blueprint), hướng dẫn bạn từng bước xây dựng một “phòng Lab AI” trên đám mây: từ việc chọn hệ điều hành, cài đặt Driver NVIDIA chuẩn mực, thiết lập môi trường Python cô lập, cho đến việc triển khai JupyterLab chạy nền bền bỉ cho các tác vụ training kéo dài nhiều ngày.

NVIDIA A100 80GB PCIe - Sức mạnh xử lý ma trận hàng đầu cho các tác vụ Deep Learning trên VPS

NVIDIA A100 80GB PCIe – Sức mạnh xử lý ma trận hàng đầu cho các tác vụ Deep Learning trên VPS

Tại sao VPS GPU AI là hạ tầng tiêu chuẩn cho Deep Learning?

Trước khi đi vào các dòng lệnh cấu hình, cần xác định rõ vị thế của VPS GPU AI trong hệ sinh thái hạ tầng hiện nay và lý do tại sao nó vượt trội so với các giải pháp khác.

Sự ổn định và tính sở hữu (Persistence)

Các nền tảng notebook miễn phí như Google Colab hay Kaggle Kernels rất tuyệt vời cho việc học tập, nhưng chúng sở hữu “gót chân Achilles” chí mạng: giới hạn thời gian phiên (session timeout). Bạn không thể huấn luyện một model phức tạp trong 24 giờ liên tục mà không lo bị ngắt kết nối.

Với VPS GPU AI, bạn sở hữu toàn quyền root và tài nguyên hệ thống. Các tiến trình (process) của bạn sẽ chạy bền bỉ cho đến khi hoàn thành, bất kể bạn có tắt máy tính cá nhân hay không.

Sức mạnh phần cứng chuyên dụng

Năm 2025, các nhà cung cấp VPS GPU AI hàng đầu đã trang bị những dòng phần cứng tối tân được thiết kế riêng cho tính toán ma trận:

  • NVIDIA A100/H100 Tensor Core: Với bộ nhớ HBM2e lên tới 80GB và băng thông 2TB/s, đây là “quái vật” cho các tác vụ huấn luyện LLMs quy mô lớn.
  • NVIDIA GeForce RTX 4090: Dựa trên kiến trúc Ada Lovelace, sở hữu 24GB G6X VRAM và 16,384 CUDA Cores, là lựa chọn tối ưu về chi phí (price/performance) cho các tác vụ Fine-tuning và Inference tầm trung.

Môi trường tùy biến sâu (Deep Customization)

Khác với môi trường Share Hosting bị giới hạn thư viện, trên VPS GPU AI, bạn có thể cài đặt bất kỳ phiên bản CUDA, cuDNN, hay Docker Container nào mà dự án yêu cầu, đảm bảo sự tương thích tuyệt đối giữa phần cứng và phần mềm.

Bảng so sánh: VPS GPU AI vs. Google Colab vs. PC Cá nhân

Để bạn dễ dàng hình dung sự khác biệt, dưới đây là bảng đối chiếu các tiêu chí kỹ thuật quan trọng:

Tiêu chí Google Colab (Free/Pro) PC Cá nhân (Gaming GPU) VPS GPU AI (Dedicated)
Thời gian chạy (Runtime) Bị giới hạn (tối đa 12-24h), hay ngắt kết nối. Không giới hạn (nhưng tốn điện & hao mòn). Vĩnh viễn (24/7), không lo mất điện hay rớt mạng.
Quyền truy cập hệ thống Hạn chế, không có quyền Root đầy đủ. Full quyền (nhưng cài đặt driver phức tạp). Full Root SSH, tùy biến sâu Kernel & OS.
Khả năng mở rộng (Scale) Khó mở rộng, phụ thuộc gói đăng ký. Cố định phần cứng, nâng cấp tốn kém. Linh hoạt, dễ dàng nâng cấp RAM/SSD/GPU khi cần.
Môi trường & IP IP Share thay đổi liên tục, môi trường bị reset. IP Tĩnh (tùy mạng), môi trường cố định. IP Riêng (Dedicate IP), môi trường cô lập, bảo mật cao.
Chi phí đầu tư Thấp (thuê bao tháng), nhưng hiệu năng không ổn định. Cao (Vốn ban đầu lớn cho phần cứng). Linh hoạt (Pay-as-you-go), tối ưu dòng tiền.

Bước 1: Chuẩn bị hệ điều hành Ubuntu 24.04 LTS

Để đảm bảo khả năng tương thích tốt nhất với các phần cứng mới và nhận được hỗ trợ bảo mật dài hạn (đến năm 2029), chúng ta sẽ sử dụng Ubuntu 24.04 LTS (Noble Numbat). Đây là phiên bản hệ điều hành Linux tiêu chuẩn vàng cho AI ở thời điểm hiện tại, hỗ trợ Kernel mới nhất giúp tối ưu hóa việc giao tiếp với GPU thông qua PCIe Gen 5.

Kết nối và kiểm tra phần cứng

Sử dụng giao thức SSH để truy cập vào VPS GPU AI của bạn. Nếu bạn là người mới làm quen với giao diện dòng lệnh, hãy xem qua tổng hợp 20+ lệnh Linux cơ bản nhất để thao tác mượt mà hơn.

Ngay khi đăng nhập, bước đầu tiên luôn là xác nhận hệ thống đã nhận diện được thiết bị vật lý:

lspci | grep -i nvidia

Kết quả mong đợi: Hệ thống sẽ trả về mã định danh của GPU, ví dụ: NVIDIA Corporation AD102 [GeForce RTX 4090]. Nếu không thấy dòng này, hãy liên hệ nhà cung cấp trước khi tiếp tục.

Tiếp theo, hãy cập nhật toàn bộ các gói phần mềm nền tảng để tránh xung đột dependencies:

sudo apt update && sudo apt upgrade -y
sudo apt install build-essential libgl1-mesa-glx software-properties-common -y

Bước 2: Quy trình cài đặt NVIDIA Driver & CUDA Toolkit 13.x

Đây là bước quan trọng nhất và cũng là nơi nhiều kỹ sư thường gặp lỗi do xung đột phiên bản. Thay vì sử dụng các file .run thủ công dễ gây lỗi như trước đây, phương pháp “Best Practice” hiện nay là sử dụng Network Repository chính thức của NVIDIA. Cách này giúp trình quản lý gói apt tự động xử lý các dependencies và cập nhật bảo mật.

1. Thiết lập NVIDIA Network Repository

Chúng ta sẽ cài đặt cuda-keyring để xác thực kho chứa gói tin từ NVIDIA cho Ubuntu 24.04:

# Tải về Keyring package cho Ubuntu 24.04
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb

# Cài đặt Keyring
sudo dpkg -i cuda-keyring_1.1-1_all.deb

# Cập nhật lại danh sách gói tin
sudo apt update

2. Cài đặt CUDA Toolkit (Kèm Driver)

Tại thời điểm này, phiên bản CUDA 13.1 là phiên bản ổn định nhất hỗ trợ các framework AI hiện đại. Lệnh sau sẽ cài đặt toàn bộ CUDA Toolkit cùng với phiên bản Driver tương thích (ví dụ Driver 560+), đảm bảo sự đồng bộ tuyệt đối:

sudo apt install cuda-toolkit -y

Lưu ý: Quá trình này có thể mất 5-10 phút tùy thuộc vào tốc độ mạng của VPS.

Sau khi cài đặt hoàn tất, bạn BẮT BUỘC phải khởi động lại hệ thống để Driver nạp vào Kernel:

sudo reboot

3. Cấu hình biến môi trường và Kiểm tra

Sau khi SSH lại vào VPS, hãy thêm đường dẫn của CUDA vào biến môi trường hệ thống để các trình biên dịch có thể tìm thấy nó:

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

Kiểm tra trạng thái hoạt động của GPU bằng lệnh:

nvidia-smi

Nếu bảng thông số hiển thị tên GPU, phiên bản Driver và trạng thái P0, VPS GPU AI của bạn đã sẵn sàng cho các tác vụ nặng.

Bước 3: Thiết lập môi trường ảo với Miniconda

Việc cài đặt trực tiếp các thư viện Python vào hệ thống gốc (/usr/bin/python3) là một rủi ro lớn có thể làm hỏng hệ điều hành. Giải pháp tiêu chuẩn là sử dụng Miniconda để quản lý các môi trường ảo độc lập.

1. Cài đặt Miniconda đúng cách

Chúng ta sẽ tải bộ cài về thư mục tạm /tmp và cài đặt vào thư mục Home của người dùng để tránh các vấn đề về quyền hạn (permissions):

cd /tmp
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# Cài đặt tự động (-b) vào thư mục ~/miniconda3
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3

# Khởi tạo shell bash
$HOME/miniconda3/bin/conda init bash
source ~/.bashrc

Lưu ý quan trọng: Đối với các doanh nghiệp lớn, việc sử dụng Anaconda/Miniconda có thể yêu cầu giấy phép thương mại. Trong trường hợp đó, bạn có thể cân nhắc sử dụng Miniforge, một giải pháp thay thế mã nguồn mở hoàn toàn miễn phí với chức năng tương đương.

2. Khởi tạo môi trường AI Lab

Tạo một môi trường riêng biệt có tên ai_lab với Python 3.11 (phiên bản cân bằng tốt nhất giữa hiệu năng và tính tương thích thư viện hiện nay):

conda create -n ai_lab python=3.11 -y
conda activate ai_lab

Bước 4: Cài đặt PyTorch, JupyterLab và công cụ giám sát

Trong môi trường ai_lab vừa kích hoạt, chúng ta sẽ cài đặt “trái tim” của hệ thống Deep Learning. Nếu bạn chưa rõ về khái niệm này, có thể tìm hiểu thêm Deep learning là gì? Cách hoạt động và ứng dụng để nắm vững kiến thức nền tảng.

1. Cài đặt PyTorch với hỗ trợ CUDA 13

Việc chọn đúng phiên bản PyTorch tương thích với CUDA 13.x là yếu tố sống còn. Sử dụng lệnh sau để tải bản build ổn định (Stable) mới nhất:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu130

2. Cài đặt JupyterLab và thư viện bổ trợ

pip install jupyterlab pandas numpy matplotlib scikit-learn

3. Cài đặt Nvitop (Thay thế nvidia-smi)

Để giám sát tài nguyên VPS GPU AI một cách trực quan và theo thời gian thực (Real-time), nvitop là công cụ không thể thiếu cho mọi kỹ sư AI:

pip install nvitop

Bước 5: Cấu hình JupyterLab Server (Production Ready)

Mặc định, JupyterLab chỉ cho phép truy cập từ localhost. Để làm việc từ xa qua trình duyệt web trên máy tính cá nhân, chúng ta cần cấu hình lại ServerApp.

1. Tạo Config và mật khẩu bảo mật

# Sinh file cấu hình mặc định
jupyter lab --generate-config

# Thiết lập mật khẩu truy cập (Nhập 2 lần)
jupyter lab password

2. Chỉnh sửa jupyter_server_config.py

Sử dụng trình soạn thảo nano để sửa file cấu hình:

nano ~/.jupyter/jupyter_server_config.py

Thêm đoạn mã sau vào cuối file để cho phép truy cập từ mọi địa chỉ IP và cố định port hoạt động. Lưu ý rằng từ các phiên bản mới, chúng ta sử dụng object c.ServerApp thay vì c.NotebookApp cũ kỹ:

c.ServerApp.ip = '0.0.0.0'           # Lắng nghe mọi IP
c.ServerApp.port = 8888              # Port truy cập
c.ServerApp.open_browser = False     # Không tự mở trình duyệt trên VPS
c.ServerApp.allow_remote_access = True
c.ServerApp.root_dir = '/home/ubuntu/' # Thư mục gốc khi mở Lab (Thay 'ubuntu' bằng user của bạn)

Lưu file (Ctrl+O, Enter) và thoát (Ctrl+X).

Mẹo chuyên sâu: Nếu bạn quen thuộc với môi trường dev của Microsoft, bạn có thể tham khảo cách cài đặt VS Code Server trên VPS như một giải pháp thay thế mạnh mẽ cho JupyterLab.

Bước 6: Thiết lập chạy nền bền bỉ với Systemd

Để đảm bảo JupyterLab luôn hoạt động kể cả khi bạn đóng SSH hoặc khi server khởi động lại, chúng ta sẽ tạo một Systemd Service. Đây là cách quản lý tiến trình chuyên nghiệp nhất trên Linux.

Tạo file service mới:

sudo nano /etc/systemd/system/jupyterlab.service

Dán nội dung sau vào file (Lưu ý thay thế ubuntu bằng username thực tế của bạn trên VPS):

[Unit]
Description=JupyterLab AI Server
After=syslog.target network.target

[Service]
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/

# Đường dẫn tuyệt đối tới executable của jupyter trong môi trường Conda
ExecStart=/home/ubuntu/miniconda3/envs/ai_lab/bin/jupyter lab --config=/home/ubuntu/.jupyter/jupyter_server_config.py

Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Kích hoạt và khởi chạy service:

sudo systemctl daemon-reload
sudo systemctl enable jupyterlab
sudo systemctl start jupyterlab

Kiểm tra trạng thái service: sudo systemctl status jupyterlab. Nếu thấy trạng thái Active (running) màu xanh lá, hệ thống của bạn đã hoàn tất.

Bước 7: Kiểm tra và vận hành (Benchmark)

Bây giờ, hãy mở trình duyệt trên máy tính của bạn và truy cập địa chỉ: http://<IP_VPS_CUA_BAN>:8888. Sau khi nhập mật khẩu, bạn đã đứng trước bảng điều khiển của một siêu máy tính cá nhân.

Để chắc chắn mọi thứ hoạt động hoàn hảo, hãy chạy đoạn code kiểm thử sau trong một Notebook mới:

import torch
print(f"PyTorch Version: {torch.__version__}")
print(f"CUDA Available: {torch.cuda.is_available()}")
print(f"CUDA Version: {torch.version.cuda}")

if torch.cuda.is_available():
    print(f"Device Name: {torch.cuda.get_device_name(0)}")
    # Test tính toán tensor trên GPU
    x = torch.rand(5, 3).cuda()
    print("GPU Tensor Test:\n", x)
else:
    print("Cảnh báo: Hệ thống đang chạy bằng CPU!")

Nếu kết quả trả về True và hiển thị đúng tên dòng card (A100/RTX 4090), xin chúc mừng! Bạn đã sẵn sàng để train những model AI đầu tiên của mình.

Minh họa kết quả kiểm tra thiết bị thành công trên Terminal - Result = PASS

Minh họa kết quả kiểm tra thiết bị thành công trên Terminal – Result = PASS

Lưu ý quan trọng về bảo mật (Security)

Việc mở port 8888 trực tiếp ra Internet có thể tiềm ẩn rủi ro nếu mật khẩu của bạn không đủ mạnh. Đối với các dự án yêu cầu bảo mật cao, bạn nên áp dụng các biện pháp bảo mật VPS Linux như:

  1. Sử dụng SSH Tunneling: Không mở port trên Firewall, chỉ kết nối qua đường hầm SSH an toàn. Lệnh: ssh -L 8888:localhost:8888 username@ip-vps.
  2. Cấu hình Firewall (UFW): Chỉ cho phép truy cập port 8888 từ địa chỉ IP tĩnh của công ty hoặc nhà riêng của bạn.

Troubleshooting – Các lỗi thường gặp & cách khắc phục

Trong quá trình vận hành VPS GPU AI, bạn có thể gặp một số vấn đề kỹ thuật. Dưới đây là cách xử lý các lỗi phổ biến nhất:

1. Lỗi “NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver”

  • Nguyên nhân: Thường xảy ra sau khi update kernel của Ubuntu nhưng chưa khởi động lại, dẫn đến driver version mismatch.
  • Khắc phục: Đơn giản nhất là sudo reboot. Nếu vẫn lỗi, hãy kiểm tra lại xem gói dkms đã được cài chưa.

2. Không truy cập được JupyterLab (Connection Refused/Timeout)

  • Nguyên nhân: Port 8888 chưa được mở trên Firewall của VPS.
  • Khắc phục: Sử dụng UFW để mở port. Xem chi tiết tại bài viết hướng dẫn mở port Firewall trên VPS Linux. Đồng thời kiểm tra Security Group nếu dùng Cloud của AWS/Google.

3. Lỗi “CUDA out of memory” (OOM)

  • Nguyên nhân: Model training quá lớn so với VRAM của GPU.
  • Khắc phục: Giảm batch_size trong code training. Sử dụng nvitop để theo dõi tiến trình nào đang chiếm dụng VRAM ẩn. Nếu thường xuyên bị OOM, bạn nên tham khảo VPS bị treo hoặc tự reboot để tối ưu lại tài nguyên.

4. Service JupyterLab không khởi động (Error 203/EXEC)

  • Nguyên nhân: Sai đường dẫn ExecStart trong file systemd hoặc sai User.
  • Khắc phục: Chạy lệnh which jupyter trong môi trường conda để lấy đường dẫn tuyệt đối chính xác và cập nhật lại file service.

Kết luận

Việc tự xây dựng một hệ thống VPS GPU AI không chỉ giúp bạn tiết kiệm chi phí so với các giải pháp PaaS đắt đỏ mà còn mang lại sự tự do tuyệt đối trong việc kiểm soát môi trường nghiên cứu. Với cấu hình Ubuntu 24.04, CUDA 13 và JupyterLab chạy trên nền tảng Systemd ổn định, bạn đã có trong tay một hạ tầng mạnh mẽ, sẵn sàng chinh phục các thách thức phức tạp nhất của Deep Learning.

Tài liệu tham khảo