当前位置: 代码网 > 科技>人工智能>机器学习 > 利用llama.cpp量化部署Llama-3-Chinese-8B-Instruct大模型

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

2024年07月31日 机器学习 我要评论
利用llama.cpp量化部署Llama-3-Chinese-8B大模型

相关大模型项目: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模型推理体验。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com