FP4
Tìm hiểu cách lượng tử hóa FP4 nén các model AI, giảm mức sử dụng memory và tăng tốc inference. So sánh các định dạng NVFP4, MXFP4, FP8, INT4 và FP16.
FP4 là một họ các định dạng dấu phẩy động 4 bit được sử dụng để nén và tăng tốc các model AI thông qua lượng tử hóa model. Mỗi giá trị thường được biểu diễn bằng một bit dấu, hai bit số mũ và một bit phần định trị, được gọi là E2M1. So với FP16, FP4 có thể giảm đáng kể lưu lượng bộ nhớ và dung lượng lưu trữ, giúp các GPU được hỗ trợ xử lý các model lớn nhanh hơn. Định dạng độ chính xác thấp NVFP4 của NVIDIA là một triển khai nổi bật được thiết kế cho phần cứng thế hệ Blackwell. (developer.nvidia.com)
Cách FP4 hoạt động#
Với chỉ 16 mẫu bit khả dụng, FP4 thuần túy không thể biểu diễn chính xác dải giá trị rộng thường thấy trong các mạng neural. Do đó, các triển khai hiện đại chia tensor thành các block nhỏ và lưu một scale dùng chung cho mỗi block. Chẳng hạn, lược đồ lượng tử hóa NVFP4 của NVIDIA sử dụng các block gồm 16 giá trị E2M1, trong khi đặc tả Định dạng vi mô tỷ lệ OCP định nghĩa MXFP4 cùng metadata vi mô tỷ lệ.
Trong quá trình tính toán, một inference engine lượng tử hóa các giá trị có độ chính xác cao hơn, thực hiện các phép toán ma trận được hỗ trợ ở FP4 và trả về kết quả ở độ chính xác cao hơn khi cần. Hỗ trợ inference NVFP4 của TorchAO hiện sử dụng lượng tử hóa activation động và scaling hai lần cho weights và activation. (docs.nvidia.com)
So sánh FP4 với các định dạng liên quan#
- FP16 hoặc độ chính xác half: Cung cấp dải số rộng hơn nhiều và nhìn chung dễ triển khai hơn, nhưng sử dụng số bit trên mỗi giá trị gấp bốn lần.
- FP8: Thường cung cấp độ chính xác và độ ổn định khi training tốt hơn FP4, đồng thời yêu cầu dung lượng lưu trữ gần gấp đôi.
- BF16: Thường được sử dụng cho training vì dải số mũ lớn giúp giảm nguy cơ overflow. Nghiên cứu FP4 All the Way năm 2025 cho thấy training FP4 được scale cẩn thận có thể đạt hiệu năng gần với BF16.
- INT4: Sử dụng các mức số nguyên thay vì số mũ dấu phẩy động. FP4 có thể biểu diễn các giá trị thuộc những độ lớn khác nhau một cách tự nhiên hơn, trong khi INT4 có thể hoạt động hiệu quả cho việc nén chỉ weights.
- NVFP4 so với MXFP4: NVFP4 sử dụng các block nhỏ hơn và scale có độ chính xác cao hơn, thường cải thiện độ chính xác với chi phí metadata ở mức vừa phải.
FP4 cũng có thể đề cập đến một socket bộ xử lý AMD FP4 không liên quan. Trong AI, FP4 có nghĩa là phép toán dấu phẩy động 4 bit, không phải package CPU laptop cũ hơn.
Các ứng dụng trong thực tế#
-
Inference ảnh tạo sinh: NVIDIA đã trình diễn tạo ảnh FP4 trên GPU RTX 50 Series, giúp giảm mức sử dụng bộ nhớ và tăng tốc các workload diffusion được sử dụng trong AI tạo sinh.
-
Training và serving model lớn: Các hệ thống Blackwell đã sử dụng NVFP4 trong training MLPerf để cải thiện throughput của các large language model. FP4 tương tự có thể mang lại lợi ích cho các hệ thống computer vision bị giới hạn bởi bộ nhớ trong tương lai, vốn yêu cầu inference thời gian thực. (developer.nvidia.com)
Sử dụng FP4 hiệu quả#
Tính đến tháng 7 năm 2026, các phép toán ma trận FP4 được tăng tốc bằng phần cứng yêu cầu GPU NVIDIA Blackwell hoặc mới hơn; H100 dựa trên Hopper và không cung cấp khả năng tăng tốc FP4 native. Developers nên xác nhận khả năng tương thích thông qua ma trận hỗ trợ phần cứng TensorRT, xác thực độ chính xác sau khi chuyển đổi và cân nhắc training-aware quantization bằng quy trình TorchAO QAT khi lượng tử hóa sau training gây suy giảm quá mức. (docs.nvidia.com)
Ultralytics hiện cung cấp khả năng export FP16 và INT8 sẵn sàng cho production cho YOLO26. Quy trình tương tự này tạo ra một TensorRT engine được tối ưu hóa:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
engine = model.export(format="engine", quantize=16)
results = YOLO(engine).predict("https://ultralytics.com/images/bus.jpg")Tích hợp TensorRT của Ultralytics giải thích các tùy chọn precision được hỗ trợ, trong khi chế độ benchmark YOLO giúp so sánh độ chính xác và độ trễ. Đối với việc triển khai FP4 thử nghiệm, hãy làm theo các phương pháp tốt nhất về precision của TensorRT-RTX và các kỹ thuật dành riêng cho định dạng như Micro-Rotated GPTQ, vì FP4 không tự động chính xác hoặc nhanh hơn quy trình INT4 hoặc FP8 được tối ưu hóa tốt.






