当前位置: 代码网 > 科技>操作系统>Windows > 在低配Windows上部署原版llama.cpp

在低配Windows上部署原版llama.cpp

2024年07月31日 Windows 我要评论
现在大语言模型的部署,通常都需要大的GPU才能实现,如果是仅仅想研究一下,大语言模型的算法,我们是很想能够直接在我们的工作电脑上就能直接运行的,llama.cpp就是很好的实现。LLaMa.cpp使用int4这种数值格式,其显著降低了内存需求,并且在大多数硬件上其性能严重受到内存限制。LLaMa.cpp使用原始C ++的项目来重写LLaMa(长格式语言模型)推理代码。这使得可以在各种硬件上本地运行LLaMa,包括。在使用一些优化和量化技术来量化权重的情况下,LLaMa.cpp。

现在大语言模型的部署,通常都需要大的gpu才能实现,如果是仅仅想研究一下,大语言模型的算法,我们是很想能够直接在我们的工作电脑上就能直接运行的,llama.cpp就是很好的实现。

llama.cpp使用int4这种数值格式,其显著降低了内存需求,并且在大多数硬件上其性能严重受到内存限制。llama.cpp使用原始c ++的项目来重写llama(长格式语言模型)推理代码。这使得可以在各种硬件上本地运行llama,包括raspberry pi

在使用一些优化和量化技术来量化权重的情况下,llama.cpp使得大型语言模型可以在本地的多种硬件上运行,而无需昂贵的gpu。内存带宽往往是推理的瓶颈,通过量化使用更少的精度可以减少存储模型所需的内存。在这里插入图片描述

下载源码

llama.cpp 的项目地址在:https://github.com/ggerganov/llama.cpp

只要用git命令就能下载下来:

git clone https://github.com/ggerganov/llama.cpp

准备编译工具

llama.cpp 是cpp 跨平台的,在windows平台下,需要准备mingwcmake

  • mingw

进入 powershell 下,输入如下的命令安装 mingw

set-executionpolicy remotesigned -scope currentuser
iex "& {$(irm get.scoop.sh)} -runasadmin"
scoop bucket add extras
scoop bucket add main
scoop install mingw
  • cmake

cmake 的下载地址:https://cmake.org/download/

下载二进制安装版本:

在这里插入图片描述
到这里,windows上的编译工具已经齐全了。

编译llama.cpp

编译llama.cpp也非常的方便,进入刚下载的源码目录。

cd llama.cpp

编译:

cmake . -g "mingw makefiles"
cmake --build . --config release

没碰到问题的话,在bin的目录下就会生成几个可执行的exe。

在这里插入图片描述

可执行的exe虽然多,但是用到的主要有两个,一个是quantize.exe,一个是main.exe

有了程序以后,我们还差一个模型。

模型下载

huggingface 放着很多的开源模型,为了简单和性能,使用的是llama-7b模型,下载地址在:https://huggingface.co/nyanko7/llama-7b/tree/main

这个模型接近14g,下载需要一点时间,慢慢的等待。

模型下载完成以后,在llama.cpp的目录下新建一个目录org-models

把下载的文件安排成这样的形式:

org-models/
- 7b/ #这是一个名为7b的文件夹
- consolidated.00.pth
- params.json
- tokenizer.model

模型就完成了,这个是llama 的模型,在普通电脑上是跑不起来的,llama.cpp 是量化。

量化模型

在目录下,运行:


bin\quantize.exe ./org-models/7b/ggml-model-f16.bin ./org-models/7b/ggml-model-q4_0.bin 2

python convert-pth-to-ggml.py org-models/7b/ 1

这时候,在org-models 的目录下生成了ggml-model-f16.bin,在这里就能输入命令:

bin\main.exe -m org-models/7b/ggml-model-f16.bin --color -f prompts/alpaca.txt -ins -c 2048 --temp 0.2 -n 256 --repeat_penalty 1.3 -t 16

让模型跑起来:

在这里插入图片描述
但是跑的时候,有点慢。

量化4-bit模型;

python convert-pth-to-ggml.py org-models/7b/ 1

继续跑:

bin\main.exe -m org-models/7b/ggml-model-q4_0.bin --color -f prompts/alpaca.txt -ins -c 2048 --temp 0.2 -n 256 --repeat_penalty 1.3 -t 16

在这里插入图片描述

这个时候就快多了。但是你是不是发现,他有时候会出错,而却还没有完全答完就结束了,对中文的支持,很一般,这是因为llama.cpp本身对中文就不怎么支持,github上有些人对llama.cpp进行了扩充和微调,使得他中文的理解能力大大的加强。

在这里插入图片描述
可以进一步的,把中文的模型,融合进来。

(0)

相关文章:

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

发表评论

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