【AI开发:语言】一、Yi-34B超大模型本地部署CPU和GPU版

前言

        Yi-34B大模型,相关的类型还有LLaMA2-70B和Falcon-180B,此文章着重Yi-34B的CPU版本本地部署和使用,还有一些相关的部署和初步使用的问题解决。

        整理的完整工具包(均为官方版本):AI开发工具包官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘123云盘为您提供AI开发工具包最新版正式版官方版绿色版下载,AI开发工具包安卓版手机版apk免费下载安装到手机,支持电脑端一键快捷安装icon-default.png?t=N7T8https://www.123pan.com/s/b5zTTd-tyaH.html%E6%8F%90%E5%8F%96%E7%A0%81:rnwi

一、相关下载

Yi-34B-Chat:(我使用的是这个,可以转换为GGUF,并且可以量化)

始智AI-wisemodel-中国AI开源创新社区

Yi-34B-Chat-4bits:(这个是量化完成的,不能转换为GGUF)

始智AI-wisemodel-中国AI开源创新社区

koboldcpp(运行模型的工具)

Releases · LostRuins/koboldcpp · GitHub

二、关于llama.cpp的操作

        要在CPU上跑起来,需要注意两点,一是GGUF模型,二就是量化,llama.cpp的主要目标是能够在各种硬件上实现LLM(大型语言模型)推理,无论是本地还是云端,都只需最少的设置,并提供最先进的性能。提供1.5位、2位、3位、4位、5位、6位和8位整数量化,以加快推理速度并减少内存使用。

1.创建llama.cpp项目

#windows 10
#进入D盘
D:
#下载llama.cpp项目
git clone https://github.com/ggerganov/llama.cpp
#进入下载的文件夹
cd llama.cpp
#创建构建文件夹
mkdir build

2.下载编译工具

NET Framework 4.8 Developer Pack - CHS Language Pack(Visual Studio 2022需要4.6及以上.net版本)

下载 .NET Framework 4.8 Developer Pack - CHS Language Pack

Visual Studio 2022

创建基于网络的安装 - Visual Studio (Windows) | Microsoft Learn

CMake

Download CMake

3.下载llama.cpp

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

4.编译llama.cpp

打开CMAKE

点击Configura,处理错误:

CMake Error at CMakeLists.txt:2 (project):
Generator
Visual Studio 17 2022
could not find any instance of Visual Studio.
Configuring incomplete, errors occurred!

解决:这是因为VS Studio的扩展没有安装上,需要MSBuild,Desktop C++

再次点击Configura

再点击Generate

再点击Open Project,并在VS里右边第一个选项上右键,点击生成

生成成功后,会存储在我们之前建立的build目录下

例如本项目的地址:D:\llama.cpp\build\bin

三、转换模型

        转换模型会直接用llama.cpp项目中的convert.py量化会用到我们生成的quantize.exe。

1.安装虚拟环境

参考【AI开发:环境篇】Anaconda安装和基础命令-CSDN博客

2.创建一个虚拟环境来运行py文件

conda create --name llama python=3.9

3.激活环境

conda activate llama

1

4.安装llama.cpp相关环境

D:
cd llama.cpp
pip install -r requirements.txt

5.开始转换convert.py

#python .\convert.py 模型目录
python .\convert.py D:\BaiduNetdiskDownload\Yi-34B-Chat

6.试运行

模型的精度是F32,我的电脑是32G内存,测试了下,跑不动,我们打算做到4B的,准备的量化。

启动

启动页面

性能堪忧

发送一个 你好,电脑就要爆炸了的感觉,等了30分钟都没给我回复。干脆也就不浪费时间了,结束进程,准备量化。

7.量化模型

        当然精度越高,效果越好,但是目前我们的测试机 是跑不动那么大的模型的。所以我们先用8位的来进行测试。

#quantize.exe gguf文件 目标Q4_0.gguf Q8_0
#quantize.exe 量化工具
#gguf文件 要量化的模型
#目标Q4_0.gguf 自定义量化后文件名
#Q8_0 8位 Q4_0 4位 Q16_0 16位
D:
cd D:\llama.cpp\build\bin\Debug
./quantize.exe D:\BaiduNetdiskDownload\Yi-34B-Chat\ggml-model-f32.gguf D:\BaiduNetdiskDownload\Yi-34B-Chat\ggml-model-Q8_0.gguf Q8_0

四、运行4位

我承认,我肤浅了,没跑起来。。。还是阻塞,切换4位吧。

终于跑起来了哦!但是 CPU的反应真的是慢啊。

http://localhost:5001/#

五、在GPU上运行4位

测试电脑,8核32G,1060 16g显卡,配置略低。

只需要拷贝 KoboldCpp.exe(注意和noCUDA的区别)还有模型文件ggml-model-Q4_0.gguf

虽然配置略低,但是速度已经有了很大的提升,真是不错呢。

六、KoboldCpp的API接口

        好在KoboldCpp提供API接口,我们可以通过接口进行二次开发,这里运行的模型就可以作为一台小型服务器了。

七、关于KoboldCpp的配置说明

  1. Vulkan: Vulkan是一个由Khronos Group开发的低开销、跨平台的2D和3D图形API,它也提供了计算着色器功能,可以用于执行通用的GPU加速计算任务。在KoboldCpp中,Vulkan可以作为一种后端技术,用于加速文本生成过程中的计算密集型任务。使用Vulkan可以提高程序的运行速度,尤其是在具有兼容Vulkan的GPU的系统上。

  2. CLBlast: CLBlast是一个开源的、针对OpenCL优化的BLAS(基础线性代数子程序)库。BLAS库提供了一系列标准的低级线性代数操作,如矩阵乘法、向量加法等,这些操作是许多科学计算和机器学习算法的基础。CLBlast专门针对OpenCL平台进行了优化,以提高在各种设备上的性能,包括GPU、CPU等。在KoboldCpp中,启用CLBlast可以利用这个库的优化,从而加速文本生成过程中的计算任务。

  3. Cublas: Cublas是NVIDIA提供的一个库,它提供了针对其GPU的优化BLAS实现。Cublas同样提供了一系列标准的线性代数操作,但与CLBlast不同,Cublas是专门为NVIDIA的CUDA平台设计的。这意味着,如果你有一个NVIDIA的GPU,使用Cublas可以显著提高计算性能。然而,Cublas是闭源的,并且只能在NVIDIA的硬件上运行。

这个参数大概就是上面所述,根据你自己的设备性能来进行调整,其他设置就是字面意思了。

  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
语言模型部署可以通过使用开源的大语言模型部署平台来实现。一个例子是OpenLLM,它是一个用于在生产环境中操作大型语言模型的开放平台。OpenLLM提供了一个标准的解决方案,可以将大语言模型部署到云端或本地,并且可以放心地用于生产环境中。它还提供了进一步的能力,让用户更加方便地基于大语言模型构建更强大的AI应用。通过使用OpenLLM,您可以轻松地微调、服务、部署和监控任何大语言模型。\[2\] 另外,为了开发公司自己的大语言模型,一种常见的方式是结合专业领域的训练数据和网上的开源大语言模型进行微调。这种方式相对于从零开始自研大语言模型来说,更加节省资源和金钱。因此,如果您的公司是一个小公司或者资源有限,这种方式可能更适合您。\[3\]希望这些信息能够给您提供一些关于大语言模型部署的思路。 #### 引用[.reference_title] - *1* *3* [如何部署属于自己的大语言模型](https://blog.csdn.net/weixin_39759781/article/details/130063164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [AIGC:大语言模型开放平台OpenLLM简介(提供简易的模型部署体验)](https://blog.csdn.net/zhanggqianglovec/article/details/131556821)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

My的梦想已实现

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值