Quay lại danh sách
Tin tức công nghệ

Hướng Dẫn Triển Khai Immich Kết Hợp Tăng Tốc Phần Cứng (Hardware Acceleration) Trên VPS GPU Để Nhận Diện Khuôn Mặt Tốc Độ Cao

2 tháng 6, 2026

1. Giới thiệu xu hướng lưu trữ ảnh nội bộ và giải pháp Immich

Trong kỷ nguyên số, việc quản lý và lưu trữ kho ảnh khổng lồ của doanh nghiệp một cách an toàn, bảo mật dữ liệu nội bộ đang trở thành một thách thức lớn. Các giải pháp lưu trữ đám mây công cộng tuy tiện lợi nhưng đi kèm với chi phí duy trì cao khi dung lượng tăng lên, đồng thời dấy lên những lo ngại về quyền riêng tư dữ liệu.

Immich nổi lên như một giải pháp thay thế mã nguồn mở (Self-hosted) hoàn hảo cho Google Photos. Phần mềm này cung cấp giao diện trực quan, khả năng sao lưu thời gian thực và đặc biệt là hệ thống học máy (Machine Learning) mạnh mẽ để tự động phân loại, tìm kiếm ngữ nghĩa và nhận diện khuôn mặt chuyên nghiệp.

Lưu ý hiệu năng: Mặc dù Immich có thể chạy tốt trên các CPU thông thường, việc xử lý hàng chục nghìn bức ảnh trong kho dữ liệu lớn của doanh nghiệp bằng CPU sẽ gây ra hiện tượng nghẽn cổ chai (bottleneck), đẩy CPU luôn trong tình trạng quá tải 100% và kéo dài thời gian quét ảnh lên tới hàng chục giờ đồng hồ.

Để giải quyết bài toán hiệu năng này, việc triển khai Immich kết hợp với Bộ tăng tốc phần cứng (Hardware Acceleration) trên các máy chủ ảo VPS GPU sử dụng kiến trúc NVIDIA CUDA là giải pháp tối ưu nhất hiện nay. Bài viết này sẽ hướng dẫn bạn từng bước thiết lập hệ thống từ cơ bản đến nâng cao.

---

2. Tại sao nên chọn VPS GPU cho tác vụ học máy (Machine Learning) của Immich?

Hệ thống phân tích của Immich thực hiện ba tác vụ học máy chính trên mỗi bức ảnh được tải lên:

  • Face Detection & Recognition: Phát hiện và trích xuất đặc trưng khuôn mặt, sau đó gom cụm theo từng người.
  • Smart Search (CLIP): Phân tích ngữ nghĩa của ảnh để người dùng có thể tìm kiếm bằng từ khóa tự nhiên (ví dụ: "bãi biển", "hội thảo doanh nghiệp").
  • Video Transcoding: Nén và chuyển đổi định dạng video để tối ưu hóa việc xem trực tuyến trên trình duyệt và thiết bị di động.

Dưới đây là bảng so sánh hiệu năng thực tế khi xử lý kho ảnh khoảng 45.000 tệp tin giữa hai môi trường tiêu chuẩn:

Tiêu chí đánh giá Sử dụng CPU tiêu chuẩn Sử dụng VPS GPU (NVIDIA CUDA)
Thời gian quét ảnh ban đầu (Initial Scan) Khoảng 36 giờ đến 48 giờ Chỉ từ 3 giờ đến 4 giờ
Tốc độ nhận diện thời gian thực Bị trễ (Lag) từ vài phút đến vài giờ Gần như ngay lập tức khi upload
Tải trọng tài nguyên hệ thống CPU liên tục đạt ngưỡng 100%, gây chậm hệ thống CPU nhàn rỗi (<15%), GPU đảm nhận xử lý chính

Nhìn vào bảng so sánh, việc đầu tư một VPS GPU chuyên dụng mang lại hiệu quả vượt trội về mặt thời gian và trải nghiệm người dùng chuyên nghiệp.

---

3. Chuẩn bị tài nguyên hệ thống và cài đặt Driver NVIDIA

3.1. Yêu cầu cấu hình tối thiểu

  • Hệ điều hành: Ubuntu 22.04 LTS hoặc Ubuntu 24.04 LTS (Khuyến khích sử dụng Linux nguyên bản).
  • GPU: Khuyên dùng card đồ họa NVIDIA (ví dụ: dòng T4, A10G hoặc RTX series hỗ trợ CUDA).
  • Phần mềm bổ sung: Docker Engine bản mới nhất và Docker Compose v2.

3.2. Cài đặt NVIDIA Driver và NVIDIA Container Toolkit

Để Docker có thể giao tiếp và cấp quyền truy cập phần cứng GPU cho các container bên trong, bạn bắt buộc phải cài đặt NVIDIA Container Toolkit. Hãy thực thi các lệnh sau trên terminal của VPS:

# Cập nhật hệ thống và cài đặt driver NVIDIA
sudo apt-get update
sudo apt-get install -y nvidia-driver-550 # Hoặc phiên bản driver phù hợp với GPU của bạn

# Xác minh cài đặt driver thành công
nvidia-smi

Sau khi lệnh nvidia-smi hiển thị thông tin bảng điều khiển GPU với trạng thái hoạt động bình thường, chúng ta tiếp tục cài đặt bộ công cụ Docker tích hợp:

# Cấu hình repository cho NVIDIA Container Toolkit
curl -fsSL [https://nvidia.github.io/libnvidia-container/gpgkey](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](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.p/nvidia-container-toolkit.list

# Cài đặt toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# Khởi động lại dịch vụ Docker để áp dụng thay đổi
sudo systemctl restart docker
---

4. Cấu hình Docker Compose tối ưu hóa Hardware Acceleration cho Immich

Immich chia tách kiến trúc thành nhiều dịch vụ chuyên biệt. Thành phần chịu trách nhiệm nhận diện khuôn mặt và học máy là immich-machine-learning. Mặc định, dịch vụ này sẽ tải image chạy bằng CPU. Để kích hoạt tăng tốc phần cứng, chúng ta cần cấu hình chuyển đổi sang sử dụng tag image hỗ trợ CUDA.

4.1. Chỉnh sửa tệp .env

Đảm bảo biến môi trường phiên bản Immich của bạn được thiết lập rõ ràng nhằm đồng bộ cấu hình:

IMMICH_VERSION=release
UPLOAD_LOCATION=./images
DB_PASSWORD=YourSecurePasswordHere

4.2. Tùy chỉnh tệp cấu hình docker-compose.yml

Tại phân vùng cấu hình của service immich-machine-learning, bạn tiến hành chỉnh sửa đường dẫn hình ảnh (image tag) và khai báo tài nguyên GPU của hệ thống như đoạn mã mẫu chuẩn hóa dưới đây:

version: "3.8"

services:
  # Các dịch vụ khác như immich-server, immich-database giữ nguyên...
  
  immich-machine-learning:
    container_name: immich_machine_learning
    # CHÚ Ý: Thêm hậu tố "-cuda" vào sau phiên bản hệ thống
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    environment:
      # Kích hoạt thiết bị tính toán là CUDA thay vì CPU
      - MACHINE_LEARNING_DEVICE=cuda
    # Khai báo phân bổ tài nguyên GPU chuyên dụng cho container này
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    restart: always

volumes:
  model-cache:

Sau khi lưu lại tệp cấu hình, thực hiện lệnh khởi chạy lại toàn bộ cụm container:

docker compose up -d --force-recreate
---

5. Kiểm tra và xác minh hệ thống hoạt động ổn định

Để chắc chắn rằng quá trình cấu hình của bạn đã chuẩn xác và Immich đang thực sự sử dụng card đồ họa VPS để xử lý tác vụ, hãy thực hiện hai bước kiểm tra trực quan sau:

Bước 1: Giám sát tài nguyên phần cứng bằng Terminal

Hãy chạy lệnh giám sát trực tiếp trên VPS của bạn:

watch -n 1 nvidia-smi

Tiếp theo, hãy truy cập giao diện Web của Immich, vào mục Administration > Jobs và nhấn nút "All" hoặc "Missing" tại phần Face Detection. Nếu bạn thấy mục GPU Memory Usage tăng lên và chỉ số GPU-Util dao động mạnh (vượt trên 20-50%), hệ thống học máy đã nhận diện phần cứng thành công.

Bước 2: Kiểm tra nhật ký hệ thống (Logs)

Sử dụng lệnh kiểm tra log của container xử lý học máy để tìm kiếm các dòng thông báo xác nhận thành công:

docker logs immich_machine_learning

Nếu xuất hiện các dòng log dạng: [INFO] Created in-memory cache đi kèm thông báo Using device: cuda, bạn đã cấu hình hoàn toàn chính xác.

---

6. Kết luận và các lưu ý quản trị nâng cao

Việc kết hợp giải pháp lưu trữ ảnh tự thân Immich cùng sức mạnh hiệu năng của VPS GPU mang lại sự cân bằng hoàn hảo giữa tính bảo mật dữ liệu tuyệt đối và tốc độ xử lý đỉnh cao cho doanh nghiệp. Khả năng nhận diện khuôn mặt tự động giờ đây diễn ra trong tích tắc, giúp việc phân loại kho tư liệu truyền thông trở nên dễ dàng hơn bao giờ hết.

Một số mẹo nhỏ cho nhà quản trị hệ thống: Bạn có thể tăng số lượng luồng xử lý đồng thời trong cài đặt nâng cao của Immich để tận dụng hết dung lượng VRAM còn trống của card đồ họa, tối ưu hóa triệt để chi phí thuê máy chủ hàng tháng.

Hướng Dẫn Triển Khai Immich Kết Hợp Tăng Tốc Phần Cứng (Hardware Acceleration) Trên VPS GPU Để Nhận Diện Khuôn Mặt Tốc Độ Cao | DPTCloud