Tiếp theoHướng dẫn tiếp theo
Ước tính bộ nhớ GPU cần thiết cho LLM
kỹ thuật
HƯỚNG DẪN KỸ THUẬT
Cách các khung AI phân bổ, tái sử dụng và lấy lại bộ nhớ hạn chế trên GPU cũng như lý do các khoảng trống (phân mảnh) còn sót lại có thể gây ra lỗi hết bộ nhớ ngay cả khi về mặt kỹ thuật vẫn còn nhiều bộ nhớ.
Nghe hướng dẫn nàyAI thuật lại · ~2 min
Hiểu nó là chìa khóa để lắp các mô hình lớn và tránh những sự cố bí ẩn.
Bộ nhớ GPU là cố định và quý giá: thẻ có thể có tổng dung lượng 24, 80 hoặc 192 GB, được chia sẻ theo trọng lượng mô hình, kích hoạt, độ dốc, trạng thái tối ưu hóa và bộ đệm tạm thời. Việc gọi trình điều khiển để phân bổ bộ nhớ cho mọi thao tác sẽ chậm, vì vậy các khung như PyTorch sử dụng bộ cấp phát bộ nhớ đệm để lấy các khối lớn lên phía trước và phân phát các phần phụ, sau đó giữ các phần được giải phóng trong một nhóm để tái sử dụng. Điều đáng chú ý là sự phân mảnh: khi các tensor có kích thước khác nhau được phân bổ và giải phóng, không gian trống sẽ vỡ thành các khối rải rác. Bạn có thể có tổng cộng 5 GB trống nhưng không phân bổ được 2 GB liền kề vì không có khoảng cách nào đủ lớn. Đây là lý do tại sao quá trình đào tạo có thể gặp sự cố do lỗi hết bộ nhớ mặc dù dường như có khoảng trống trống.
A training team examines allocator statistics before testing expandable segments on a variable-batch workload.
A developer uses memory_summary and a memory snapshot to investigate active tensors and inactive split blocks.
An inference team uses vLLM’s paged KV-cache management to reduce cache-allocation waste.
A training team lowers batch size or checkpoints activations after confirming live tensor memory is the limiting factor.
Quản lý bộ nhớ ngày càng thông minh hơn và phân trang nhiều hơn, lấy cảm hứng từ hệ điều hành. Các kỹ thuật như bộ cấp phát kiểu bộ nhớ ảo và sự chú ý phân trang (được sử dụng để quản lý bộ đệm KV trong quá trình suy luận) giúp giảm đáng kể sự lãng phí và phân mảnh. Yêu cầu các khung mặc định có thể mở rộng, chống phân mảnh các bộ cấp phát, khả năng hiển thị tốt hơn thông qua các trình phân tích tích hợp và kết nối chặt chẽ hơn với việc giảm tải và tính toán lại để hệ thống tự động xử lý GPU, CPU và bộ nhớ ổ đĩa để duy trì mức sử dụng ở mức cao và hiếm khi xảy ra sự cố.
Bản tin miễn phí
Ba câu chuyện AI đã được xác minh vào mỗi buổi sáng các ngày trong tuần, được viết bằng tiếng Anh đơn giản. Miễn phí mãi mãi, không có quảng cáo.
Một email mỗi ngày trong tuần. Hủy đăng ký trong một cú nhấp chuột. Chúng tôi không bao giờ bán hoặc chia sẻ địa chỉ của bạn.
Tự kiểm tra
Phản hồi tức thì về mọi câu trả lời và chứng chỉ có thể chia sẻ với ID có thể xác minh sau khi bạn vượt qua khóa học.
Hỗ trợ giáo dục AI miễn phí. AI Understanding là tổ chức phi lợi nhuận 501(c)(3) — không bao giờ có quảng cáo, không có tường phí. Hãy quyên góp
Cách các khung AI phân bổ, tái sử dụng và lấy lại bộ nhớ hạn chế trên GPU cũng như lý do các khoảng trống (phân mảnh) còn sót lại có thể gây ra lỗi hết bộ nhớ ngay cả khi về mặt kỹ thuật vẫn còn nhiều bộ nhớ. Hiểu nó là chìa khóa để lắp các mô hình lớn và tránh những sự cố bí ẩn.
Phân mảnh có nghĩa là tổng bộ nhớ trống là đủ, nhưng nó bị chia thành nhiều mảnh, do đó không có khoảng trống nào đủ lớn cho một tensor lớn.
Việc gọi cudaMalloc/cudaFree cho mỗi hoạt động diễn ra chậm, do đó bộ cấp phát bộ nhớ đệm sẽ lấy các khối lớn và tái sử dụng các khối đã giải phóng từ một nhóm.
Allocator statistics and snapshots help distinguish fragmentation from live tensors or other allocations. The error alone does not prove a single cause.
Expandable segments can reduce waste for selected allocation patterns. Availability and benefit depend on allocator configuration and workload.
PagedAttention lưu trữ bộ đệm KV trong các trang có kích thước cố định như bộ nhớ ảo của hệ điều hành, cắt giảm phân mảnh và phục vụ nhiều yêu cầu một cách hiệu quả.
Tiếp tục học hỏi
Đã chọn thêm hướng dẫn cho chủ đề này
Tiếp theoHướng dẫn tiếp theo
Ước tính bộ nhớ GPU cần thiết cho LLM
kỹ thuật