AI大模型教程
一起来学习

利用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 'usernn' 
--in-suffix 'assistantnn' 
-p "systemnn$SYSTEM_PROMPTusernn$FIRST_INSTRUCTIONassistantnn"

使用以下命令启动聊天:

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

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

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

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

文章来源于互联网:利用llama.cpp量化部署Llama-3-Chinese-8B-Instruct大模型

相关推荐: 使用llama-index连接neo4j知识图谱 达成大模型构建查询知识图谱功能

当然!我将提供更多详细的解释,帮助您更好地理解如何使用Llama-Index连接Neo4j知识图谱,实现大模型构建和查询功能。 概述 目标 我们的目标是使用Llama-Index来连接到Neo4j,以构建和查询知识图谱。通过这个过程,我们能够将文档中的信息转化…

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » 利用llama.cpp量化部署Llama-3-Chinese-8B-Instruct大模型
分享到: 更多 (0)

AI大模型,我们的未来

小欢软考联系我们