littlebot
Published on 2025-04-09 / 4 Visits
0

【源码】基于纯 CC++ 的大语言模型推理系统

项目简介

本项目 llama.cpp 可在 MacBook 上使用 4 位整数量化运行 LLaMA 模型。采用纯 C/C++ 实现,无外部依赖,对苹果硅芯片进行了优化,同时支持 x86 架构的 AVX、AVX2 和 AVX512 指令集。支持多种精度和量化方式,以及 CUDA、Metal 和 OpenCL 等 GPU 后端,适用于多种平台和多种模型,还提供了多种语言的绑定和 UI 工具。

项目的主要特性和功能

  1. 跨平台兼容性:支持 Mac OS、Linux、Windows(通过 CMake)和 Docker 等多种平台。
  2. 多模型支持:支持 LLaMA、LLaMA 2、Falcon、Alpaca、GPT4All 等多种模型。
  3. 量化支持:支持 2 位、3 位、4 位、5 位、6 位和 8 位整数量化。
  4. GPU 加速:支持 CUDA、Metal 和 OpenCL 等 GPU 后端,提升计算性能。
  5. 多种编译方式:支持使用 make、CMake、Zig 等方式进行编译。
  6. 交互式模式:可通过传递 -i 参数实现类似 ChatGPT 的交互体验。
  7. 语法约束输出:支持使用语法文件约束模型输出。
  8. 多语言绑定:提供 Python、Go、Node.js 等多种语言的绑定。
  9. UI 工具:有 nat/openplayground、oobabooga/text-generation-webui 等 UI 工具可供使用。

安装使用步骤

假设用户已经下载了本项目的源码文件,以下是安装和使用步骤:

1. 编译项目

有多种编译方式可供选择: - 使用 make: - 在 Linux 或 MacOS 上: bash make - 在 Windows 上: 1. 解压 w64devkit 到本地。 2. 运行 w64devkit.exe。 3. 使用 cd 命令进入 llama.cpp 文件夹。 4. 执行: bash make - 使用 CMake: bash mkdir build cd build cmake.. cmake --build. --config Release - 使用 Zig(版本 0.11 或更高): bash zig build -Doptimize=ReleaseFast -Dtarget=x86_64-windows-gnu -Dcpu=x86_64+avx2+fma+f16c

2. 准备数据

```bash ls./models 65B 30B 13B 7B tokenizer_checklist.chk tokenizer.model ls./models 65B 30B 13B 7B vocab.json

python3 -m pip install -r requirements.txt

python3 convert.py models/7B/ python convert.py models/7B/ --vocabtype bpe

./quantize./models/7B/ggml-model-f16.gguf./models/7B/ggml-model-q4_0.gguf q4_0 ```

3. 运行推理

bash ./main -m./models/7B/ggml-model-q4_0.gguf -n 128

4. 其他使用方式

  • 交互式模式: bash ./main -m./models/13B/ggml-model-q4_0.gguf -n 256 --repeat_penalty 1.0 --color -i -r "User:" -f prompts/chat-with-bob.txt
  • 约束输出: bash ./main -m./models/13B/ggml-model-q4_0.gguf -n 256 --grammar-file grammars/json.gbnf -p 'Request: schedule a call at 8pm; Command:'
  • Alpaca 指令模式: bash ./examples/alpaca.sh

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】