关于paddle:基于飞桨实现钢铁企业废钢判级迈入智能化道路

目前,国家“双碳”策略与“数据智能”环境正驱动着钢铁企业废钢判级迈入智能化路线。针对生产过程中带来高能耗和高污染问题,企业通过应用飞桨+用友废钢智能判级零碎,助力晋升本身经济效益和平安生产程度。 建设背景目前,国家“双碳”策略与“数据智能”环境正驱动着钢铁企业废钢判级迈入智能化路线。我国钢铁企业次要以长流程钢企为主,长流程钢企次要通过铁矿石炼成生铁,再炼成钢的链路实现生产,在此过程中会带来高能耗和高污染的问题。钢铁企业向绿色倒退、短流程降级势在必行。短流程钢企是通过废钢为原料生成钢铁,能耗与碳排放量仅为长流程的1/3,同时生成1吨钢可节约铁矿石1.6吨,缩小0.35吨标准煤,缩小1.6吨二氧化碳排放和3吨固体废弃物排放。在短流程炼钢过程中,废钢是惟一的原料。与此同时,越来越多制作企业更加器重数智化转型,将数据服务嵌入企业经营生产的各个业务场景中,通过智能化产生价值。在这样的大背景下,对于企业而言,如何驱动智能化废钢判级尤为重要。 行业企业废钢验质问题如何解决目前,钢铁企业在废钢定级过程中存在三大问题。 规范不对立,无奈按单体结算。不同级别的废钢价格不同,且规范不对立,无无奈依照单体进行结算。人工质检存在隐患。目前,废钢质检均由人工进行。质检过程中,人工须要爬车验质,存在安全隐患。如果有危险物造成脱漏,也会对生产造成极大隐患。同时人工质检存在感情验质问题,会对企业造成经济损失。判级过程无奈追溯、效率低。整个判级过程无奈进行追溯,而且效率较低。如果现场存在争议或者复议,则追溯过程更为艰难。人工智能如何解决人工智能能够平安无效解决上述三个问题。如下图,这是智能判级零碎在钢铁企业利用的场景。首先在钢企制作一个智能管控核心,而后在卸料点和判级点安装摄像头。当卸料车驶入卸料点后,摄像头进行工作。司机下车,走到自主终端刷卡,开始启动判级。在判级过程中,验质人员通过管控核心进行实时画面监控,最终达到集中管控、现场无人化,同时晋升废钢判断效率,杜绝人情验质。用友与飞桨平台的联合流程分为两局部。 训练场景在训练场景中,客户应用枪机、球机配合拍照聚焦图片,而后通过需要形象为具体的视觉工作,进行人工标注。最初应用飞桨全流程开发工具PaddleX进行模型训练,达到部署上线。 部署上线在部署上线过程中,客户应用枪机、球机拍摄聚焦图片,而后应用飞桨全流程开发工具PaddleX进行推理,将剖析后果发送给零碎进行剖析。最终通过人工反馈问题,进行一直地、继续地利用训练,达到最终现场的应用成果。在飞桨的助力下,用友零碎性能实现大幅晋升。建模工夫进步10%,算法推理速度进步5%,算法成果晋升12%,准确率显著晋升。性能的晋升助力用友零碎在废钢判级畛域行业程度达到第一名,成为了行业标准的制定者、落地者、引领者。此外,用友独创的行业当先的厚度辨认算法能够无效将厚度辨认精度达到0.01毫米。如下图所示,对废钢边缘的厚度进行无效辨认,准确率较同行晋升30%。基于实例宰割技术,用友零碎能够对废钢料型、厚度、细类进行业余的解构剖析。如下图所示的一车废钢,零碎无效提取了其中45张图片,在一张序号为13的图片里,零碎无效提取了单体物20个,而后别离对其料型、厚度、细类进行业余剖析,最终达到一车钢铁的级别判断。在判级过程中,危险物检测工作十分重要。到目前为止,用友为所有钢企查看出4600多个密闭气包、1200多个油箱水箱、800多个电机壳类以及140多个千斤顶。以下6张图片展现了现场检测进去的危险物。针对压块质检,用友在全国首发了一级判级、二级扣渣、三级预警的压块智能检测计划。对于供应商来说,压块运输价格便宜、效率较高,是一种十分好的废钢运输形式。然而无论人工或者视觉形式都无奈检测出压块外部的状况,而用友的三级预警形式可能无效帮忙钢企接收压块洽购。 落地功效用友通过智能化形式帮忙钢铁企业实现经济和社会价值。首先,用友助力企业实现降本增效,降本增效规模达到千万级。其次,用友助力企业节能减排,缩小钢企二氧化碳排放量达到288万吨。以下数据是基于其中一家钢铁企业装置废钢智能判级零碎后产生的价值,人员老本从30人降落到11人,采钢老本从330万元降落到110万元,缩小经济损失达到了1100万。不仅如此,在生产过程中,用友为客户缩小了15%复议率,同时纸质单据取缔率达到90%,安全事故发生率为0。因而,对于客户来说,无论经济效益,还是在平安生产过程中的施行成果,都能失去显著晋升。以后,越来越多的钢铁企业正在摸索智能化转型路线,将来用友也将持续和飞桨携手,为这些企业发明更大的经济价值和社会价值。

January 31, 2023 · 1 min · jiezi

关于paddle:PaddleBox百度基于GPU的超大规模离散DNN模型训练解决方案

作者 | 焦学武、李淼 导读 本文介绍百度基于GPU的超大规模离散DNN训练框架PaddleBox。PaddleBox 打造了业界首个层次化GPU稠密参数服务器,联合高效的流水线调度架构,以及多机多卡的分布式架构,反对单机10TB级/多机数十TB模型训练,具备低成本、高性能、高稳固、灵便易用的多重劣势。PaddleBox于2019在百度凤巢首次上线,目前已在百度广告零碎全面落地,笼罩搜寻广告、信息流广告、联盟广告业务,相比传统CPU解决方案,资源性价比晋升5~40倍。注:本文基于2020年百度内网文章批改而成。全文5246字,预计浏览工夫24分钟。01 超大离散DNN模型训练的背景与挑战精准的广告是很多互联网产品重要的盈利形式之一,基于海量数据的广告零碎可能很好的匹配用户的用意,为用户带来良好产品体验,同时晋升商业变现效率。CTR预估模型是广告零碎中十分重要的一环,被誉为“镶嵌在互联网技术上的明珠”,而高效稳固的训练框架则是CTR模型日常迭代更新的基石。 近年来深度学习迅猛发展,百度早在2014年就曾经将DNN模型利用到广告零碎,是国内首个将大规模DNN用在广告畛域并获得了良好效果的公司。Google 此前公布了万亿级模型 Switch Transformer,参数量达到了 1.6 万亿,其实凤巢广告模型的参数量比Google的Switch Transformer还要大,广告模型采纳了十亿级别的用户ID、Query、广告ID以及多种组合特色构建模型,特色数量能够达到千亿级别,模型训练过程中须要将千亿级的高维稠密特色转化为低维的浓密特征向量(8、16以及64维),模型参数规模高达万亿维。 △图1. 大规模离散DNN 大规模离散DNN CTR模型以Embedding Layer和 FC Layer为主,尽管与CV和NLP畛域的经典模型相比网络结构并不简单,然而宏大的参数规模、样本规模和大规模高维稠密的个性为模型的高效稳固训练提出了多重挑战。(下文把高维稠密特色对应的Embedding参数称为Sparse参数,DNN参数为Dense参数) 存储挑战。Sparse参数量可达万亿级别,存储空间占用达到10TB级别,远超单机内存,个别须要分布式全内存的存储系统。IO挑战。IO挑战来自训练样本和模型参数两个维度,很多场景每天产出亿级用户的数十亿条训练样本;每个mini-batch模型须要从千亿特色的Embedding Table中查找和更新对应的参数,须要应答超高频的参数查问和更新。计算挑战。CTR模型与NLP和CV模型不同,大部分计算不是矩阵运算,样本解析、稠密参数的查问和更新等非矩阵运算占比超过70%。02 传统分布式CPU解决方案基于多台cpu服务器的参数服务器架构是大规模模型训练的成熟计划,该计划采纳了数据并行和模型并行的混合形式,数据并行是指将训练样本扩散到多个计算节点上,模型并行是指将稠密参数扩散到多个存储节点上。参数服务器架构有两个角色Worker 和 Server。其中Worker 用于执行模型的前向和反向计算;Server 负责从各个Worekr 收集汇总梯度并更新参数。 △图2. 参数服务器的分布式训练架构 参数服务器以Scale-out的思路胜利解决了参数规模和样本规模带来的零碎可伸缩性问题,能够通过调整CPU服务器的数量来应答参数规模和样本规模的伸缩性需要,但也有本身的限度: 老本问题。训练任务占用上百台CPU服务器,此前百度大商业用于CTR模型训练的服务器靠近2万台,带来大量的硬件洽购和保护老本。通信长尾和稳定性问题。训练过程中上百台CPU服务器须要进行mini-batch级的超高频网络通信(参数拉取和梯度更新),通信长尾导致重大的性能好转,也导致了梯度过期问题,影响策略成果;此外,因为故障概率的指数级回升,基于上百台CPU服务器的训练任务存在重大的稳定性问题。算力问题。随着Gate Network、Attention等网络结构被引入到CTR模型,模型网络越来越简单,对算力的要求越来越高,CPU机器很难满足模型复杂度增长的算力需要。NVIDIA近年来始终在推动GPU通用计算能力的倒退,从2006年推出CUDA编程平台以来,面向通用计算的GPU架构先后经验了Fermi、Kepler、Maxwell、Pascal、Volta和Ampere等6代产品,最新一代的Tesla A100单精度浮点数运算性能达156 TFLOPS, 比Intel Xeon E7系列高出2个数量级,算力的晋升使得语音、图像、NLP等畛域获得了革命性的停顿,但在超大规模离散DNN场景却始终没有落地。 间接采纳GPU做参数服务器架构的Worker来解决算力问题并不可行,因为模型训练过程中高频的参数拉取与梯度更新须要频繁地进行CPU/GPU通信,难以施展GPU算力劣势,且存储超大模型须要较多GPU服务器,老本过高。 03 PaddleBox GPU 解决方案为了解决传统参数服务器架构面临的问题,本框架设计了基于GPU的PaddleBox解决方案,整体架构如下图所示: △图3. PaddleBox整体架构 PaddleBox推出了异构层次化参数服务器,通过SSD、MEM、HBM三级参数服务器高效协同的计划来晋升模型参数容量和访存速度,采纳高效的流水线调度流程使得异构硬件最大化并行,充分发挥异构硬件劣势,实现单台GPU服务器反对10TB级模型高效训练。为了反对更大规模的模型和样本,PaddleBox基于多机进行扩大,设计了性能近线性减速比的分布式架构。而且PaddleBox与Paddle共建开源生态,可反对简单模型的疾速接入与调研,具备低成本、高性能、高稳固、灵便易用的多重劣势。 PaddleBox打造了业界首个分布式GPU 稠密参数服务器,上面将具体介绍PaddleBox是如何解决模型训练的多重挑战的。 3.1 异构层次化参数服务器 △图4. 异构参数服务器 3.1.1 撑持超大模型参数存储的SSD参数服务器GPU服务器领有超强的算力,从算力角度,单台或几台GPU参数服务器的算力就能够反对超大规模模型的训练。然而从存储角度,几台机器的内存和显存无奈存储10TB级的模型参数,因而也就无奈进行模型训练。为了应答超大规模模型的存储挑战,在HDD、NVMe SSD、Optane 和 AEP等多种硬件存储设备间,综合思考训练所需的存储容量、性能和老本等多方面因素,最终抉择SSD作为全量参数存储设备。 测试显示在Raid0 下的SSD的读写性能仍旧落后于内存1-2个数量级,业务场景对读写性能要求十分高,传统的SSD索引一次检索须要屡次IO,性能太差,为此零碎进行多重性能优化。 IO优化:通过构建多级全内存hash索引,实现了对SSD数据一次性的精确读写,每次查问最多一次IO。查问剪枝:联合数据拜访的冷热比例,MEM Cache 存储热数据;应用BloomFilter判断以后key 是否在SSD上进一步升高有效的访盘次数。这两种剪枝策略使得SSD查问次数升高一个数量级。底层优化:通过异步IO和数据对齐等优化技术,SSD读写性能晋升5倍,中转SSD实践极限5*3GB/s。 △图5. SSD参数服务器构造 ...

November 1, 2022 · 1 min · jiezi

关于paddle:再添神器Paddlejs-发布-OCR-SDK

关键词:OCR、Paddle.js、PaddleOCR 01 前言OCR(Optical Character Recognition,光学字符识别)是文字辨认的统称,不仅反对文档或书本文字辨认,还包含辨认天然场景下的文字,又能够称为 STR(Scene Text Recognition)。 OCR 文字辨认个别包含两个局部,文本检测和文本辨认;文本检测首先利用检测算法检测出图像中的文本行;而后检测到的文本行用辨认算法去辨认出具体文字。 OCR SDK(@paddlejs-models/ocr) 所依赖的技术次要蕴含两大部分:百度开源的超轻量级文字辨认模型套件 PaddleOCR 和基于 JavaScript 的前端深度学习推理引擎 Paddle.js。接下来将对 PaddleOCR 和 @paddlejs-models/ocr 进行具体介绍。 02 PaddleOCRPaddleOCR 是百度开源的超轻量级文字辨认模型套件,提供了数十种文本检测、辨认模型,旨在打造一套丰盛、当先、实用的文字检测、辨认模型/工具库,助力使用者训练出更好的模型,并利用落地。目前,不仅开源了超轻量 8.6M 中英文模型,而且用户能够自定义训练,应用本人的数据集 Fine-tune 一下就能达到十分好的成果。并且提供了多种硬件推理(服务器端、挪动端、嵌入式端等全反对)的一整套部署工具,是 OCR 文字辨认畛域工业级利用的绝佳抉择。 在 Paddle.js 框架内应用的模型是:ch\_PP-OCRv2\_det\_infer 文本检测推理模型和 ch\_PP-OCRv2\_rec\_infer 文本辨认推理模型。 对于之前 PP-OCR 版本模型,次要有三个方面晋升: 在模型成果上,绝对于 PP-OCR mobile 版本晋升超 7%;在速度上,绝对于 PP-OCR server 版本晋升超过 220%;在模型大小上,11.6M 的总大小,服务器端和挪动端都能够轻松部署。 GitHub 我的项目: https://github.com/PaddlePadd... 03 @paddlejs-models/ocr@paddlejs-models/ocr 是运行在浏览器端的模型 SDK,提供文本辨认 AI 能力。SDK 封装两个API:init(模型初始化)和 recognize(文本辨认),外围代码如下: import * as ocr from '@paddlejs-models/ocr';// 模型初始化await ocr.init();// 获取文本辨认后果API,img为用户上传图片,option为可选参数 // option.canvas as HTMLElementCanvas:若用户须要绘制文本框选区域,传入canvas元素// option.style as object:若用户须要配置canvas 款式,传入style 对象// option.style.strokeStyle as string:文本框选色彩// option.style.lineWidth as number:文本框选线段宽度// option.style.fillStyle as string:文本框选填充色彩const res = await ocr.recognize(img, option?);// 辨认文字后果console.log(res.text);// 文本区域坐标console.log(res.points);import * as ocr from '@paddlejs-models/ocr';// 模型初始化await ocr.init();// 获取文本辨认后果API,img为用户上传图片,option为可选参数 // option.canvas as HTMLElementCanvas:若用户须要绘制文本框选区域,传入canvas元素// option.style as object:若用户须要配置canvas 款式,传入style 对象// option.style.strokeStyle as string:文本框选色彩// option.style.lineWidth as number:文本框选线段宽度// option.style.fillStyle as string:文本框选填充色彩const res = await ocr.recognize(img, option?);// 辨认文字后果console.log(res.text);// 文本区域坐标console.log(res.points);GitHub 我的项目: ...

October 18, 2022 · 2 min · jiezi