Vì sao SINQ quan trọng đối với việc triển khai LLM hằng ngày
Các mô hình ngôn ngữ lớn đòi hỏi rất nhiều bộ nhớ. Đây là một trong những lý do khiến việc chạy các mô hình tiên tiến thường cần đến GPU trung tâm dữ liệu cao cấp và các máy chủ đám mây đắt đỏ. Phòng thí nghiệm Hệ thống Điện toán của Huawei tại Zurich đã giới thiệu SINQ, một phương pháp lượng tử hóa mới nhằm thay đổi thực trạng đó. Phương pháp này, có tên gọi Sinkhorn Normalized Quantization, hướng đến giảm mức sử dụng bộ nhớ mà chỉ làm giảm tối thiểu chất lượng đầu ra, đồng thời được phát hành dưới dạng mã nguồn mở theo giấy phép Apache 2.0. Nhóm nghiên cứu mô tả SINQ là nhanh, không cần hiệu chuẩn và dễ tích hợp vào quy trình làm việc hiện có với mô hình.
Nội dung
- Vì sao SINQ quan trọng đối với việc triển khai LLM hằng ngày
- SINQ khác gì so với các phương pháp lượng tử hóa trước đây
- Tiết kiệm bộ nhớ, tốc độ và chất lượng trong thử nghiệm
- Tác động đến phần cứng và chi phí đám mây
- Những gì nhà phát triển có thể sử dụng ngay hôm nay
- Giải thích các điểm nổi bật về kỹ thuật
- Định tỷ lệ trên hai trục
- Chuẩn hóa Sinkhorn Knopp
- Thiết kế không cần hiệu chuẩn
- Giới hạn và những điều cần cân nhắc trong thực tế
- Vì sao phương pháp này có ý nghĩa vượt ra ngoài một công ty
- Điểm chính
Lượng tử hóa làm giảm số bit dùng để biểu diễn trọng số mô hình. Chuyển từ số thực 16 bit hoặc 8 bit sang số nguyên 4 bit có thể giảm hơn một nửa mức sử dụng bộ nhớ. Khó đạt được mức tiết kiệm đó mà không ảnh hưởng đến độ chính xác, đặc biệt khi xuống dưới 8 bit. Điểm cốt lõi của SINQ là duy trì chất lượng cao ở độ chính xác thấp, kể cả ở mức 4 bit và trong một số trường hợp là 3 bit, đồng thời áp dụng nhanh hơn nhiều phương pháp phổ biến.
Trên các mô hình và kiến trúc được tác giả thử nghiệm, SINQ giảm mức sử dụng bộ nhớ khoảng 60 đến 70 phần trăm. Mức giảm này giúp nhiều mô hình có thể chạy trên một GPU phổ thông duy nhất, chẳng hạn Nvidia GeForce RTX 4090 với 24 GB bộ nhớ, thay vì cần GPU doanh nghiệp như A100 hoặc H100. Với khối lượng công việc trên đám mây, các máy chủ giá rẻ hơn có thể xử lý những tác vụ suy luận chạy lâu, qua đó tiết kiệm hàng nghìn đô la theo thời gian. Với các phòng thí nghiệm, startup và người đam mê công nghệ tại nhà, rào cản để chạy những mô hình có năng lực trên máy trạm cũng thấp hơn.
SINQ khác gì so với các phương pháp lượng tử hóa trước đây
Phần lớn cách lượng tử hóa LLM hiện nay chỉ tác động đến trọng số. Trọng số là các tham số đã học trong từng lớp và chiếm phần lớn kích thước mô hình. Có thể lượng tử hóa cả giá trị kích hoạt, nhưng cách này thường làm tăng độ phức tạp và có thể ảnh hưởng đến thời gian chạy. Nhiều phương pháp được sử dụng rộng rãi đánh đổi thời gian tính toán trong giai đoạn thiết lập, gọi là hiệu chuẩn, để tìm các hệ số tỷ lệ giúp giảm thiểu sai số do lượng tử hóa. Quá trình hiệu chuẩn sử dụng một mẫu dữ liệu và chạy thêm nhiều lượt qua mô hình. Cách này có thể cải thiện chất lượng, nhưng tốn thời gian, đòi hỏi chọn câu lệnh cẩn thận và làm quy trình xử lý phức tạp hơn.
SINQ chọn hướng tiếp cận khác. Phương pháp này đưa ra hai ý tưởng liên kết với nhau, nhằm giữ cho phân phối trọng số ổn định trước khi làm tròn chúng xuống độ chính xác thấp. Thứ nhất, kỹ thuật định tỷ lệ trên hai trục áp dụng các vectơ tỷ lệ riêng biệt theo hàng và cột của ma trận trọng số. Nhờ vậy, phương pháp kiểm soát chi tiết hơn so với việc dùng một tỷ lệ duy nhất cho mỗi tensor hoặc mỗi kênh. Kỹ thuật này phân tán sai số theo cách giảm ảnh hưởng của các giá trị ngoại lai và sự mất cân bằng cục bộ.
Thứ hai, SINQ sử dụng quy trình lấy cảm hứng từ phép chuẩn hóa Sinkhorn Knopp. Thuật toán luân phiên các bước chuẩn hóa đơn giản để cân bằng thống kê theo hàng và cột. Trong SINQ, phương pháp chuẩn hóa độ lệch chuẩn của các hàng và cột để không phần nào của ma trận trọng số lấn át các phần khác. Bước cân bằng này giúp trọng số phản ứng tốt hơn với quá trình lượng tử hóa và giảm sai số tổng thể mà không cần dữ liệu hiệu chuẩn tốn kém cho từng lớp.
Tiết kiệm bộ nhớ, tốc độ và chất lượng trong thử nghiệm
Các tác giả báo cáo mức tiết kiệm bộ nhớ ổn định từ 60 đến 70 phần trăm so với trọng số có độ chính xác đầy đủ, trong khi độ chính xác gần với mô hình gốc trên nhiều kiến trúc khác nhau. Trong thực tế, cách này có thể giúp giảm yêu cầu bộ nhớ của một mô hình từ hơn 60 GB xuống còn khoảng 20 GB. Trên GPU phổ thông, thay đổi đó có thể quyết định liệu mô hình có vừa bộ nhớ hay phải tràn sang RAM hệ thống chậm hơn.
Tốc độ lượng tử hóa quan trọng trong cả nghiên cứu lẫn triển khai thực tế. Theo các thử nghiệm được báo cáo, SINQ lượng tử hóa mô hình nhanh gấp khoảng hai lần HQQ và hơn 30 lần AWQ. Với các nhóm thường xuyên lặp lại quy trình trên mô hình, chênh lệch thời gian này có thể biến công đoạn tiền xử lý kéo dài nhiều giờ thành một bước nhanh hơn, phù hợp với chu trình phát triển.
Chất lượng được theo dõi bằng các chỉ số như độ hỗn loạn (perplexity) và tỷ lệ thay đổi token (flip rate). Perplexity đo khả năng dự đoán văn bản của mô hình ngôn ngữ. Flip rate đếm tần suất các token đứng đầu thay đổi sau khi lượng tử hóa. Trên các bộ đánh giá, SINQ giảm perplexity so với những phương pháp nền khác không cần hiệu chuẩn và giảm flip rate, cho thấy đầu ra ổn định hơn. Phương pháp này cũng hoạt động với các phương pháp lượng tử hóa không đồng nhất và có thể kết hợp với hiệu chuẩn nếu dự án muốn nâng độ chính xác hơn nữa.
Tác động đến phần cứng và chi phí đám mây
Chi phí suy luận tăng theo mức sử dụng bộ nhớ. Mô hình chạy vừa trên một GPU sẽ không cần cấu hình song song mô hình đắt đỏ hay phải chịu độ trễ mạng. Mức giảm của SINQ giúp nhiều mô hình cỡ vừa và lớn có thể chạy trên một card phổ thông duy nhất có bộ nhớ lớn. Với các đơn vị trước đây phụ thuộc vào máy chủ A100 hoặc H100, khả năng phục vụ bằng GPU giá phải chăng hơn có thể giảm hóa đơn hằng tháng và dành phần cứng cao cấp cho việc huấn luyện.
Người dùng đám mây có thể chọn các phiên bản GPU nhỏ hơn hoặc chạy đồng thời nhiều mô hình hơn trên mỗi máy chủ. Với các tác vụ chạy lâu, chẳng hạn trợ lý trò chuyện hoặc dịch vụ sinh tăng cường truy xuất, sử dụng GPU chi phí thấp hơn có thể tiết kiệm hàng nghìn đô la trong nhiều tuần hoặc nhiều tháng. Các cụm máy chủ tại chỗ nhỏ hơn cũng trở thành lựa chọn khả thi cho những nhóm muốn giữ dữ liệu nội bộ.
Một lợi ích thứ cấp là giảm độ trễ và mức tiêu thụ năng lượng. Ít thiết bị hơn, ít yêu cầu gọi giữa các nút hơn và ít lưu lượng bộ nhớ giữa máy chủ với thiết bị hơn có thể giúp rút ngắn thời gian phản hồi và giảm điện năng tiêu thụ. Tác động cộng dồn là một hệ thống phục vụ tinh gọn hơn, với ít thành phần cần quản lý hơn.
Những gì nhà phát triển có thể sử dụng ngay hôm nay
SINQ được phát hành dưới dạng mã nguồn mở theo giấy phép Apache 2.0. Bản phát hành bao gồm mã triển khai, hướng dẫn lượng tử hóa mô hình từ các kho phổ biến và công cụ lưu, tải lại trọng số đã lượng tử hóa. Gói phần mềm cung cấp các điểm tích hợp đánh giá để nhóm phát triển đo perplexity và flip rate trước khi triển khai. Gói này cũng cung cấp các tham số để người thực hành tinh chỉnh theo phần cứng và mục tiêu độ chính xác khác nhau.
Các tác giả cho biết họ dự định phát hành những mô hình đã được lượng tử hóa trước và hướng đến tích hợp với hệ sinh thái Hugging Face Transformers. Điều đó sẽ giúp đơn giản hóa việc áp dụng, cho phép nhà phát triển tải một checkpoint đã lượng tử hóa bằng các API quen thuộc. Các nhóm tự quản lý hệ thống suy luận có thể bắt đầu bằng cách lượng tử hóa trọng số, sau đó kết nối kết quả với các kernel hỗ trợ định dạng lưu trữ 4 bit hoặc 3 bit trên môi trường chạy mà họ lựa chọn.
Giải thích các điểm nổi bật về kỹ thuật
SINQ được thiết kế như một bước cắm và chạy trong quy trình chuẩn bị mô hình. Mục tiêu là định hình ma trận trọng số sao cho biểu diễn độ chính xác thấp vẫn giữ được cấu trúc quan trọng đối với suy luận, rồi chuyển các trọng số đã định hình sang định dạng số nguyên gọn nhẹ.
Định tỷ lệ trên hai trục
Phương pháp định tỷ lệ truyền thống theo tensor hoặc theo kênh áp dụng một hệ số theo một hướng duy nhất. Định tỷ lệ trên hai trục áp dụng một vectơ theo hàng và một vectơ theo cột của mỗi ma trận trọng số. Cách tách biệt này hữu ích khi một số hàng chứa giá trị ngoại lai hoặc một số cột có phương sai lớn hơn. Bằng cách chuẩn hóa theo cả hai hướng, phương pháp phân tán sai số lượng tử hóa đồng đều hơn trên toàn ma trận. Kết quả là ít đỉnh sai số đột biến hơn và giữ được tương quan giữa độ lớn các trọng số tốt hơn.
Chuẩn hóa Sinkhorn Knopp
Sinkhorn Knopp là một quy trình lặp cổ điển, luân phiên các bước chuẩn hóa đơn giản để đạt trạng thái cân bằng. Trong SINQ, mục tiêu không phải là tạo ra ma trận song ngẫu nhiên, mà là cân bằng độ lệch chuẩn giữa các hàng và cột. Thuật toán liên tục định tỷ lệ lại các hàng và cột để đưa độ lệch chuẩn của chúng về các giá trị mục tiêu. Khi ma trận đã cân bằng theo cách này, quá trình lượng tử hóa được thực hiện trên phân phối trọng số ít cực đoan hơn, nhờ đó giảm sai số làm tròn. Quy trình này nhanh, chỉ tốn thêm ít chi phí so với các lượt hiệu chuẩn dài hơn và không cần bộ dữ liệu hiệu chuẩn.
Thiết kế không cần hiệu chuẩn
Các giai đoạn hiệu chuẩn đòi hỏi chọn một tập câu lệnh, chạy mô hình để thu thập số liệu thống kê rồi tính các hệ số tỷ lệ. Việc này làm tăng độ phức tạp và có thể gây sai lệch kết quả nếu tập hiệu chuẩn không phù hợp với nhu cầu sử dụng thực tế. SINQ bỏ qua bước đó bằng cách xử lý trực tiếp các thống kê của trọng số. Với nhiều nhóm, loại bỏ hiệu chuẩn giúp đơn giản hóa việc tự động hóa và tăng khả năng tái lập. Nếu dự án vẫn cần hiệu chuẩn, có thể kết hợp bước định hình của SINQ với quá trình tìm kiếm hiệu chuẩn để đạt độ chính xác cao nhất.
Giới hạn và những điều cần cân nhắc trong thực tế
Phần lớn lợi ích được báo cáo đến từ việc chỉ lượng tử hóa trọng số. Các giá trị kích hoạt và bộ nhớ đệm khóa-giá trị (KV cache) vẫn chiếm bộ nhớ trong quá trình sinh văn bản, đặc biệt với câu lệnh và đầu ra dài. Một số môi trường chạy hỗ trợ lượng tử hóa giá trị kích hoạt và nén KV cache, nhưng các bước này cũng có những đánh đổi riêng. Các nhóm nên đo bộ nhớ và độ trễ của toàn bộ quy trình, thay vì chỉ xem kích thước mô hình trên đĩa.
Khả năng hỗ trợ của môi trường chạy cũng rất quan trọng. Để tăng tốc suy luận, kernel phải đọc hiệu quả trọng số 4 bit hoặc 3 bit được đóng gói. Các công cụ phổ biến như llama.cpp, TensorRT LLM, vLLM và những công cụ khác phát triển nhanh chóng, nhưng không phải tổ hợp nào giữa độ chính xác, kernel attention và kiến trúc GPU cũng đã hoàn thiện như nhau. Trước khi đưa dịch vụ vào sản xuất, hãy kiểm tra thông lượng, độ trễ và độ ổn định với cấu hình chính xác sẽ sử dụng, bao gồm kích thước lô và độ dài ngữ cảnh.
Độ chính xác rất thấp có thể gây khó khăn cho một số tác vụ. Sinh mã, sử dụng công cụ và đầu ra có cấu trúc có thể nhạy cảm hơn trò chuyện thông thường. Các chỉ số như perplexity rất hữu ích, nhưng thử nghiệm trong môi trường sản xuất cần bao gồm độ chính xác theo tác vụ, phong cách phản hồi và các bước kiểm tra an toàn. Nếu trường hợp sử dụng đẩy phương pháp đến giới hạn, độ chính xác hỗn hợp hoặc tăng độ chính xác có chọn lọc ở các lớp nhạy cảm có thể giữ chất lượng mà vẫn bảo toàn phần lớn mức tiết kiệm bộ nhớ.
Vì sao phương pháp này có ý nghĩa vượt ra ngoài một công ty
Lượng tử hóa đã trở thành nền tảng cho việc triển khai LLM trên thực tế. Một phương pháp mã nguồn mở nhanh, không cần hiệu chuẩn và hiệu quả ở độ chính xác thấp sẽ mang lại lợi ích cho toàn hệ sinh thái. Dung lượng bộ nhớ thấp hơn giúp nhiều người tiếp cận các mô hình có năng lực hơn, từ giáo dục, dự án cộng đồng đến doanh nghiệp nhỏ. Cách tiếp cận này cũng giảm áp lực lên nguồn GPU cao cấp khan hiếm, giải phóng năng lực cho hoạt động huấn luyện và nghiên cứu.
Cạnh tranh trong lĩnh vực công cụ suy luận đang tăng tốc. Các phương pháp như SINQ có thể kết hợp với kernel attention hiệu quả, KV cache phân trang và bộ lập lịch tối ưu để tạo ra nhiều token hơn mỗi giây trên mỗi đô la chi phí. Kết quả không chỉ là dịch vụ rẻ hơn, mà còn mở rộng lựa chọn cho các nhóm quan tâm đến quyền riêng tư, lưu trữ dữ liệu tại chỗ và quyền kiểm soát hệ thống của mình.
Điểm chính
- SINQ của Huawei là phương pháp lượng tử hóa trọng số LLM mã nguồn mở, được phát hành theo giấy phép Apache 2.0
- SINQ báo cáo mức giảm bộ nhớ từ 60 đến 70 phần trăm, đồng thời duy trì chất lượng cao ở mức 4 bit và trong một số trường hợp là 3 bit
- Phương pháp này không cần hiệu chuẩn và hướng đến khả năng tích hợp đơn giản vào các quy trình làm việc hiện có
- SINQ sử dụng kỹ thuật định tỷ lệ trên hai trục và phương pháp chuẩn hóa kiểu Sinkhorn Knopp để cân bằng ma trận trọng số
- Theo các thử nghiệm được báo cáo, tốc độ lượng tử hóa nhanh gấp khoảng 2 lần HQQ và hơn 30 lần AWQ
- Các chỉ số chất lượng cải thiện so với những phương pháp nền không cần hiệu chuẩn, với perplexity và flip rate thấp hơn
- Các mô hình trước đây cần hơn 60 GB có thể chạy với khoảng 20 GB, cho phép triển khai trên một GPU duy nhất, bao gồm phần cứng phổ thông như RTX 4090
- Các cập nhật dự kiến bao gồm tích hợp với Hugging Face Transformers và phát hành mô hình đã lượng tử hóa trước






