mcpField
C
colibri

colibri

github.com/akillness开发5381 次安装4 天前更新
代码仓库

关于 colibri

Colibri 技能用于构建、配置和运行 GLM-5.2 的纯 C 推理引擎,指导用户进行本地推理、专家存储与缓存、推测解码及 CPU-GPU 配置。

主要功能

  1. 01构建并配置 Colibri
  2. 02将 GLM-5.2 模型转换为 int4
  3. 03运行聊天、API 和批量推理
  4. 04调整专家缓存与磁盘流式读取
  5. 05配置 MTP 推测解码
  6. 06分析 CPU-GPU 混合推理

适用场景

  1. 01在消费级机器上设置 GLM-5.2 推理
  2. 02针对本地存储调整专家缓存
  3. 03启用并评估 MTP 解码
  4. 04规划混合推理的 GPU 显存

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/akillness/jeo-skills --skill colibri

安装后在 Claude Code 中输入/colibri确认已加载。

附带文件EXAMPLES.mdREFERENCE.md

详细介绍

Colibri

借助 Colibri——这款纯 C 推理引擎,可在内存约为 25 GB 的消费级机器上运行 GLM-5.2(744B 混合专家模型),支持专家磁盘流式加载、MLA 注意力和原生推测解码(MTP)。

何时使用此技能

  • 设置与构建:安装 C 构建工具、运行 setup.sh、配置 OpenMP、跨平台编译(Linux、macOS、通过 WSL 使用 Windows)
  • 模型下载与转换:运行 coli convert 获取 GLM-5.2-FP8 分片,转换为 int4 容器,并准备 MTP 头(int8 量化)
  • 推理模式:运行聊天模式(coli chat)、设置 API 服务、批量推理、配置采样和温度
  • 专家缓存与存储:调整 LRU 缓存大小、配置 pin-hot-store、优化磁盘 I/O、管理温度
  • 推测解码(MTP):启用/禁用多 Token 预测、测量草稿接受率、优化验证延迟
  • GPU 加速:配置 CUDA 固定专家、规划 GPU 显存预算、进行 CPU-GPU 混合推理
  • 性能分析:测量每秒 Token 数、分析专家加载模式、调整内存驻留
  • 集成与部署:将 Colibri 嵌入应用程序、封装推理 API、构建本地优先的大模型流水线

何时不使用此技能

  • 以 Python 为主的大模型框架:对于高级抽象,请使用 llama-index、crewai-multi-agent 或 pydantic-ai
  • 分布式/云端推理:对于多 GPU/多节点训练,请使用云大模型 API 或 deepspeed
  • 大模型微调:对于训练工作流,请使用 dspy、openrlhf-training 或 moe-training
  • 通用 AI 基础设施:对于无关的开发环境,请使用 system-environment-setup

核心架构

主要组件:

  1. glm.c(约 2,400 行)——忠实实现 GLM-5.2(glm_moe_dsa)前向传播,支持 MLA 注意力、MTP 推测解码和 DeepSeek-V3 sigmoid 路由器
  2. 专家流式加载——21,504 个路由专家(75 个 MoE 层 × 256 个专家)存储在磁盘上(int4 格式下总计约 370 GB),按需流式加载,并使用逐层 LRU 缓存
  3. 存储层级——稠密层(注意力、共享专家、嵌入)存储在 RAM 中(int4 格式下约 9.9 GB),专家存储在 NVMe/HDD 上,操作系统页面缓存用作 L2
  4. MTP 推测解码——GLM-5.2 原生多 Token 预测头(第 78 层,采用 int8 实现无损 39–59% 草稿接受率)负责生成草稿,主模型在一次前向传播中完成验证
  5. MLA 注意力——q/kv-LoRA + 交错式部分 RoPE,配合压缩 KV 缓存(每个 Token 576 个浮点数,而稠密缓存为 32,768 个——小 57 倍)

CLI 模式:

  • coli chat — 交互式聊天,支持流式响应,并自动检测 RAM/缓存/MTP
  • coli convert — 下载 GLM-5.2-FP8,量化为 int4,并准备 MTP int8 头
  • coli plan — 在加载前检查存储层级、显存预算和专家布局

关键参数

参数范围默认值说明
COLI_MODEL环境变量(必填)已转换的 int4 模型目录路径
--ram <GB>plan/chat自动检测稠密层的 RAM 预算(至少 10 GB)
--vram <GB>plan/chat0(仅 CPU)用于固定专家的 GPU 显存(需要 CUDA 构建)
--cache <MB>plan/chat自动检测路由专家的逐层 LRU 缓存大小
--mtp on/offchat自动检测启用/禁用推测解码(off = 单 Token 模式)
--temperature <0–2>chat0.95采样温度(0 = 贪心采样)
--top-p <0–1>chat0.9核采样阈值

性能指标(社区基准测试)

  • 每秒 token 数(CPU,int4 缓存预热):
    • 单个 token:约 1.2 tok/s(缓存未命中极少)
    • 启用 MTP:约 2.2–2.8 tok/s(提速 2.2–2.8 倍,草稿接受率为 39–59%)
    • MTP 配合冷缓存:可能因额外加载专家而性能下降(约 660 → 约 1100/token)
  • 驻留情况:Dense 层约占用 9.9 GB RAM;专家占用 370 GB 磁盘空间
  • 内存开销:路由专家每个 token 约需 11 GB;KV 缓存比 Dense 注意力小 57 倍
  • 转换时间:约 30–60 分钟(一次性操作,取决于磁盘速度和网络)

集成模式

  • 本地聊天界面:在终端或 Web 界面中封装 coli chat
  • API 服务端:通过 HTTP/gRPC 流式输出推理结果
  • 批处理:在模型持续加载的情况下运行多个提示词
  • CPU-GPU 混合模式:将常用专家固定在 GPU vRAM 中,从磁盘流式加载其他专家
  • 边缘设备/移动设备:int4 模型大小约为 370 GB,需要本地 NVMe;较小设备可考虑剪枝/蒸馏

评论

支持 Markdown