#gStore-weekly | gBuilder功能详解之单机版模型部署

在前面weekly中已经详细描述了非结构化抽取的模型及抽取流水线设计,本次将介绍如何部署模型。本文内容适用于 x86_64 (amd64) 架构 linux 系统安装与部署 gBuilder 模型。如需模型训练功能,需要部署模型的服务器插有 GPU 计算卡(建议 Nvidia V100 或 2080 Ti 及以上配置的计算卡或显卡)。如目标服务器不包含计算卡,也可以用于部署模型推理(inference)服务。

同时本次介绍适用于有可访问公网网络环境的服务器部署。在完成部署之后,模型端点服务可以脱离网络环境离线运行(只要 gBuilder 非结构化模块能通过本机或内网访问到模型端点即可)。

部署包包含三部分内容:

  1. 模型本体(包含 config.yml 配置文件)

  2. 预训练模型(需要提前解压并部署在运行模型端点的服务器上)

  3. gBuilder SDK (model-runner)

安装python环境

centos7服务器,自带的是python2.7,所以需要升级到python3

  1. 查看当前python版本

[root@localhost /]# python
Python 2.7.5 (default, Aug  4 2017, 00:39:18) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

可以看到执行python,默认是2.7

  1. 安装依赖包

编译python源码时,需要一些依赖包,一次安装完毕

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel

  1. 安装wget

这个包是为了下载python源码

yum install wget

  1. 下载源码包

wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz

此处下载的最新的python3.8,如果想安装其他版本,到python官网下载页面下载对应的版本即可。

  1. 解压安装

# 解压压缩包
tar -zxvf Python-3.8.1.tgz  

# 进入文件夹
cd Python-3.8.1

# 配置安装位置
./configure prefix=/usr/local/python3

# 安装
make && make install

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录

[root@localhost /]# cd /usr/local/
[root@localhost local]# ls
bin  etc  games  include  lib  lib64  libexec  python3  sbin  share  src

  1. 添加软连接

#添加python3的软链接 
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3 

#添加 pip3 的软链接 
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

测试一下python3

[root@localhost local]# python3
Python 3.8.1 (default, Apr 28 2023, 11:12:14) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

安装 gBuilder SDK (model-runner)

  1. 解压gbuilder_model-runner.zip
    文件,在解压后的文件夹中按照 Python 版本选择合适的 model_runnner-*.whl
    文件,如 Python 3.7 应选择 model_runner-0.0.1-cp37-cp37m-linux_x86_64.whl
    ,小版本无需考虑(例如 Python 3.8.14 依然算 Python 3.8,使用 cp38 的包);

  2. 创建python虚拟环境

    #找到pip安装位置
    find / -name pip-*
    
    #安装python虚拟环境
    python3 -m venv gbuilder-env
    
    #激活虚拟环境
    source gbuilder-env/bin/activate
    
    
  3. 执行命令,安装 whl 包:python3 -m pip install model_runner-xxxxxxxx.whl
    。如果网速特别慢,可以考虑使用国内 pip 镜像,例如:python3 -m pip install model_runner-xxxx -i https://pypi.tuna.tsinghua.edu.cn/simple

    #安装前先更新pip
    pip install --upgrade pip
    
    #安装命令
    python3 -m pip install model_runner-xxxx -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    下面给出几个可选的源:
    - 阿里云 http://mirrors.aliyun.com/pypi/simple/ 
    - 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 
    - 豆瓣(douban) http://pypi.douban.com/simple/ 
    - 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 
    - 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
    
    
  4. 验证安装,在安装完成 gBuilder SDK 后,执行命令:gbuilder -h
    ,如果看到 gBuilder Model Runner Version: 0.0.1
    字样的输出,则说明 model runner 安装成功。

准备预训练模型

请创建目录:/home/public/embeddings
,将预训练模型解压放入该目录中,该目录需要包含下列模型目录,且访问权限为 755 及以上:

bert-base-chinese
chinese-bert-wwm-ext
roberta_pretrained

部署模型

  1. 解压模型,进入模型文件夹;

  2. 安装模型所需依赖:python3 -m pip install -r requirements.txt
    。如果遇到网络问题,可以按照前文所述的操作使用国内 pip 镜像;

  3. 检查 config.yml 文件,尤其是 port 字段,不能与已有服务重复,否则会导致模型端点启动失败;

  4. 在模型目录下,执行命令启动端点服务:gbuilder -c config.yml
    ,部分模型需要较长时间下载额外资源才能正常启动,若仍然提示某某包不存在,可直接使用python3 install 包名 进行安装,当看到输出 gBuilder Model Server Started.
    且没报错时,部署成功;

注册模型端点

在 gBuilder 非结构化模块中,非结构化管理 - 模型管理(需要管理员权限)中,注册刚才启动的模型端点。需要注意的是,端点地址需要与刚才注册的模型相匹配,可以按照需求自己写一些端点描述信息, 需要正确设置端点类型(例如,BertNER 模型需要设置为命名实体识别模型)。模型端点接受的标签集合需要与模型相匹配,可以使用“批量管理标签”功能进行批量添加。完成上述内容后,当模型状态显示绿色正常时,说明注册成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值