0


在低配Windows上部署原版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平台下,需要准备

mingw

Cmake

  • 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进行了扩充和微调,使得他中文的理解能力大大的加强。

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

标签: windows llama linux

本文转载自: https://blog.csdn.net/weixin_40425640/article/details/131305145
版权归原作者 go2coding 所有, 如有侵权,请联系我们删除。

“在低配Windows上部署原版llama.cpp”的评论:

还没有评论