Đo thời gian cho những gì ứng dụng của bạn thực sự làm
Một phép thử trên các tensor đã có sẵn trên GPU chỉ mô tả riêng phần tính toán. Một dịch vụ hay một quá trình huấn luyện còn phải giải mã, chuẩn bị và truyền các đầu vào của nó. Vì vậy hãy xây dựng hai phép đo: vòng lặp tính toán tách riêng và một vòng lặp bắt đầu từ dữ liệu thường ngày của bạn. Khoảng chênh lệch cho biết nơi cần tìm cải thiện. Hãy đợi công việc GPU thực sự kết thúc trước khi ghi nhận thời gian; các lần khởi chạy CUDA thường là bất đồng bộ.
Dùng batch như một biến được kiểm soát
Đối với suy luận ngoại tuyến, hãy so sánh nhiều kích thước lô trong khi giữ nguyên độ dài và kiểu của đầu vào. Đối với một ứng dụng tương tác, hãy đo cả độ trễ của một yêu cầu và độ trễ của những yêu cầu chậm nhất. Batch tối đa hóa khối lượng xử lý có thể khiến thời gian chờ ít được chấp nhận hơn. Trên 80 GB, hãy dành chỗ cho cache hay các activation thay vì dừng việc định cỡ ngay khi nạp mô hình.
Hãy ghi lại độ chính xác của trọng số và của phép tính một cách riêng biệt. Một mô hình được lưu ở định dạng rút gọn vẫn có thể dùng các buffer hay phép toán có độ chính xác cao hơn trong lúc chạy.
So sánh mà không đánh đồng các biến thể H100
Bảng này nói về H100 PCIe 80 GB. Kết quả của một H100 SXM hay của một cụm nhiều card không tự động mô tả cấu hình này. Hãy kiểm tra CUDA, PyTorch và các thư viện chuyên dụng cho kiến trúc của bạn, rồi chọn một công thức chung cho các GPU được so sánh. Nếu 80 GB không đủ, hãy nghiên cứu H200; nếu nhu cầu nằm gọn trong 48 GB, hãy thêm L40S vào so sánh kinh tế của bạn.
Chuẩn bị một đơn hàng hướng pipeline
Ba ngày có thể dùng để xác định phần tính toán và truyền tải. Bảy ngày cho phép thử nghiệm các điều chỉnh và lặp lại phép đo. Ba mươi ngày đồng hành cùng một chiến dịch suy luận hoặc một quá trình huấn luyện đã lên kế hoạch. Chọn thời lượng và số lượng, khai báo môi trường của bạn, rồi đến thông tin theo dõi. Hướng dẫn crypto của đơn hàng nêu rõ mạng lưới và số tiền; nút "Tôi đã thanh toán" báo hiệu giao dịch của bạn.