跳到正文
Jeremy 的小站
返回

ubuntu平台安装配置Bonsai2-qwen27b

适合小显存的本地大语言模型配置。本地配置大语言模型来进行代码编写或者文档处理等工作的优势不用赘述。直接上干货。

配置llama

要运行bonsai2 27b的模型,需要bonsai自己修改适合llama.cpp程序。按照以下命令进行配置

git clone https://github.com/PrismML-Eng/llama.cpp.git
cd llama.cpp

cmake -B build \
    -DGGML_CUDA=ON \
    -DCMAKE_BUILD_TYPE=Release

cmake --build build -j$(nproc)

配置好后,运行一下命令进行版本验证

./build/bin/llama-cli --version

下载权重文件

安装 HF CLI:

pip install -U huggingface_hub

然后:

mkdir -p ~/models/bonsai2-27b
cd ~/models/bonsai2-27b

hf download \
  prism-ml/Ternary-Bonsai-2-27B-gguf \
  Ternary-Bonsai-2-27B-PQ2_0.gguf \
  --local-dir .

本地跑起来

假设:

LLAMA=~/llama.cpp/build/bin/llama-cli
MODEL=~/models/bonsai2-27b/Ternary-Bonsai-2-27B-PQ2_0.gguf

运行:

$LLAMA \
    -m $MODEL \
    -ngl 99 \
    -fa on \
    -c 32768 \
    --temp 1.0 \
    --top-p 0.95 \
    --top-k 20 \
    -p "Explain how CUDA Tensor Cores work." \
    -n 1024

其中:

-ngl 99

表示尽量把全部层放 GPU。

-fa on

开启 Flash Attention。

-c 32768

先分配 32K context。

虽然模型支持最高 262144 tokens,但我不建议第一次直接:

-c 262144

因为模型权重只有约 6 GB,不代表 KV cache 也只有这么一点;context 拉长后 KV cache 也会占用显存/内存(显存不够时)的一部分。官方示例同样首先使用 32768。

部署成 OpenAI API

这通常更适合你后面接 Agent / VS Code / 自己写 Python client。

~/llama.cpp/build/bin/llama-server \
    -m ~/models/bonsai2-27b/Ternary-Bonsai-2-27B-PQ2_0.gguf \
    -ngl 99 \
    -fa on \
    -c 32768 \
    --host 0.0.0.0 \
    --port 8080 \
    --temp 1.0 \
    --top-p 0.95 \
    --top-k 20

然后测试:

curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "bonsai2",
    "messages": [
      {
        "role": "user",
        "content": "Write a CUDA vector addition kernel."
      }
    ],
    "max_tokens": 512
  }'

这样就有一个:

http://127.0.0.1:8080/v1

兼容 OpenAI API 的本地 endpoint。


分享这篇文章:

上一篇
欢迎来到这里