Qwen3-Coder-Nextをダウンストリームのクライアントプログラミングやデータ処理タスクに使用しつつ、量子化の実験を一連行ってきました。コミュニティと経験、そして(非常に)高品質なアテンションテンソルを含むいくつかの量子化について共有したいと思います。
Coder-Next(実際には3.5 MoEモデルのいずれにも言えることですが)を量子化して最初に気づいたのは、アテンションテンソルが小さいことです。層あたりのサイズはおおよそ16〜32 MB程度です。エキスパートテンソルの層あたり3GBと比べるとごくわずかで、触ってもリターンがほとんどないほど小さいです。なのでこの実験は、ソースのsafetensorsからSSMとアテンション層をすべてビット単位でそのままコピーするところから始めました。
次に気づいたのは、出力層と埋め込み層が密なモデルと比較して著しく小さいことです:おおよそ600MB前後です。(これをQwen-3.5-27Bの各テンソルが2.5GBであることと比較してください)。私のテストでは、MoEモデルのテンソルは量子化に対してかなり敏感であることが分かっています。おそらく相対的に小さいサイズのためだと思います。これらの層をQ8_0まで圧縮しました。これらの層はモデルの「現実世界での動作」が決まる部分なので、高品質を維持するのは比較的容易な選択でした。
共有エキスパート層は層あたりおよそ12MB程度です。触る価値はありません。ソースファイルからそのままコピーしました。
さて、これで私の思考プロセスが伝わったと思います。これは誰のためのものですか?エキスパートテンソルをCPUへオフロードし、アテンション、SSM、共有エキスパートテンソルを処理できるBF16対応のGPUをお持ちのユーザー向けです。その反面として、MI50やVolta/Turingのユーザーには、あなたのカードはネイティブBF16サポートを持っていない可能性があるため、これが適切な量子化ではないかもしれません。
本当にメモリに制約がある場合を想定して、IQ3_SとIQ4_XSバージョンを作成しました。この投稿を促してくれた u/tamitami に特別な感謝を。
正確な量子化スクリプトを含むGGUFはここにあります: https://huggingface.co/dinerburger/Qwen3-Coder-Next-GGUF
このローカル環境に高品質なLLMを提供するために取り組んでいる、ますます大きくなるコミュニティの全メンバーに感謝します!
