这个教程有以下几部分构成:

  1. 硬件配置
  2. 概念介绍
  3. 实操
  4. 测试结果

1.硬件配置

本文使用的方法配置要求低,没有gpu也可以正常使用(就是有点慢),不管是windows 还是linux,都可以无障碍使用大模型,有脚就行,废话少说, let's rock!

2.概念介绍

几个部署要用到的概念,工具和项目

  1. hugging face:
    类似于模型的github,各种各样的开源模型都可以在这被找到.
  2. 模型量化技术:
    这也是我们能够在低端设备上部署模型的关键理论,降低加载模型的精度使得内存、显存使用量更低.
    3.GGUF
    这是一种用来高效存储模型的格式,方便快速加载和传输.
  3. llama.cpp
    这个工具十分强大,即使没有gpu,也可以使用cpu自带的simd指令集(类似于avx512)进行快速推理,也可以同时使用gpu和cpu一起推理。它也可以被编译到App中,在客户端本地进行推理. 也可以变身为一个chatgpt api兼容的web服务器。总之可玩性非常强.

3.实操

1)hugging face的使用(别的也行,方法类似):

(点点点)
这里就不再对各大厂商发布的模型做介绍了, 可以去官网上选择自己合适的。
举个例子,可以通过翻越某种保护性建筑(高约2m)的方式,访问下面的这个地址,查看google开源的gemma 2模型(it 表示这是对指令微调过的, -GGUF表示这是被转化成GGUF格式的),其中不同等级的经过量化的文件和他们的效果都在表格中,可以选择合适自己的。

https://huggingface.co/bartowski/gemma-2-9b-it-GGUF
下载下来的文件是个GGUF格式的文件。

2)llama.cpp(别的也行,方法类似)

(conrol c + control v)
https://github.com/ggerganov/llama.cpp
如果你有支持cuda的gpu,需要加一个编译时参数(需要重新编译项目)来加速推理过程,可以看看这个教程
https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md#cuda
如果没有GPU下个符合自己电脑架构的release版就可以了

4.检验成果

1) 简单对话机器人

llama-cli -m 你的gguf文件名 -p "You are a helpful assistant" -cnv

2)作为一个服务器使用

使用命令
./llama-server -m 你的gguf文件名 --port 8080

3)gpu参数

-ngl 35, 后面数字越大,代表越多层被移进gpu,随之而来的是速度越快。
还有挺多玩法,可以看看github上的补充细节,相信你们能做到,呵呵。

测试结果

本人在一台gpu虚拟化(显存6GB P40)的linux虚拟机上(内存32GB,30虚拟核心)使用5bit量化的gemma2-9b-it模型,速度可以达到10tokens/s,考虑到垃圾的硬件配置,这个速度可以说是不错了。

要是还有什么别的需求,可以给我留言,我再针对一些详细的玩法,比如说构建前端啦,后端啦,chatgpt api之类的,写点文章。帮助大家打破信息茧房。

posted on 2024-07-29 19:25  平子223  阅读(127)  评论(0)    收藏  举报