项目简介
本项目 llama.cpp
可在 MacBook 上使用 4 位整数量化运行 LLaMA 模型。采用纯 C/C++ 实现,无外部依赖,对苹果硅芯片进行了优化,同时支持 x86 架构的 AVX、AVX2 和 AVX512 指令集。支持多种精度和量化方式,以及 CUDA、Metal 和 OpenCL 等 GPU 后端,适用于多种平台和多种模型,还提供了多种语言的绑定和 UI 工具。
项目的主要特性和功能
- 跨平台兼容性:支持 Mac OS、Linux、Windows(通过 CMake)和 Docker 等多种平台。
- 多模型支持:支持 LLaMA、LLaMA 2、Falcon、Alpaca、GPT4All 等多种模型。
- 量化支持:支持 2 位、3 位、4 位、5 位、6 位和 8 位整数量化。
- GPU 加速:支持 CUDA、Metal 和 OpenCL 等 GPU 后端,提升计算性能。
- 多种编译方式:支持使用 make、CMake、Zig 等方式进行编译。
- 交互式模式:可通过传递
-i
参数实现类似 ChatGPT 的交互体验。 - 语法约束输出:支持使用语法文件约束模型输出。
- 多语言绑定:提供 Python、Go、Node.js 等多种语言的绑定。
- 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】