跳到主要内容

MiniCPM-SALA

MiniCPM 文本系列

根据你的上下文长度与设备条件准备运行环境,再选择 Transformers 或 SGLang 路线。SGLang 指南包含一键安装、手动安装与服务配置,执行前请检查 CUDA、编译器及相关注意力算子依赖。

硬件要求​

MiniCPM-SALA 的混合注意力架构显著降低了长上下文的显存需求:

上下文长度所需显存参考设备
32K~20 GBRTX 3090/4090
128K~24 GBRTX 3090/4090
1M~24 GBRTX 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

安装脚本会自动完成以下步骤:

  1. 创建 sglang_minicpm_sala_env 虚拟环境(Python 3.12)
  2. 克隆依赖到 3rdparty/ 目录 (infllmv2) 并初始化子模块 (sparse_kernel)
  3. 安装 MiniCPM-SALA (当前仓库)
  4. 编译安装 infllmv2_cuda_impl
  5. 编译安装 sparse_kernel
  6. 安装 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 8192chunked prefill 大小
--max-running-requests 32最大并发推理请求数
--skip-server-warmup跳过服务预热
--port 31111服务端口
--dense-as-sparse使用 dense-as-sparse 模式

开发者精选

查看全部 →