llama.cpp部署在windows

本想部署LLAMA模型,但是基于显卡和多卡的要求,很难部署在个人笔记本上,因此搜索发现有一个量化版本的LLAMA.cpp,部署过程和踩过的坑如下:

1.配置环境

(1)在GitHub - ggerganov/llama.cpp: Port of Facebook's LLaMA model in C/C++中下载cpp到本地

(2)创建conda环境

conda create --name llama.cpp python=3.9 -y
pip install -r requirements.txt

(3)安装Cmake

在安装之前我们需要安装mingw, 避免编译时找不到编译环境, 按下win+r快捷键输入powershell,

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"
scoop bucket add extras
scoop bucket add main
scoop install mingw

紧接着安装cmake

首先下载CMake官网下载地址:Download CMake

llama.cpp部署在windows_第1张图片

llama.cpp部署在windows_第2张图片

llama.cpp部署在windows_第3张图片

llama.cpp部署在windows_第4张图片

llama.cpp部署在windows_第5张图片

因为在安装过程中选择了自动添加环境,所以安装完后不用手动添加环境了,但是此时必须得重启电脑,变量才能使用,否则无法对Cmake安装进行测试。重启电脑后,打开cmd黑窗,输入cmake,能够显示cmake的一些信息即为安装成功,如下图:

Windows下CMake安装教程_window 安装cmake-CSDN博客

2.权重部署量化

先说结论,尝试了两种方法都不行,后来用的别人编译好的文件

(1)第一种方法

cmake . -G "MinGW Makefiles"
cmake --build . --config Release

但是会报错缺少头文件,搜了N个博客,依旧无法解决

D:\application\llama.cpp\ggml.c:290:10: fatal error: intrin.h: No such file or directory
  290 | #include 

(2)第二种方法

mkdir build
cd build
cmake ..
cmake --build . --config Release

报错Error: could not load cache,无法解决

(3)采用编译后的文件

LLama2 CPU Windows 部署-小白踩坑合集-CSDN博客


链接:https://pan.baidu.com/s/1NUeZNT3SlT5ZeSaW1WNvEA

提取码:hbib


在nyanko7/LLaMA-7B at main (huggingface.co)中下载以下几个文件

llama.cpp部署在windows_第6张图片

并在llama.cpp根目录下创建org-models文件夹,将checklist.chk和tokenizer.model放在其中,再在org-models文件夹中创建7B文件夹,将consolidated.00.pth和params.json放入其中。

(4)量化

将7B模型(14G左右)转换成 ggml FP16模型,执行

python convert.py org-models\7B\

在 org-models\7B\中生成ggml-model-f16.gguf 文件,大约14G左右,将刚才转换好的FP16模型进行4-bit量化:

quantize.exe org-models\7B\ggml-model-f16.gguf org-models\7B\ggml-model-q4_0.gguf q4_0

在org-models\7B\中生成量化后的文件ggml-model-q4_0.gguf,然后进行推理

main.exe -m org-models\7B\ggml-model-q4_0.gguf -n 128

更换提示词

main.exe -m org-models\7B\ggml-model-q4_0.gguf --prompt "Once upon a time"

llama.cpp部署在windows_第7张图片

以上参考于

大模型部署手记(8)LLaMa2+Windows+llama.cpp+英文文本补齐-CSDN博客


 

你可能感兴趣的:(llama)