项目简介
本项目是基于C/C++的LLaMA模型推理工具,致力于实现LLaMA模型的纯C/C++推理。借助4-bit量化技术,可在MacBook等设备上高效运行LLaMA模型,且支持多种模型和平台,如Mac OS、Linux、Windows和Docker。
项目的主要特性和功能
- 纯C/C++实现,无外部依赖,代码简洁高效。
- 针对Apple silicon进行优化,通过ARM NEON和Accelerate框架,支持Apple Silicon设备。
- 为x86架构提供AVX2优化。
- 支持F16和F32混合精度。
- 支持4-bit量化,大幅减少模型大小和内存占用。
- 支持Mac OS、Linux、Windows和Docker等多平台。
- 支持LLaMA、Alpaca、GPT4All等多种模型。
- 提供类似ChatGPT的交互模式,支持用户输入和反向提示。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 复制代码库:
bash
cd llama.cpp
2. 编译项目:
bash
make
3. 获取模型权重:
将原始LLaMA模型权重放置在./models
目录下。
4. 转换模型格式:
使用Python脚本将模型转换为ggml格式,并进行4-bit量化。
bash
python3 convert-pth-to-ggml.py models/7B/ 1
./quantize ./models/7B/ggml-model-f16.bin ./models/7B/ggml-model-q4_0.bin 2
5. 运行推理:
使用main
工具进行模型推理。
bash
./main -m ./models/7B/ggml-model-q4_0.bin -n 128
6. 交互模式:
使用-i
参数进入交互模式,支持用户输入和反向提示。
bash
./main -m ./models/7B/ggml-model-q4_0.bin -n 256 -i -r "User:"
注意事项
- 模型在推理时会完全加载到内存中,需确保有足够的磁盘空间和RAM。
- 建议使用Python 3.9或3.10,因为
sentencepiece
尚未发布Python 3.11的wheel。 - 量化会对模型质量产生一定影响,但通常在可接受范围内。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】