- DFloat11 là một khung nén không mất dữ liệu giúp giảm 30% kích thước của mô hình ngôn ngữ lớn (LLM) mà vẫn giữ đầu ra giống hệt mô hình gốc ở mức bit
- Tận dụng entropy thấp của biểu diễn trọng số BFloat16 để cải thiện sự kém hiệu quả của định dạng lưu trữ hiện có
- Phát triển kernel GPU tùy chỉnh để hỗ trợ giải nén trực tuyến nhanh nhằm suy luận hiệu quả trên GPU
- Thông qua thử nghiệm trên các mô hình mới nhất như Llama-3.1, Qwen-2.5, Gemma-3, xác minh giảm 30% kích thước mô hình và duy trì đầu ra chính xác
- Với ngân sách bộ nhớ GPU cố định, cho phép độ dài ngữ cảnh dài hơn 5.3-13.17 lần so với mô hình không nén
Kích thước 70%, độ chính xác 100%: Nén LLM không mất dữ liệu để suy luận GPU hiệu quả
- Kích thước của các mô hình ngôn ngữ lớn (LLM) đang tăng rất nhanh, tạo ra thách thức lớn cho việc triển khai hiệu quả trên phần cứng bị hạn chế tài nguyên
- Dynamic-Length Float (DFloat11) là một khung nén không mất dữ liệu giúp giảm 30% kích thước của LLM mà vẫn giữ đầu ra giống hệt ở mức bit
- Tận dụng entropy thấp của biểu diễn trọng số BFloat16 để cải thiện sự kém hiệu quả của định dạng lưu trữ hiện có
- Áp dụng mã hóa entropy để gán mã hóa độ dài động cho các trọng số theo tần suất, từ đó đạt được mức nén tối ưu về mặt thông tin
- Để suy luận hiệu quả, nhóm nghiên cứu đã phát triển kernel GPU tùy chỉnh hỗ trợ giải nén trực tuyến nhanh
Thiết kế của DFloat11
- Phân rã bảng tra cứu (LUT) tiêu tốn nhiều bộ nhớ thành LUT nén phù hợp với SRAM của GPU
- Phát triển kernel hai giai đoạn sử dụng biến phụ trợ nhẹ để điều chỉnh vị trí đọc/ghi của luồng
- Giảm thiểu độ trễ thông qua giải nén ở cấp độ khối transformer
Kết quả thực nghiệm
- Trên các mô hình mới nhất như Llama-3.1, Qwen-2.5, Gemma-3, DFloat11 đã xác minh giảm 30% kích thước mô hình và duy trì đầu ra chính xác
- So với phương án thay thế là offload một phần mô hình không nén sang CPU, đạt được thông lượng cao hơn 1.9-38.8 lần
- Với ngân sách bộ nhớ GPU cố định, cho phép độ dài ngữ cảnh dài hơn 5.3-13.17 lần so với mô hình không nén
Ưu điểm của DFloat11
- Cho phép suy luận không mất dữ liệu đối với mô hình Llama-3.1-405B, 810GB trên một node đơn được trang bị 8x80GB GPU
- Mã nguồn và mô hình được cung cấp tại URL công khai
1 bình luận
Ý kiến trên Hacker News
Dải động cao của
bfloat16phần lớn không được sử dụngbfloat16là 10-12 bitfpzipcủa LLNL,dietgpucủa Facebook, v.v.rANShiệu quả hơn mã hóa Huffman trên tập lệnh SIMDKhả năng chạy mô hình 405B tham số trên một node duy nhất
Biết ơn sự phát triển nhanh chóng của các mô hình ML/transformer
llama.cppcó tận dụng tốtcublashay khôngKhi cuộc chiến định dạng trọng số kết thúc, phần cứng sẽ có thể hỗ trợ điều đó
Khó cân bằng giữa chất lượng, chi phí và hiệu năng trong các trường hợp sử dụng agent thực tế
dfloat11có thể giúp giảm chi phíLàm việc tại
xmad.aiTốc độ phát triển công nghệ rất nhanh
DFloat11cung cấp thông lượng cao hơn 1,9-38,8 lần so với việc offload mô hình không nén sang CPUTò mò liệu LLM có bị giới hạn bởi băng thông bộ nhớ hay không
Đã tìm ra cách dùng LLM để nén ảnh hơn nữa
Tò mò nó có khác với ZipNN hay không
Nghĩ rằng dùng hệ tam phân thay vì nhị phân có thể đạt tỷ lệ nén cao hơn