从零开始在CentOS7服务器上搭建GPU深度学习环境,并部署bert向量化服务

本文档详细介绍了如何在CentOS7服务器上从零开始搭建GPU深度学习环境,包括安装Anaconda、CUDA和cuDNN,并重点讲解了确保TensorFlow能正常使用GPU的步骤。接着,它阐述了部署BERT-as-Service的过程,包括创建虚拟环境、安装所需软件包以及启动服务和客户端调用的方法。最后,文中列举了在搭建过程中可能遇到的问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从零开始在CentOS7服务器上搭建GPU深度学习环境,并部署bert向量化服务

0 前言

最近公司的研究项目有对文本进行BERT向量化的需求,在github上找到了bert-as-service这个开源项目,它提供pip安装,可以将bert向量化作为服务部署在服务器上,在客户端python脚本中通过简单的调用请求就可以得到词向量。相比自己调用bert源码,这种方法方便非常多。可以参考这篇知乎文章:两行代码玩转Google BERT句向量词向量

这篇文档将以公司的centos7服务器为例,介绍搭建GPU深度学习环境,并部署bert向量化服务的步骤,以及搭建过程中遇到的一些问题和解决方法,给后续在其他机器上的部署提供参考。

搭建完成后,生产力有了质的飞跃:在本地的cpu机器上,处理一段中文短文本大约需要1s,而单卡gpu服务器上只需要30多秒就可以处理1000段短文本。

  • 一定要先切换到一个临时目录,因为bert-service会产生很多临时文件在当前文件夹下
  • 需要开放5555、5556端口(默认)

1 GPU环境搭建

1.1 准备工作

查看系统位数

$ uname -a
Linux node14 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

可以看到,服务器是x86_64架构,接下来的包都可以安装。

查看linux发行版本(以centOS为例)

$ cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)

实际上,服务器深度学习环境更多使用的是Ubuntu。本文从实际情况出发,介绍在CentOS 7.x上的部署。

查看显卡信息

$ lspci  | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)

注意,以下的环境搭建基于NVIDIA显卡。其他品牌的显卡虽然有其他框架可以使用,但还不成熟。

可以看到,214服务器的显卡为2080Ti,是不错的显卡不拿来做深度学习可惜了,但是服务器通常只是在跑一些内存任务,显卡没有得到充分利用。

1.2 安装Anaconda/miniconda

安装Anaconda/miniconda用于管理环境。这一步通常不会有什么问题。考虑到服务器上不需要装那么多乱七八糟的包,安装了miniconda3。

安装conda的一个好处是,在activate/deactivate某个虚拟环境的时候,可以执行特定的脚本,这将有助于我们在不同环境中使用不同CUDA版本,而不需要每次都手动修改环境变量,这将在下文详细介绍。参考:Multiple Version of CUDA Libraries On The Same Machine

1.3 安装CUDA和cuDNN

务必不要直接安装最新版CUDA工具包,这是个巨坑。tensorflow和pytorch的不同版本都对应不同的CUDA版本,假如CUDA版本不匹配,可能会出现无法正常使用GPU进行计算的情况。(这就是我最初部署bert-service时,显示worker是GPU,但实际仍然在CPU上进行计算的原因。服务可以正常跑起来,处理请求的时候CPU直接拉满。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值