Thẻ tiêu đề hero cho bài viết 'Giải thích về Lượng tử hóa nhạy cảm' với phụ đề 'Cách OrcaSAQ quyết định trọng số MoE nào được phân bổ nhiều bit hơn — không cần tập hiệu chuẩn', hiển thị một chiếc cân thăng bằng dạng biểu tượng đường nét phẳng, với bên nặng hơn đặt vài khối lập phương màu xanh lam lớn bo tròn và bên nhẹ hơn đặt nhiều khối lập phương màu xám nhỏ.
Guides & Insights

Giải thích về Lượng tử hóa nhạy cảm: Cách OrcaSAQ quyết định trọng số nào nhận được nhiều bit hơn

Tác giả

Alistair Wren

Ngày đăng

Mô hình mới nhất · 20Xem tất cả mô hình
Benchmark: Artificial Analysis · cập nhật hằng ngày
Quay lại tất cả bài viết

Lượng tử hóa nhận biết độ nhạy là cách chi ngân sách bit của bạn vào đúng những nơi quan trọng: các tensor chịu tổn hại nặng nề nhất do lượng tử hóa sẽ nhận thêm bit, còn mọi thứ khác giữ ở độ rộng bit nền tảng thấp hơn. Bài viết này giải thích cách OrcaSAQ — phương pháp mixed-precision không cần hiệu chuẩn, nhận biết kiến trúc của chúng tôi, được phát hành cùng với GLM-5.3-Flashhọ lượng tử hóa orcarouter/GLM-5.3-Flash-MLX — quyết định tensor nào trong số 37.338 tensor của mô hình Mixture-of-Experts 320 tỷ tham số xứng đáng nhận thêm bit, hoàn toàn không cần tập dữ liệu hiệu chuẩn. Bài học có thể áp dụng cho bất kỳ ai đang lượng tử hóa một MoE khác: các expert dùng chung và các phép chiếu xuống xứng đáng được thêm bit, và bạn có thể tìm ra chúng chỉ bằng chính siêu dữ liệu lượng tử hóa của bản phát hành gốc (upstream).

Câu trả lời ngắn gọn

Lượng tử hóa theo độ nhạy là độ chính xác hỗn hợp với một chính sách: độ rộng bit của mỗi tensor tuân theo mức độ nhạy cảm của nó với lỗi lượng tử hóa, thay vì một độ rộng duy nhất cho toàn bộ mô hình. Các công trình nghiên cứu đo độ nhạy cảm bằng Hessian, thông tin Fisher, hoặc độ phân kỳ giữa đầu ra lớp ban đầu và đầu ra lớp đã lượng tử hóa, sau đó phân bổ bit cho các lớp chịu tổn hại nhiều nhất. OrcaSAQ thuộc một nhóm nhỏ hơn bỏ qua hoàn toàn việc đo lường. Nó mã hóa thứ tự độ nhạy cảm ngay trong kiến trúc: nó sử dụng các tiên nghiệm về kiến trúc và vai trò tensor để quyết định trọng số nào dễ tổn thương, sau đó lượng tử hóa mọi thứ còn lại ở độ chính xác cơ sở mục tiêu.

Điều bạn nhận được là một quy trình xử lý nhanh, xác định, không cần hiệu chuẩn. Không cần xây dựng kho ngữ liệu hiệu chuẩn, không cần tìm kiếm độ nhạy theo từng lớp, và không cần tinh chỉnh lại cho từng mô hình, nên cùng một công thức có thể áp dụng cho kiến trúc mới ngay khi trọng số của nó được công bố. Điều nó đánh đổi là khả năng thích ứng: một phương pháp dựa trên hiệu chuẩn như GPTQ hoặc AWQ sẽ xem xét phân bố kích hoạt thực tế của mô hình và dữ liệu của bạn, và thường sẽ nén được nhiều chất lượng hơn từ cùng một độ rộng bit trung bình. Cược của OrcaSAQ là đối với các mô hình Mixture-of-Experts, vai trò của một tensor cho bạn biết hầu hết những gì một lần hiệu chuẩn có thể mang lại, chỉ với một phần nhỏ chi phí.

Hai cách tìm trọng số nhạy cảm

Trước chính sách, câu hỏi đặt ra là: làm sao bạn biết lượng tử hóa gây hại cho tensor nào? Hai câu trả lời chính là toàn bộ không gian thiết kế.

Dựa trên hiệu chuẩn. Chạy một kho ngữ liệu nhỏ qua mô hình, đo lỗi mà mỗi tensor hoặc khối gây ra, và phân bổ bit để giảm thiểu tổng lỗi tái cấu trúc. GPTQ sử dụng phép xấp xỉ dựa trên Hessian cho lỗi lượng tử hóa từng lớp; AWQ sử dụng thống kê kích hoạt để xác định các trọng số nổi bật cần bảo vệ. Điểm mạnh là khả năng thích ứng với dữ liệu thực tế của bạn; chi phí là một kho ngữ liệu được tuyển chọn, các lượt truyền xuôi và các phép giải nghịch đảo Hessian cho từng lớp, cùng kết quả thay đổi khi tập hiệu chuẩn thay đổi.

Không cần hiệu chuẩn.Xác định thứ hạng độ nhạy trước khi xem bất kỳ dữ liệu nào, dựa trên kiến trúc. Trong MoE, bạn đã biết các vai trò chịu tải: chuyên gia kích hoạt trên mọi token, và phép chiếu ghi vào luồng dư. Mã hóa thứ hạng đó thành một chính sách cố định và áp dụng nó một cách máy móc.

OrcaSAQ kiên quyết đứng về phe thứ hai, và bài viết này là sự bênh vực cho phe đó trong việc lượng tử hóa MoE — với một cái nhìn tỉnh táo về những gì bạn phải đánh đổi.

Chính sách: tensor nào được nhiều bit hơn

Chính sách phân bổ bit của OrcaSAQ được nêu trong thẻ mô hình cho orcarouter/GLM-5.3-Flash-MLX, và nó rút gọn thành ba quy tắc cộng một ngoại lệ. Độ chính xác cơ sở là bản dựng bạn đang tạo — 6, 4, 3, hoặc 2 bit — và chính sách nâng các vai trò tensor cụ thể lên trên mức đó:

Chuyên gia dùng chung: cơ sở +2 bit. Chuyên gia dùng chung kích hoạt trên mọi token, do đó lỗi lượng tử hóa của nó được phát lại vào từng đầu ra mà mô hình tạo ra. Đây là tensor có đòn bẩy cao nhất trong mô hình và nó nhận được nhiều bit nhất.

down_proj: cơ sở +1 bit. Trong một khối MLP SwiGLU, phép chiếu xuôi (down projection) là nút thắt phần dư — đầu ra của nó được cộng trực tiếp vào luồng phần dư mà mọi lớp sâu hơn đọc. Lỗi ở đây trực tiếp làm hỏng những gì toàn bộ phía sau nhìn thấy.

gate_proj và up_proj: độ chính xác cơ sở. Đây là các đường mở rộng và đường gating; đầu ra của chúng được nhân theo từng phần tử bên trong hàm kích hoạt. Một sai số nhỏ ở đó phần nào bị gating làm mờ đi, vì vậy chúng chấp nhận được độ rộng cơ sở.

Không bao giờ bị lượng tử hóa, được giữ ở BF16: 34 lớp chú ý tuyến tính, bộ lập chỉ mục thưa được học, các mảng siêu kết nối, các lớp chuẩn hóa, embed_tokens, lm_head, và toàn bộ tháp thị giác. Các thành phần này không phải FP8 trong bản phát hành upstream và chúng vẫn giữ nguyên độ chính xác đầy đủ.

Các bit được làm tròn lên đến độ rộng được MLX hỗ trợ gần nhất, {2,3,4,5,6,8}. Cụ thể, trên GLM-5.3-Flash — tổng 320B / 18B kích hoạt, 288 chuyên gia định tuyến cộng 1 chuyên gia dùng chung với định tuyến top-8, 45 lớp — bản dựng 4-bit cung cấp cho chuyên gia dùng chung 6 bit, mọi phép chiếu xuống 5 bit, và các phép chiếu cổng và lên 4 bit. Bản dựng 6-bit làm tròn các phép chiếu xuống lên đến 8 bit. Kích thước nhóm là 64 cho các bản dựng 4-bit và 6-bit, 32 cho 2-bit và 3-bit, và chuyên gia dùng chung luôn sử dụng 64.

OrcaSAQ bit-allocation policy card titled 'OrcaSAQ — the bit-allocation policy' on GLM-5.3-Flash, listing the rules 'shared expert base +2 bits', 'down_proj base +1 bit', 'gate_proj / up_proj base', 'never FP8 upstream BF16', with a concrete 'At a 4-bit base' column showing shared expert 6 bits, down_proj 5 bits, gate/up projections 4 bits, and BF16 for the linear-attention path, indexer and vision tower, plus a footer citing the orcarouter/GLM-5.3-Flash-MLX model card

Quy tắc chuyên gia dùng chung có đáng không? Ở mức cơ sở 2-bit, chuyên gia dùng chung nằm ở 4 bit và ở mức cơ sở 6-bit, nó nằm ở 8 bit — trong cả hai trường hợp, hai bit thừa sẽ tốn bộ nhớ mà các chuyên gia được định tuyến lẽ ra có thể sử dụng, và các con số trên thẻ mô hình, được thảo luận bên dưới, cho thấy sự đánh đổi này là xứng đáng. Đây cũng chính là lý do khiến bản build 2bit-lite đáng để phát hành: chuyên gia luôn hoạt động là nơi duy nhất mà một chút độ chính xác thêm lại mang lại lợi ích lớn nhất.

Quy tắc lựa chọn: _scale_inv như một tín hiệu độ nhạy tự do

Chính sách phân bổ bit giả định rằng bạn đã biết tensor nào là ứng viên. Việc chọn tập hợp đó chính là điểm OrcaSAQ thông minh nhất, vì quy tắc mang tính máy móc và không cần dữ liệu: một tensor được tái lượng tử hóa khi và chỉ khi bản phát hành FP8 có kèm theo nó một _scale_inv đồng hành.

Vì sao điều đó hoạt động: nền tảng GLM-5.3-Flash upstream có định dạng FP8 — theo khối e4m3, các khối 128×128, với cơ chế kích hoạt động. Lượng tử hóa FP8 theo khối lưu trữ tỷ lệ (scale) và nghịch đảo của nó cho từng khối, bên cạnh trọng số; sự hiện diện của _scale_inv trong checkpoint là một dấu hiệu bền vững cho thấy tensor đã đi qua quy trình lượng tử hóa upstream. Bản phát hành upstream đã cho bạn biết tensor nào an toàn để lượng tử hóa — không cần Hessian, không cần tập dữ liệu hiệu chỉnh, không cần forward pass.

Đối với GLM-5.3-Flash, tập hợp đó là các tuyến tính MoE và dense-MLP, cộng với bốn phép chiếu của mỗi deepseek_sparse_attention khối — q_a_proj, q_b_proj, kv_a_proj_with_mqa, và o_proj — trên 11 lớp thưa ở độ sâu 3, 7, 11 … 43, cộng với khối MTP, 12 × 4 = 48 tensor. Mọi thứ khác chưa bao giờ mang marker và vẫn ở BF16: 34 linear_attention lớp, bộ chỉ mục thưa và tháp thị giác. Lớp MTP — lớp 45 — được bao gồm trong các trọng số lượng tử hóa thay vì được xuất như một mô-đun riêng.

Điểm đáng học hỏi chính là bản thân thủ thuật này. Một bản phát hành mô hình lượng tử hóa trọng số của nó ngay từ upstream đã làm phần lớn công việc quyết định những gì có thể lượng tử hóa; _scale_inv chính là điểm đánh dấu của quyết định đó, được tuần tự hóa vào định dạng tệp. OrcaSAQ đọc lại nó. Đó là điều khiến pipeline trở nên tất định và có thể chuyển giao — bất kỳ mô hình nào phát hành trọng số FP8 kèm siêu dữ liệu tỷ lệ đều có thể được xử lý bằng cùng một quy tắc, mà không cần bất kỳ pipeline dữ liệu nào.

OrcaSAQ selection-rule card titled 'OrcaSAQ — the mechanical selection rule' showing the rule 'Re-quantize a tensor iff the FP8 release shipped it with a _scale_inv companion', with a 'Quantized (had _scale_inv)' column listing the MoE and dense-MLP linears, 11 sparse layers x 4 projections at depth 3, 7, 11 … 43, the MTP block, 12 x 4 = 48 sparse-attention projection tensors and 37,338 tensors total, and a 'Never FP8 upstream (BF16)' column listing 34 linear-attention layers, the sparse indexer, hyper-connections, norms, embed_tokens, lm_head and the vision tower

Điểm bẫy ở đây: cấu hình theo từng mô-đun, không phải các thiết lập cấp cao nhất.

Nếu bạn tự viết bộ lượng tử hóa MLX — và đó chính là đối tượng của phần này — điều hữu ích nhất trong thẻ mô hình là một cảnh báo: các trường cấp cao nhất bitsgroup_size trong config.json là chưa đủ.

Tổng cộng, 37.338 tensor được lượng tử hóa. Việc gán được ghi lại trong config.jsonquantization theo từng mô-đun {group_size, bits} các ghi đè được khóa bởi đường dẫn mô-đun MLX — ví dụ model.layers.3.mlp.switch_mlp.down_proj. Vì MLX hợp nhất các chuyên gia định tuyến của một lớp thành một switch_mlp, 173 mục nhập bao phủ toàn bộ 37.338 tensor.

Và bộ nạp đọc các mục đó tại thời điểm nạp. Nếu bạn lượng tử hóa toàn bộ tệp ở độ rộng cơ sở, mọi tensor có độ chính xác được nâng lên — expert dùng chung ở base +2, mọi down projection ở base +1 — sẽ ra sai độ rộng, và mô hình được nạp với hình dạng sai lệch. Bản đồ theo mô-đun không phải là một tối ưu bạn có thể bỏ qua; nó chính là đường dẫn nạp. Khi bạn viết bộ lượng tử hóa của riêng mình, hãy xuất ra các ghi đè cho mọi tensor mà chính sách nâng lên, và xác minh chúng với mặc định cấp cao nhất trước khi phát hành.

Chính sách có tự chi trả cho chính nó không?

Bằng chứng là của chính chúng tôi, đo trên một mô hình: GLM-5.3-Flash, mỗi bản build được giải lượng tử hóa và chạy qua cùng một glm5_next forward nên biến số duy nhất là lượng tử hóa. Các con số dưới đây lấy từ model card, và chúng không phải benchmark của nhà cung cấp hay số liệu của bên thứ ba — hãy coi chúng là một điểm dữ liệu đơn lẻ, không phải một quy luật.

• Perplexity, so với tham chiếu FP8 tại 2.7797: 6-bit 2.7864 (+0.24%), 4-bit 2.8620 (+2.96%), 3-bit 3.0566 (+9.96%), 2-bit 4.3622 (+56.9%).

• Độ khớp token Top-1 với tham chiếu, cùng thứ tự: 97.76%, 96.13%, 92.06%, 86.56%.

{{1}}Kết quả đọc được đúng như những gì chính sách dự đoán.{{/1}} {{2}}Mọi thứ xuống đến 3-bit đều suy giảm nhẹ nhàng — đó là dấu hiệu của một ngân sách bit được chi đúng cho các tensor — và 2-bit là một vách đá, bởi vì dưới một mức nào đó, các khoản tăng theo vai trò không còn bù đắp được tổn hại.{{/2}} {{3}}Ở mức 4-bit, độ perplexity tăng +2,96% cho một bản dựng nhỏ hơn khoảng 38% so với tham chiếu FP8 là một sự đánh đổi thực sự tốt, và chính sách tương tự, được áp dụng mạnh tay hơn, đã khiến bản dựng 2bit-lite 102 GB có thể tải được.{{/3}} {{4}}Các chuyên gia độc lập khi lượng tử hóa cùng một mô hình nền báo cáo cùng một thứ tự — các bậc trên cùng nằm gần sàn nhiễu, 4-bit thực nhưng khiêm tốn — với các con số tuyệt đối khác nhau từ một bộ ngữ liệu đánh giá khác.{{/4}}

OrcaSAQ quality card titled 'OrcaSAQ — quality versus the FP8 reference' listing perplexity versus the FP8 reference at 2.7797: 6-bit 2.7864 (+0.24%), 4-bit 2.8620 (+2.96%), 3-bit 3.0566 (+9.96%), 2-bit 4.3622 (+56.9%), with top-1 agreement 97.76%, 96.13%, 92.06%, 86.56%, and a footer noting these are OrcaRouter's own measurements on GLM-5.3-Flash, not vendor benchmarks

Điều gì được chuyển sang MoE của riêng bạn

Lý luận có thể tái sử dụng, cho một mô hình không phải của chúng ta:

Tìm các chuyên gia luôn hoạt động. Bất cứ thứ gì kích hoạt trên mọi token — thường là một chuyên gia dùng chung hoặc luôn được định tuyến — sẽ nhận được lượng bit hào phóng nhất của bạn. Lỗi của nó được tái diễn ở khắp mọi nơi.

Tìm các điểm nghẽn residual. Phép chiếu ghi vào luồng residual (thường là down projection của mỗi khối MLP) nhận base +1. Mọi lớp sâu hơn đều nhìn thấy lỗi tại đó.

Giữ nguyên các nhánh mở rộng và gating ở mức cơ sở. Nếu một đầu ra được nhân theo từng phần tử bên trong một hàm kích hoạt, sai số lượng tử hóa trong đó sẽ được hấp thụ một phần.

Chưa từng được lượng tử hóa ở upstream nghĩa là bạn cũng chưa từng lượng tử hóa. Nếu bản phát hành gốc chứa các tensor đó ở độ chính xác đầy đủ, hãy giữ chúng ở độ chính xác đầy đủ.

Sử dụng siêu dữ liệu tỷ lệ của bản phát hành upstream làm quy tắc lựa chọn. Nếu mô hình cơ sở lượng tử hóa trọng số của nó, các điểm đánh dấu tỷ lệ/tỷ lệ nghịch mà nó để lại chính là bản đồ miễn phí về những gì có thể lượng tử hóa — không cần tìm kiếm độ nhạy.

Ghi lại các ghi đè theo từng mô-đun. Độ rộng bit toàn cục sẽ làm sai lệch hình dạng của mọi tensor khi tải. Hãy viết bản đồ đường dẫn mô-đun.

Và nếu bạn có thể giữ một bộ hiệu chuẩn, hãy dùng nó để kiểm toán chính sách — chứ không phải để thay thế nó. Chạy lượng tử hóa theo hiệu chuẩn ở cùng số bit trung bình và kiểm tra xem thứ tự của tiên nghiệm vai trò có khớp với những gì dữ liệu cho thấy hay không. Trên một mô hình dày đặc hoặc một kiến trúc hoàn toàn mới, cuộc kiểm toán đó chính là sự khác biệt giữa một mặc định có thể bảo vệ được và một sự phỏng đoán.

Nơi OrcaSAQ là lựa chọn sai

Đây là phần giúp giữ cho phương pháp trung thực, vì sự đánh đổi không cần hiệu chuẩn là có thật.

Khi trần chất lượng quan trọng hơn tốc độ pipeline và bạn có một tập hiệu chuẩn. Các phương pháp kiểu GPTQ hoặc AWQ thích ứng với số liệu thống kê kích hoạt thực tế của mô hình và dữ liệu của bạn, và với cùng số bit trung bình, chúng thường sẽ vượt trội hơn một chính sách cố định dựa trên vai trò. Nếu bạn lượng tử hóa một mô hình một lần và không bao giờ lượng tử hóa lại, số giờ hiệu chuẩn thêm chỉ là chi phí một lần để đổi lấy chất lượng có thể đo lường được.

Các mô hình dense không dùng MoE. Prior về vai trò — chuyên gia dùng chung, gate/up/down — không tồn tại, nên policy mất đi cấu trúc khiến nó đáng tin cậy. Bạn chỉ còn lại "mọi thứ được lượng tử hóa ở thượng nguồn vẫn được lượng tử hóa", một khẳng định yếu hơn.

Các mô hình không có bản phát hành FP8 từ thượng nguồn. Cái _scale_inv quy tắc lựa chọn không có gì để dựa vào. Bạn phải quyết định tập lượng tử hóa được theo cách khác, và lập luận về khả năng chuyển giao cơ học sụp đổ.

Kiến trúc hoàn toàn mới. Các prior chính là những giả định có thể không còn đúng. Một phương pháp dựa trên hiệu chuẩn sẽ phát hiện ra một tensor mong manh mà chính sách dựa trên vai trò đã bỏ sót; OrcaSAQ sẽ không làm vậy, vì nó không bao giờ nhìn.

Các mục tiêu dưới 3-bit. Chính sách này không cứu được bạn. Ở mức 2-bit, mô hình có perplexity +56.9% bất kể các bit phụ được phân bổ vào đâu; bản build 2bit-lite tồn tại để vừa (fit), không phải vì chất lượng.

Khi bạn cần sự đảm bảo. Các đảm bảo theo tensor, ngân sách huấn luyện nhận biết lượng tử hóa (QAT), hoặc chất lượng tốt nhất có thể cho một kích thước cố định mà không quan tâm đến chi phí pipeline đều thuộc phạm vi hiệu chuẩn.

Điểm mấu chốt

Lượng tử hóa dựa trên độ nhạy là phương pháp; OrcaSAQ là một công thức tất định, không cần hiệu chuẩn cho việc đó. Các bài học bền vững là việc tăng shared-expert và down-projection, bản chất cơ học của _scale_inv quy tắc lựa chọn, và cấu hình theo từng mô-đun mà trình tải thực sự đọc. Đối với một MoE 320 tỷ tham số như GLM-5.3-Flash, công thức đó tạo ra bản dựng MLX 4-bit với perplexity tăng 2,96% — và orcarouter/GLM-5.3-Flash-MLX repo cung cấp cùng chính sách ở 2, 3, 4 và 6 bit, cùng với bản dựng 2bit-lite riêng cho máy 128 GB. Bài hướng dẫn của chúng tôi về GLM-5.3-Flash-MLX sẽ trình bày từng bước nên chạy bản dựng nào trên máy nào.

Nếu ưu tiên của bạn là phần chất lượng cuối cùng ở một kích thước cố định và bạn có thể xây dựng một kho ngữ liệu hiệu chuẩn, hãy sử dụng các công cụ dựa trên hiệu chuẩn và để chúng tự thích ứng. Nếu ưu tiên của bạn là một phép lượng tử hóa tái lập được, nhanh, không cần dữ liệu và có thể chuyển sang kiến trúc tiếp theo — hoặc bạn chỉ đơn giản là không muốn xây dựng bất kỳ đường ống dữ liệu nào — thì chính sách dựa trên vai trò là một lựa chọn mặc định hợp lý. Và nếu ngay từ đầu bạn không muốn lượng tử hóa, thì phiên bản full-precision GLM-5.3-Flash được phục vụ thông qua OrcaRouter dưới tên z-ai/glm-5.3-flash. Sự lựa chọn nằm ở việc bạn sẵn sàng vận hành bao nhiêu đường ống, chứ không phải ở việc liệu lượng tử hóa nhận biết độ nhạy có đáng thực hiện hay không.

Không muốn lượng tử hóa gì cả? z-ai/glm-5.3-flash là mô hình full-precision được phục vụ trên OrcaRouter với đúng giá nhà cung cấp, chênh lệch 0%.

© 2026 OrcaRouter

Dành cho nhà cung cấp

Bạn vận hành nền tảng suy luận? Đưa mô hình của bạn lên OrcaRouter.

providers@orcarouter.ai

Tham gia cộng đồng

Discordsupport@orcarouter.aiXGitHubYouTube