这个教程有以下几部分构成:
- 硬件配置
- 概念介绍
- 实操
- 测试结果
1.硬件配置
本文使用的方法配置要求低,没有gpu也可以正常使用(就是有点慢),不管是windows 还是linux,都可以无障碍使用大模型,有脚就行,废话少说, let's rock!
2.概念介绍
几个部署要用到的概念,工具和项目
- hugging face:
类似于模型的github,各种各样的开源模型都可以在这被找到. - 模型量化技术:
这也是我们能够在低端设备上部署模型的关键理论,降低加载模型的精度使得内存、显存使用量更低.
3.GGUF
这是一种用来高效存储模型的格式,方便快速加载和传输. - 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之类的,写点文章。帮助大家打破信息茧房。
标签:github,部署,模型,GGUF,llama,gpu,快速,可以 From: https://www.cnblogs.com/lisp666/p/18330867