ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何获取并转换 Colibrì 的 GLM-5.3-Flash int4 容器?

如何获取并转换 Colibrì 的 GLM-5.3-Flash int4 容器? 如何获取并转换 Colibrì 的 GLM-5.3-Flash int4 容器【免费下载链接】colibriRun frontier MoE models on hardware you already own — pure C, zero deps, experts streamed from disk. Tiny engine, immense model. 项目地址: https://gitcode.com/GitHub_Trending/colibri3/colibriColibrì 的 GLM-5.3-Flash 引擎c/glm53.c不直接读取 Hugging Face 上的原始模型而是读取一个本地转换后的容器。因此要跑这个 321B 参数的模型第一步不是下载模型而是运行转换脚本它会一边从zai-org/GLM-5.3-Flash仓库逐片shard下载权重、一边转成 Colibrì 格式峰值磁盘占用是输出目录 一个约 5 GB 的源 shard而不是整个 328 GB 的仓库。本文覆盖从安装依赖、运行转换、判断进度到验证容器和跑起推理的完整路径依据是 docs/glm53-flash.md 和 c/tools/convert_glm53.py。转换前需要准备什么在 colibri 源码树内操作以下命令均相对c/目录引擎源码与转换脚本所在目录。Python 依赖转换脚本只依赖 c/tools/requirements.txt 里列出的离线工具依赖torch、safetensors、huggingface-hub、numpy、transformers等。该文件开头注明安装它仅下载/转换工具需要引擎运行时不需要 Python。pip install -r c/tools/requirements.txt磁盘空间参考机器上转换产出 194.7 GB62 个 shard。转换脚本有空间守卫参数--min-free-gb默认 25.0另有一个针对 WSL 挂载 C 盘的--min-free-c-gb默认 40.0剩余空间低于阈值时脚本会等待而不是继续写盘所以输出目录所在卷最好预留约 200 GB 以上。HF token可选仓库是公开的脚本可以无认证下载如果设置了环境变量HF_TOKEN或存在~/.hf_token文件脚本会自动带上 token。运行下载与转换一条命令完成在c/目录下执行python3 tools/convert_glm53.py --outdir /path/glm53_i4 --min-free-gb 30--outdir是必填项指向容器输出目录把/path/glm53_i4替换为你实际有足够空间的目录。这条命令的实际行为均来自脚本实现运行前需要知道逐片下载-转换-删除每下载完一个源 shard约 5 GB就转换并写出然后删除源 shard再取下一个。源 shard 不会累积。副作用会发起网络下载、在--outdir内写入 shard 与元数据文件config.json、chat_template.jinja等 6 个并删除已转换的源 shard。如果希望保留源 shard加--keep-source。可断点续跑已完成 shard 记录在输出目录的.converted.json中中断后重新执行同一条命令会跳过已完成的 shard。先试一片加--limit-shards 1只转换第一个 shard用于在正式跑之前验证环境和网络。本地已有 shard加--indir 目录可跳过下载直接转换目录里已有的.safetensors文件。转换的量化规则routed experts 转成 int4 group-scaledgroup 64名称U8 nibbles 名称.qsF32 scales其余张量去量化后保留为 BF169.7B/321B 参数约 18 GB——这样 dense 部分的精度变成加载时选项GLM53_BITS日后调整不需要重新下载仓库。checkpoint 的 92 类张量名全部被显式分类遇到未识别的张量名脚本会直接报错停止而不是静默跳过。如何判断转换进度与是否完成脚本按 shard 打印进度格式如下文档示例数值随机器与网络不同shard: 62 totali, 62 da fare [1/62] model-00001-of-00062.safetensors dl 700s conv 90s out 3.14 GB experts 128 bf16 4 f32 2 | WSL 90 GB C: 120 GB ... fatto: 62 shard, 194.7 GB in 1500 min每行包含该片下载耗时dl、转换耗时conv、输出大小和张量分类统计最后一行fatto: N shard, X GB in Y min表示全部完成。参考机器上 62 个 shard 共耗时 25 小时其中大部分是下载时间。下载本身有防卡死机制源 shard 若 15 分钟没有任何字节增长脚本会杀掉当前下载进程并重试最多 30 次尝试单个 shard 用尽尝试后抛错此时重新运行命令会从.converted.json记录处继续。转换后验证比对一个真实专家tools/check_glm53_container.c 按引擎的方式读取转换后容器里的一个 routed expert与 numpy 对同一批字节的去量化结果比对。它需要已转换的 checkpoint因此不在 CI 中运行文档明确说它是模型真实回答异常时第一件要拿出来的工具。gcc -O2 -stdgnu11 -Ic -o check_container c/tools/check_glm53_container.c -lm ./check_container 容器目录 专家张量名 行数 列数其中容器目录是--outdir指向的转换输出目录专家张量名与行数 列数来自你要检查的那个 expert 张量的实际名和形状容器是扁平存储行数列数不在文件里需由调用方提供。程序会打印y[0..4] ...与somma ...两行数值对照用同一确定性探测向量x[i] ((i*37 % 199) - 99)/100在 numpy 侧对同一字节去量化计算的结果两侧数值一致说明 nibble 顺序、分组方向和 scale 含义在写容器的转换器和读容器的引擎之间是对齐的。用容器跑一次推理验证通过后在c/目录构建并运行引擎glm53目标定义在 c/Makefilemake glm53 ./glm53 --model dir --prompt Ciao, come stai? --greedy 32dir替换为转换输出目录。也可以通过 launcher图片和 chat 模板都在 launcher 里coli chat --model dir --no-think coli serve --model dir coli web --model dirGLM53_BITS默认 4控制常驻 dense 权重的精度这是加载时选择改它不需要重新转换或下载。参考硬件上6 物理核、25 GB RAM、普通磁盘磁盘是解码速度的瓶颈一个 token 触发的专家读取量决定了该硬件上每 token 约 24 秒的地板详见 docs/glm53-flash.md 的 Memory and speed 一节。更多运行参数GLM53_EXPERT_GB、GLM53_MAXT、GLM53_PREFILL_CHUNK等见 docs/ENVIRONMENT.md。【免费下载链接】colibriRun frontier MoE models on hardware you already own — pure C, zero deps, experts streamed from disk. Tiny engine, immense model. 项目地址: https://gitcode.com/GitHub_Trending/colibri3/colibri创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表