当前位置:   article > 正文

vivo蓝心大模型BlueLM---Windows私有化部署方案

bluelm

vivo蓝心大模型BlueLM---Windows私有化部署方案

一、背景

  2023年11月1日,2023 vivo开发者大会在深圳举办,大会以“同心·同行”为主题,共设有1个主会场及9个分会场。会上,vivo正式发布自研蓝心大模型BlueLM、OriginOS 4、自研蓝河操作系统BlueOS,以及在人文关怀、生态建设等领域的最新成果,同广大开发者和生态伙伴一道,前瞻时代变革趋势与机遇,共筑产业生态繁荣。同时,vivo高级副总裁兼首席技术官施玉坚,宣布率先开源 70 亿参数级的蓝心大模型 7B 以及对应的微调框架。其中70 亿级别的蓝心大模型 7B 是面向手机打造的端云两用模型,vivo 称其在语言理解、文本创作等场景下表现非常优秀。

vivo开发者社区:蓝心大模型 - vivo开发者社区

vivo开发者大会演讲:https://www.bilibili.com/video/BV1Rz4y1P7tg/?buvid=XX8F5438E2D4F792BF96C0FE7B7560A332CB6&from_spmid=main.my-history.0.0&is_story_h5=false&mid=QBnBJCPXcbizmrIJm19XRQ%3D%3D&p=1&plat_id=116&share_from=ugc&share_medium=android&share_plat=android&share_session_id=5bf110b9-414f-45f5-8acb-4380fe6f9131&share_source=WEIXIN&share_tag=s_i&spmid=united.player-video-detail.0.0×tamp=1698923239&unique_k=uxaYNJV&up_id=19326966

二、模型背景

GitHub项目地址:GitHub - vivo-ai-lab/BlueLM: BlueLM(蓝心大模型): Open large language models developed by vivo AI Lab

具体模型地址:vivo-ai (vivo AI Lab) (huggingface.co)

BlueLM 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型,本次发布包含 7B 基础 (base) 模型和 7B 对话 (chat) 模型,同时我们开源了支持 32K 的长文本基础 (base) 模型和对话 (chat) 模型。

  • 更大量的优质数据 2.6 万亿 
  • 更优的效果 C-Eval  CMMLU 
  • 长文本支持 32K 
  • 协议说明

本次发布基座模型如下:

推荐Linux部署方式

7B-2K不推荐Windows部署,有依赖无法编译,不支持Windows

基座模型

对齐模型

量化模型

7B-2K

BlueLM-7B-Base(显存14G起步)

BlueLM-7B-ChatBlueLM-7B-Base(显存14G起步)

 BlueLM-7B-Chat-4bitsBlueLM-7B-Base(显存5G起步)

7B-32K

BlueLM-7B-Base-32KBlueLM-7B-Base(显存14G起步)

BlueLM-7B-Chat-32KBlueLM-7B-Base(显存14G起步)

/

vivo宣布后续将开源 13B 模型和支持多模态的 7B-vl 模型,还请期待!

三、部署方案

我的测试环境软硬件情况:

CPU:i9-10900K

GPU:3090 24G

RAM:DDR4 3200 64G(32G X2)

OS:Win10 Pro 22H2 19045.2673

(一)、工程文件准备

整个工程需要从两个远程仓库克隆,一个是 github 上的源码,一个是 HuggingFace 上的模型。

1、项目源码下载

对于源码,可直接从网页下载 zip 包后解压,也可使用 git 命令(电脑需要提前装好 git )克隆至本地文件夹中:

git下载地址:Git - Downloads

下载安装完成后,进入项目存放目录的位置进行git clone,粘贴clone地址进行下载

2、模型下载

根据实际需求选择所需模型进行下载,这里以vivo-ai/BlueLM-7B-Base为例

(1)进入上一步clone好的源码目录,打开git,进行模型下载。

  1. git安装lfs:
  2. git lfs install
  3. git clone模型
  4. git clone https://huggingface.co/vivo-ai/BlueLM-7B-Base

根据目录结构,用记事本打开并修改源码目录下的 web_demo.py、cli_demo.py 文件,将 MODEL_ID = "vivo-ai/BlueLM-7B-Chat" 替换为 ..\\model :

需要注意的坑:

在 windows 下,表示目录层级的斜杠需写为双反斜杠,而非 Linux 下的单一正斜杠。

3、python环境准备

(1) Anaconda的下载

官网:Free Download | Anaconda

安装配置详细教程参见:【精选】Anaconda超详细安装教程(Windows环境下)_conda安装-CSDN博客

(2)建立python环境。安装完后,打开Anaconda Navigator,建立环境,建议选择3.9的版本【需要联网】。创建完成后打开Terminal。

(3) 切换到源码目录

(4)安装CUDA

对于使用 Nvidia GPU 的用户,BlueLM 并没有明确给出手动安装 torch 的方法,以下操作如不进行,将无法启动模型:

(1)下载安装 CUDA Toolkit,查看本地显卡情况,红框处显示CUDA最高支持12.0的版本,12288MiB就是12G的显存

CUDA下载地址:CUDA Toolkit - Free Tools and Training | NVIDIA Developer

CUDA安装详细教程:【精选】CUDA安装及环境配置——最新详细版_abbrave的博客-CSDN博客

(2)CUDA的版本最好和Pytorch最大支持CUDA版本一致,下图最新就支持12.1的CUDA版本,因此CUDA版本尽量选择12.1的迭代版本。

Pytorch官网:PyTorch

(3)CUDA安装好后,进入虚拟环境,安装Pytorch

  1. conda切换清华源:
  2. conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  3. conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  4. 设置搜索时显示通道地址
  5. conda config --set show_channel_urls yes
  6. 有时候国内镜像源无法连接,需要恢复原来的源:
  7. conda config --remove-key channels
  8. pip切换清华源:
  9. 升级pip
  10. python -m pip install --upgrade pip
  11. 配置默认镜像站
  12. pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  13. 如果你只是想临时使用一下,那么用下面这行命令就好了:
  14. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
  15. 粘贴下载地址,安装Pytorch

验证torch是否安装成功

打开终端,切换到pytorch安装环境下,检测程序如下:

  1. import torch
  2. print(torch.__version__)
  3. print(torch.cuda.is_available())

输出类似下图结果,代表成功:

(4)安装requirements.txt

  1. 安装之前,需要打开requirements.txt,进行如下修改,删除红框两项。
  2. 原因:1、torch已经安装。2、windows是不支持deepspeed的,如果只是跑推理的话可以不安装deepspeed。
  3. 注意:如果出现transformers报错,请将requirements.txt里面的transformers==4.33.1修改为transformers==4.30.2,然后再重新执行安装命令。
  4. pip安装依赖,等待安装完成
  5. pip install -r requirements.txt

(5)运行大模型

1、命令行demo

  1. 本命令行 Demo 仅支持 Chat 场景。
  2. python cli_demo.py

2、网页demo

  1. 本网页 Demo 仅支持 Chat 场景。
  2. streamlit run web_demo.py --server.port 8080

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/323355
推荐阅读
相关标签
  

闽ICP备14008679号