项目简介
本项目是基于C/C++语言的LLaMA模型推理工具,主要用于在MacBook上运用4位整数量化来运行LLaMA模型。工具以纯C/C++实现,无外部依赖,针对多种架构和平台进行了优化,支持多种模型、多种语言绑定和UI,可用于教育,也能作为ggml库新特性的开发测试平台。
项目的主要特性和功能
- 跨平台支持:涵盖Mac OS、Linux、Windows(通过CMake)和Docker等平台。
- 多架构优化:针对Apple silicon优化,支持x86架构的AVX、AVX2和AVX512。
- 精度与量化:支持混合F16 / F32精度,以及4位、5位和8位整数量化。
- BLAS支持:支持OpenBLAS、Apple BLAS、cuBLAS等多种BLAS库以提升性能。
- 多模型适配:支持LLaMA、LLaMA 2、Alpaca、GPT4All等多种模型。
- 多种构建方式:支持make、CMake、Zig等构建方式。
- 交互模式:可运行交互模式模拟ChatGPT体验,支持持久交互。
- 模型量化:提供多种量化方法,平衡模型磁盘大小和推理速度。
- 指标测量:可使用
perplexity
示例测量模型困惑度。
安装使用步骤
安装步骤
- 获取代码
bash cd llama.cpp
- 构建项目
- 使用make(Linux或MacOS)
bash make
- 使用make(Windows)
- 解压
w64devkit
。 - 运行
w64devkit.exe
。 - 使用
cd
命令进入llama.cpp
文件夹。 - 执行
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
- 使用make(Linux或MacOS)
使用步骤
- 准备数据
bash ls./models 65B 30B 13B 7B tokenizer_checklist.chk tokenizer.model python3 -m pip install -r requirements.txt python3 convert.py models/7B/ ./quantize./models/7B/ggml-model-f16.bin./models/7B/ggml-model-q4_0.bin q4_0
- 运行推理
bash ./main -m./models/7B/ggml-model-q4_0.bin -n 128
- 交互模式运行
bash ./main -m./models/13B/ggml-model-q4_0.bin -n 256 --repeat_penalty 1.0 --color -i -r "User:" -f prompts/chat-with-bob.txt
- 持久交互模式运行
bash PROMPT_CACHE_FILE=chat.prompt.bin CHAT_SAVE_DIR=./chat/default./examples/chat-persistent.sh
- 使用Alpaca模型的指令模式
- 下载
ggml
Alpaca模型到./models
文件夹。 - 运行
./examples/alpaca.sh
。
- 下载
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】