GLM-5.3-Flash là một mô hình 320 tỷ tham số được phát hành theo giấy phép MIT. Hai sự thật này có vẻ mâu thuẫn: giấy phép cho phép bạn chạy nó theo bất kỳ cách nào bạn muốn, nhưng số lượng tham số lại đòi hỏi phần cứng nghiêm túc để làm được điều đó.
Phần thú vị là 18 tỷ trong số 320 tỷ tham số đó hoạt động trên mỗi token, và các bản dựng lượng tử hóa (quantized builds) đã có. Sự kết hợp này giúp mô hình nằm trong tầm với của các thiết lập nhỏ hơn nhiều so với nút 8x H200 mà hầu hết các hướng dẫn thường giả định.
Bài viết này sẽ trình bày rõ ràng về các cấp độ phần cứng, từ một nút sản xuất độ chính xác cao (full-precision production node) cho đến một bản dựng lượng tử hóa (quantized build) trên máy trạm, và đề cập đến khi nào việc tự chạy mô hình này là hợp lý.
Những gì bạn thực sự đang tải
| Thuộc tính | Giá trị |
|---|---|
| Tổng tham số | 320B |
| Hoạt động trên mỗi token | 18B |
| Kiến trúc | MoE, hybrid linear và sparse attention |
| Ngữ cảnh | 1.048.576 token |
| Giấy phép | MIT |
| Trọng số | zai-org/GLM-5.3-Flash |
| Lượng tử hóa GGUF | unsloth/GLM-5.3-Flash-GGUF |
Thiết kế "mixture-of-experts" (MoE) là điều giúp mô hình này khả thi. Tất cả 320 tỷ tham số phải nằm trong bộ nhớ, nhưng chỉ 18 tỷ tham gia vào bất kỳ token nào, vì vậy nhu cầu tính toán thấp hơn nhiều so với tổng số lượng tham số. Bộ nhớ là giới hạn ràng buộc của bạn, không phải FLOPs.
Z.ai cũng báo cáo bộ nhớ đệm KV cache nhỏ hơn khoảng 4,4 lần so với GLM-5.3, điều này cực kỳ quan trọng đối với các tác vụ ngữ cảnh dài. KV cache là thứ tiêu thụ bộ nhớ khi ngữ cảnh của bạn được điền đầy, và trên cửa sổ 1 triệu token, đó thường là yếu tố gây ra sự cố.
Cấp 1: Độ chính xác đầy đủ trên một nút sản xuất
Để phục vụ với chất lượng đầy đủ và khả năng đồng thời thực sự, cấu hình tham chiếu là một nút 8x H200 (mỗi GPU 141GB, tổng cộng khoảng 1.128GB). Một nút 8x H20 cũng hoạt động tốt.
Ước tính sơ bộ: chỉ riêng các trọng số đã cần khoảng 700 đến 800GB tùy thuộc vào độ chính xác, và bạn cần thêm không gian cho KV cache và chi phí hoạt động. Dung lượng đám mây thuê cho một nút như thế này có giá khoảng 24 đến 48 đô la mỗi ngày.
vLLM
vLLM là lựa chọn mặc định phổ biến và có sự hỗ trợ hệ sinh thái rộng nhất. Kích thước song song tensor (tensor parallel size) nên là một lũy thừa của hai:
vllm serve zai-org/GLM-5.3-Flash \
--tensor-parallel-size 8 \
--max-model-len 1048576 \
--trust-remote-code
Bắt đầu với một --max-model-len nhỏ hơn trong khi bạn đang xác thực thiết lập. Yêu cầu toàn bộ cửa sổ một triệu token ngay lập tức có nghĩa là phân bổ KV cache cho nó, và lỗi ở đó trông giống như lỗi hết bộ nhớ (out-of-memory) hơn là sự cố cấu hình.
SGLang
SGLang đã có hỗ trợ ngay từ ngày đầu cho mô hình này, với các công thức được công bố cho H100, H200, B200, B300, GB200 và GB300, bao gồm cả phục vụ đa phương thức (multimodal serving). Z.ai đã sử dụng một stack dựa trên SGLang để phục vụ trước khi ra mắt.
python -m sglang.launch_server \
--model-path zai-org/GLM-5.3-Flash \
--tp 8 \
--context-length 1048576
SGLang thường vượt trội về đầu ra có cấu trúc và các tác vụ agentic có khả năng đồng thời cao. Nếu bạn đang phục vụ một coding agent thay vì một giao diện trò chuyện, bạn nên thử nghiệm với vLLM thay vì mặc định.
Cả hai stack đều cần một trình phân tích cú pháp gọi công cụ (tool-call parser) được cấu hình nếu bạn muốn chức năng gọi hàm (function calling) hoạt động bình thường. Hãy kiểm tra các cờ hiện tại trong tài liệu của từng dự án, vì tên trình phân tích cú pháp có thể thay đổi giữa các bản phát hành.
Cấp 2: Lượng tử hóa trên phần cứng nhỏ hơn
Đây là cấp độ mà hầu hết các bài viết thường bỏ qua, và nó là cấp độ quan trọng đối với bất kỳ ai không có trung tâm dữ liệu.
Các bản dựng GGUF lượng tử hóa được công bố tại unsloth/GLM-5.3-Flash-GGUF, với các định dạng 1-bit và 2-bit mạnh mẽ như IQ1_S và IQ2_XXS. Việc lượng tử hóa 2-bit một mô hình 320B đưa các trọng số vào một phạm vi mà một máy trạm có bộ nhớ cao hoặc một dàn máy tiêu dùng đa GPU có thể chứa, đặc biệt với việc giải phóng CPU (CPU offload).
Hai lưu ý thẳng thắn:
Lượng tử hóa mạnh mẽ sẽ làm giảm chất lượng. IQ1_S còn rất xa so với độ chính xác đầy đủ. Trên một mô hình MoE 320B, sự suy giảm thường ít nghiêm trọng hơn so với việc áp dụng tương tự cho một mô hình dày đặc (dense model), bởi vì có nhiều sự dư thừa để mất, nhưng "chạy được" và "chạy tốt" là hai tuyên bố khác nhau. Hãy kiểm tra nó trên các tác vụ của riêng bạn trước khi đưa ra bất kỳ kết luận nào.
Tài liệu của Unsloth cho mô hình này được đánh dấu là đang trong quá trình phát triển. Tính khả dụng của lượng tử hóa và các cài đặt được đề xuất vẫn đang thay đổi. Hãy kiểm tra những gì thực sự được công bố trước khi lên kế hoạch xây dựng dựa trên một định dạng cụ thể.
Đối với các thiết lập nặng về CPU và hybrid (lai), KTransformers được thiết kế chính xác cho trường hợp này, giữ các expert MoE trong RAM hệ thống và chỉ di chuyển những gì cần thiết lên GPU. Trên một mô hình MoE với 18 tỷ tham số hoạt động, kiến trúc đó phù hợp một cách bất thường. TokenSpeed cũng được liệt kê trong số các runtime được hỗ trợ.
Hướng dẫn của chúng tôi về chạy GLM-4.7-Flash cục bộ bao gồm phiên bản mô hình nhỏ hơn của quy trình này, và chạy GLM-5 cục bộ miễn phí bao gồm thiết lập GLM cục bộ chung.
Xác định ngân sách bộ nhớ của bạn
Hai con số quyết định liệu một cấu hình có phù hợp hay không.
Trọng số. Với khoảng 2 byte mỗi tham số trong BF16, 320 tỷ tham số là khoảng 640GB trước khi tính đến chi phí phụ (overhead). FP8 giảm một nửa con số đó. Lượng tử hóa 4-bit đưa nó xuống gần 160GB, và các định dạng 2-bit mạnh mẽ còn thấp hơn nữa nhưng phải trả giá bằng chất lượng.
KV cache. Cái này tăng theo độ dài ngữ cảnh và khả năng đồng thời, và đây là điều làm mọi người ngạc nhiên. Một cấu hình tải tốt ở ngữ cảnh 8K có thể thất bại ở 128K vì cache tăng lên, chứ không phải trọng số. Việc Z.ai báo cáo giảm 4,4 lần so với GLM-5.3 giúp ích rất nhiều ở đây, nhưng khả năng mở rộng vẫn tuyến tính theo token.
Hàm ý thực tế là hãy định kích thước theo độ dài ngữ cảnh thực tế của bạn, chứ không phải độ dài tối đa mà mô hình quảng cáo. Rất ít ứng dụng cần toàn bộ một triệu token, và việc cấp phát cho một cửa sổ mà bạn không bao giờ sử dụng là cách phổ biến nhất để làm cho mô hình này trông có vẻ không thể chi trả được.
Nếu bạn đã theo dõi câu chuyện trọng số mở trước đây cho dòng mô hình này, bài viết về việc tự host GLM-5.3 của chúng tôi đã được viết trước khi các trọng số được phát hành. Các trọng số hiện đã được phát hành cho Flash theo giấy phép MIT, vì vậy hướng dẫn ở đây sẽ thay thế bài viết đó.
Tinh chỉnh (Fine-tuning)
Giấy phép MIT cho phép tinh chỉnh và phân phối lại, điều này là bất thường ở cấp độ khả năng này và là lý do mạnh mẽ nhất để bạn tự quản lý các trọng số.
Hãy thực tế về chi phí. Việc tinh chỉnh hoàn toàn một mô hình 320B nằm ngoài khả năng của hầu hết các nhóm. Các phương pháp hiệu quả về tham số như LoRA là con đường thực tế, và trên một mô hình mixture-of-experts, có một câu hỏi thiết kế bổ sung là liệu bạn có điều chỉnh bộ định tuyến (router), các expert, hay các lớp attention. Đó là một lĩnh vực đang hoạt động với ít hướng dẫn rõ ràng hơn so với các mô hình dày đặc (dense models).
Nếu mục tiêu của bạn là thích nghi miền (domain adaptation) chứ không phải khả năng mới, hãy thử nghiệm nhắc lệnh (prompting) và truy xuất (retrieval) với mô hình cơ sở trước. Trên một mô hình có cửa sổ ngữ cảnh 1 triệu token, việc đưa kiến thức miền của bạn vào prompt thường rẻ hơn và tốt hơn là huấn luyện nó vào.
Cài đặt lấy mẫu (Sampling settings)
Z.ai công bố các khuyến nghị khác nhau theo tác vụ:
| Trường hợp sử dụng | temperature | top_p |
|---|---|---|
| Chung | 1.0 | 0.95 |
| Lập trình | 0.95 | 1.0 |
Mô hình cũng hỗ trợ ba chế độ suy luận thông qua reasoning_effort, với các giá trị low, high và max. Max là mặc định. Trên phần cứng cục bộ, điều này quan trọng hơn so với trên API, bởi vì các token suy luận là quá trình tạo ra mà bạn phải trả tiền bằng thời gian thực tế (wall-clock time) chứ không phải bằng đô la. Nếu thiết bị của bạn tạo ra chậm, low là sự khác biệt giữa khả dụng và không.
Tự host có ý nghĩa về mặt tài chính không?
Thường là không, và giá API là lý do.
Với giá niêm yết, GLM-5.3-Flash có giá 0,15 đô la cho mỗi triệu token đầu vào. Một nút 8x H200 thuê với giá khoảng 1.000 đô la mỗi tháng cho phép bạn sử dụng API khoảng 6,7 tỷ token đầu vào. Duy trì khối lượng vượt quá con số đó, liên tục, là một hoạt động lớn.
Nút cũng có chi phí như nhau dù nó được sử dụng hết công suất hay không hoạt động, trong khi API chỉ tính phí những gì bạn sử dụng. Trừ khi mức độ sử dụng của bạn thực sự cao suốt ngày đêm, chi phí cố định sẽ thua thiệt.
Vậy lý do để tự host không phải là chi phí:
- Lưu trữ dữ liệu và quyền riêng tư. Không có gì rời khỏi cơ sở hạ tầng của bạn.
- Không giới hạn tốc độ. Khả năng của bạn là khả năng của bạn.
- Đảm bảo tính khả dụng. Không phụ thuộc vào thời gian hoạt động hay quyết định giá của nhà cung cấp.
- Giấy phép MIT. Bạn có thể sửa đổi, tinh chỉnh và phân phối lại. Điều này là bất thường đối với một mô hình ở cấp độ khả năng này và đó là lý lẽ mạnh mẽ nhất trong danh sách.
- Phần cứng bạn đã sở hữu. Nếu các GPU đã được mua và đang nhàn rỗi, chi phí biên là điện, và toàn bộ phép tính sẽ đảo ngược.
Phân tích giá của chúng tôi xem xét chi tiết hơn về mặt API của so sánh này.
Xác minh triển khai của bạn
Cả vLLM và SGLang đều cung cấp các endpoint tương thích với OpenAI, vì vậy cùng một hình dạng yêu cầu hoạt động với máy chủ cục bộ của bạn và với Z.ai:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "zai-org/GLM-5.3-Flash",
"messages": [{"role": "user", "content": "reply with OK"}]
}'
Điều đáng kiểm tra ngoài một bài kiểm tra nhanh (smoke check): hành vi ngữ cảnh dài ở độ dài bạn thực sự cần, đầu vào hình ảnh nếu bạn đang phục vụ đa phương thức, gọi công cụ với các lược đồ thực tế của bạn, và thông lượng dưới điều kiện đồng thời chứ không phải độ trễ yêu cầu đơn lẻ.
Đây là lúc một bộ sưu tập kiểm thử đã lưu phát huy tác dụng. Hướng Apidog tới cả máy chủ cục bộ của bạn và endpoint Z.ai với URL cơ sở là một biến môi trường, chạy cùng một bộ kiểm thử đối với từng cái và so sánh. Bạn sẽ nhanh chóng biết liệu bản dựng lượng tử hóa của mình có còn xử lý được các lược đồ công cụ mà ứng dụng của bạn phụ thuộc vào hay không, đây là chế độ lỗi mà mọi người thường phát hiện trong môi trường sản xuất.
Câu hỏi thường gặp
Phần cứng tối thiểu là gì? Đối với độ chính xác đầy đủ, là một nút cấp 8x H200. Đối với các bản dựng GGUF lượng tử hóa, ít hơn đáng kể, mặc dù chất lượng giảm theo mức độ lượng tử hóa.
Tôi có cần tất cả 320 tỷ tham số trong bộ nhớ không? Có. Chỉ 18 tỷ tham số hoạt động trên mỗi token, nhưng toàn bộ tập hợp phải nằm trong bộ nhớ. Bộ nhớ là giới hạn; tính toán thì không.
Cái nào tốt hơn, vLLM hay SGLang? SGLang đã có hỗ trợ ngay từ ngày đầu với các công thức đa phương thức được công bố và thường vượt trội về khả năng đồng thời và đầu ra có cấu trúc. vLLM có sự hỗ trợ hệ sinh thái rộng hơn. Hãy thử nghiệm cả hai trên khối lượng công việc của bạn.
Tôi có thể chạy nó trên một GPU duy nhất không? Không ở độ chính xác đầy đủ. Với lượng tử hóa mạnh mẽ và giải phóng CPU thông qua KTransformers, một hệ thống GPU đơn có bộ nhớ cao cùng với nhiều RAM hệ thống là khả thi. Hãy kỳ vọng tốc độ tạo ra chậm.
Giấy phép thực sự là MIT phải không? Vâng. Các trọng số được phát hành theo giấy phép MIT, cho phép sử dụng thương mại, sửa đổi và phân phối lại.
