2020 无疑是特殊的一年,而 AI 在开年的这场”战疫“中表现出了惊人的力量。站在“新十年”的起点上,CSDN【百万人学AI】评选活动正式启动。本届评选活动在前两届的基础上再度升级,设立了「AI优秀案例奖Top 30」、「AI新锐公司奖Top 10」、「AI开源贡献奖Top 5」三大奖项。我们相信,榜样的力量将成为促进AI行业不断发展的重要基石,而CSDN将与这些榜样一起,助力AI时代的”新基建“。

活动官网:https://bss.csdn.net/m/topic/ai_selection/index

申报地址:http://csdnprogrammer.mikecrm.com/WpA03hJ

一、公司简介

北京香侬慧语科技有限责任公司(以下简称“香侬科技”),专注于人工智能、深度学习、机器学习等技术的研发,从成立之日起,就希望发展成为具有中国文化特色、立足于中国本土的全球技术领先人工智能公司,所以香侬科技是全球第一家专门针对中文提出基于中文的自然语言处理模型的公司。此外,香侬科技一直以来都非常重视基础科学和技术创新性的研究,累积在自然语言处理顶级会议发表文章50余篇。

除了重视基础研究外,香侬科技也同样重视技术的落地,目前主要将人工智能技术应用于金融领域,提供全球资本市场信息智能服务以及智能投研舆情项目服务,致力于为金融行业从业者提高信息获取能力、基础数据支持及智能技术服务,以便让相关从业者可以及时掌握、了解行业、企业动态,为金融资产管理、风控评级、行业研究、投资决策等各类金融业务赋能。目前已与60余家机构展开了合作,包括战略支援部队、军事科学院、上交所、证监会、中信建投证券、招商银行等机构。

公司于2017年12月成立,2018年1月获红杉中国数千万人民币融资,于2018年9月完成红杉中国领投的过亿元人民币A轮融资,累计融资额近2亿元人民币。

二、开源项目简介

时间

2019年7月22日

背景

深度学习模型在训练和测试时,通常使用小批量(mini-batch)的方式将样本组装在一起,这样能充分利用GPU的并行计算特性,加快运算速度。 但在将使用了深度学习模型的服务部署上线的时候,由于用户请求通常是离散和单次的,若采取传统的循环服务器或多线程服务器, 会造成GPU计算资源浪费,用户等待时间线性增加。更严重的是在大量并发请求时,会造成CUDA out-of-memory error,导致服务宕机。

基于以上现实问题,我们开源了ServiceStreamer,用于加速深度学习Web服务。ServiceStreamer是一个中间件,将服务请求排队组成一个完整的batch,再送进GPU运算。牺牲最小的时延(默认最大0.1s),提升整体性能,极大提高GPU利用率。

技术创新性

Service Streamer有以下特点:

  1. 简单易用: 只需添加两三行代码即可让模型提速上十倍。
  2. 处理速度快: 低延迟,专门针对速度做了优化。
  3. 可扩展性好: 可轻松扩展到多GPU场景,处理大量请求。
  4. 适用性强: 中间件,适用于所有深度学习框架和web框架。

主要应用领域:深度学习

开源地址:https://github.com/ShannonAI/service-streamer/blob/master/README_zh.md

三、开源影响力介绍

ServiceStreamer可以极大提高深度学习模型在Web服务器上的运行速度。通过service_streamer封装用户的模型函数,仅需要三行代码,就可以使得BERT(一个大规模深度学习模型)服务的预测速度达到每秒200+句,在原来的基础上提高了15倍的QPS。同时,利用Streamer封装模型,启动多个GPU Worker,充分利用多卡性能,能够实现每秒1000+句,是原来的80倍QPS,极大地加速了深度学习模型在Web端上的运行。

最小实现

在技术上,用service_streamer中间件封装predict函数,将request排队成一个完整的batch,再送进GPU。 牺牲一定的时延(默认最大0.1s),提升整体性能,极大提高GPU利用率。然后web server需要开启多线程(或协程)即可。

分布式GPU Worker

实际项目中web server的性能(QPS)远高于GPU模型的性能,所以我们支持一个web server搭配多个GPU worker进程。Streamer默认采用spawn子进程运行gpu worker,利用进程间队列进行通信和排队,将大量的请求分配到多个worker中处理。 再将模型batch predict的结果传回到对应的web server,并且返回到对应的http response。上述方法简单,但是主进程初始化模型,多占了一份显存,并且模型只能运行在同一块GPU上。 所以我们提供了ManagedModel类,方便模型lazy初始化和迁移,以支持多GPU卡。

分布式Web Server

有时候, web server中需要进行一些cpu密集型计算,比如图像、文本预处理,再分配到gpu worker进入模型。 cpu资源往往会成为性能瓶颈,于是我们也提供了多web server搭配(单个或多个)gpu worker的模式。

使用RedisStreamer指定所有web server和gpu worker公用的唯一的redis地址。然后跟任意python web server的部署一样,用gunicorn或uwsgi实现反向代理和负载均衡。这样每个请求会负载均衡到每个web server中进行cpu预处理,然后均匀的分布到gpu worker中进行模型predict。

本项目目前已经在github上有564个Star,88个Fork,数十个Pull Request,推动了深度学习模型Web加速社区的交流与发展。

香侬科技Service Streamer:加速深度学习Web服务、极大提高GPU利用率。| 百万人学AI评选相关推荐

  1. 图普科技:国内最早将人工智能深度学习技术应用于互联网内容审核的企业之一 | 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  2. 星环科技Transwarp Sophon助力国泰君安人工智能平台建设:将AI应用到综合金融的全生命周期 | 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  3. 星环科技:易用高效的一站式人工智能平台 | 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  4. 云从科技助力智慧出行:登机安检更加“智能” | 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  5. 香侬科技:打造出有中国文化特色的全球技术领先人工智能公司 | 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  6. 深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析

    在深度学习模型训练过程中,在服务器端或者本地pc端,输入nvidia-smi来观察显卡的GPU内存占用率(Memory-Usage),显卡的GPU利用率(GPU-util),然后采用top来查看CPU ...

  7. 华宇法律人工智能平台:用新一代的科技推动新时代的法律服务达到完全互联、无所不在 |百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  8. 上海轨道交通车辆智能运维系统: 大数据+人工智能科技解决方案解决地铁运维新难题 |百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  9. 思岚科技机器人自主定位导航方案:高效可靠、高精度、厘米级别地图多场景适用 | 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

最新文章

  1. TVS选型(车载电子产品篇)
  2. 常见Java面试题 – 第二部分:equals与==
  3. Cinchoo ETL-对大型CSV文件进行排序
  4. HTTP/2特性及其在实际应用中的表现
  5. python数据科学课后答案_Python数据科学-技术详解与商业实践-第五讲作业
  6. c语言编程串行静态数码显示实验,十天学会单片机和C语言编程-数码管动态扫描显示.ppt...
  7. Java 游戏自动寻路,老游戏仙境传说RO私服自动寻路求交流(含代码)
  8. 【数学建模】二手房房价影响因素分析(描述性统计+推断统计综合应用、线性回归预测分析)
  9. uniapp - APP判断是否开启位置信息服务判断是否授权位置信息权限
  10. 在线报表设计实战系列 – ②制作表格类报表
  11. w8系统桌面没有计算机图标,不见了win8系统桌面图标怎么办
  12. MSTP详解- 原理篇
  13. VUE弹窗加载另一个VUE页面
  14. 看图写英语作文关于计算机,看图写一篇英文作文
  15. 财富自由:当你实现财富自由就无需为钱而工作!
  16. Matlab下的模糊控制水箱液位
  17. 【引用】雨林木风Ghost XP SP3系统
  18. 高仿QQ电脑管家8 界面
  19. 阿贝云免费虚拟主机使用体验
  20. 为什么我不建议你给领导回复“收到”?

热门文章

  1. python 学习笔记 四 课后作业
  2. 解决Centos 7 下 tomcat字体异常 Font '宋体' is not available to the JVM
  3. C#计算圆的周长和面积、梯形的面积、三角形的面积
  4. 网络攻防技术——OSI安全体系
  5. 工业经济污染专题-各省主要污染物排放(1990-2020年)
  6. 谈谈这些IT草根创业者
  7. java毕业设计项目材料管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  8. IRIS 框架学习一
  9. 脉冲函数、阶跃函数和斜坡函数
  10. 计算机网络简明教程期末考试试题,《计算机网络技术简明教程》复习资料