将AI9Stars的G9v3-39A5B量化至GGUF格式并创建专用llama.cpp分支

Reddit r/LocalLLaMA 工具

摘要

本文介绍了将AI9Stars G9v3-39A5B混合专家模型非官方量化至GGUF格式的过程,以及为支持BF16与Q4_K_M变体本地推理而创建的llama.cpp专用分支。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/15 05:48

linuxid10t/G9v3-39A5B-GGUF · Hugging Face

来源:https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#g9v3-39a5b-gguf G9v3-39A5B GGUF

此仓库包含ai9stars/G9v3-39A5B (https://huggingface.co/ai9stars/G9v3-39A5B) 的非官方BF16和Q4_K_M GGUF转换版本,这是AI9Stars的一个预览版混合专家语言模型。

此转换是使用G9v3架构的llama.cpp实现创建并测试的,该实现位于feature/g9v3-support (https://github.com/linuxid10t/llama.cpp/tree/feature/g9v3-support) 分支。在G9v3支持合并到上游之前,标准llama.cpp构建将无法加载此模型。

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#available-files 可用文件

文件名格式大小SHA-256
G9v3-39A5B-BF16.ggufBF1672.63 GiB (77,988,959,200 字节)016c0c8a708fc5d4e2378df1eb9b5f089d7e91b581914e2565fb819bcebe9196
G9v3-39A5B-Q4_K_M.ggufQ4_K_M21.94 GiB (23,559,222,240 字节)0c28e98eef634ca2304a492c7b2c92d8599189ae4409177f7edf50da5b082eb0

根据您的硬件和质量需求选择文件:

格式描述推荐系统内存
BF16最高保真度的GGUF。源BF16张量被保留,同时包含必需的F32张量。96 GiB或更多
Q4_K_M混合K量化,部分张量保持更高精度;适用于本地CPU推理。32 GiB或更多

内存推荐值已为运行时、上下文和操作系统留出空间。实际需求会因上下文大小和llama.cpp设置而异。

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#model-details 模型详情

属性
架构G9v3ForCausalLM,稀疏MoE
参数总计约39B / 每个token激活约5B
层数38层(1个密集层后跟37个MoE层)
隐藏大小2,048
注意力头32个查询头,2个键/值头,头维度128
专家320个路由专家,每个token选择32个,外加1个共享专家
专家中间大小512
词表130,560个token
最大上下文131,072个token
语言英语和中文
特性思考/不思考模式、工具调用、长上下文

基础模型为预览版本。原始描述和用法指南请参考ai9stars/G9v3-39A5B模型卡片 (https://huggingface.co/ai9stars/G9v3-39A5B)。

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#llamacpp-setup llama.cpp 设置

构建支持G9v3的分支:

git clone --branch feature/g9v3-support --single-branch \
  https://github.com/linuxid10t/llama.cpp.git
cmake -S llama.cpp -B llama.cpp/build -DCMAKE_BUILD_TYPE=Release
cmake --build llama.cpp/build --target llama-cli llama-server -j

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#command-line 命令行

两个GGUF文件都包含模型的聊天模板。使用Q4_K_M文件启动交互式对话:

./llama.cpp/build/bin/llama-cli \
  -m G9v3-39A5B-Q4_K_M.gguf \
  -c 4096 -t 32 -cnv

对于BF16版本,使用相同命令但更换文件名:

./llama.cpp/build/bin/llama-cli \
  -m G9v3-39A5B-BF16.gguf \
  -c 4096 -t 32 -cnv

建议从适中的上下文大小(如4,096个token)开始,然后根据可用内存和工作负载增加。

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#openai-compatible-server OpenAI兼容服务器

./llama.cpp/build/bin/llama-server \
  -m G9v3-39A5B-Q4_K_M.gguf \
  -c 4096 -t 32 -tb 32 \
  --host 127.0.0.1 --port 8080

在内存充足的机器上提供BF16版本服务时,请将模型文件名替换为G9v3-39A5B-BF16.gguf

请求示例:

curl http://127.0.0.1:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "G9v3-39A5B-Q4_K_M.gguf",
    "messages": [{"role": "user", "content": "Who are you?"}],
    "temperature": 0.7,
    "top_p": 0.95,
    "max_tokens": 256
  }'

仅在配置适当的认证和网络控制后,才将服务器绑定到非回环地址。

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#conversion-provenance 转换溯源

源BF16检查点通过以下命令转换为GGUF并进行量化:

python convert_hf_to_gguf.py G9v3-39A5B \
  --outfile G9v3-39A5B-BF16.gguf \
  --outtype bf16

./build/bin/llama-quantize \
  G9v3-39A5B-BF16.gguf \
  G9v3-39A5B-Q4_K_M.gguf \
  Q4_K_M 32

转换环境:

  • llama.cpp 基础提交:9d57ce456 (b10436)
  • G9v3 支持提交:77b13da1a (https://github.com/linuxid10t/llama.cpp/commit/77b13da1a)
  • GGUF 版本:V3
  • 张量数量:每个文件568个
  • BF16 权重大小:74,371.15 MiB,每个权重16.01位
  • Q4_K_M 权重大小:22,462.90 MiB,每个权重4.84位

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#validation-and-performance 验证与性能

Q4_K_M模型在纯CPU系统上使用llama-clillama-server进行了端到端测试。以下性能数据仅适用于Q4_K_M版本。

硬件上下文线程提示处理生成速度
AMD Ryzen 9 9950X, 64 GiB RAM, 仅CPU4,0963250.18–57.9 tokens/s10.0–10.03 tokens/s

实际速率会因提示长度、线程数、内存速度、构建选项和操作系统而异。

已执行的验证:

  • 成功从Q4_K_M文件加载并生成文本
  • 成功发送带有独立推理内容的/v1/chat/completions请求
  • BF16 GGUF元数据及全部568个张量形状加载成功
  • BF16文件成功用作Q4_K_M量化的源文件
  • 在rebase到llama.cpp b10436后,转换器干运行通过所有15个源检查点分片
  • 合成G9v3 CPU架构测试:零数值错误
  • GGUF序列化往返测试:通过

BF16文件未在64 GiB验证机上进行生成基准测试;需要内存更多的系统进行代表性测试。

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#sampling 采样

基础模型作者推荐以下设置:

模式温度Top-p
思考1.00.95
不思考0.70.95

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#limitations 局限性

  • Q4_K_M是有损量化,性能可能与BF16文件及原始检查点不同。
  • BF16 GGUF保留了源精度,但内存和存储需求高得多。
  • G9v3是预览模型,可能产生不准确、有偏见或不安全的输出。
  • 在医疗、法律、金融、安全关键或其他高风险场景使用前,应独立审查输出。
  • 此GGUF当前依赖所链接的支持G9v3的llama.cpp分支。
  • 本次转换测试未对长上下文能力进行基准测试。

https://huggingface.co/linuxid10t/G9v3-39A5B-GGUF#license-and-attribution 许可与归属

原始模型由AI9Stars基于Apache License 2.0发布。此转换保留该许可证。完整许可证条款和归属信息请参见基础模型仓库。

此转换为独立制作,并非AI9Stars的官方发布。

相似文章

这是我的 llama.cpp NVFP4/MXFP6 GGUF 量化工具

Reddit r/LocalLLaMA

作者介绍了一款开源的 GGUF 量化工具,用于 llama.cpp,能够创建 NVFP4 和 MXFP6 量化模型,并采用 RSF、张量提升、动态量化等先进技术,质量优于现有方法(如 ModelOpt)。

LiquidAI/LFM2.5-2.6B-GGUF

Hugging Face Models Trending

此 Hugging Face 模型卡片介绍了 LiquidAI 的 LFM2.5-2.6B 模型(GGUF 量化格式),并提供了通过 llama.cpp、vLLM、Ollama 等工具在本地运行的说明。

LiquidAI/LFM2.5-8B-A1B-GGUF

Hugging Face Models Trending

LiquidAI 发布了其 LFM2.5-8B-A1B 模型的 GGUF 量化版本,并提供了在多个推理引擎上的使用说明。