Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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?

    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ư:
    • 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.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X