技术分享
🤖大模型本地部署指北
00 分钟
2023-7-3
2023-12-29
type
status
date
slug
summary
tags
category
icon
password

本地部署大模型指北

一些本地部署大模型的指引。

LLaMA

使用时请遵守LLaMA模型和FaceBook(Meta)的相关证书和要求

Chinese-LLaMA-Alpaca

On Windows CPU

1.获取LLaMA原版模型

原版LLaMA模型需要去LLaMA项目申请使用或参考这个PR或者到huggingface Model Hub自行下载。因版权问题本项目无法提供下载链接。

2.获取Chinese-LLaMA-Alpaca LoRA模型

前往Chinese-LLaMA-Alpaca仓库下载模型,并按照步骤合并模型,别忘了给ymcui大佬点个Star。
按照上述仓库中的下载模型合并模型完成对应操作后,进入本地部署阶段。
请注意核对合并后模型 .pth 的SHA256值

3.Windows本地部署

由于Windows终端和Windows下cmake的限制,直接采用llama.cpp可能会出现一些问题,更推荐使用josStorer/llama.cpp-unicode-windows中已经编译好的发行版进行部署。

Step1.下载发行版

点击此处下载发行版,下载 main.exequantize.exe 放到你喜欢的文件夹里。

Step2.量化模型

下载模型转换脚本,放到上述文件夹里。同时把.pth模型也放到这个文件夹中。
文件夹结构应如下:
随后开始转换模型到FP16格式,运行以下终端命令,生成文件路径为zh-models/7B/ggml-model-f16.bin
转换过程中请保证有充足的内存,建议开启16G+的虚拟内存以保障转换顺利进行,否则可能导致系统崩溃。
如果你有32G的内存,可以尝试不用进行Q4量化,直接使用FP16格式的模型,运行效果会好一些。若你只有16G的内存,推荐进行Q4量化。
运行以下终端命令进行量化,生成量化模型文件路径为zh-models/7B/ggml-model-q4_0.bin
此处也可以将最后一个参数改为3,即生成q4_1版本的量化权重。q4_1权重比q4_0大一些,速度慢一些,效果方面会有些许提升,具体可参考llama.cpp#PPL

Step3.运行模型

运行./main二进制文件,-m命令指定4-bit量化模型(也可加载ggml-FP16的模型)。以下是解码参数示例:
以下是参数解释:
到此你已经完成了模型的部署,将来使用时都只需要执行Step3即可,除了你运行所用到的模型外,其他的模型均可删除。