For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sử dụng Multi-Instance GPU (MIG)

Hướng dẫn này giúp bạn cấu hình và sử dụng Multi-Instance GPU (MIG) trực tiếp trên vServer bare-metal với NVIDIA H100, chia một GPU vật lý thành nhiều MIG instance độc lập — mỗi instance có VRAM và Streaming Multiprocessors riêng biệt. Các container Docker được assign vào từng MIG instance riêng lẻ, đảm bảo isolation hoàn toàn.

Kiến trúc MIG trên vServer bare-metal — GPU 0 phân thành 2 MIG instances, GPU 1 giữ nguyên full GPU
Kiến trúc MIG trên vServer: Docker + NVIDIA Container Toolkit quản lý cả GPU MIG (2x 3g.40gb) và non-MIG (full 80GB) trên cùng một máy

Điều kiện cần (Prerequisites)

  • vServer bare-metal có GPU NVIDIA H100 (hoặc Ampere/Hopper trở lên — MIG chỉ hỗ trợ từ kiến trúc Ampere).

  • NVIDIA Driver ≥ 525 đã được cài đặt trên server. Kiểm tra bằng nvidia-smi.

  • NVIDIA Container Toolkit đã cài đặt (để chạy container Docker với GPU).

  • Docker đã cài đặt và đang chạy.

  • Quyền sudo trên server.


MIG Profiles tham chiếu (H100 80GB)

Trước khi tạo MIG instances, chọn profile phù hợp với workload. H100 80GB hỗ trợ 7 profiles:

Profile
VRAM
Streaming Multiprocessors (SM)
Tối đa/GPU
DEC

1g.10gb

9.75 GB

16

7

1

1g.10gb+me

9.75 GB

16

1

1

1g.20gb

19.62 GB

26

4

1

2g.20gb

19.62 GB

32

3

2

3g.40gb

39.50 GB

60

2

3

4g.40gb

39.50 GB

64

1

4

7g.80gb

79.25 GB

132

1

7

Danh sách MIG profiles trên H100 80GB
7 MIG profiles có sẵn trên H100 80GB HBM3 — kiểm tra bằng nvidia-smi mig -lgip

Profile 3g.40gb phù hợp để chạy các model AI 7B–30B (BF16). Thực tế đo được: 16.27 req/s và 18,739 tokens/s với Qwen2.5-7B-Instruct trên 1 instance 3g.40gb.


Bước 1: Enable MIG trên GPU

Enable MIG mode cho GPU 0 (thay -i 0 bằng index GPU bạn muốn dùng):

Kiểm tra MIG đã được bật:

Kết quả kỳ vọng:

Terminal output xác nhận MIG đã được enable
MIG được enable thành công trên GPU 0 — mig.mode.current = Enabled

Bước 2: Xem các MIG Profiles có sẵn

Lệnh này hiển thị đầy đủ 7 profiles cùng thông tin VRAM, SM, số lượng tối đa có thể tạo trên GPU.

Danh sách MIG profiles từ nvidia-smi mig -lgip
nvidia-smi mig -lgip liệt kê toàn bộ profiles và số lượng tối đa có thể tạo

Bước 3: Tạo MIG Instances

Tạo 2 MIG instances với profile 3g.40gb trên GPU 0:

Kết quả thành công:

Verify các MIG instances vừa tạo:

Mỗi instance có 40,448 MiB VRAM và 60 SM, được gán UUID riêng biệt:

MIG Device
GI ID
CI ID
UUID
VRAM
SM

Device 0

1

0

MIG-db487433-...

40,448 MiB

60

Device 1

2

0

MIG-1ee682bf-...

40,448 MiB

60

2 MIG instances vừa tạo với UUID riêng biệt
2 MIG instances 3g.40gb được tạo thành công — mỗi instance có UUID và VRAM riêng

Bước 4: Chạy Docker container trên MIG instance đơn

Assign container vào từng MIG instance bằng cú pháp device=<GPU_index>:<MIG_instance_index>:

Mỗi container chỉ thấy đúng 1 MIG device được assign — isolation hoàn toàn:

Mỗi container thấy đúng 1 MIG device
Container trên device=0:0 và device=0:1 thấy MIG UUID khác nhau — isolation đã được xác nhận

Bước 5: Chạy 2 container song song

Kiểm tra 2 container chạy đồng thời trên 2 MIG instances mà không conflict:

Kết quả kỳ vọng — 2 MIG devices chạy song song, memory độc lập:

2 container chạy song song trên 2 MIG instances
2 container chạy đồng thời trên 2 MIG instances — không conflict, memory hoàn toàn độc lập

(Nâng cao) Bước 6: Chạy vLLM trên MIG instance

MIG instance 3g.40gb (40 GB VRAM) đủ để chạy các model AI cỡ 7B–30B. Ví dụ với Qwen2.5-7B-Instruct qua vLLM:

Khởi động vLLM server:

Đợi server sẵn sàng rồi test:

Kết quả đo được trên MIG 3g.40gb:

Metric
Giá trị

vLLM version

0.23.0

Attention backend

FlashAttention v3

VRAM sử dụng

34,432 MiB / 40,448 MiB (85%)

KV cache

329,168 tokens

Throughput

16.27 req/s

Tổng tokens/s

18,739 tokens/s

API response

HTTP 200 ✅

vLLM chạy trên MIG instance 0:0 với Qwen2.5-7B-Instruct
vLLM phục vụ Qwen2.5-7B-Instruct trên MIG 3g.40gb — 34GB VRAM được sử dụng, API hoạt động bình thường

Chạy benchmark throughput:

Benchmark throughput vLLM trên MIG 3g.40gb
Benchmark kết quả: 16.27 req/s, 18,739 tokens/s trên MIG 3g.40gb với Qwen2.5-7B-Instruct

Từ vLLM 0.23.0, lệnh benchmark đã thay đổi. Dùng: python3 -m vllm.entrypoints.cli.main bench throughput

Không dùng lệnh cũ: python -m vllm.entrypoints.benchmark_throughput (đã deprecated).


Dọn dẹp (Cleanup)

Xóa MIG instances và disable MIG mode sau khi sử dụng:

Kết quả kỳ vọng sau cleanup:


Kết quả

Sau khi hoàn thành, bạn có thể phân chia GPU H100 80GB thành nhiều MIG instances và assign mỗi Docker container vào một instance riêng biệt:

Cấu hình ví dụ
Resource Name (Docker)
VRAM
SM

2x MIG 3g.40gb

device=0:0, device=0:1

40 GB / instance

60

GPU 1 non-MIG

device=1

80 GB

132

Lưu ý quan trọng:

  • MIG mode không persistent sau reboot — enable lại sau mỗi lần khởi động.

  • Mỗi MIG instance chỉ overhead ~44 MiB khi idle.

  • GPU 1 hoạt động hoàn toàn độc lập với GPU 0 trong suốt quá trình.

Tôi muốn tiếp theo...
Đi đến

Xem các GPU flavor có sẵn trên vServer

Tìm hiểu về MIG trên VKS

Last updated