Tại sao mô hình AI chỉ nặng 16 GB nhưng khi huấn luyện lại cần hơn 120 GB VRAM?
Đây là một trong những câu hỏi mà rất nhiều người mới bước vào lĩnh vực AI Infrastructure thường thắc mắc.
Khi mở một mô hình trên Hugging Face, bạn có thể thấy thông tin như:
Nhiều người sẽ tính ngay:
Và nghĩ rằng chỉ cần một GPU 24 GB hoặc 32 GB là đủ để huấn luyện.
Thực tế hoàn toàn không phải vậy.
Điều 16.06 GB này chỉ là trọng số (weights) của mô hình khi được lưu trữ. Trong quá trình training, GPU còn phải giữ rất nhiều dữ liệu khác.
Đầu tiên là Activations. Đây là toàn bộ kết quả trung gian của từng lớp mạng neural để phục vụ cho quá trình backpropagation. Phần này thường tiêu tốn khoảng 2–3 lần kích thước mô hình. Với mô hình 8B, activations có thể chiếm tới khoảng 40 GB.
Tiếp theo là Optimizer States. Nếu sử dụng Adam - optimizer phổ biến nhất hiện nay - hệ thống phải lưu thêm các trạng thái như momentum và variance cho từng tham số. Các trạng thái này thường được lưu ở định dạng FP32, khiến bộ nhớ tăng rất mạnh.
Trong ví dụ trên:
Tổng cộng GPU cần khoảng:
120 GB VRAM hoặc nhiều hơn.
Đó cũng là lý do tại sao nhiều phòng lab AI sử dụng các GPU như:
Một quy tắc rất hữu ích
Khi ước lượng nhanh tài nguyên cho việc huấn luyện, nhiều kỹ sư AI thường dùng công thức:
Ví dụ:
Đây chỉ là con số ước lượng nhưng khá sát trong nhiều trường hợp.
Inference lại là một câu chuyện khác
Khi chỉ chạy mô hình để trả lời câu hỏi (Inference), GPU không cần lưu activations để backpropagation và cũng không cần optimizer states.
Vì vậy, nhu cầu VRAM giảm đi rất nhiều.
Đó là lý do bạn có thể chạy một mô hình 8B trên GPU 24 GB, nhưng lại không thể huấn luyện nó trên chính chiếc GPU đó.
Đây là lý do AI Infrastructure quan trọng
Khi xây dựng hạ tầng AI, câu hỏi không chỉ là:
Mà còn phải trả lời:
Chính vì vậy, trong các cụm AI hiện đại, GPU chỉ là một phần của bài toán. Hiệu quả huấn luyện còn phụ thuộc vào băng thông kết nối giữa GPU (NVLink, NVSwitch, InfiniBand), khả năng chia mô hình và tối ưu bộ nhớ. Một thiết kế hạ tầng tốt có thể quyết định liệu một mô hình có thể được huấn luyện hiệu quả hay không.
Hiểu được cách "một mô hình AI tiêu thụ bộ nhớ" là bước đầu tiên để thiết kế một AI Cluster đúng chuẩn, thay vì chỉ nhìn vào số lượng GPU hoặc dung lượng VRAM.
Đây là một trong những câu hỏi mà rất nhiều người mới bước vào lĩnh vực AI Infrastructure thường thắc mắc.
Khi mở một mô hình trên Hugging Face, bạn có thể thấy thông tin như:
- Model Size: 8.03 Billion Parameters
- Tensor Type: BF16
Nhiều người sẽ tính ngay:
8.03 tỷ tham số × 2 byte (BF16) = khoảng 16.06 GB
Và nghĩ rằng chỉ cần một GPU 24 GB hoặc 32 GB là đủ để huấn luyện.
Thực tế hoàn toàn không phải vậy.
Điều 16.06 GB này chỉ là trọng số (weights) của mô hình khi được lưu trữ. Trong quá trình training, GPU còn phải giữ rất nhiều dữ liệu khác.
Đầu tiên là Activations. Đây là toàn bộ kết quả trung gian của từng lớp mạng neural để phục vụ cho quá trình backpropagation. Phần này thường tiêu tốn khoảng 2–3 lần kích thước mô hình. Với mô hình 8B, activations có thể chiếm tới khoảng 40 GB.
Tiếp theo là Optimizer States. Nếu sử dụng Adam - optimizer phổ biến nhất hiện nay - hệ thống phải lưu thêm các trạng thái như momentum và variance cho từng tham số. Các trạng thái này thường được lưu ở định dạng FP32, khiến bộ nhớ tăng rất mạnh.
Trong ví dụ trên:
- Model Weights: 16.06 GB
- Activations: khoảng 40 GB
- Optimizer States: khoảng 64 GB
Tổng cộng GPU cần khoảng:
120 GB VRAM hoặc nhiều hơn.
Đó cũng là lý do tại sao nhiều phòng lab AI sử dụng các GPU như:
- NVIDIA H200
- NVIDIA B100/B200
- Hoặc nhiều GPU A100, H100 ghép lại thông qua NVLink hay InfiniBand.
Một quy tắc rất hữu ích
Khi ước lượng nhanh tài nguyên cho việc huấn luyện, nhiều kỹ sư AI thường dùng công thức:
Training Memory ≈ Raw Model Size × (6 đến 10)
Ví dụ:
- Mô hình chiếm 20 GB weights
- Khi training có thể cần từ 120 GB đến 200 GB VRAM
Đây chỉ là con số ước lượng nhưng khá sát trong nhiều trường hợp.
Inference lại là một câu chuyện khác
Khi chỉ chạy mô hình để trả lời câu hỏi (Inference), GPU không cần lưu activations để backpropagation và cũng không cần optimizer states.
Vì vậy, nhu cầu VRAM giảm đi rất nhiều.
Đó là lý do bạn có thể chạy một mô hình 8B trên GPU 24 GB, nhưng lại không thể huấn luyện nó trên chính chiếc GPU đó.
Đây là lý do AI Infrastructure quan trọng
Khi xây dựng hạ tầng AI, câu hỏi không chỉ là:
"Mô hình có bao nhiêu tỷ tham số?"
Mà còn phải trả lời:
- Huấn luyện hay chỉ suy luận?
- Dùng FP32, FP16 hay BF16?
- Có Fine-tuning hay Full Training?
- Optimizer nào được sử dụng?
- Có dùng Gradient Checkpointing, ZeRO, FSDP hay Tensor Parallelism để giảm bộ nhớ không?
- Cần bao nhiêu GPU và chúng kết nối với nhau bằng công nghệ gì?
Chính vì vậy, trong các cụm AI hiện đại, GPU chỉ là một phần của bài toán. Hiệu quả huấn luyện còn phụ thuộc vào băng thông kết nối giữa GPU (NVLink, NVSwitch, InfiniBand), khả năng chia mô hình và tối ưu bộ nhớ. Một thiết kế hạ tầng tốt có thể quyết định liệu một mô hình có thể được huấn luyện hiệu quả hay không.
Hiểu được cách "một mô hình AI tiêu thụ bộ nhớ" là bước đầu tiên để thiết kế một AI Cluster đúng chuẩn, thay vì chỉ nhìn vào số lượng GPU hoặc dung lượng VRAM.