本文已在飞桨公众号发布,查看请戳链接:
飞桨产业级开源模型库:加速企业AI任务开发与应用
随着“科技兴国”战略思想的提出,越来越多的人工智能技术被应用于体育、教育、农业、能源、金融、医疗等各行各业。在刚刚闭幕的冬奥会上,人工智能、5G、云服务等技术的应用,让世界人民看到了新时代中国的风采。中国已经按下了从制造业大国向科技强国转型的启动键,越来越多的企业期望引入人工智能等新技术来提升竞争力。
飞桨结合多年与合作伙伴在人工智能产业落地中积累的经验,总结了工程师在使用开源模型研发应用时面临的四大难题,如图1所示。
图1 AI产业落地时面临的四大难题
-
很难找到合适的开源模型:开发者有明确的AI产业落地需求,但是找不到可以使用的开源模型,或者开源模型中有非常多的实现算法,但无法判断哪种算法更适合自己的业务场景。
-
模型不适用产业场景:目前很多开源模型均是学术模型的复现,更侧重模型的精度,缺少对产业落地时对推理性能的考量。
-
模型优化成本高:选择合适的模型之后,往往还需要根据业务数据的特点进行参数优化和模型训练,如数据增强、调整网络结构、配置超参等。用户需要耗费大量的精力来验证各种优化方案组合后的效果。
-
部署时问题频发:很多开源模型部署到实际生产环境中时,由于硬件种类繁多、系统环境多样,且实际运行中对硬件性能和系统并发要求高等原因,导致部署时问题频发,严重影响实施效率。
那么,在复杂的AI产业应用中,如何选择易用、稳定、可靠的开源模型呢?针对用户在AI产业落地时面临的四大难题,飞桨提出了产业级开源模型库方案,核心能力如下:
-
支持500+个精选算法和预训练模型,全面覆盖深度学习主流应用领域,如计算机视觉、语音、自然语言处理、推荐、强化学习等。
-
支持23个特色的PP系列模型,满足对模型精度和推理速度都有较高要求的产业应用场景。
-
支持端到端的AI开发套件,开发者只需要修改配置文件,而不需要修改代码,即可实现各种优化策略。
-
提供训推一体的全链条功能支持,保障飞桨模型在多种多样的应用场景中可以高效、稳定、可靠的训练和部署。
飞桨产业级开源模型库的关键能力
提供超过500个精选算法和预训练模型
全面覆盖深度学习应用领域
图2是飞桨产业级开源模型库全景,覆盖计算机视觉(PaddleCV)、自然语言处理(PaddleNLP)、推荐(PaddleRec)和语音(PaddleSpeech)四大深度学习应用领域,以及在产业中处于前沿探索的新兴领域,如图神经网络、强化学习、量子学习和科学计算、生物计算等。截至2022年5月,官方支持的算法总数超过500个,包含经过产业实践长期打磨的主流模型、PP系列模型,以及国际竞赛中的夺冠模型,所有模型都支持动态图开发,助力产业快速应用。
图2 左右滑动查看飞桨开源模型库全景
提供飞桨特色的PP系列模型
实现AI产业落地时模型精度和性能的平衡
大多数开源模型都侧重关注模型精度,缺少对于模型推理性能的考量。飞桨综合了模型精度和性能的平衡,开发特色的PP系列模型,如图3所示,覆盖了目标检测、OCR、语义理解都多个高频应用场景。以PP-YOLOv2、PP-OCRv2为例,在数据增强、骨干网络、检测头、损失函数、训练技巧等方面分别有13项和19项兼顾精度和性能的优化策略。在AI 产业应用时,建议用户优先考虑PP系列模型,达到事半功倍的效果。
图3 飞桨特色的PP系列模型和应用场景
提供端到端的开发套件
预置大量优化策略,支撑全流程优化
无论模型性能多优异,由于真实的生产环境的复杂和多样性,在落地产业时,都需要结合业务需求进行模型优化。飞桨端到端的开发套件中预置了大量优化策略,支撑全流程优化,用户只需要修改配置文件,即可调整模型优化策略,低成本验证各种优化策略的模型效果。如图4所示,以PaddleDetection和PaddleOCR为例,套件中内置了大量的优化策略,支持从“数据增强→算法选择→部署工具”的全流程优化。
图4 开发套件全流程优化示意
提供训推一体的全链条功能支持
保障模型稳定、可靠
为了保障飞桨支持的模型在产业应用中稳定、可靠,飞桨提供了训推一体的全链条功能支持。在产业实践中,模型应用的研发流程可分解成:“模型选型、训练环境选型、模型压缩选型、部署工具和部署环境选型几个关键节点,如图5所示。飞桨产业模型库中的模型均已经在此链条中端到端验证,确保模型的使用稳定可靠。此外,图5也可以作为模型训练和推理部署的选型导航,为企业AI落地方案的整体选型提供参考。
图5 飞桨“训推一体”的全链条流程
飞桨产业范例库和产业模型选型工具
上文介绍了在AI产业应用时,模型选择的方法和技巧。但是AI应用落地是个复杂的系统工程,只有模型并不能解决所有问题。例如安全帽检测的场景(安全要求比较高的厂房,需要检测员工是否有安全措施,可以应用深度学习技术实现佩戴安全帽检测,如图6所示),研发人员需要先进行数据采集与标注,然后把处理后的数据传输给机器学习的系统进行模型训练,最后将训练好的模型部署到真实的厂房环境上,这个流程需要对产线进行全面的升级改造。但是由于部署环境不同,如工厂环境、车间的设备差异较大,真正落地智能化改造也不是一件容易的事,常常都会需要3~6个月。
图6 AI应用落地流程示例
如何灵活运用这些模型和开发套件构建完整的落地方案,是企业在AI落地过程中急需解决的问题。为此,飞桨开源了产业实践范例库和飞桨产业模型选型工具,进一步降低了AI产业落地的难度。
飞桨产业实践范例库,直达项目落地
产业落地的“自动导航”
飞桨产业范例库以真实产业场景和数据为蓝本进行研发,目前内容覆盖智慧城市、智能制造、智慧金融、泛交通、泛互联网、智慧农业、文娱传媒、电信等多个领域。每个案例都提供详细的过程讲解,包括:数据增强、模型选择、模型优化、模型部署的完整代码和和图形化的部署demo,直达项目落地。在使用过程中,工程师只需要选择与业务场景相似的案例,更换数据集,并根据教程说明微调优化策略,就可以实现完整的应用方案。
图7以智慧城市行业“火灾/烟雾检测”场景为例,展示了飞桨产业实践范例库的使用方法。
图7 飞桨产业实践范例库示例
点击获得飞桨产业范例库地址
https://aistudio.baidu.com/aistudio/topic/1000
产业模型选型工具
为用户推荐最合适应用落地“样板间”
目前飞桨产业范例库中包含了40+个范例,对于众多的AI产业落地项目,只覆盖了相对有限的高频场景,对于其他更广泛的AI应用,飞桨还设计并开源了产业模型选型工具。
如图8所示,飞桨产业模型选型工具凝聚了飞桨长期积累的产业实践经验,根据用户真实的产业落地诉求,对用户数据情况进行专业分析,推荐适合应用落地的模型与硬件组合。针对典型场景,还为用户自动关联呈现相关的产业实践范例。
图8 飞桨产业模型选型工具
飞桨产业模型选型工具体验地址:
https://www.paddlepaddle.org.cn/smrt
面对复杂的AI产业落地场景
支持多个套件协同合作
AI产业应用往往比较复杂,一个独立的技术并不能完全解决实际问题。飞桨支持各开发套件之间协同应用,帮助用户高效解决真实场景中比较复杂的问题。如图9所示,以AI应用比较广泛的工业质检和语音播报场景为例,介绍开发套件的协同方案。
工业质检场景
在工业质检场景,用户会期望应用AI技术检测商品是否有瑕疵,并了解瑕疵的形状和大小,这是深度学习中的目标检测和图像分割任务,需要并行使用PaddleDetection和PaddleSeg解决;也有用户期望了解瑕疵的类型,如:划痕、油渍、斑点等,这就是目标检测和图像分类任务,需要并行使用PaddleDetection和PaddleClas解决。
语音播报场景
在语音播报场景,比较常见的是扫描笔(词典笔),用户扫描一段文字,扫描笔会自动识别文字内容,同步语音播报,实现“边扫、边读”,这就是深度学习中的OCR、文本纠错和语音合成任务,需要串行使用PaddleOCR、PaddleNLP和PaddleSpeech解决。
图9 多套件协同解决复杂的AI产业应用问题
飞桨产业级开源模型库开源共建方案
正是由于飞桨产业模型库具备上述优秀的特性,截至2022年5月,飞桨已经累计服务18万家企事业单位,推动了人工智能技术、产业和生态的蓬勃发展。飞桨的每一步发展,都离不开广大开发者的支持和共同建设。
社区中的开发者共建飞桨产业级模型库的方式主要有两种:
论文复现
每个季度飞桨都会组织模型复现赛,欢迎开发者们参与,将最新的学术论文通过飞桨进行复现,加入到飞桨预训练算法和模型中;开发者会在这个过程中收获最新的论文思路和实践优化的技巧。
产业落地
产业落地有两个方向:一是基于训推一体的链条,将学术模型进行调优,达到模型的精度和性能平衡后,加入飞桨产业应用模型中;二是基于飞桨的模型库和开发套件,挖掘可落地的AI产业应用线索,并研发相应的灵活应用飞桨能力解决实际问题的完整方案,加入到飞桨产业实践范例库中。开发者会在这个过程中收获产业实践的一线能力,能够精通产业实践所必备的技能。
同时,在这些社区活动中,飞桨为开发者们提供了课程交流、赋能工具和奖金的支持。大家可以选择比较感兴趣的方向,加入到我们飞桨开源共建的队伍中。
图10 飞桨产业级开源模型库开源共建方案
了解更多
更多关于飞桨产业级开源模型库介绍的相关内容获取方式如下:
- 飞桨端到端套件官方文档:
https://www.paddlepaddle.org.cn/overview
- 飞桨一站式安装:
https://github.com/PaddlePaddle/PaddleCloud
- 飞桨产业模型选型工具:
https://www.paddlepaddle.org.cn/smrt
- 飞桨产业范例库:
https://aistudio.baidu.com/aistudio/topic/1000
- 模型库项目地址:
https://github.com/PaddlePaddle/models
https://gitee.com/PaddlePaddle/models
- PP系列模型索引:
https://github.com/PaddlePaddle/models/blob/release/2.3/official/PP-Models.md
PP系列模型详细介绍
关注【飞桨PaddlePaddle】公众号
获取更多技术内容~