littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于CC++语言的LLaMA模型推理工具

项目简介

本项目是基于C/C++语言的LLaMA模型推理工具,主要用于在MacBook上运用4位整数量化来运行LLaMA模型。工具以纯C/C++实现,无外部依赖,针对多种架构和平台进行了优化,支持多种模型、多种语言绑定和UI,可用于教育,也能作为ggml库新特性的开发测试平台。

项目的主要特性和功能

  1. 跨平台支持:涵盖Mac OS、Linux、Windows(通过CMake)和Docker等平台。
  2. 多架构优化:针对Apple silicon优化,支持x86架构的AVX、AVX2和AVX512。
  3. 精度与量化:支持混合F16 / F32精度,以及4位、5位和8位整数量化。
  4. BLAS支持:支持OpenBLAS、Apple BLAS、cuBLAS等多种BLAS库以提升性能。
  5. 多模型适配:支持LLaMA、LLaMA 2、Alpaca、GPT4All等多种模型。
  6. 多种构建方式:支持make、CMake、Zig等构建方式。
  7. 交互模式:可运行交互模式模拟ChatGPT体验,支持持久交互。
  8. 模型量化:提供多种量化方法,平衡模型磁盘大小和推理速度。
  9. 指标测量:可使用perplexity示例测量模型困惑度。

安装使用步骤

安装步骤

  1. 获取代码 bash cd llama.cpp
  2. 构建项目
    • 使用make(Linux或MacOS) bash make
    • 使用make(Windows)
      1. 解压w64devkit
      2. 运行w64devkit.exe
      3. 使用cd命令进入llama.cpp文件夹。
      4. 执行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

使用步骤

  1. 准备数据 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
  2. 运行推理 bash ./main -m./models/7B/ggml-model-q4_0.bin -n 128
  3. 交互模式运行 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
  4. 持久交互模式运行 bash PROMPT_CACHE_FILE=chat.prompt.bin CHAT_SAVE_DIR=./chat/default./examples/chat-persistent.sh
  5. 使用Alpaca模型的指令模式
    1. 下载ggml Alpaca模型到./models文件夹。
    2. 运行./examples/alpaca.sh

下载地址

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