MiniCPM-SALA
MiniCPM 文本系列
根据你的上下文长度与设备条件准备运行环境,再选择 Transformers 或 SGLang 路线。SGLang 指南包含一键安装、手动安装与服务配置,执行前请检查 CUDA、编译器及相关注意力算子依赖。
硬件要求
MiniCPM-SALA 的混合注意力架构显著降低了长上下文的显存需求:
| 上下文长度 | 所需显存 | 参考设备 |
|---|---|---|
| 32K | ~20 GB | RTX 3090/4090 |
| 128K | ~24 GB | RTX 3090/4090 |
| 1M | ~24 GB | RTX 5090 |
传统全注意力 8B 模型在 1M 上下文时需要 100+ GB 显存,MiniCPM-SALA 仅需 24 GB。
模型推理
推荐推理参数:Temperature=0.9
Hugging Face Transformers
MiniCPM-SALA 与 Hugging Face Transformers 兼容。你可以通过以下代码进行推理:
Python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "openbmb/MiniCPM-SALA"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True, device_map="auto")
model.eval()
prompts = ["My name is", "The capital of China is"]
with torch.no_grad():
inputs = tokenizer(prompts, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs)
output_texts = tokenizer.batch_decode(outputs)
print(output_texts)
SGLang
环境要求:
- CUDA 12.x 或更高版本
gcc/g++编译器uv包管理器(脚本会自动检测)
方法一:一键安装
Bash
# 克隆仓库
git clone -b minicpm_sala https://github.com/OpenBMB/sglang.git
cd sglang
# 一键安装(自动创建虚拟环境并编译所有依赖)
bash install_minicpm_sala.sh
# 或指定 PyPI 镜像源
bash install_minicpm_sala.sh https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
安装脚本会自动完成以下步骤:
- 创建
sglang_minicpm_sala_env虚拟环境(Python 3.12) - 克隆依赖到
3rdparty/目录 (infllmv2) 并初始化子模块 (sparse_kernel) - 安装 MiniCPM-SALA (当前仓库)
- 编译安装
infllmv2_cuda_impl - 编译安装
sparse_kernel - 安装
tilelang和flash-linear-attention
方法二:手动安装
如果一键脚本不满足需求,可以分步执行:
Bash
# 0. 确保 uv 可用
pip install uv
# 1. 创建虚拟环境
uv venv --python 3.12 sglang_minicpm_sala_env
source sglang_minicpm_sala_env/bin/activate
# 2. 安装 SGLang
uv pip install --upgrade pip setuptools wheel
uv pip install -e ./python[all]
# 3. 编译安装 CUDA 扩展
# (确保依赖已克隆到 3rdparty/ 目录)
cd 3rdparty/infllmv2_cuda_impl && python setup.py install && cd ../..
cd 3rdparty/sparse_kernel && python setup.py install && cd ../..
# 4. 安装额外依赖
uv pip install tilelang flash-linear-attention
使用
Bash
# 激活环境
source sglang_minicpm_sala_env/bin/activate
# 启动推理服务(将 MODEL_PATH 替换为实际模型路径)
MODEL_PATH=/path/to/your/model
python3 -m sglang.launch_server \
--model ${MODEL_PATH} \
--trust-remote-code \
--disable-radix-cache \
--attention-backend minicpm_flashinfer \
--chunked-prefill-size 8192 \
--max-running-requests 32 \
--skip-server-warmup \
--port 31111 \
--dense-as-sparse
参数说明
| 参数 | 说明 |
|---|---|
--trust-remote-code | 允许加载模型自带的自定义代码 |
--disable-radix-cache | 禁用 RadixAttention 前缀缓存 |
--attention-backend minicpm_flashinfer | 使用 MiniCPM FlashInfer 注意力后端 |
--chunked-prefill-size 8192 | chunked prefill 大小 |
--max-running-requests 32 | 最大并发推理请求数 |
--skip-server-warmup | 跳过服务预热 |
--port 31111 | 服务端口 |
--dense-as-sparse | 使用 dense-as-sparse 模式 |
开发者精选
查看全部 →MiniCPM 文本EdgeHome Harness用 Rust 为 1B 端侧小模型构建可回放、可评测的本地控制链路MiniCPM 文本榨干 NAS!接入 WorkBuddyN150 CPU 跑本地 AI,分享一些真实用法和踩坑经验MiniCPM 文本当 猫娘学会思考,手机也能部署这个模型难道真的是为了猫娘而生的吗?端侧部署实测MiniCPM 文本让 1B 小模型当好数学 AgentTeXada 的 MiniCPM 端侧实践与方法沉淀MiniCPM 文本BMB Agent:由 MiniCPM 驱动的个人助手让 2B 端侧模型接管日程与待办,.funcall 协议实战与踩坑记录MiniCPM 文本猫娘大模型的自进化:OPSD 涌现推理能力不请教师、不换底座,让猫娘在自我蒸馏中涌现数学推理