- Checkpoint huấn luyện nhận biết lượng tử hóa (QAT) của Gemma 4 tối ưu yêu cầu bộ nhớ và hiệu năng trên thiết bị để hỗ trợ chạy cục bộ trên các thiết bị biên phổ biến và GPU tiêu dùng
- QAT mô phỏng lượng tử hóa trong quá trình huấn luyện để giảm mất mát chất lượng khi nén, cho kết quả chất lượng tổng thể cao hơn so với mức chuẩn PTQ tiêu chuẩn
- Các checkpoint được công bố nhắm tới định dạng Q4_0 và định dạng chuyên biệt cho di động, trong đó định dạng di động giảm memory footprint của Gemma 4 E2B xuống còn 1GB
- Lược đồ di động giảm khối lượng công việc và mức sử dụng bộ nhớ hoạt động trên chip di động bằng kích hoạt tĩnh, lượng tử hóa theo từng kênh, lượng tử hóa 2-bit có chọn lọc, cùng tối ưu hóa embedding và bộ nhớ đệm KV
- Có thể thực hiện chạy cục bộ, triển khai on-device và fine-tuning với hỗ trợ từ trọng số trên Hugging Face, llama.cpp·Ollama·LM Studio, LiteRT-LM·Transformers.js, SGLang·vLLM·MLX·Unsloth
Bối cảnh công bố và phạm vi
- Hai tháng sau khi ra mắt Gemma 4, Google công bố checkpoint QAT, tiếp nối Multi-Token Prediction(MTP) để tăng tốc suy luận và mô hình 12B lấp khoảng trống giữa các mô hình MOE E4B·26B
- Các checkpoint mới là nỗ lực tối ưu hiệu quả nhằm cho phép chạy Gemma 4 cục bộ trên các thiết bị biên phổ biến và GPU tiêu dùng
- QAT là phương pháp mô phỏng lượng tử hóa trong quá trình huấn luyện để giảm thiểu mất mát chất lượng khi nén mô hình
- Bản phát hành lần này cung cấp checkpoint QAT cho định dạng lượng tử hóa Q4_0 phổ biến và một định dạng lượng tử hóa mới chuyên cho các trường hợp sử dụng di động
Đánh đổi giữa nén và chất lượng
- Lượng tử hóa là công nghệ cốt lõi để chạy mô hình trên phần cứng tiêu dùng, giúp giảm memory footprint và tăng tốc độ giải mã
- Lượng tử hóa sau huấn luyện (PTQ) tiêu chuẩn thường làm suy giảm hiệu năng, trong khi QAT tích hợp trực tiếp quá trình lượng tử hóa vào huấn luyện
- PTQ cũng hiệu quả trong việc giữ chất lượng, nhưng kết quả QAT cho chất lượng tổng thể cao hơn mức chuẩn PTQ tiêu chuẩn
- Google đã áp dụng công thức QAT cho định dạng Q4_0 để tối đa hóa hiệu năng trên mọi mô hình, đồng thời thiết kế riêng một lược đồ lượng tử hóa chuyên cho di động cho các mô hình biên E2B·E4B
Cấu trúc tối ưu cho di động
- Các định dạng nén tiêu chuẩn thường khó chạy hiệu quả trên bộ xử lý di động, vì vậy Gemma 4 sử dụng lược đồ lượng tử hóa di động tùy biến cho phần cứng biên
- Kích hoạt tĩnh tính trước các thiết lập thang dữ liệu trong lúc huấn luyện để giảm khối lượng công việc của chip di động và tăng tốc phản hồi
- Lượng tử hóa theo từng kênh sắp xếp dữ liệu nén phù hợp với kiến trúc bộ tăng tốc di động để cho phép tính toán gốc mà không cần cách обход chậm
- Lượng tử hóa 2-bit có chọn lọc nén mạnh phần sinh token xuống 2-bit trong khi giữ các lớp suy luận cốt lõi ở độ chính xác cao hơn để tiết kiệm không gian lưu trữ
- Tối ưu hóa embedding và bộ nhớ đệm KV tập trung nén vào danh sách từ vựng và bộ nhớ ngắn hạn của mô hình để giảm mạnh memory footprint đang hoạt động và cho phép hội thoại dài hơn
- Với các trường hợp sử dụng không cần bộ mã hóa âm thanh hoặc thị giác, có thể chỉ triển khai modality cần thiết để giảm thêm memory footprint; mô hình chỉ văn bản Gemma 4 E2B không có Per-Layer Embeddings yêu cầu dưới 1GB bộ nhớ
Cách sử dụng và hỗ trợ công cụ
- Google cung cấp trọng số mô hình Q4_0 và mobile trên Hugging Face
- Định dạng GGUF có thể dùng ngay trong llama.cpp, tensor nén được cung cấp cho vLLM, và với các workflow khác Google chia sẻ checkpoint chưa lượng tử hóa để có thể chuyển đổi và lượng tử hóa sang các định dạng hỗ trợ Q4_0
- Có thể xem cách triển khai trong tài liệu
- Trên desktop, có thể tải xuống, quản lý và chạy cục bộ mô hình Gemma 4 QAT bằng llama.cpp, Ollama, LM Studio
- Để triển khai on-device có thể dùng runtime nhẹ LiteRT-LM của Google, còn trên web có thể chạy trực tiếp bằng Transformers.js
- Với phục vụ mô hình lớn có thể dùng SGLang và vLLM, còn để tối ưu cho Apple Silicon có thể dùng MLX
- Checkpoint MTP QAT vẫn giữ được mức tăng tốc của MTP trong khi lượng tử hóa mô hình, đồng thời có thể fine-tune trực tiếp trọng số bằng Hugging Face Transformers và Unsloth
1 bình luận
Ý kiến trên Hacker News
Tôi đã thử chạy Gemma 4 E2B cục bộ trên Mac bằng
uvx litert-lm run, và lần chạy đầu tiên đã tải về 3.2GB vào~/.cache/huggingface/hub/models--litert-community--gemma-4-E2B-it-litert-lmKhá ấn tượng khi một model cỡ này còn xử lý được cả đầu vào âm thanh và hình ảnh; với ảnh có thể chạy như
--attachment image.jpg --prompt describe, còn với âm thanh là--attachment audio.wav --prompt transcribeBản thân kết quả SVG con bồ nông thì không ra gì, nhưng việc một file 3.2GB lại xuất ra được SVG hợp lệ vẫn rất đáng ngạc nhiên: https://gist.github.com/simonw/94b318afde4b1ce5ff67d4b5d0362...
Các model của MLX Community có ghi như vậy ngay trong tên, còn các model này thì không, và ngày upload cũng không có vẻ khớp hoàn toàn
Giờ đây các cuộc hội thoại thời gian thực cơ bản có nhận diện video và âm thanh ngay trên thiết bị đã trở nên khả thi
uvxthực sự rất tiện để dùngMong là Nvidia cũng hỗ trợ hạng nhất thay vì bắt mọi người đi đường vòng qua Docker
Cũng có bộ sưu tập Unsloth [0], và kết quả cũng đã được công bố [1]
So với model BF16 không lượng tử hóa thì độ chính xác có vẻ gần như 100%, và lượng tử hóa của Unsloth trông còn tốt hơn QAT gốc của Google được nhắc trong bài
Cá nhân tôi cũng đang dùng model 2B qua Unsloth Studio và API cho tìm kiếm web và xuất JSON có cấu trúc, ngay cả khi model đã được nhúng sẵn trên điện thoại, và nó rất hợp cho mục đích này
[0] https://huggingface.co/collections/unsloth/gemma-4-qat
[1] https://unsloth.ai/docs/models/gemma-4/qat#qat-analysis
Thứ xuất hiện ở đó không phải BF16 thông thường mà là BF16 QAT Q4_0
Ý nghĩa gần hơn là Google đã lượng tử hóa model xuống 4-bit, rồi lưu kết quả ở định dạng BF16 để tương thích với các packer cấp thấp và thuận tiện hơn
Nó hơi giống việc nhét các số 8-bit nhỏ vào số nguyên 32-bit, nên không có nghĩa là nó gần 100% so với BF16 không lượng tử hóa
Tuy vậy tôi vẫn thắc mắc vì sao bản 4-bit QAT Q4_0 do Google công bố lại không đạt đúng 100% của BF16 QAT Q4_0. Việc chuyển đổi giữa hai kiểu đóng gói này tưởng như chỉ cần thao tác bit mà không phải lượng tử hóa thêm, nhưng Unsloth nói là có vấn đề về căn chỉnh lưới
Ngoài chuyện đó ra, tôi không thích việc các hãng làm model nhỏ như Google hay Qwen khi ra model mới chỉ đưa benchmark BF16. Thực tế mọi người chạy lượng tử hóa 4~8-bit, nên rất khó biết sẽ mất bao nhiêu ở 4-bit và 6-bit
Chỉ riêng tuần này thôi cũng đủ thấy hệ sinh thái Gemma phát triển nhanh đến mức nào
Đã có Gemma 12B, dự đoán đa token, và model lượng tử hóa chính thức; có cảm giác Google đang thực sự dồn lực cho nhịp phát hành này nên khá đáng mong đợi
Đây là thứ Sáu ngay trước WWDC, và thật đáng chú ý khi Apple được cho là sẽ công bố Siri “được cải thiện” dựa trên model của Google
Có thể hiện tại là một quan hệ đối tác còn khóa kín, nhưng cũng có thể Google đang công bố trước model mà Apple sẽ demo vào tuần tới
Không có thông tin chắc chắn, chỉ là suy đoán thôi
Tôi đã chạy
hf.co/google/gemma-4-12B-it-qat-q4_0-gguf:Q4_0bằngollamatrên laptop AMD Ryzen 9 8940HX, NVIDIA GeForce RTX 5060 8GB, RAM 14GB, và nó nhanh hơn tôi tưởngViệc công bố Gemma 4 12B (https://news.ycombinator.com/item?id=48385906), rồi vài ngày sau mới ra Q4_0 Gemma 4 12B chính thức, nghe hơi kỳ
Dù vậy, bài này ghi mức dùng VRAM dự kiến của Q4_0 Gemma 4 12B là 6.7GB là điều hữu ích, và cũng xác nhận rằng tuy khớp với tuyên bố của Google là vừa trong 16GB, nhưng rốt cuộc chỉ đúng với bản lượng tử hóa
Liên quan đến đó, Edge Gallery mới của Google cho macOS lại ghi rõ rằng Gemma 4 12B không được hỗ trợ trên máy 16GB do thiếu RAM, nhưng nhìn mức VRAM dự kiến ở đây thì biến thể Q4_0 rõ ràng phải chạy vừa, nên Google cần sửa lại
Theo tôi, phát hành model và các biến thể ngay khi sẵn sàng vẫn tốt hơn là giữ lại chờ mọi thứ hoàn tất cùng lúc
Q4_0 vốn không phải chỉ là bản lượng tử hóa đơn giản của Gemma 4 12B, mà là một checkpoint huấn luyện nhận biết lượng tử hóa
Google Pixel Intelligence có thể sẽ đánh bại Apple Intelligence
Việc có thể chạy model 12B trên 8GB VRAM là một thay đổi lớn
Thật đáng kinh ngạc khi các model cục bộ nhỏ đã tiến bộ nhanh đến thế nào
Tôi đã chạy khá ổn với Gemma 4 E2B Unsloth 4Q: https://youtube.com/shorts/XLsAnz5aAAI
Model E4B không lên được TPU trên điện thoại của tôi nên bị swap sang RAM, vì thế tôi rất mừng nếu bản QAT có độ chính xác tốt hơn
Bên tôi thấy ngay cả model E2B không lượng tử hóa cũng hoàn toàn vô dụng trong các tác vụ phân loại thực tế đơn giản nhất
Tôi cũng muốn thử trên Pixel của mình