利用llama.cpp量化部署Llama-3-Chinese-8B-Instruct大模型

相关大模型项目:https://github.com/ymcui/Chinese-LLaMA-Alpaca-3

量化部署是将机器学习模型压缩以减少内存占用和计算成本的过程。本文将详细介绍如何使用llama.cpp工具进行模型量化并在本地部署。

在这里插入图片描述

环境准备

首先,确保你的系统满足以下要求:

  1. 编译工具

    • MacOS/Linux:自带make
    • Windows:需自行安装cmake
  2. Python

    • 建议使用Python 3.10及以上版本

此外,推荐使用经过指令精调的Llama-3-Chinese-Instruct模型,并选择6-bit或8-bit的量化版本,以获得最佳效果。

步骤一:克隆和编译llama.cpp

重要提示:llama.cpp在2024年4月30日对Llama-3 pre-tokenizer进行了重大改动,请务必拉取最新代码进行编译。

  1. 如果你已下载旧版仓库,建议执行以下命令更新代码并清理旧文件:

    $ git pull
    $ make clean
    
  2. 克隆最新版llama.cpp仓库代码:

    $ git clone https://github.com/ggerganov/llama.cpp
    
  3. 编译llama.cpp项目,生成./main(用于推理)和./quantize(用于量化)二进制文件:

    $ make
    
  4. 启用GPU推理

    • Windows/Linux用户:可与BLAS(或cuBLAS)一起编译,以提高处理速度。以下是与cuBLAS一起编译的命令:

      $ make LLAMA_CUDA=1
      
    • macOS用户:无需额外操作,llama.cpp已对ARM NEON进行优化,并默认启用BLAS。M系列芯片用户可使用Metal启用GPU推理,只需将编译命令改为:

      $ LLAMA_METAL=1 make
      

步骤二:生成量化版本模型

你可以直接下载已量化好的GGUF模型:下载地址

此外,llama.cpp支持将.safetensors文件和Hugging Face格式的.bin文件转换为FP16的GGUF格式。具体命令如下:

$ python convert-hf-to-gguf.py llama-3-chinese-8b-instruct
$ ./quantize llama-3-chinese-instruct-8b/ggml-model-f16.gguf llama-3-chinese-8b-instruct/ggml-model-q4_0.gguf q4_0

步骤三:加载并启动模型

由于Llama-3-Chinese-Instruct模型使用了原版Llama-3-Instruct的指令模板,请将scripts/llama_cpp/chat.sh拷贝至llama.cpp的根目录。chat.sh文件内容如下,可根据需要进行修改:

FIRST_INSTRUCTION=$2
SYSTEM_PROMPT="You are a helpful assistant. 你是一个乐于助人的助手。"

./main -m $1 --color -i \
-c 0 -t 6 --temp 0.2 --repeat_penalty 1.1 -ngl 999 \
-r '' \
--in-prefix 'user\n\n' \
--in-suffix 'assistant\n\n' \
-p "system\n\n$SYSTEM_PROMPTuser\n\n$FIRST_INSTRUCTIONassistant\n\n"

使用以下命令启动聊天:

$ chmod +x chat.sh
$ ./chat.sh ggml-model-q4_0.gguf 你好

在提示符 > 后输入你的prompt,按 cmd/ctrl+c 中断输出,多行信息以\作为行尾。查看帮助和参数说明请执行./main -h命令。

更多详细说明请参考:官方文档

通过以上步骤,你可以成功在本地量化并部署Llama-3模型,享受高效的AI模型推理体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值