关于深度学习:业务安全大讲堂2022全年大回顾

数字化的深刻遍及,让企业的业务更加凋谢互联。企业的外围业务、要害数据、用户信息、基础设施、经营过程等均处于边界含糊且日益凋谢的环境中,在电商、领取、信贷、账户、交互、交易等各种状态的业务场景中,存在着形式多样的欺诈行为。而业务欺诈的背地是一群规模宏大的黑灰产。据权威部门披露的数据显示,黑灰产从业人员近200万,每年造成的损失达数千亿元。 国内首部业务平安专著《攻守道——企业数字业务平安危险与防备》对黑灰产进行过重点分析。黑灰产相熟业务流程,可能发现业务存在的破绽,联合自动化、智能化的新兴技术,设计出各类攻打工具和欺诈伎俩,对购物、金融、社交、出行、教育、游戏等业务造成极大威逼,影响企业经营和倒退。 此外,IDC公布的《IDC创新者: 中国业务平安之反欺诈技术》认为,中国数字化转型及数字化原生企业将长期面临业务欺诈的严厉挑战。业务的衰弱稳固不仅是企业营收的重要保障,更是企业信用和生存倒退的决定因素。 业务平安就是联合各类技术,对用户行为危险、业务逻辑危险、网络攻击危险、数据泄露危险等进行智能评估,通过优质的业务平安产品和服务帮忙企业无效抵挡业务欺诈威逼,解决各个业务环节的平安问题,为业务的稳固、平安运行保驾护航。作为平安服务中最贴近业务、最间接面向用户外围价值的一个体系,业务平安波及根底网络安全、客户端平安、风控、大数据、人工智能等技术,更须要与金融、批发、航旅、能源、供应链、工业制作等的具体业务相结合。 为了让企业疾速理解各类危险欺诈及背地的黑灰产变动,帮忙企业可能无效地使用各种伎俩进行危险防控,2022年6月起,顶象邀请国内外出名业务平安专家,隆重推出国内首个业务平安视频直播课“业务平安大讲堂”。 2022年行将迎来序幕,咱们特将2022年度顶象业务平安大讲堂做了盘点回顾,感兴趣的同学可返回顶象视频号查看相干内容。 第一期:《意识业务平安》2022年6月10 日,顶象首期业务平安大讲堂正式开讲,针对时下炽热的数字藏品乱象,顶象特邀讲师vincent老师起底NFT和数字藏品,具体解说数字藏品以及其背地面临的业务平安危险和应答防控措施,为意欲入局数字藏品的多方答疑解惑。 史博老师指出,无论是NFT还是数字藏品,都领有着后劲微小的市场空间,现有的增长率已非常高,但同时也面临着各种各样的危险。首先,数字藏品须要在平台上发行,那平台方面临的业务危险问题层出不穷,监管合规、账号平安保障、产权保护等;其次数字藏品购买用户自身,也会面临一些钓鱼、欺骗等问题以致被盗或亏损,且因为二级市场的存在,仍会有炒作危险存在;最初对于开发商而言,数字藏品开发进去后,选哪个平台上架?平台是否平安?数字藏品在下面是否有遗失危险?这些问题都是须要慎重考虑的,因为数字藏品不可再生,一旦遗失就是资产损失。 因而,平台方须要做好终端平安防控,避免APP被破解,避免用户手上的设施被歹意利用;其次,做到接口平安,在接口层面爱护数据链路,避免被中间人攻打、不被伪造篡改等;同时在账号层面,增设新一代智能无感验证码做好人机辨认,保障账户平安,谨防黑灰产机器流量;最初在交易过程中,做好对歹意抢购的监控和锁单捡漏的辨认和防护。通过构建上述提到的残缺平安防护,以此来反抗黑灰产工具产生的相干攻打。 第二期:《业务平安平台的架构设计》7月7日,顶象《业务平安大讲堂》系列直播课第二期正式开课,本期直播课主讲嘉宾是顶象CTO 赫兹。从业务平安技术对于企业的重要性以及搭建业务平台架构的必要性谈起,深度分析了业务平安的重要性,就如何搭建业务平安平台架构提出了倡议。 针对业务平安面临的挑战和问题,联合业务平安技术的演进趋势,晓科认为以后业务平安平台架构应重点关注是否反对多场景笼罩、是否能够笼罩多环节,做到全链路防控。同时,在技术层面,要面向中台设计,防止烟囱式建设,紧贴监管方向,保障性能和稳定性,兼顾平安和运维,反对AI深度赋能,凋谢共享经营教训。 第三期:《评分卡模型的开发与利用》8月4日,顶象研发总监无常就评分卡模型开展分享,具体介绍了评分卡模型的原理、评分卡模型的构建过程、评分卡模型的开发投产以及顶象的评分卡模型实际。 第四期:《业务平安平台外围模块解析——设施指纹》家喻户晓,成熟的设施指纹技术作为每一家反欺诈企业的大数据风控的关键技术之一,想必大家并不生疏,但很少有人真的分明设施指纹到底是什么,设施指纹又在风控体系中施展着怎么的作用? 8月25 日,顶象技术总监杜威就新一代设施指纹技术讲起,从设施指纹的概念、设施指纹技术的难点、设施指纹的外围指标以及当下设施指纹应该具备怎么的能力讲起,深度分析设施指纹技术的前世今生,从技术角度为大家解说设施指纹技术在风控体系中的重要作用。 整体来看,设施指纹在唯一性和稳定性层面,不仅做到了避免采集逻辑被破解或数据伪造,从数据采集源头上保障真实性和准确性,并且针对黑灰产对设施参数进行篡改伪造(篡改IMEI、MAC地址、AndroidId、SIM卡信息、机型、品牌等),或是禁用、革除缓存和cookie等危险,可能保障设施指纹放弃不变,稳定性放弃在99%以上,为每一台设施生成的设施指纹ID寰球惟一,不可被篡改,唯一性上放弃在100%,响应工夫小于0.1秒、解体率小于1/10000。 第五期:《保险代打卡反抗实战》9月 8 日,顶象产品总监tommy就保险代打卡反抗实际开展分享。具体介绍了保险行业的倒退背景、行业现状、痛点以及保险行业的危险,进而谈到了保险行业代打卡的三种危险(人脸识别劫持危险、内外勾结获利危险、内控治理危险)以及顶象的防控伎俩。 保险代打卡即保险公司员工应用黑产提供的打卡舞弊工具,绕过人脸识别,躲避保险公司的职场打卡监控,实现人无需到职场或替打卡即可每天实现考勤打卡,套取公司奖金、绩效和队伍建设费,给公司造成大额资产损失,减少有效的人力老本耗费;且少量员工长期这样的平心而论,让本来干实事的好员工也一起退出打卡舞弊的行列,对公司倒退、业务效率均有极大的负面影响。 其危险次要有三种:人脸识别劫持危险、内外勾结获利危险、内控治理危险。 第六期:《业务平安平台外围模块解析之挪动端平安攻防》9月28 日,顶象挪动平安专家邱寅峰就挪动端平安面临的威逼和挑战讲起,具体讲述如何在挪动端进行平安攻防,诸如HOOK 的攻防反抗、动态代码的攻防反抗、动静代码的攻防反抗、root的攻防反抗以及地理位置模仿的攻防反抗。 第七期:《双十一电商行业业务平安解析》10月13日,顶象资深解决方案专家鳯羽从电商行业的危险及双十一业务平安的防控难点讲起,深度分析了双十一期间电商行业可能遇到的危险,诸如薅羊毛、刷单炒信、账号盗用、歹意退货等,并针对电商行业的危险和防控难点提出了针对性的防控思路。 针对双十一业务的复杂性,鳯羽认为应思考事先、事中、预先的全流程防控体系。在事先阶段通过情报理解最新的黑灰产攻打动向,包含攻打手法、攻打指标、攻打工夫点等,做好充沛的反抗筹备;事中阶段通过策略、模型、名单等积淀能力进行实时危险监测、阻断;预先阶段对历史危险进行复盘总结,优化事先防控机制。 第八期:《电商平安风控策略利用实战》10月27日,顶象资深策略专家安心就业务平安风控策略的实操要点为大家做了详尽的介绍,次要从四个维度开展,即风控体系搭建所须要的平台,决策引擎的底层架构性能、策略专家必备的三个能力、风控策略的实操流程、产品如何配合风控策略。 第九期《关联网络技术在业务平安中的利用》11月10日,顶象数据科学家翼龙带来主题为《关联网络技术在业务平安中的利用》的直播。 直播内容包含常见的团伙欺诈场景、关联网络在反团伙欺诈中的作用、关联网络的技术框架,并就关联图谱构建和简单网络算法开展了具体的探讨,最初以案例的模式形象地展现了如何将关联网络技术利用到理论的业务中去。 第十期:《智能模型平台》11月24日,顶象第十期业务平安系列大讲堂系列课程《Xintell 模型平台 》正式开讲。 顶象人工智能专家&研发总监无常从模型平台的现状与需要登程,带大家理解了模型平台的开发环境与部署环境,并且就顶象的Xintell 模型平台 为大家做了演示。 第十一期:《手机银行人机验证解决方案》12 月22 日,顶象资深解决方案专家鳯羽就手机银行的人机解决方案讲起,从人机验证需要的诞生、验证码的倒退演变、手机银行验证码降级的必要性等方面为大家深度分析了手机银行的最优解决方案。——————业务平安产品:收费试用业务平安交换群:退出畅聊

December 28, 2022 · 1 min · jiezi

关于深度学习:如何写一个深度学习编译器

编译器实质上是一种进步开发效率的工具,将高级语言转换为低级语言(通常是二进制机器码),使得程序员不须要徒手写二进制。转换过程中,首要任务是保障正确性,同时须要进行优化以晋升程序的运行效率。传统意义上的编译器的输出通常是某种高级语言,输入是可执行程序。在理论工作中接触到了深度学习编译器开发,其设计思维与传统编译器十分相似,所以本文以深度学习编译器的开发、联合咱们理论开发的深度学习编译器 MegCC 为例,来阐明如何写一个编译器。 本文次要分为以下两个局部: 介绍深度学习编译器,重点介绍编译器中前端和后端的优化办法。以 MegCC 为例介绍如何开发一个深度学习编译器。深度学习编译器简介与传统编译器不同,深度学习编译器的输出是神经网络模型、输入是可运行在不同平台的表白了输出的神经网络模型的计算过程的可执行程序。但深度学习编译器又与传统编译器相似,都分为前端和后端,前端负责执行硬件无关的优化,后端负责执行硬件相干的优化。对编译器来说,最重要的两个概念是 IR(intermediate representation, 两头示意)和 Pass。对于人类来说,形象是了解复杂事物的一种重要形式,IR 就是对编译过程两头产物的形象,IR 通常有多级,越高级的 IR 越形象,越低级的 IR 越具体。Pass 定义了如何将高级 IR 逐渐 lowering 到低级 IR,并负责进行优化。上面依据前端和后端进行分类,介绍优化的办法。 前端优化办法前端首先须要依据输出的模型构建计算图,生成 high-level IR,而后进行一系列的优化。因为优化是基于计算图的,并不波及具体计算,所以该优化是后端无关的。常见的优化伎俩有可分为三类:node-level optimizations;block-level optimizations; dataflow-level optimizations。 node-level optimizations。节点层面的优化次要是打消一些不必要的节点以及将某些节点替换为代价更小的节点。比方应用矩阵 A 与一个 0 维矩阵相加,则可打消该加法操作。block-level optimizations。块层面的优化次要有代数简化和算子交融。 a. 代数简化,例如 A^T 和 B^T 进行矩阵乘,则可应用 B 与 A 矩阵乘之后进行转置进行替换,可节约一次转置运算。 b. 算子交融是常见的深度学习的优化伎俩。算子交融尽管不能缩小计算量,然而能够缩小访存量,进步计算访存比,从而晋升性能。dataflow-level optimizations。数据流层面的优化次要有动态内存布局等。 a. 动态内存布局通过在不产生内存重叠的前提下尽可能复用内存,使得程序运行时所应用的内存尽可能小。后端优化办法后端通用的优化有循环展开、循环交融、覆盖访存等;另外依据硬件的不同,可应用基于硬件的指令映射、向量化等并行计算以及手工编写汇编 kernel 等伎俩进行针对性优化。图 1 展现了罕用的后端优化办法 1 <p align=center>图 1 后端罕用优化办法</p> MegCC接下来就以 MegCC 为例概括介绍一下基于 MLIR 实现一个深度学习编译器,其要害就是如何依据需要定义一系列 IR,以及定义 Pass 将高级 IR lowering 到低级 IR,同时进行上述优化。 ...

December 27, 2022 · 4 min · jiezi

关于深度学习:CSC-B07软件设计

CSC B07 Software DesignFall 2015 — Assignment 1Logistics• Due date: Thursday 22 October 11:59pm• Group size: IndividualOverviewFor Assignment 1, you will implement a set of Java classes according to the UML diagrams provided inthis assignment description. To help make sure you have properly translated the UML diagrams into code,we have provided a type checker with your starter code; make sure to check your code with it before theassignment due date.Learning GoalsBy the end of this assignment, you should have: ...

December 27, 2022 · 8 min · jiezi

关于深度学习:PyTorch的Dataset-和TorchData-API的比较

深度神经网络须要很长时间来训练。训练速度受模型的复杂性、批大小、GPU、训练数据集的大小等因素的影响。 在PyTorch中,torch.utils.data.Dataset和torch.utils.data.DataLoader通常用于加载数据集和生成批处理。然而从版本1.11开始,PyTorch引入了TorchData库,它实现了一种不同的加载数据集的办法。 在本文中,咱们将比拟数据集比拟大的状况下这两两种办法是如何工作的。咱们以CelebA和DigiFace1M的面部图像为例。表1显示了它们的比拟特色。咱们训练应用ResNet-50模型。而后进行1轮的训练来进行应用办法和工夫的比拟。 数据集的信息如下: CelebA (align) 图片数:202,599 总大小:1.4 图片大小:178x218 DigiFace1M 图片数:720,000 总大小:14.6 图片大小:112x112 咱们应用的环境如下: CPU: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz(16核) GPU: GeForce RTX 2080 Ti 11Gb 驱动版本515.65.01 / CUDA 11.7 / CUDNN 8.4.0.27 Docker 20.10.21 Pytorch 1.12.1 TrochData 0.4.1 训练的代码如下: def train(data_loader: torch.utils.data.DataLoader, cfg: Config): # create model model = resnet50(num_classes=cfg.n_celeba_classes + cfg.n_digiface1m_classes, pretrained=True) torch.cuda.set_device(cfg.gpu) model = model.cuda(cfg.gpu) model.train() # define loss function (criterion) and optimizer criterion = torch.nn.CrossEntropyLoss().cuda(cfg.gpu) optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9, weight_decay=1e-4) start_time = time.time() for _ in range(cfg.epochs): scaler = torch.cuda.amp.GradScaler(enabled=cfg.use_amp) for batch_idx, (images, target) in enumerate(data_loader): images = images.cuda(cfg.gpu, non_blocking=True) target = target.cuda(cfg.gpu, non_blocking=True) # compute output with torch.cuda.amp.autocast(enabled=cfg.use_amp): output = model(images) loss = criterion(output, target) # compute gradient scaler.scale(loss).backward() # do SGD step scaler.step(optimizer) scaler.update() optimizer.zero_grad() print(batch_idx, loss.item()) print(f'{time.time() - start_time} sec')Dataset首先看看Dataset,这是自从Pytorch公布以来始终应用的形式,咱们对这个应该十分相熟。PyTorch 反对两种类型的数据集:map-style Datasets 和 iterable-style Datasets。Map-style Dataset 在事后晓得元素个数的状况下应用起来很不便。该类实现了__getitem__()和__len__()办法。如果通过索引读取太费时间或者无奈取得,那么能够应用 iterable-style,须要实现__iter__() 办法。在咱们的例子中,map-style曾经能够了,因为对于 CelebA 和 DigiFace1M 数据集,咱们晓得其中的图像总数。 ...

December 27, 2022 · 4 min · jiezi

关于深度学习:ChatGPT进化的秘密

本文作者,符尧 yao.fu@ed.ac.uk,爱丁堡大学 (University of Edinburgh) 博士生,本科毕业于北京大学,与彭昊,Tushar Khot 在艾伦人工智能研究院 (Allen Institute for AI) 共同完成英文原稿,与剑桥大学郭志江独特翻译为中文,感激上海交通大学何俊贤,加州大学洛杉矶分校鲁盼,达特茅斯学院刘睿博对初稿的探讨与倡议。感激 Raj Ammanabrolu (Allen Institute for AI), Peter Liu (Google Brain), Brendan Dolan-Gavitt (New York University), Denny Zhou (Google Brain) 对终稿的探讨和倡议,他们的倡议极大水平上减少了本文的残缺度。英文版原文:https://franxyao.github.io/bl...最近,OpenAI的预训练模型ChatGPT给人工智能畛域的钻研人员留下了粗浅的印象和启发。毫无疑问,它又强又聪慧,且跟它谈话很好玩,还会写代码。它在多个方面的能力远远超过了自然语言解决研究者们的预期。 于是,咱们天然就有一个问题:ChatGPT 是怎么变得这么强的?它的各种弱小的能力到底从何而来? 在这篇文章中,咱们试图分析 ChatGPT 的突现能力(Emergent Ability),追溯这些能力的起源,心愿可能给出一个全面的技术路线图,来阐明 GPT-3.5 模型系列以及相干的大型语言模型是如何一步步进化成目前的弱小状态。 咱们心愿这篇文章可能促成大型语言模型的透明度,成为开源社区共同努力复现 GPT-3.5 的路线图。 致国内的同胞们: 在国内学术界看来,ChatGPT / GPT-3.5 是一种划时代的产物,它与之前常见的语言模型 (Bert/ Bart/T5) 的区别,简直是导弹与弓箭的区别,肯定要引起最高水平的器重。在我跟国内同行的交换中,国内上的支流学术机构 (如斯坦福大学,伯克利加州大学) 和支流业界研究院(如谷歌大脑,微软研究院)都曾经全面拥抱大模型。在以后这个阶段,国内的技术水准、学术视线、治学理念和国内前沿的差距仿佛并没有缩小,反而正在扩充,如果现状继续上来,极有可能呈现技术断代。此诚危急存亡之秋。多年当前,面对行刑队,奥雷里亚诺·布恩迪亚上校将会回想起父亲带他去见识冰块的那个边远的下午。 —— 《百年孤独》 加西亚·马尔克斯1 2020版初代GPT-3与大规模预训练初代GPT-3展现了三个重要能力: 语言生成:遵循提醒词(prompt),而后生成补全提醒词的句子 (completion)。这也是明天人类与语言模型最广泛的交互方式。上下文学习 (in-context learning): 遵循给定工作的几个示例,而后为新的测试用例生成解决方案。很重要的一点是,GPT-3尽管是个语言模型,但它的论文简直没有谈到“语言建模” (language modeling) —— 作者将他们全副的写作精力都投入到了对上下文学习的愿景上,这才是 GPT-3的真正重点。世界常识 (world knowledge):包含事实性常识 (factual knowledge) 和常识 (commonsense)。那么这些能力从何而来呢? ...

December 24, 2022 · 4 min · jiezi

关于深度学习:MindStudio训练营第一季基于UNet网络的图像分割的MindStudio实践

前情阐明本作业基于Windows版MindStudio 5.0.RC3,近程连贯ECS服务器应用,ECS是基于官网分享的CANN6.0.RC1_MindX_Vision3.0.RC3镜像创立的。 基于ECS(Ascend310)的U-Net网络的图像宰割1. U-Net网络介绍:U-Net模型基于二维图像宰割。在2015年ISBI细胞跟踪比赛中,U-Net取得了许多最佳奖项。论文中提出了一种用于医学图像宰割的网络模型和数据加强办法,无效利用标注数据来解决医学畛域标注数据有余的问题。U型网络结构也用于提取上下文和地位信息。 2. ECS运行阐明咱们的操作根本都在root用户下执行。 首先,批改bash,具体命令和后果如下。 本我的项目反对MindStudio运行和终端运行。 (1)下载我的项目代码下载链接:https://alexed.obs.cn-north-4... 将我的项目文件unet_sdk.zip上传至华为云ECS弹性云服务器/root/目录下,并解压;或者下载到本地电脑,用MindStudio关上。将之前unet_hw960_bs1.air模型放到/unet_sdk/model/目录下。 我的项目文件构造├── unet_sdk ├── README.md ├── data //数据集 │ ├── 1 │ │ ├──image.png //图片 │ │ ├──mask.png //标签│ ... ├── model │ ├──air2om.sh // air模型转om脚本 │ ├──xxx.air //air模型 │ ├──xxx.om //om模型 │ ├──aipp_unet_simple_opencv.cfg // aipp文件 ├── pipeline │ ├──unet_simple_opencv.pipeline // pipeline文件 ├── main.py // 推理文件 ├── run.sh // 执行文件 ├── requirements.txt // 须要的三方库(2) 模型转换将unet_hw960_bs1.air模型转为昇腾AI处理器反对的.om格局离线模型,此处模型转换须要用到ATC工具。 昇腾张量编译器(Ascend Tensor Compiler,简称ATC)是昇腾CANN架构体系下的模型转换工具,它能够将开源框架的网络模型或Ascend IR定义的单算子形容文件(json格局)转换为昇腾AI处理器反对的.om格局离线模型。模型转换过程中能够实现算子调度的优化、权值数据重排、内存应用优化等,能够脱离设施实现模型的预处理。 ...

December 24, 2022 · 4 min · jiezi

关于深度学习:对比PyTorchTensorFlowJAXTheano我发现都在关注两大问题

作者|王益OneFlow社区编译翻译|杨婷 最近,我在解决 PyTorch 分布式和 TorchRec 相干的工作,为此,我开始学习 PyTorch 2.0。在业余时间,我也在跟着Alpa作者学习JAX和XLA。现在回顾这些技术,我发现它们的关注点仿佛都是如下两个问题: 蕴含主动求导和并行在内的函数转换,例如 vmap, pmap 和 pjit 等;异构计算,CPU 负责控制流,GPU/TPU 负责张量计算和汇合通信。 本文档中的所有例子都反对在 Colab 中运行: 1函数转换“函数转换”意为将一个程序转变成另一个程序,最常见的例子是主动求导(autograd)。主动求导采纳用户编写的前向过程并创立后向过程,对于用户来说,编写主动求导通常都太过简单。函数转换的次要难点在于:在编写函数转换算法时以何种形式示意输出和输入过程。 Theano:显式地构建 IR Theano是最早的深度学习工具之一,也就是现在为人们所熟知的Aesara我的项目。Theano有一个容许用户在内存中将IR构建为数据结构的API,因而Theano可实现主动求导,并将后果输入为 Python 函数。 import aesarafrom aesara import tensor as ata = at.dscalar("a") # Define placeholders, which have no values.b = at.dscalar("b")c = a * b # c now contains the IR of an expression.TTdc = aesara.grad(c, a) # Convert the IR in c into another one, dcf_dc = aesara.function([a, b], dc) # Convert the IR into a Python function,assert f_dc(1.5, 2.5) == 2.5 # so we can call it.TensorFlow 1.x:用于运行 IR 的虚拟机 ...

December 21, 2022 · 4 min · jiezi

关于深度学习:业务安全情报预知发现黑灰产的企业攻击

业务遭逢欺诈危险,发动攻打的黑灰产次要是为了谋取利益。对于黑灰产利益目标甄别须要多方面情报,再辅助技术和专家教训,而后进行综合判断,进而帮忙企业及时响应、精准布控。 平安情报帮忙企业提前发现攻打12月13日,“现异地购药攻略抢占县城退烧药”冲上热搜。顶象进攻云业务平安情报中心监测发现,多个社交平台上有用户公布了“异地网购药品攻略”。攻略称,只需将软件的定位批改到广西、西藏、新疆等地,再通过快递的形式就能抢购中小城市药店的布洛芬、美林、泰诺林等退烧药品。 数字业务危险传播速度快,涉众广,传染性强,当在某个平台的侦测到危险,会被迅速复制到其余业务平台。尽管后,多个平台呈现相似批改定位的抢购景象。不仅扰乱平台秩序,更给小县城的感染者们带来了更大的隐患。 相似的情报在汽车App和数字藏品畛域均呈现过。 8月份,顶象进攻云业务平安情报中心监测发现,二手车平台和社区里,有大量的车企用户积分、商品抛售的音讯,波及车企平台泛滥,且局部卖家写明可长期供给,反对代下单等字样,挂售积分也远超个人用户通过打卡工作获取的积分数量。果然,某出名新能源汽车App遭黑灰产疯狂薅羊毛,给车企带来经济与用户的双重损失。黑灰产通过技术手段,注册大量虚伪账号,并应用自动化舞弊工具进行养号、积攒积分。 7月份,顶象进攻云业务平安情报中心监测发现,多个网友通过电商、论坛、IM等形式被动分割到黑灰产,付费帮忙其伪造投票量和新用户注册量,而后支付NFT平台的处分。黑灰产借机注册大量虚伪账号,哄抢平台上首发、稀缺、宝贵的数字藏品。而后通过电商平台折价出售。 为企业反欺诈提供全局视角顶象与信通院联结公布的《业务平安白皮书》披露,一方面,各种状态的业务场景中,存在着模式多 样的欺诈行为;另一方面,欺诈团伙出现专业化、产业化、组织化的状态,黑灰产可能发现业务存在的破绽,够纯熟利用各类新技术,一直开发和优化各类攻打工具。 因为业务的行业特色显著且差别大,各行业业务场景丰盛,应用环境繁冗,平安需要多样。同时,黑灰产相熟各项业务流程及破绽,可能娴熟的使用各种新技术,而且有打算、有预谋。这就导致企业难以防控最新的业务危险,无奈从全局视角洞察欺诈危险。业务平安情报通过知己知彼的过程,让威逼攻打变得平面可见,帮忙企业减速对行业中新型威逼的布防速度和能力,帮忙企业提前获取黑灰产动员威逼的工具、门路、用意等信息,勾画出攻击者画像。让平安经营人员及时疾速进行应急响应,推动进攻的被动化,更能够实现预先的危险特色积淀。 业务平安情报是指从平安数据中剖析出与业务威逼相干的信息,通过对数据的汇总整顿、加工生产、剖析利用及协同共享机制,从而提炼总结出有价值情报内容。业务平安情报不仅推动平安数据共享,买通了各个业务的孤岛,实现由被动抵挡到被动防护,帮忙企业把握平安主动权。 顶象业务平安情报领有 30000+危险源,蕴含来自对黑灰产社区社群、暗网论坛、守法违禁网站和App的监测,以及打码平台、众包平台、行业非危险数据的共享等。基于对危险数据的人群画像、行为评分、关联关系剖析、团伙欺诈开掘、场景危险特征分析,以及专家业余教训的判断和定位后,提炼总结剖析出电信欺骗危险、IP地址危险、设施危险、涉毒涉诈危险、交易危险以及不同行业危险的业务平安情报,为平安人员提供及时、精确、无效的情报内容,帮忙平安人员零碎掌握业务平安态势、威逼门路、影响范畴等,剖析挖掘出攻打特色、潜在隐患,从而及时无效晋升平安应急响应能力,制订迷信无效的防控策略。 业务平安情报能够帮忙企业疾速理解到攻打方特战、目标、伎俩等信息,从而帮忙提前做好威逼防备、及时调整进攻策略,提前预知攻打的产生,从而实现较为精准的动静进攻,更高效地进行预先攻打溯源。 —————— 业务平安产品:收费试用业务平安交换群:退出畅聊

December 20, 2022 · 1 min · jiezi

关于深度学习:RNN和LSTM的理解

第一章 绪论1.1 why RNN?工夫序列数据---自然语言作为前向反馈网络的全连贯神经网络和卷积神经网络,不能很好的思考到工夫序列数据之间的序列关系,然而RNN能够! 1.2 what is RNN?单看一个神经元 全局看 1.3 RNN的局限RNN神经网络在神经网络参数更新的时候容易呈现梯度隐没或者梯度爆炸的状况 第二章 LSTM神经网络2.1 why is LSTM?LSTM神经网络绝对RNN神经网络来说有更好的长时间序列的学习能力LSTM神经网络绝对RNN只是神经网络单元中多了一些管制门的计算LSTM神经网络的准则是:因记忆能力无限,记住重要的,遗记无关紧要的LSTM领有三种类型的门构造:忘记门、输出门和输入门2.2 what is LSTM? 第三章 总结从模型的角度来说,RNN神经网络和LSTM神经网络的最大区别就是LSTM神经网络多了几个门单元和一个传送带来管制学习到的工夫序列信息的重要性,从而对有用信息进行保留,无用的信息进行去除的目标,同时LSTM神经网络也从肯定水平上缓解了RNN神经网络的梯度隐没问题。然而RNN神经网络还是根底,从模型的运行角度来说,RNN神经网络和LSTM神经网络的运行是简直截然不同的,因而必要在学习搞懂RNN神经网络的根底下来学习LSTM神经网络。 参考链接

December 16, 2022 · 1 min · jiezi

关于深度学习:OpenAI掌门人Sam-AltmanAI的下一个发展阶段

起源|GreylockOneFlow社区编译翻译|胡燕君、贾川 预报了一整年的GPT-4迟迟没来,人们猜测OpenAI是不是要跳票了,更何况他们之前的得意之作DALL-E也被开源Stable Diffusion打了个措手不及,再不来点深水炸弹业界位置危矣。 不过,就在大家认为往年OpenAI将以寂静开场时,聊天机器人模型ChatGPT横空出世,让人们看到了AI的更大创造力,聚光灯也再度打到了OpenAI的身上。 往年9月,LinkedIn联结创始人Reid Hoffman与OpenAI首席执行官Sam Altman进行了一场对话,而肩负着雄伟使命且极富远见的Altman就曾预言:AI行将迎来下一个倒退阶段。现在,大型语言模型越来越先进,也呈现了能够实现文本-图像互相转换的多模态模型,一些AI利用还可令科学家锦上添花。在他眼中,AI是一个能够孵化出有数工具,推动各行各业后退的根底平台。 随着AI行业的不断进步,AI利用不再只是充斥着行业热词的纸上我的项目,曾经倒退为成熟的工具,助力多个行业的生产服务,也必将催生出有数新企业。 各种AI工具已显现出微小的日常利用后劲,能够实现人类的各种想法,改善人类的工作形式,比方由Stability.ai公布的开源Stable Diffusion模型,Microsoft和OpenAI联结打造的AI编程工具Copilot,OpenAI开发的语言生成模型GPT-3和图像生成平台DALL-E以及爆火的聊天机器人模型ChatGPT。 Sam Altman还示意,5年后,咱们应该不会再应用Transformer模型了。尽管Transformer很好,但他心愿到时候会有比它更好的货色呈现,一直冲破翻新很重要。在他看来,AI能够帮忙人类发明出前所未有的新利用,这将是人类的微小的提高和胜利,是真正的科技反动。 从大模型的商业化机会、AI+利用再到AI倒退方向,Sam Altman在这场对话中分享了本人的见解。以下为对话内容,由OneFlow社区编译。 1大模型的商业机会Reid Hoffman:很多大型模型都通过API凋谢应用,可能衍生什么商业化机会? Sam Altman: 当初,语言模型曾经能够很好地利用到文案写作和教育服务畛域,我置信将来几年内,语言模型会更加弱小,将能与Google这一价值万亿美元的搜寻产品一较高下。语言模型的利用将会扭转咱们的日常生活。 以前,大家都在调侃聊天机器人,其实它很有价值,只是过后的技术还不能满足需要。当初的聊天机器人更加成熟,简直能够达到人类程度。聊天机器人能够用于医疗服务行业,提供征询和教育服务,这方面将能催生出大型企业。 我置信,不久之后会呈现多模态模型,这又将关上新场面。当初,人们能够间接用自然语言命令计算机为你实现你想做的工作,例如DALL-E图像生成工具和Copilot编程工具,都是用户向它们输出自然语言形容,而后工具主动生成用户想要的货色,用户还能够一直迭代批改本人的形容,直至工具给出称心的输入。 相似的AI利用形式会成为大趋势,能够孕育出许多大型企业。弱小的AI模型能够成为孵化各种AI利用的平台,就像智能手机的呈现催生出泛滥APP一样,它们的共同点都是能够制作有数的商业机会。 Reid Hoffman:既然大家都能够通过API应用大型模型,作为AI企业,怎样才能使本人怀才不遇,开拓本人独特的商业门路? Sam Altman:未来应该会呈现几个大型的根底模型,开发人员都将基于这些根底模型研发AI利用。但目前的状况仍然是某一家公司开发出一个大型语言模型,而后凋谢API供别人应用。 我认为,未来在根底模型和具体AI利用研发之间会有一个中间层:呈现一批专门负责调整大型模型以适应具体AI利用需要的初创企业。能做好这一点的初创公司将会十分胜利,但这取决于它们能在“数据飞轮”上走多远。(数据飞轮:应用更多数据能够训练出更好的模型,吸引更多用户,从而产生更多用户数据用于训练,造成良性循环。) 我对初创企业训练模型的能力持狐疑态度,未来承当模型训练角色的应该不会是初创公司,但这些企业能够在上述的中间层角色中施展微小价值。 Audience Member:将来会不会呈现垂类AI初创公司,专门为具体产业调整根底模型?提醒词工程(Prompt Engineering,批改向AI输出的工作形容,使AI的输入后果更合乎用户的需要)未来会不会成为企业的外部职能? Sam Altman:五年后咱们将不再须要提醒词工程,或者只需在这方面做大量工作。 未来的AI零碎不会因为增补了某个特定词就会产生截然不同的输入,而是能够较好地了解自然语言,用户只需以文本和语音模式输出指令,即可让计算机实现图像生成、材料钻研、心理咨询等简单工作。 总的来说,用户只须应用自然语言就能够与计算机交互,当然,如果艺术家能想出更有创造性的形容,也天然就能够生成更好的图像。 2“AI+”时代:AI for Science、元宇宙Reid Hoffman:在迷信畛域,AI模型能够施展什么作用? Sam Altman: 当初科学界对AI的利用分为两种。一种是将AI工具间接用于迷信目标,如AlphaFold(用于蛋白质构造预测),它们能够发明微小价值,置信将来会呈现有数这样的工具。 另一种是将AI工具用于晋升科研工作效率,如帮科学家和工程师找到新钻研方向、写代码等。Copilot编程工具就是一个例子。但AI工具的能力远不止于此。上述两种AI利用将会大大推动科技后退。 此外,目前科学界也在摸索对AI的第三种利用形式——让AI成为能够“自我改良”的科学家。这件事件既有益处也有危险。 好的一面是,能够利用AI将人类的工作内容自动化,教会AI做任何人类能够做的事件:摸索新迷信、提出实践解释、验证、思考等,或者还可借此解决困扰人类已久的“AI对齐问题(Alignment Problem)”(即如何让AI零碎的指标合乎人类的价值观)。危险在于,有人放心懂得“自我改良”的AI有可能会像科幻小说刻画的那样,擅自改变代码或批改优化算法。 我坚信,真正有利于促成人类和经济的前行的,是一个可能推动迷信提高的社会架构。咱们能从这样的社会架构中获益很多。 Audience Member:像GPT-3这样的根底模型会如何影响生命科学钻研的步调?生命科学钻研中有没有一些技术手段无奈克服的限度因素,比方自然规律等? Sam Altman: 目前的可用模型还不够好,不足以对生命科学畛域产生重大影响——不少生命科学家理解这些模型之后都说,它们只能在局部状况下施展些许作用。AI在基因组学畛域有一些很有前景的利用方向,但目前尚属起步阶段,不过我很看好。我认为这也是市值千亿的巨头筹备进军的畛域之一。 如果AI将来真的能够让医药公司的研发速率进步几百倍,那无疑会产生深远的影响。不过如你所说,生物学的自有法则仍在,新药的临床验证须要工夫,这也是医药研发的速率限度因素。 据我所知,不少合成生物公司借助AI发现许多新的研发想法,放慢本人的研发迭代周期,但研发进去之后究竟是要进行测试,这部分工夫无奈缩减。 我认为,医药初创公司最重要的是低成本和疾速的研发周期,有了这两点就有资本参加市场竞争了。所以如果我是一家医药初创公司的决策者,一开始我不会抉择从心脏病这类大难题下手。 此外,如果我是一家AI药物研发初创公司,我会在模拟器上多下工夫,因为目前这方面还亟待改善。 Reid Hoffman:你对AI和元宇宙怎么看? Sam Altman: 元宇宙会倒退成一种新的软件容器,就像手机一样,成为一种计算机交互方式。而AI则是一场技术反动,所以问题应该是“元宇宙如何融入AI新世界”,而不是“AI如何融入元宇宙”。 当然,这仅代表我集体的观点。 Audience Member:AI工具曾经能够辅助人类进行创造性工作,AI什么时候会从创作者的辅助工具倒退为具备独立创作力的智能体? Sam Altman: 作为创作辅助工具,AI既有用也很受欢迎,但目前来看,AI在大部分的创造性工作上的能力都有待进步,将来很长一段时间内都不能代替人类创作者。可能到100年之后,AI才能够独立实现创造性工作。 十年前,大部分人都认为AI取代人类工作的秩序是:蓝领工作(卡车司机等)→低技能的白领工作→高技能的白领工作(程序员等),最初才会(兴许永远不会)取代创造性工作。当初的事实证明,AI最有可能先取代的反而是创造性工作。 ...

December 15, 2022 · 1 min · jiezi

关于深度学习:城市消费券之地理位置攻防

近期,顶象公布了《城市生产券平安调研报告》(以下简称《调研报告》)。《调研报告》从城市生产券的发放规模、核销状况、危险登程,进一步剖析除了黑灰产的舞弊伎俩以及舞弊工具。 其就舞弊伎俩而言,黑灰产哄抢城市生产券的形式有两种,一种是通过招募刷手哄抢,一种是通过舞弊软件批量争夺。获取到生产券后,再通过虚伪交易或二手转售等形式进行套现。 《调研报告》监测发现 500多个黑灰产社群,单个社群人数最高达到2500多人,在线人数高达 600 多人,每个社群中,近四分之一的人在参加生产券的抢购和套现流动。近几十万人在参加或关注生产券的交易信息,曾经形残缺的抢购、套现产业链条。 此前,咱们曾在《如何防备城市生产券被歹意爬取》一文中具体介绍过机器爬虫的舞弊伎俩。 那么,黑灰产是如何通过舞弊软件进行批量抢券的? 利用舞弊软件绕过生产券领券规定各地发放的生产券规定中明确规定,消费者只可能支付到所在城市的生产券。针对这个规定,黑灰产通过更改IP地址、伪造GPS定位实现“城市逾越”。 IP 地址就是用户上网时的网络信息地址,GPS 定位就是用户应用网络服务时所处的地理位置 信息。很多电商平台上有 IP 代理的“商品”,几块钱就可能更换任意想换的 IP 地址。而且 黑灰产有一种秒拨 IP 的工具,可能疾速无缝切换不同 IP 地址。此外,黑灰产通过一些软件 可能实现对 GPS 定位的伪造,可能实现地理位置的霎时“逾越”。通过伪造账号和设施的地址、定位后,黑灰产利用软件能够操控几十个乃至几百个账号,批量支付各个城市的“城市生产券”。 并且这种舞弊工具在任何一部手机上都能够实现,即顶象之前讲过的《地理位置模仿攻防》。 地理位置模仿顾名思义就是基于手机地理位置的模仿工具,能够通过对地位的模仿扭转以后地位。 最后,地理位置模仿是用来开发App 时测试用的,其次要目标是帮忙开发者模仿某些App 的以后地址来实现测试的定位性能,且设施无需root权限,只需通过模仿软件、第三方工具等就能够扭转所在位置的经纬度,能够穿梭到任何中央。 这对于黑灰产而言,几乎是人造的“作案工具”。 此外,顶象在第六期业务平安情报《黑灰产盯上政府生产券,最高套现额超千万》一文中也具体介绍过黑灰产的攻打伎俩和攻打套路——黑产中介为了不便更多的刷手可能顺利参加其中,会提供更改定位的教程,并提供相应的软件。通过舞弊软件更改IP、GPS等,刷手们可能立即模仿成当地的用户,胜利参加领券。 那么,如何检测你的手机是否关上了地理位置模仿性能呢? 两招检测你的手机是否被关上了地理位置模仿在非Root 权限的手机上,咱们关上开发者选项,其零碎会提供相应的API,通过调用相应的API,咱们就能够检测到以后手机是否关上了地理位置模仿性能。如果这个选项是被关上的,那么以后咱们取得的地理位置信息,可能并不是实在的,此时就须要业务方或者App 的开发者做相应的解决。但在有Root 权限的手机上,咱们不肯定须要关上开发者选项。在有Root 权限的手机上,有可能通过代码注入的形式篡改地理位置,这也就意味着篡改这部分的代码或者信息曾经注入到了整个过程中,此时就须要通过其余伎俩来检测以后的代码是否被注入。 通常咱们的检测办法有两种。 一种是通过检测文件系统中是否存在地位模仿的代码库。以下图为例,能够看到,模仿地位的代码库通过共享代码注入到代码里。个别状况下,咱们能够通过检测整体的过程空间,在过程空间里,如果发现了这部分so 文件存在,那么也就阐明这部分文件被注入到了内存里,由此也能够判断出以后App 所取得的代码信息及地位信息。第二种办法是通过逆向剖析App代码找那个是否存在加载了地位模仿的代码库。通常状况下,App的代码被注入是通过动态的办法植入到App 外面去的,App在运行过程中把这部分so 文件load 起来。通过逆向剖析,咱们就能够看到App在代码外面是否存在加载这个地位模仿的相应代码。 以下图为例,能够看到该App在代码执行的过程中,调用了代码加载的一个函数,那么由此能够判断这个App是被感化过的——在装置过程产生之前就曾经被攻击者植入了相应的代码,来进行相应的so 文件加载。当然,要防住黑灰产绝非易事,须要平台和消费者的共同努力。不仅须要有欠缺规定体系和易用的平台,让用户支付和应用便捷,更须要标准和强化平台的平安能力,避免产生生产券被截留、冒领、去向不明等问题,进而引发新的纠纷和矛盾,更须要消费者对薅羊毛、刷单、隔空刷码等违反市场秩序的行为放弃高度警觉和自制,独特保护良好、偏心的市场环境。 —————— 城市生产券调研报告:收费下载业务平安产品:收费试用业务平安交换群:退出畅聊

December 15, 2022 · 1 min · jiezi

关于深度学习:海量文本中挖掘人物关联关系核心技术介绍桂洪冠

在大数据时代,通过对指标人物的轨迹、通信、社交、出行、网络等多模态行为进行开掘并建设人物画像模型,并依靠人物根底特色和高层特色,实例化人物画像,撑持无关部门剖析人员全方位理解指标人物的行为、流动、状态、根本属性等信息,同时可能基于人物画像领导人物流动法则剖析、人物能力剖析、人物动向剖析等利用。 图1 某人物组织网络示例  本文将重点就人物关联关系开掘及其关键技术进行剖析。人物关联关系开掘是网络关系开掘中的重要一步,通过人物关联关系开掘,能够取得关系网络中的要害结点和要害门路,进一步获取更多的人物关联关系信息。人物关联关系开掘包含通联关系开掘、人物群体关系开掘、关系网络要害节点发现以及关联网络要害门路发现。  图2 人物关联关系开掘技术构造 通联关系开掘通过查找选定多个话单人物,对多人物之间的通联关系建设网络(如图2),构建人物之间的关系网络,并计算话单人物间的密切值权重。基于构建的关系网络能够做以下统计分析开掘:图3 多人物关系网络示意图 01要害节点发现 在构建的关系网络中,以用户为节点,通过PageRank算法量化不同粒度网络结构中不同主体的位置,挖掘关系网络中的要害节点,以发现沉闷及高价值人物。 02最短门路查找 在构建的关系网络中,选中两个人物,发现两个人物间的最短门路,帮忙剖析人员疾速理解人物间的关联性。 03个人发现 在构建的关系网络中,选中多个人物,发现多人物的密切社区。通过社区发现算法将整个网络中的人物划分成若干个群体。发现潜藏在关系网络中的未知的群体关系网络。在关系网络的关系类型、层级、强度开掘根底之上,将利用关联剖析技术,协同发现未知群体关系网络,实现关键人物的检测和群体性事件的预警与速报。 04搜寻独特联系人 依据已知的多个人物搜寻其独特联系人,从而剖析人物之间的关联性,发现暗藏的关系信息。 05通联统计 选中某个人物能够查看其通讯录以及相应的统计特色,例如通联频次(分时段、收发关系)、总时长、通联关系散布、通联时段(出入度)。图4 短信语义剖析示意图 人物群体关联关系开掘人物群体法则采纳统计分析和关联规定发现的办法来实现法则的开掘。 采纳Aprior算法进行关联规定的开掘。关联规定反映一个事件和其它事件之间的依赖或关联,关联规定开掘的目标就是找出数据中暗藏的关联信息。关联可分为频繁项集关联、因果关联、时序关联、数量关联等。具体如下: 01频繁项集 通过统计失去所有对象在记录中协同呈现的频次失去最常呈现的k-项集。频繁项集指的是在样本数据集中频繁呈现的项的汇合。如:在超市的交易系统中,记录了很屡次交易,每一次交易的信息包含用户购买的商品清单。 FP-Tree算法生成频繁项集,步骤如下:第一步:扫描事务数据库,每项商品按频数递加排序,并删除频数小于最小反对度MinSup的项。第二步:对于每一条记录,依照第一步中的程序从新排序。第三步:把第二步失去的各条记录插入到FP-Tree中。第四步:从FP-Tree中找出频繁项。第五步:对于每一个频繁项从FP-Tree中找到所有的频繁项结点,向上遍历它的先人结点,失去门路;对于每一条门路上的结点,其计数器都设置为以后遍历频繁项计数器的值;依据门路上结点的计数计算反对度和置信度,将大于反对度和置信度阈值的项保留,失去前件。后件即为以后遍历的频繁项。返回到第三步,递归迭代运行,直到遍历完所有频繁项。 02因果关联 通过因果关联剖析,失去事件之间的因果关系,如威逼水平为个别是阵队数量为1常在记录中同时呈现,但威逼水平为个别是阵队数量为1的果。 03时序关联 通过统计失去属性取值之间工夫先后状况。 04数量关联 通过Aprior算法失去数值型属性取值之间关联状况。如阵队数量的取值正相干于作战单位总数。Aprior算法 将发现关联规定的过程分为两个步骤:第一步通过迭代,筛选出所有频繁项集,即反对度不低于用户设定的阈值的项集;第二步利用频繁项集结构出满足用户最小置信度的规定。 关联网络要害节点发现关联网络要害节点发现实现常识图谱关系网络中对网络连通性和信息流传有重要影响的结点。发现信息网络中对网络连通性和信息流传有重要影响的结点。 01基于图的要害结点发现 通过计算图中结点的相干剖析指标来发现图中的要害结点。严密核心性:图中某个结点达到其余结点的难易水平,也就是其余素有结点间隔的平均值的倒数,即Cv=(|V|-1)/i≠vdvi。介数核心性:图中通过某个结点的最短门路数量占总门路数量的比例,即Bv=i≠j,i≠v,j≠vgivj/gij。 02基于影响力的要害结点发现 如图5所示,在异构信息网络中,要害结点可能是属于某一角色。比方,在信息流传的过程中,某些结点是信息流传的起始结点,某些结点对信息流传起到火上浇油的作用,某些结点对信息流传没有任何实质性影响,对于这种状况,能够将这三类结点别离对应三种不同的角色(A、B以及C)。因而,将要害结点发现的问题转化为角色发现的问题,通过网络中结点的角色发现进而找到要害结点。给定一个网络,具备类似构造的结点属于同一角色。非监督的学习办法RolX,主动地从网络数据集中提取结构化的角色。ReFeX的劣势在于,它可能解决大规模网络并且可能无效地捕捉到结点的区域性的特色。RolX大抵由三个局部组成:特征提取、特色分组以及模型抉择。 特征提取:ReFeX(Recursive Feature eXtraction)递归联合结点以及结点街坊的特色,而后失去结点的区域性特色。特色分组:将具备类似结构化特色的结点分为一组。于是,咱们采纳软聚类办法(每个结点均具备角色散布)对结点进行聚合。对结点特色矩阵采纳SVD或者非负矩阵合成近似失去矩阵,满足argminG,F ‖V-GF‖fro,s.t.G≥0,F≥0模型抉择:通过最小化=∑i,j(Vi,jlogVi,j/(GF)i,j-Vi,j+(GF)i,j),自动识别网络中的角色数量。图5 结点角色结构图 03基于角色的要害结点发现 从信息流传的角度看,网络中结点的影响力越大,信息流传的速度就会越快而且范畴越广。因而,可从网络重构的角度扫视影响力最大化问题,将网络中要害结点发现的问题转化为最小化重构误差的问题。 DRIM(Data Reconstruction for Influence Maximization)通过影响力最大化发现网络中的要害结点。 根本定义如下:G=(V,E,T)示意以后网络, V示意顶点汇合, E示意边汇合, T=[ti,j]n*n示意影响力流传矩阵,其中ti,j示意影响力由结点i流传到结点j的概率,即weight(i,j)/indegree(j)。 步骤如下:第一步:构建影响力矩阵X∈R^(N×N),其中Xi∈R^(1×N)示意结点i  对其它结点的影响力向量。结点i对结点j的影响力定义为: 其中,Nj={j1,j2,…jm}示意结点j的街坊结点汇合, j和 j  别离是模型的参数。由此咱们能够失去结点i的影响力向量fi=[f(i→1),f(i→2),…f(i→n)],即为Xi。 第二步:从矩阵X中抉择K行所代表的结点作为影响力结点。问题转化为最小化 J(A,): 04基于节点膨胀的要害节点 确定采纳节点膨胀办法,其原理(如图4)如下:假如Vi是网络G(V,E)中的一个节点,所谓节点膨胀是指将节点Vi与其相邻节点进行交融,即用一个新节点V'i来代替交融后的节点,且与节点V'i及其邻节点相连的边转而与新节点V'i相连接,加权网络中节点膨胀后如果外围节点与节点V'i及其邻节点有多条门路达到,新的连贯以最短门路模式膨胀。 图6节点膨胀原理示意图 05关联网络要害门路发现 关联网络要害门路发现实现撑持网络结构的要害门路的开掘。 在前文角色发现的根底上,能够通过要害结点找到图中的要害门路。现假如时态网络中存在三类角色(A、B以及C),咱们认为要害门路是以角色为A的结点为要害门路的初始结点,以B或者C为要害门路的终止结点的一条门路。基于下面的已知条件和假如,提出一种新的算法。已知一个时态网络图G(V,E) ,给定候选起始结点汇合C和终止结点R汇合,那么就能够实现斯坦纳森林的构建。通过斯坦纳森林可知,叶子结点到根结点的门路就是该图的一条要害门路。 要害门路定义:时态网络G(V,E),V是顶点汇合,边汇合E={(u,v,t)│u,v∈V,t∈R} 。在给定初始结点、终止结点汇合的状况下,要害门路就是使得总的工夫代价cost(P│R)=∑e∈Pw(e)  最小时初始结点到终止结点的门路。其中P示意时态门路汇合,w(e)示意权值函数。 基于随机游走的要害门路发现:拟采纳随机游走在网络中进行随机采样,钻研如何设计特定的模型对样本进行统计解决与剖析,并钻研如何从解决后的样本中发现网络的要害门路。 基于要害结点的要害门路发现:要害结点呈现在要害门路中的可能性要高于呈现在非关键门路中的可能性。因而,拟借鉴上一部分对要害节点发现的摸索,钻研如何对某些蕴含要害结点的门路进行剖析,并钻研如何应用特定模型判断是否为要害门路。  本文小结本文论述的人物关联关系开掘的技术构造次要波及通联关系开掘、人物群体关系开掘、关系网络要害节点发现以及关联网络要害门路发现,可利用于相干畛域大规模常识图谱自动化构建与典型利用剖析,相干技术成绩曾经在达观渊海常识图谱平台及相干我的项目中陆续转化落地。 作者简介桂洪冠,达观数据技术副总裁、联结创始人、高级工程师,中国科学技术大学计算机硕士学位,中国计算机学会CCF会员,自然语言解决技术专家,首席数据官联盟成员,苏州相城市企业家智库成员。在参加开办达观数据前,曾在腾讯文学、阿里巴巴、新浪微博等知名企业负责数据挖掘高级技术管理工作。桂洪冠在数据技术畛域领有6项国家发明专利,在大数据架构与外围算法以及文本智能解决等畛域有深厚的积攒和丰盛的实战经验。领导构建了达观基于常识和事件剖析的认知智能平台,实现了中电科团体研究所、中船重工团体研究所、深交所、华为等多个大型机构的课题我的项目钻研和工程化落地实际。

December 15, 2022 · 1 min · jiezi

关于深度学习:云计算技术是基于互联网和网络的新技术

云计算技术是基于互联网和网络的下一代技术,以不同的形式为用户提供服务。在云计算中,简略的数据资源是外包的,这些资源能够长期应用,这使得它具备老本效益,因为用户能够为他们应用的内容付费。 为了在云应用程序上工作,用户须要更快的互联网连贯和规范的 Web 浏览器。云计算技术通过将资源共享到用户的网页或 IP 地址,立刻为用户提供可扩大的按需拜访。 一、云计算技术的翻新点1.虚拟化它是在企业齐全不同的用户之间共享应用程序物理实例的许可证密钥的办法。 该技术的次要目标是向所有或任何购物者提供典型版本的云应用程序。它因其灵活性和即时运行而被宽泛应用。 虚拟化的几种类型是:硬件虚拟化: 如果虚拟机间接放在硬件服务器上,那么它被称为硬件虚拟化,因而治理虚拟机比物理服务器更容易。操作系统虚拟化:如果虚拟机装置在客户机服务器而不是硬件零碎中,则称为操作系统虚拟化。 它减少了各种软件在各种操作系统平台上的测试场景。 服务器虚拟化:如果虚拟机装置在零碎上,则称为服务器虚拟化。它被划分为不同的资源,并将用于按需负载平衡。 存储虚拟化:从不同的网络存储设备收集物理存储的过程称为存储虚拟化。它次要用于数据存储、备份和复原。 2.面向服务的体系结构面向服务的体系结构是一个应用程序,它每天将服务划分为独自的业务性能和过程。 云计算技术的这一组成部分使与云相干的安顿可能依据客户的要求进行批改和调整。面向服务的架构扩散了两个次要组成部分,一个是品质即服务,另一个是软件即服务。服务质量的性能是从不同的角度辨认服务的性能和行为。软件即服务提供了一种新的软件交付模式,该模型继承自应用程序服务提供商的世界。 3.网格计算这是一种连贯来自多个提供商的多个服务器以实现独特指标的办法。网格计算将微小的问题转化为较小的问题,并向服务器播送并将其搁置在网格中。它次要利用于电子商务平台,旨在大规模集群计算上共享资源。它波及利用未应用的计算机的力量并解决简单的迷信问题。这能够通过云计算技术来实现。 4.按量计费此办法依赖于按应用付费模型。它按需向客户端提供计算服务,以取得计量劣势。它次要通过缩小初始投资来帮忙削减老本。随着业务云计算需要的变动,计费老本也会相应变动,而不会产生任何额定的老本。如果客户端使用量缩小,则计费老本也会相应升高。 二、云计算技术的利用 2.1. 基础设施即服务 (IaaS)云计算技术提供虚构和物理计算机。 理论计算机由虚拟机管理程序拜访,虚拟机管理程序分组到资源池中,并由操作反对网络进行治理。云计算技术介绍了理论机器上的操作框架图片和应用程序编程。 IaaS 提供防火墙、IP地址、监控服务、存储、带宽、虚拟机等资源,所有这些资源都按工夫老本提供给客户端。比方咱们常见的“云服务器”系列产品。 3.2. 平台即服务 (PaaS)它是利用程序开发和部署平台的一部分,作为程序员或开发人员的可用服务。程序员和开发人员能够无效地构建、部署、测试和处理软件即服务应用程序。平台即服务的次要属性具备点对点设施,使开发人员可能设计基于Web的应用程序。 4.3. 软件即服务 (SaaS)它是通过 Web 浏览器将应用程序传输到最终用户。云计算技术客户端装置它,它们能够使它们可能在云计算平台上运行。然而对于这种办法来说,这不是强制性的,因为它们须要软件反对并缩小保护。相同,他们能够应用可移植的软件即服务应用程序。SaaS 的最佳示例是 Office Suite。软件即服务为咱们提供了应用程序编程接口(API),它容许开发人员构建所需的应用程序。三、云计算技术的劣势1.高可扩展性:它要求在没有任何人工参加的状况下大规模供给资源。2.高可用性和可靠性:服务器在正确的工夫可用,没有任何重大提早。3.敏捷性:它十分疾速地在客户端和性能之间无效地分配资源。 4.多共享:通过分布式计算,来自多个畛域的不同用户通过根底基础设施共享雷同的资源。5.颐养:它十分人性化,因为它们很容易从任何中央拜访,并且不须要任何装置设置。6.低成本:云技术十分具备老本效益。 7.服务即付费应用模式:应用程序编程接口提供给客户应用资源和服务,并依据应用状况付费。8.按需自助服务:云计算技术为客户提供所需的服务和应用程序。应用登录凭据,用户能够开始应用这些资源,而无需任何人工交互和云服务提供商。它包含存储和虚拟机。云计算技术具备宽泛的网络拜访的独特性能,其中能够通过智能手机、笔记本电脑和计算机轻松拜访各种资源,如存储和虚拟机。因而,能够随时随地拜访它。资源池容许多个用户共享数据库、应用程序和网页等公共资源池,并主动监督客户端应用的资源或最近调配给客户端的资源的疾速弹性。随时能够扩大和缩减资源。

December 14, 2022 · 1 min · jiezi

关于深度学习:渲染农场手动渲染和自助云渲染有什么区别

首先云渲染是一种依靠于云计算的云端服务,用户将本地文件提交到云端服务器,云端计算机集群实现渲染,再将渲染实现的工作返回用户本地的过程。而现如今观众敌人们对于视效的要求曾经越来越高 ,虽说计算机的计算能力曾经越来越强,然而渲染的工夫却仍然没有缩小,此时渲染农场(Render Farm)——就成为了长时间的渲染解决方案。渲染农场的学名叫 “分布式并行集群计算零碎”,是指用现有的CPU、以太网和操作系统构建的超级计算机。艰深来说就是把很多计算机用肯定的形式调度一起,同时对同一个我的项目进行渲染解决,节俭渲染工夫。 提供渲染服务的惯例渲染服务器场能够由数百到数千台计算机组成,每台计算机都蕴含高端高效处理器,其工作是将3D场景渲染为2D图像。这些3D渲染能够包含照片级真切成果或非照片级渲染。3D场景能够是电影或动画。这些场景须要更多的计算能力,大多数繁多零碎无奈提供。 即便单个零碎满足这些要求,渲染所需的工夫也会很长,然而应用渲染农场,渲染工夫将缩小很多倍。 通常,有两种类型的渲染农场提供者 :手动渲染和自助云渲染。 一、手动渲染和自助云渲染这两种服务的区别在于它们的排序过程,它们反对不同软件的能力,以及它们如何为最终用户提供服务。如果所有内容都已确认并且“Okayed”,则会上载要出现的源文件,之后,技术团队将估算渲染所需的老本和工夫,一旦最终用户批准公司的要求和费用,渲染将开始。 手动渲染农场波及的整个过程很耗时,比方长时间的沟通确定、反馈过程,对渲染农场公司来说也是一种不经济的形式,特地是当遇到小的渲染我的项目时。不过,某些渲染我的项目也须要技术操作员来管制,监督和解决整个渲染过程中可能呈现的谬误,在这种状况下,手动渲染农场是不错的抉择。 自助渲染形式,价格和工夫会主动计算和设置,用户的信赖水平很高,他们还能够在任何工夫点查看渲染进度。 换句话说,这个渲染零碎被称为即时渲染零碎 - 这意味着渲染将在您上传我的项目后立刻开始,很大水平地为客户节省时间。 二、云渲染和渲染农场目前的市场次要集群渲染次要有:云渲染和渲染农场。云渲染是近几年才遍及开来的概念。以前是大量渲染个别都会搭建渲染农场,或者找“租用”一个渲染农场以满足本人的渲染需要。 渲染农场的特点: 1、个别规模都比拟大,渲染服务器都在百台以上,能够满足大量的渲染需要。 2、支持软件丰盛度。因为渲染农场个别依附渲染农场管理软件,个别都反对Maya、MAX、AE、Blender、C4D、Houdini等罕用的渲染软件。 3、服务形式。通过渲染农场进行渲染个别须要将模型等文件打包发送给农场工作人员,而后再由农场工作人员代为渲染。 4、服务对象。服务对象个别为有宏大渲染量需要的公司、大型工作室等企事业单位。三、什么是真正的云渲染? 真正的云渲染个别都有如下特点: 1、按需分配,按量计费。这是渲染乃至云计算的重要特色之一,能够根据任务量及工作内容动静调节资源,并且依照使用量进行计费。 2、智能调度最优资源。云渲染会根据用户的工作内容(CG 动画?效果图等)为用户抉择适合的渲染服务器,或者调度到间隔提交工作地址最近的超算核心进行。 3、全程自助网络渲染。用户能够从设计软件中间接从提交工作,从提交工作到拿到后果,数据全程自动化传输,无人可接触,平安可控。 4、反对查看工作进度(及截屏)5、多端治理工作,可通过PC端和挪动端实时治理工作。

November 29, 2022 · 1 min · jiezi

关于深度学习:BT-Unet生物医学图像分割的自监督学习框架

BT-Unet采纳Barlow twin办法对U-Net模型的编码器进行无监督的预训练缩小冗余信息,以学习数据表示。之后,对残缺网络进行微调以执行理论的宰割。 BT-Unet由 Indian Institute of Information Technology Allahabad开发,公布在2022年的JML上 BT-Unet BT-Unet架构图:a、预训练U-Net编码器网络,b、用预训练的编码器权值初始化的微调U-Net模型 BT-Unet框架分为两个阶段:1)预训练阶段和2)微调阶段。 预训练 预训练的目标是应用无正文的数据样本,学习简单的特色示意。U-Net模型的编码器应用Barlow Twins (BT)策略进行事后训练,而后进行微调以执行理论的宰割: BT-Unet框架可利用于各种先进的U-Net模型:经典U-Net、注意力U-Net (A-Unet)、inception U-Net (I-Unet)和residual cross-spatial attention guided inception U-Net (RCA-IUnet)。 微调 U-Net 模型中编码器网络的权重应用预训练权重(来自第一阶段)进行初始化,而网络的其余部分应用默认权重进行初始化。 应用无限的正文样本对 U-Net 模型进行微调,用于生物医学图像宰割。 U-Net 模型应用分段损失函数进行微调,L 定义为二元穿插熵损失、LBC 和dice coefficient损失的平均值,LDC: 其中,y为像素的真值标签,p(y)为像素的预测标签,N为像素的总数量。 后果体现论文应用上面的数据集进行评测比照: 基于雷同样本数量的小训练集的性能剖析 KDSB18:BTU-Net 模型的性能优于没有应用 BT办法 的模型。BUSIS:U-Net 和 A-Unet 模型无奈学习和提取无关肿瘤区域的特色图(精度、DC 和 mIoU 为 0),然而通过预训练,这些模型获得了显着的改良。在 I-Unet 和 RCAIUnet 模型的状况下,通过预训练能够失去相当大的改良。ISIC18:I-Unet 和 RCAIUnet 模型是影响最大的网络,精度别离进步了 5.1% 和 2.2%。然而,在应用 BT 预训练时,经典的U-Net 和 A-Unet 的性能略有降落。BraTS18:I-Unet 和 RCA-IUnet 模型在应用 BT-Unet 框架时在宰割性能上获得了显着晋升,而一般 U-Net 和 A-Unet 模型则没有察看到雷同的行为。在不同规模小型训练集的性能钻研 ...

November 27, 2022 · 1 min · jiezi

关于深度学习:5G云渲染助力虚拟仿真医学实训

一、云渲染技术介绍云渲染技术是交融虚拟现实技术、编解码技术、5G传输技术等多种新一代信息技术的云端实时渲染解决方案。虚拟现实三维利用集成云渲染开发插件,能够自定义交互方式和交互指令,之后打包上传到云渲染服务平台。 开发插件集成了三维音视频采集、软硬件编码、实时网络传输、交互协定栈等性能,基于GPU的高速解决模块能够最大水平减小CPU的占用,可能反对高达8K的三维图像采集和解决,最大水平保障虚拟现实沉迷式的体验成果。 云渲染核心服务采纳分布式设计方案,渲染资源可动静扩大,基于偏心调度算法为网络申请调配渲染资源。依据建设需要和服务规模的不同,服务平台能够采纳不同的服务策略和拓扑,保障平台的高效性和兼容性。诸如PC电脑、平板、AR/VR等终端设备反对对平台的三维利用进行近程操作。 实时渲染流从云端通过5G网络传输到边缘端,边缘端依据内容格局能够抉择2D立体、全景等多种显示方式,本地的交互操作同时被监测采集并传输到云端。得益于5G高速网络和底层传输协定的优化,整个操作能够达到毫秒级的操作体验。 比照传统的本地渲染形式,云渲染技术解脱了对操作终端的软件环境和硬件依赖,通过云端服务集群渲染的形式为终端用户提供即开即用的实时体验服务。在三维显示技术、虚拟现实技术和网络传输技术高速倒退的明天,轻设施、瘦客户端和云端平台化的建设形式定可能高效解决“现场”和“近程”、“在场”和“在线”的场景利用问题。 二、云渲染在医疗行业的利用31 医疗虚构仿真虚构仿真技术助推医学实际教育突破性倒退,将那些高投入、高难度、高风险、难施行、难观摩、难再现的医学实训我的项目通过虚构仿真达成实训目标,在造就医学生业余能力和临床胜任力方面施展着重要的作用。 云渲染利用于医疗培训,对虚构仿真利用进行平台化建设,可兼容传统的WebGL等利用形式。云渲染能够无效解决培训场景宏大、操作流程简单、波及资源泛滥等仿真利用痛点、难点问题,最大水平简化操作依赖和部署要求。 2 三维影像影像科医生数量有余,尤其是具备丰盛临床经验、高质量的医生非常短缺;诊断后果根本由影像科医生目测和教训决定,误诊、漏诊率高;受限于影像科医生读片速度,耗时较长等等。应用三维影像重建技术,以3D模式重建医学影像,能够更加直观取得影片信息,联合云渲染技术,在操作端无需装备高性能的电脑即可实现阅片、标注。 3 医学云模型在医学虚构仿真和虚拟现实医学“元宇宙”的建设过程中,受限于终端性能,医学资源热更新、云端模型热加载成为首选的资源交互方式,为了达到良好的体验成果,开发人员不得不对大资源进行深度优化,但优化无疑也会影响最终的体验成果。 应用云渲染技术,参考模型间接在云端渲染,无需将模型下载到本地,在利用内集成客户端插件就能够“在线”预览模型,并反对在子空间内的实时操作。对于多人协同的医学“元宇宙”工作空间,云渲染模型也更易于共享和协同。 4 医疗虚拟现实云渲染教学云渲染利用可采纳“中控”+“观众”的XR教学模式。参与者通过XR设施退出医疗虚拟现实空间,并依据平台设置取得空间操作权限,多人在虚拟空间内相互协作,交互和操作流程在云端录制并通过流媒体形式实时直播。多人合作云利用采纳通用框架,为医学多人教学提供基于虚拟现实云空间的解决方案。

November 24, 2022 · 1 min · jiezi

关于深度学习:寒冬之下年销售增速不降反增这家国企做对了什么

从 2020 年年初至今,所有企业面临着重大的经济挑战,一时间,简直所有企业的指标都变得纯正,那就是“活下去”,而在此基础上,如果还能持续倒退那就再好不过了。 在“寒冬”之下,咱们留神到了一家稍显“非凡”的传统企业:明日控股在 2021 年实现了 35% 的销售增速,且人员增速低于营销增速;明明是一家传统塑化产业链服务商,但其却将“数字化”纳入了公司“三化策略”的首位...... 咱们很难设想,在传统企业倒退维艰的当下,明日控股到底做对了哪些事?又是怎么的数智化转型策略撑持着明日控股的业务翻新? 为了深刻探索明日控股的数智化转型历程以及实践经验,在本期《InfoQ 新知实验室》,InfoQ 极客传媒总编辑王一鹏与用友网络副总裁罗小江、明日控股集团 CIO 沈琪敏进行了一场对谈,以期为正处于数智化转型的从业者带来启发与思考。 一、明日控股对数智化转型的构想从上世纪九十年代至今,信息化、数字化是产生在所有企业与组织中的重要改革,随着各行各业线上化过程的一直减速与遍及,数智化成为了数字化倒退到肯定阶段的必然结果,其更多开始聚焦于数据赋能,并联合人工智能、大数据等新兴技术实现业务模式翻新。 难能可贵的是,身处传统产业的明日控股残缺地经验了信息化、数字化以及数智化的倒退周期: 第一阶段: 从 2004 年起,明日控股就曾经开始对信息化进行摸索,并逐渐将线下业务转为线上,并用 5 年工夫实现了信息化的起步阶段; 第二阶段: 在 2009 年 -2015 年期间,明日控股实现了 ERP 的建设; 第三阶段: 三年后,随着数字化暴发期全面降临,明日控股又一步步通过数字化来驱动业务,并于 2018 年 12 月,提出了数字化的倒退策略; 第四阶段: 从 2019 年至今,明日控股一直基于现有能力进行晋升,重点聚焦于平台底座的建设,为企业数智化转型打好了根底。 沈琪敏坦言,明日控股的数智化转型其实刚刚走过了起步的阶段,在推动数智化之前,大家都是循序渐进的工作,但到了智能化阶段,很多岗位在角色方面产生了扭转,逐步开始用机器代替重复性的工作。“这样的场景曾经缓缓地在很多单点上失去了冲破,将来如果能够造成面,整个供应链的效率将会变得十分智能。” 那么,现实的数智化转型应该是什么样子呢?沈琪敏以明日控股的数智化转型实际为例,从以下四个方面进行了形容: 平台侧 企业须要具备撑持数智场景的智能化翻新平台,平台须要始终保持技术架构的先进性,能够一直地融入新技术,从而迭代其本身的能力。 连通侧 传统企业大多会汇集于本身数据,但在数智化场景中,企业须要将经营数据实现互联,并拉通与企业经营相干的所有社会资源,造成产业链及跨产业链的外围数据资产。 业务侧 通过“以机代人”的业务模式,实现信息传递的高速与无损,心愿至多 80% 的业务场景交由机器来主动决策实现。 价值侧 站在明日控股的视角来看,数智化的最终后果还是要为客户服务,通过提供智能服务场景实现企业愿景指标,促成产业链高效凋敝。 谈及数智化转型的现实场景,罗小江也补充了本人的认识,他认为:“从数字化到数智化推动了整个企业本体的改革”。在信息化时代,信息系统的触点绝对较少,往往须要做某个决策才开始调取数据,但在企业运行的理论过程中,数据应该贯通在整个日常的工作中。因而,在将来数智化的改革中,所有管理层的触点界面会越来越多,比方通过集体助手 RPA、自然语言与机器交互,使所有管理层都能够更好地感知到整个企业。 二、数智化转型的实践经验分享第一、防止为了数智化而数智化眼下,无论是从国家政策层面登程,还是从企业理论场景登程,数智化转型都是企业必须要走一步。尽管大多数企业曾经意识到数智化转型带来的业务价值以及迷人的商业前景,但在理论的落地层面,企业往往会因为组织文化、策略设定等多重因素,偏离本来数智化转型的预设指标。 拿数智化策略来说,大部分企业都会抉择“自上而下”的策略进行推动,但因为企业外部的惯性以及历史包袱等问题,则会导致我的项目未能达到预期;从数智化转型的切入点上来看,局部企业会优先选择建利用这条路,达成短期功效,但随着企业规模一直倒退,信息不对称、数据孤岛等问题便逐步露出...... 诸如此类的问题还有很多,这也更加让咱们意识到,如果思维认知、顶层设计以及战略规划等各个层面,没有在企业外部落实到位,都会导致数智化转型在推动的过程中走样。 基于用友多年服务大型企业的经验,罗小江提到:“当初数智化团队的职责变得更加宽泛了,更多要思考如何让技术与业务做交融。”就如同上述提到的“以机代人”的业务模式,无论是用机器人取代一个部门,还是用程序取代一些部门的业务,技术上尽管是成熟且可实现的,但究其基本,还是要在实现的过程中找到业务上的痛点。目前,很多大型企业会设立 ITBP 这样的角色,他既向 IT 团队汇报,也像业务部门汇报,并且不仅要提出现有的问题,还要联合企业的将来倒退,帮忙技术与业务实现更好地交融。 此外,在过来一段时间内,咱们察看到有局部企业会有限地谋求技术的先进性,误以为只有上几套零碎,引入新技术就可能实现数智化转型了。谈及这个景象,罗小江也提出了本人的认识,他认为,小微企业、中小企业基本没必要去买平台,因为企业本身没有那么大的体量去撑持。“包含微服务、云原生等技术概念,其实也带偏了一批企业,用了微服务架构当前服务变多,企业该怎么治理?又怎么保障数据一致性?这些问题就全副显露出来了。” 因而,对于企业而言,数智化转型其实是一个循序渐进的过程,面对层出不穷的新技术,企业须要有把标尺,防止堆砌大量数智化技术而不顾业务需要。 第二、“架构优先”更合乎数智化转型的倒退法则明日控股的数智化转型教训是什么?沈琪敏提出了三个“优先”: 1、“架构优先” “很多企业还是先建利用,而后再用架构去整合,但从明日控股的角度来说,架构优先比利用优先更有劣势”,也就是先打牢数智化地基,再在地基上建房子(利用)。 罗小江也深表同意,他认为,这是短期看还是长期看的问题,短期看建个利用马上就能奏效,但长期看会导致架构不通,后续接入零碎过多,还须要投入更多的老本。“对于一些走在前列的企业来说,工夫是最大的老本,企业须要减速奔跑拉开竞争格局,而有一个好的架构,能力保障企业走得更快、更远。” 2、“数据优先” ...

November 23, 2022 · 1 min · jiezi

关于深度学习:COMP0090深度学习

COMP0090: Introduction to Deep LearningAssessed Coursework 1 2021-22Available on 26th November 2021Submission before 16:00 (UK time), 16th December 2021, on MoodleIntroductionThis is the first of two assessed coursework. This coursework accounts for 50% of the module with threeindependent tasks, and for each task, a task script needs to be submitted with other supporting files anddata. No separate written report is required.There are hyperlinks in the document for further reference. Throughout this document, various parts ofthe text are highlighted, for example:The aim of the coursework is to develop and assess your ability a) to understand the technical andscientific concepts behind deep learning theory and applications, b) to research the relevant methodologyand implementation details of the topic, and c) to develop the numerical algorithms in Python and one ofthe deep learning libraries TensorFlow and PyTorch. Although the assessment does not place emphasison coding skills and advanced software development techniques, basic programming knowledge will betaken into account, such as the correct use of NumPy arrays, tensors – as opposed to, for example,unnecessary for-loops, sufficient commenting and consistent code format. Up to [20%] of the relevantmarks may be deducted for good programming practice.Do NOT use this document for any other purposes or share with others. The coursework remains UCLproperty as teaching materials. You may be risking breaching intellectual property regulations and/oracademic misconduct, if you publish the details of the coursework or distribute this further.Conda environment and other Python packagesNo external code (open-source or not) should be used for the purpose of this coursework. No otherpackages should be used, unless specified and installed within the conda environment below. Individualtasks may have specific requirement, e.g. only TensorFlow or PyTorch, as opposed to NumPy for example,can be used for certain function implementation. Up to [100%] of the relevant marks may be deductedfor using external code. This will be assessed by, on the markers’ computers, running the submitted codewithin a conda environment created as follows:conda create -n comp0090-cw1 python=3.9 tensorflow=2.4 pytorch=1.7 torchvision=0.8conda activate comp0090-cw1conda listClass names are highlighted for those mandatory classes that should be found in your submitted code.Function names are highlighted for those mandatory functions that should be found in your submitted code.Printed messages on terminal when running the task scripts.Visualisation saved into PNG files with task scripts. ...

November 23, 2022 · 7 min · jiezi

关于深度学习:异常检测算法分类总结含常用开源数据集

作者:云智慧算法工程师 Chris Hu 异样检测是辨认与失常数据不同的数据,与预期行为差别大的数据。本文具体介绍了异样检测的应用领域以及总结梳理了异样检测的算法模型分类。文章最初更是介绍了罕用的异样算法数据集。 异样的概念与类型目前异样检测次要是基于Hawkins对异样的定义:(Hawkins defines an outlier as an observation that deviates so significantly from other observations as to arouse suspicion that it was generated by a different mechanism.)。异样(anomaly/outlier)指的是远离其余观测数据而疑为不同机制产生的观测数据。依据概率实践对异样的形式化定义如下: 异样次要分为以下三种类型: point anomalies(点异样) 点异样是单个异样数据点 ,将数据集中每个数据映射到高维空间中,其中孤立的点被称为点异样。这种异样点与其余数据点具备显著差别,这种异样分类是异样数据中最为简略的一种,也是异样检测钻研中最常钻研的异样类型。 conditional anomalies/contextual anomalies(条件异样/上下文异样) 一个数据自身来看属于失常点,但在特定的条件下又与个别状况有差别,这类数据称为条件异样或上下文异样。其中上下文指数据集间的构造和关系,每个数据均由上下文特色( contextual attributes) 及行为特色( behavioral attributes) 来定义,即条件异样须要思考的不仅仅是数据的取值,还需思考数据呈现的环境,也就是说某一数据在特定数据环境下被判断为异样,而在其余数据集中则可能是失常的。 collective anomalies/group anomalies(群体异样/序列异样) 数据属性在失常范畴内,且从上下文环境角度判断也属于失常的数据仍有可能是异样数据。如图3所示,在脑电图中虚线圆圈局部与脑电图整体图形不统一模式称之为汇集异样( 或称汇合异样)。异样数据集中单个点可能并不异样,但这些互相关联的数据点汇集在一起时变为异样的状况。汇集异样不仅须要思考数据的取值、上下文环境,还思考数据集是否合乎整体模式。汇集异样检测罕用于工夫序列、空 间数据以及图模式的数据中。 在理论的运维场景中,以上三种异样都会呈现,比方资源使用率忽然回升造成Point Anomalies,又如CPU应用过程中的忽然卡顿造成Contextual anomaly,再如某指标使用率间断一段时间处于“满格”状态而呈现出Collective or group anomalies。后两者异样通常须要和业务紧密结合,单纯从数据自身登程具备肯定的辨识难度,再加上运维畛域中大比例状况下呈现的是Point Anomalies,客户多关注于此,因此通常状况下咱们更关注Point Anomalies。 异样检测的应用领域入侵检测(Intrusion detection):通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行剖析,从中察觉网络或零碎中有没有违反安全策略的行为和受到袭击的迹象,并对此做出适当反馈的流程。最广泛的两种入侵检测零碎包含基于主机的入侵检测零碎(HIDS)、网络入侵检测零碎(NIDS)。欺诈检测(Fraud detection):次要是不同畛域的非法活动检测,次要应用领域包含银行欺诈、挪动蜂窝网络故障、保险欺诈、医疗欺诈。恶意软件检测(Malware Detection):次要分为动态剖析检测技术与动态分析与检测技术。医疗异样检测(Medical Anomaly Detection):通过X光片、核磁共振、CT等医学图像检测疾病或量化异样,也能够通过EEG、ECG等时序信号进行疾病检测或异样预警。深度学习用于社交网络中的异样检测(Deep learning for Anomaly detection in Social Networks): 社交网络中的异样通常是指集体的不失常甚至守法的行为,如垃圾邮件发送者、性侵者、在线欺诈者、虚伪用户或流言散布者等。日志异样检测(Log Anomaly Detection):日志异样检测是指找到异样日志,从而判断系统故障起因与性质,通常将日志数据建模为自然语言序列进行异样检测。物联网大数据异样检测(Internet of things (IoT) Big Data Anomaly Detection):通过监控数据流信息检测异样设施和零碎行为。工业异样检测(Industrial Anomalies Detection): 检测风力涡轮机、发电厂、低温能源零碎、存储设备和旋转机械部件组成的工业零碎中设施的损坏状况, 该畛域中异样检测的挑战是数据量与数据的动静个性,因为故障通常是由多种因素引起的。工夫序列中的异样检测(Anomaly Detection in TimeSeries):包含单变量工夫序列异样检测与多变量工夫序列异样检测。视频监控(Video Surveillance):检测视频中的异样场景。异样检测思路与办法总结现如今,异样检测次要面临以下艰难与挑战: ...

November 23, 2022 · 1 min · jiezi

关于深度学习:从头开始进行CUDA编程流和事件

前两篇文章咱们介绍了如何应用GPU编程执行简略的工作,比方令人难以了解的并行任务、应用共享内存归并(reduce)和设施函数。为了进步咱们的并行处理能力,本文介绍CUDA事件和如何应用它们。然而在深入研究之前,咱们将首先探讨CUDA流。 后期筹备导入和加载库,确保有一个GPU。 import warnings from time import perf_counter, sleep import numpy as np import numba from numba import cuda from numba.core.errors import NumbaPerformanceWarning print(np.__version__) print(numba.__version__) # Ignore NumbaPerformanceWarning warnings.simplefilter("ignore", category=NumbaPerformanceWarning) # 1.21.6 # 0.55.2 # Found 1 CUDA devices # id 0 b'Tesla T4' [SUPPORTED] # Compute Capability: 7.5 # PCI Device ID: 4 # PCI Bus ID: 0 # UUID: GPU-eaab966c-a15b-15f7-94b1-a2d4932bac5f # Watchdog: Disabled # FP32/FP64 Performance Ratio: 32 # Summary: # 1/1 devices are supported # True流 (Streams)当咱们启动内核(函数)时,它会在 GPU 中排队期待执行,GPU 会程序依照启动工夫执行咱们的内核。设施中启动的许多工作可能依赖于之前的工作,所以“将它们放在同一个队列中”是有情理的。例如,如果将数据异步复制到 GPU 以应用某个内核解决它,则复制的步骤本必须在内核运行之前实现。 ...

November 23, 2022 · 10 min · jiezi

关于深度学习:云计算基于互联网的超级计算

云计算(Cloud computing),是指基于互联网的超级计算模式。即把存储于个人电脑、移动电话和其余设施上的大量信息和处理器资源集中在一起,协同工作。 它是一种新兴的共享基础架构的办法,能够将微小的零碎池连贯在一起以提供各种IT服务。很多因素推动了对这类环境的需要,其中包含连贯设施、实时数据流、SOA的采纳以及搜寻、凋谢合作、社会网络和挪动商务等这样的Web 2.0利用的急剧增长。 另外,数字元器件性能的晋升也使IT环境的规模大幅度提高,从而进一步增强了对一个由对立的云进行治理的需要。云计算的基本原理是,通过云计算散布在大量的分布式计算机上,而非本地计算机或近程服务器中,企业数据中心的运行将更与互联网类似。这使得企业可能将资源切换到须要的利用上,依据需要拜访计算机和存储系统。 这可是一种革命性的动作,打个比方,这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也能够作为一种商品进行流通,就像煤气、水电一样,取用不便,费用低廉。最大的不同在于,它是通过互联网进行传输的。 云计算的蓝图曾经跃然纸上:在将来,只须要一台笔记本或者一个手机,就能够通过网络服务来实现咱们须要的所有,甚至包含超级计算这样的工作。 从这个角度而言,最终用户才是云计算的真正拥有者。云计算的利用蕴含这样的一种思维,把力量联结起来,给其中的每一个成员应用。 1、广义云计算广义云计算是指IT基础设施的交付和应用模式,指通过网络以按需、易扩大的形式取得所需的资源(硬件、平台、软件)。提供资源的网络被称为“云”。“云”中的资源在使用者看来是能够有限扩大的,并且能够随时获取,按需应用,随时扩大,按时付费。这种个性常常被称为像水电一样应用IT基础设施。 2、狭义云计算狭义云计算是指服务的交付和应用模式,指通过网络以按需、易扩大的形式取得所需的服务。这种服务能够是IT和软件、互联网相干的,也能够是任意其余的服务。 这种资源池称为“云”。“云”是一些能够自我保护和治理的虚构计算资源,通常为一些大型服务器集群,包含计算服务器、存储服务器、宽带资源等等。云计算将所有的计算资源集中起来,并由软件实现主动治理,无需人为参加。 这使得利用提供者无需为繁琐的细节而懊恼,可能更加专一于本人的业务,有利于翻新和降低成本。有人打了个比如:这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。 它意味着计算能力也能够作为一种商品进行流通,就像煤气、水电一样,取用不便,费用低廉。最大的不同在于,它是通过互联网进行传输的。 云计算是并行计算(Parallel Computing)、分布式计算(Distributed Computing)和网格计算(Grid Computing)的倒退,或者说是这些计算机科学概念的商业实现。云计算是虚拟化(Virtualization)、效用计算(Utility Computing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的后果。总的来说,云计算能够算作是网格计算的一个商业演变版。 早在2002年,我国刘鹏就针对传统网格计算思路存在不实用问题,提出计算池的概念:“把扩散在各地的高性能计算机用高速网络连接起来,用专门设计的中间件软件有机地粘合在一起,以Web界面承受各地迷信工作者提出的计算申请,并将之调配到适合的结点上运行。计算池能大大提高资源的服务质量和利用率,同时防止跨结点划分应用程序所带来的低效性和复杂性,可能在目前条件下达到实用化要求。” 如果将文中的“高性能计算机”换成“服务器集群”,将“迷信工作者”换成“商业用户”,就与以后的云计算十分靠近了。云计算是个2007年第4季度才衰亡的新名词。对它的定义和外延七嘴八舌,咱们至多能够在网上找到100种说法,但目前还没有公认的定义。本文试图综合各家说法的长处,提出云计算的定义和特点与大家商讨。 对这个定义的要求:可能用最精炼的语言形容,抓住云计算的实质,笼罩当今风行的典型云计算解决方案(包含Google云计算 、Amazon云计算、Salesforce云计算、云平安等),但又能区别其它相干概念(如网格计算、并行计算等)。 定义:云计算(Cloud Computing)是一种新兴的商业计算模型。 它将计算工作散布在大量计算机形成的资源池上,使各种利用零碎可能依据须要获取计算力、存储空间和各种软件服务。这种资源池称为“云”。“云”是一些能够自我保护和治理的虚构计算资源,通常为一些大型服务器集群,包含计算服务器、存储服务器、宽带资源等等。云计算将所有的计算资源集中起来,并由软件实现主动治理,无需人为参加。这使得利用提供者无需为繁琐的细节而懊恼,可能更加专一于本人的业务,有利于翻新和降低成本。 有人打了个比如:这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也能够作为一种商品进行流通,就像煤气、水电一样,取用不便,费用低廉。 最大的不同在于,它是通过互联网进行传输的。云计算是并行计算(Parallel Computing)、分布式计算(Distributed Computing)和网格计算(Grid Computing)的倒退,或者说是这些计算机科学概念的商业实现。 云计算是虚拟化(Virtualization)、效用计算(Utility Computing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的后果。 早在2002年,刘鹏就针对传统网格计算思路存在不实用问题,提出计算池的概念:“它把扩散在各地的高性能计算机用高速网络连接起来,用专门设计的中间件软件有机地粘合在一起,以Web界面承受各地迷信工作者提出的计算申请,并将之调配到适合的结点上运行。计算池能大大提高资源的服务质量和利用率,同时防止跨结点划分应用程序所带来的低效性和复杂性,可能在目前条件下达到实用化要求。”如果将文中的“高性能计算机”换成“服务器集群”,将“迷信工作者”换成“商业用户”,就与以后的云计算十分靠近了。

November 22, 2022 · 1 min · jiezi

关于深度学习:深度学习框架新手快速上手指南

新手入门深度学习框架怎么办?疾速、可拓展、易于应用且反对主动求导的深度学习框架-MegEngine 装备了新手入门文档,助力初学者疾速上手框架。文档借助了一系列的代码实战,有利于循序渐进地相熟这个畛域,并把握开源深度学习框架 MegEngine 的根本应用。 MegEngine 深度学习入门教程 这套 MegEngine 深度学习入门教程由多个章节组成:更多 MegEngine 信息获取,您能够: 查看文档、 MegEngine 官网和 GitHub 我的项目,或退出 MegEngine 用户交换 QQ 群:1029741705

November 21, 2022 · 1 min · jiezi

关于深度学习:使用PyTorch实现简单的AlphaZero的算法1背景和介绍

在本文中,咱们将在PyTorch中为Chain Reaction[2]游戏从头开始实现DeepMind的AlphaZero[1]。为了使AlphaZero的学习过程更无效,咱们还将应用一个绝对较新的改良,称为“Playout Cap Randomization”[3],以及来自[4]的一些其余技术。在训练过程中,将应用并行处理来并行模仿多个游戏,还将通过一些相干的钻研论文探讨AlphaZero的将来倒退方向。 本文目标不是用AlphaZero构建最好的游戏机器人机器人(因为这须要大量的计算资源),而是构建一个像样的机器人,至多能够击败随机的Agent,以Chain Reaction游戏为例理解AlphaZero是如何工作的。 本节首先解释Chain Reaction游戏是如何工作的。如果你只是想理解AlphaZero的工作原理,请跳过下一节间接转到AlphaZero局部。 Chain Reaction首先咱们从了解Chain Reaction游戏开始,这是一个完满的信息游戏,通过几步之后的游戏对咱们来说看起来十分凌乱和不可预测。所以我很好奇AlphaZero在这游戏中训练后会有多弱小。Chain Reaction能够在许多玩家中进行,但在本文中将局限于两个玩家。 游戏规则 让咱们从这个游戏的规定开始。有一个M行N列的棋盘,两名玩家。每个玩家都有一种指定的色彩。出于本文的目标,假如咱们有一个红色玩家和一个绿色玩家,红色玩家先走。下图显示了游戏中的一些中间状态。 游戏板(简称黑板)上有M行N列,在上图中,M=N=5。黑板上有M*N = 25个单元格。在游戏开始时,所有的格子都是空的。 这些红色和绿色的圆形物体在游戏中被称为球体。下图显示了咱们在游戏中能够领有的球体(1个,2个或3个,红色或绿色)。 在一次操作中,玩家点击任何空的或色彩或玩家雷同的单元格,它将减少该单元格中的球的数量。上面的动图展现了游戏中的一些动作。 在一个特定的单元格中能够包容多少个球是有限度的。一个单元格最多能够保留“该单元格的正交相邻街坊数-1”。对于两头的单元格,这个数字是3,对于边缘的单元格,这个数字是2,对于角落的单元格,这个数字是1。下图显示了5x5板中每个单元的最大球体数。 但当玩家点击一个曾经领有最多球体数量的单元格时会产生什么呢?那个单元格的球会决裂,把它所有的球推到邻近的单元格里。上面的动图显示了不同品种的球体的宰割。 在决裂过程中,如果相邻单元格蕴含来自其余玩家的球,那么这些球的色彩将扭转为以后玩家的色彩。如下图所示。 决裂后的单元格在其四周减少了球的数量,它能够导致进一步的屡次决裂,开始决裂的连锁反应,这就是游戏名字的由来。单步操作后的连锁反应是这款游戏最终不可预测的起因。 当初咱们晓得了游戏是如何从一个状态倒退到下一个状态的,可能会有决裂;或者在单个单元格中减少一个球体。但玩家如何获胜呢?游戏的指标很简略,玩家必须毁灭棋盘上所有敌人的球。 游戏状态 咱们须要存储什么信息来捕获游戏的状态呢?有两样货色——首先,一个M × N数组,它通知咱们棋盘上每个M*N格子中的球的数量和类型,其次,轮到谁“红”或“绿”。咱们能够用负数来示意红色球的数量,用正数来示意绿色球的数量。下图显示了如何示意状态的示例。 状态转换 咱们晓得了如何示意一个状态,上面要关注一个更重要的问题,在以后状态下,如何失去下一个状态。为了取得下一个状态,须要晓得玩家点击的单元格。咱们称这个单元格为事件单元格。 将在事件单元格上做一些解决,它看起来像这样。咱们将向它增加一个球体,并查看球体的数量是否超过单元格的限度。如果球的数量超过了,咱们就须要把球决裂开。 在决裂的状况下,事件单元格的每个街坊都将取得一个球体,而后咱们将解决这些街坊,依此类推。咱们察看到,咱们首先处理事件单元格,而后处理事件单元格的街坊,而后处理事件单元格街坊的街坊,依此类推。在某个级别i的街坊,能够以任何程序解决;以任何程序解决第I级上所有街坊的最终后果都是雷同的。下图就是一个例子。 两种不同的形式解决同一级别的单元格都会失去雷同的最终状态。第i层的解决程序不重要的起因是,第i层有两种单元格,决裂的单元格和没有决裂的单元格。那些没有决裂的单元格的球数只会减少一个,不论解决程序如何。那些决裂的单元格,只会给i+1级的单元格减少一个球体。也就是说,第i级和第i+1级的单元格汇合总是不相交的,因而第i级所有单元格的相加之和对于第i+1级的每个单元格总是雷同的。 所以实质上是在做广度优先遍历,这能够借助队列来实现状态转换。 实现简略的游戏规则 状态 实现状态示意并不简单。将棋盘信息存储为不同numpy数组中的球的数量和球的色彩。状态示意还包含玩家的回合。 可视化 这些代码,别离应用矩形和圆绘制网格和球体。 控制器 这里是最重要的代码段,即状态转换,即在给定以后状态和事件的状况下取得下一个状态。 有一种状况是,球继续决裂,而其余玩家的球隐没,如下图所示。 这里须要查看玩家是否在广度第一次遍历while循环中博得了游戏。通过跟踪红色和绿色的球体计数(作为myorbs和opporbs)来查看它,并在循环的每次迭代中更新它们。 AlphaZeroAlphaZero到做了什么呢 [5]是了解AlphaZero的一个很好的终点。人类的推理有两种思维模式——一种是慢思维模式,一种是快思维模式。疾速模式由直觉疏导,而慢速模式像传统计算机算法一样明确遵循某些规定或步骤疏导。 在AlphaZero中,疾速模式或直觉都是通过一个神经网络实现的,该神经网络获取棋盘状态并输入一个策略(操作的概率分布)和一个值(通知以后玩家给定棋盘状态有多好的分数);慢速思维模式则通过蒙特卡罗树搜寻实现。 对于一个游戏咱们可能会有一些本人的了解(教训),晓得哪些行为更好,哪些不好。这种最后的了解能够示意为行为的概率分布。咱们会将较高的概率调配给好的口头,而较低的概率调配给坏的口头(好的口头是那些可能带给咱们胜利的口头)。如果咱们没有这样的教训,那么咱们能够从平均概率分布开始。 这个操作上的概率分布就是咱们对于给定状态的“策略”。 有一种办法能够改良这一原始政策——提前思考将来可能采取的口头。从咱们以后的状态登程,咱们能够思考本人能够下什么棋,对手能够下什么棋等等。这种状况下咱们实际上是在探讨树搜寻,这种树搜寻能够通过应用咱们最后的了解来评估两头板的状态(获取值)来改良,并且可能不会破费大量的工夫来摸索具备低值的节点。在实现这个树搜寻之后,将更好地理解在以后棋盘状态下玩什么,或者说咱们失去了一个改良的策略。这整个过程被称为放大,这是AlphaZero应用蒙特卡洛树搜寻实现的。 下一篇文章咱们将具体介绍AlphaZero的一个简略实现。 References[1] Silver, D., Hubert, T., Schrittwieser, J., Antonoglou, I., Lai, M., Guez, A., Lanctot, M., Sifre, L., Kumaran, D., Graepel, T., Lillicrap, T., Simonyan, K., & Hassabis, D. (2018). A general reinforcement learning algorithm that Masters Chess, Shogi, and go through self-play. Science, 362(6419), 1140–1144. https://doi.org/10.1126/scien... ...

November 8, 2022 · 1 min · jiezi

关于深度学习:AI-模型编译器-MegCC-开源解决推理引擎体积问题

目前社区曾经有多个挪动端深度学习推理框架,如:NCNN、MNN... 这些推理引擎都给社区的用户带来了在挪动端上部署深度学习十分多的便当,然而他们也都有一个共性问题:随着一直地迭代以及性能优化,运行时库会逐步的增大,特地是在不同算子 fuse 的时候,会导致十分多的长尾算子,这就会增大咱们 App 或者 SDK 的体积。 为了解决这个问题,由 MegEngine 团队开源的 MegCC 翻新应用模型预编译的计划,生成模型推理必要的代码,去除掉了和模型推理无关的代码,因而极大水平上缩小了推理引擎的体积。次要办法是: 将传统框架运行时的必要步骤:计算图优化、Kernel 抉择、内存调配都移到编译时,从而最大水平上缩小了 Runtime 时的二进制体积大小,并依据模型信息做进一步的性能优化。 该计划有以下长处: 随着框架的迭代将不会使得推理引擎的体积增大很多的算子交融能够在编译时依据模型信息生成对应的 code模型编译时能够取得整个计算图的信息,这样能够进一步进行极致的性能优化能够排汇社区在代码生成方面的教训用于为 MegCC 生成 code不同于传统推理框架,MegCC 是一个真真实实的深度学习模型编译器,具备极其轻量的 Runtime 二进制体积,高性能,不便移植,极低内存应用以及快启动等外围特点。用户可在 MLIR 上进行计算图优化,内存布局,最初通过事后写好的 code 模版进行代码生成。目前,MegCC 已反对 Arm64,Armv7,x86,risc-v 以及单片机平台。 GitHub 开源地址:https://github.com/MegEngine/MegCCgithub.com/MegEngine/MegCC 应用办法及成果应用 MegCC 实现模型部署只须要实现以下 3 步: 模型编译:编译 MegEngine 模型,生成运行这个模型对应的 Kernel 以及优化之后的模型。Runtime编译:这个阶段会将 Runtime 和上一步中生成的 Kernel 一起编译成一个动态库。集成到利用中:调用上一步编译的动态库的接口进行推理。以 YOLOX 模型为例,运行成果如下图: 从图中可见,MegCC 生成的推理程序在保障推理性能良好(模型测速后果为 670ms)的状况下,其大小能够达到 95KB。 具体操作文档:MegCC/how-to-use-chinese.md at main · MegEngine/MegCC 手把手操作教程:挑战 100KB 可执行程序高性能推理 YOLOX 模型  将来打算目前 MegCC 仅反对 MegEngine 模型作为输出,其余模型格局能够思考转换到 ONNX,而后通过 mgeconvert 进行模型格局转换。 ...

November 7, 2022 · 1 min · jiezi

关于深度学习:PyTorch实现非极大值抑制NMS

NMS即non maximum suppression即非极大克制,顾名思义就是克制不是极大值的元素,搜寻部分的极大值。在最近几年常见的物体检测算法(包含rcnn、sppnet、fast-rcnn、faster-rcnn等)中,最终都会从一张图片中找出很多个可能是物体的矩形框,而后为每个矩形框为做类别分类概率。本文来通过Pytorch实现NMS算法。 如果你在做计算机视觉(特地是指标检测),你必定会据说过非极大值克制(nms)。网上有很多不错的文章给出了适当的概述。简而言之,非最大克制应用一些启发式办法缩小了输入边界框的数量,例如穿插除以并集(iou)。 在PyTorch的文档中说:NMS 迭代地删除与另一个(得分较高)框的 IoU 大于 iou_threshold 的得分较低的框。 为了钻研其如何工作,让咱们加载一个图像并创立边界框 from PIL import Image import torch import matplotlib.pyplot as plt import numpy as np # credit https://i0.wp.com/craffic.co.in/wp-content/uploads/2021/02/ai-remastered-rick-astley-never-gonna-give-you-up.jpg?w=1600&ssl=1 img = Image.open("./samples/never-gonna-give-you-up.webp") img咱们手动创立 两个框,一个人脸,一个话筒 original_bboxes = torch.tensor([ # head [ 565, 73, 862, 373], # mic [807, 309, 865, 434] ]).float() w, h = img.size # we need them in range [0, 1] original_bboxes[...,0] /= h original_bboxes[...,1] /= w original_bboxes[...,2] /= h original_bboxes[...,3] /= w这些bboxes 都是在[0,1]范畴内的,尽管这不是必须的,但当有多个类时,这是十分有用的(咱们稍后将看到为什么)。 ...

November 6, 2022 · 3 min · jiezi

关于深度学习:从头开始进行CUDA编程Numba并行编程的基本概念

GPU(图形处理单元)最后是为计算机图形开发的,然而当初它们简直在所有须要高计算吞吐量的畛域无处不在。这一倒退是由GPGPU(通用GPU)接口的开发实现的,它容许咱们应用GPU进行通用计算编程。这些接口中最常见的是CUDA,其次是OpenCL和最近刚呈现的HIP。 Python中应用CUDACUDA最后被设计为与C兼容起初的版本将其扩大到c++和Fortran。在Python中应用CUDA的一种办法是通过Numba,这是一种针对Python的即时(JIT)编译器,能够针对gpu(它也针对cpu,但这不在咱们探讨的范畴内)。Numba为咱们提供了一个能够间接应用Python子集,Numba将动静编译Python代码并运行它。尽管它没有实现残缺的CUDA API,但与cpu相比它反对的个性曾经能够帮忙咱们进行并行计算的减速。 Numba并不是惟一的抉择。CuPy 提供了通过基于CUDA的并且兼容Numpy的高级函数,PyCUDA提供了对CUDA API更细粒度的管制,英伟达也公布了官网CUDA Python。 本文不是 CUDA 或 Numba 的综合指南,本文的指标是通过用Numba和CUDA编写一些简略的示例,这样能够让你理解更多GPU相干的常识,无论是是不是应用Python,甚至C编写代码,它都是一个很好的入门资源。 GPU 的并行编程简介GPU 绝对于 CPU 的最大劣势是它们可能并行执行雷同的指令。单个 CPU 内核将一个接一个地串行运行指令。在 CPU 上进行并行化须要同时应用其多个内核(物理或虚构)。例如个别的计算机有 4-8 个内核,而GPU 领有数千个计算外围。无关这两者的比拟,请参见上面的图 1。GPU 内核通常速度较慢,且只能执行简略的指令,但它们的数量通常能够补救这些毛病。 GPU 编程有四个次要方面问题: 1、了解如何思考和设计并行的算法。因为一些算法是串行设计的,把这些算法并行化可能是很艰难的。 2、学习如何将CPU上的构造(例如向量和图像)映射到 GPU 上例如线程和块。循环模式和辅助函数能够帮忙咱们解决这个问题。 3、了解驱动 GPU 编程的异步执行模型。不仅 GPU 和 CPU 互相独立地执行指令,GPU的流还容许多个解决流在同一个GPU上运行,这种异步性在设计最佳解决流时十分重要。 4、抽象概念和具体代码之间的关系:这是通过学习 API 及其细微差别来实现的。 上图为简化的CPU架构(左)和GPU架构(右)。计算产生在ALU(算术逻辑单元)中,DRAM保留数据,缓存保留的数据能够更快地拜访,但通常容量更小。 开始编写代码这里的环境要求是:Numba版本> 0.55和一个GPU。 import numpy as np import numba from numba import cuda print(np.__version__) print(numba.__version__) cuda.detect() # 1.21.6 # 0.55.2 # # Found 1 CUDA devices # id 0 b'Tesla T4' [SUPPORTED] # Compute Capability: 7.5 # PCI Device ID: 4 # PCI Bus ID: 0 # UUID: GPU-e0b8547a-62e9-2ea2-44f6-9cd43bf7472d # Watchdog: Disabled # FP32/FP64 Performance Ratio: 32 # Summary: # 1/1 devices are supportedNumba CUDA的次要操作时是CUDA.jit的装璜器,它定义函数将在GPU中运行。 ...

November 4, 2022 · 5 min · jiezi

关于深度学习:为什么需要专门出现GPU处理图形工作

一、GPU服务器有什么作用? GPU 减速计算能够提供不凡的应用程序性能,能将应用程序计算密集局部的工作负载转移到 GPU,同时仍由 CPU 运行其余程序代码。 从用户的角度来看,应用程序的运行速度显著放慢.了解 GPU 和 CPU 之间区别的一种简略形式是比拟它们如何解决工作。 CPU 由专为程序串行解决而优化的几个外围组成,而 GPU 则领有一个由数以千计得更小、更高效的外围(专为同时解决多重工作而设计)组成的大规模并行计算架构。 谈及GPU在高性能计算方面的劣势,就会天然联想到GPU诞生的经典问题:“为什么须要专门呈现GPU来解决图形工作,CPU为啥不能够?” 为满足各位迫切的求知心,在此论断后行:图形渲染工作具备高度的并行性,GPU能够仅仅通过减少并行处理单元和存储器管制单元,便可获得比CPU更效的解决能力和存储器带宽,进步一个数量级的运算速度。 追溯到GPU还没有创造的年代,中央处理器CPU作为整个计算机系统的运算和管制的外围,是整个数据处理的最基本的部件。  二、GPU善于大规模并发计算GPU工作原理: GPU的工作艰深的来说就是实现3D图形的生成,将图形映射到相应的像素点上,对每个像素进行计算确定最终色彩并实现输入,个别分为顶点解决、光栅化计算、纹理贴图、像素解决、输入五个步骤。 GPU采纳流式并行计算模式,可对每个数据行独立的并行计算。 GPU与CPU区别:CPU基于低延时设计,由运算器(ALU)和控制器(CU),以及若干个寄存器和高速缓冲存储器组成,功能模块较多,善于逻辑管制,串行运算。 GPU基于大吞吐量设计,领有更多的ALU用于数据处理,适宜对密集数据进行并行处理,善于大规模并发计算,因而GPU也被利用于AI训练等须要大规模并发计算场景。 三、GPU可分为独立GPU和集成GPU独立GPU:独立GPU个别封装在独立的显卡电路板上,应用专用的显示存储器,独立显卡性能由GPU性能与显存带宽独特决定。 一般来讲,独立GPU的性能更高,但因而零碎功耗、发热量较大。集成GPU:集成GPU常和CPU共用一个Die,共享零碎内存。集成GPU的制作由CPU厂家实现,因而兼容性较强,并且功耗低、发热量小。 但如果显卡运行须要占用大量内存,整个零碎运行会受限,此外零碎内存的频率通常比独立显卡的显存低很多,因而个别集成GPU的性能比独立GPU更低。 四、GPU宽泛使用在图显和并行计算场景GPU领有繁多的弱小并行计算能力,所以用处往往是须要大规模并行计算的场景。 晚期GPU多被用于2D和3D图形的计算和解决,因为图形数据的解决往往波及到大量的大型矩阵运算,计算量大但易于并行化。近年因为大数据、人工智能倒退,GPU也经常被用于须要大量反复计算的数据挖掘畛域,如机器学习,深度学习等。 GPU应用场景:GPU被宽泛地使用于PC、服务器、挪动等畛域。其中服务器GPU可做业余图形处理、计算减速、深度学习等利用,以独立GPU为主;挪动端GPU次要采纳集成GPU;PC依据应用用处不同,既能够搭载独立GPU,也能够应用集成GPU。

November 4, 2022 · 1 min · jiezi

关于深度学习:深度学习原理与代码PDF

导读之前给小伙伴举荐的资源《神经网络与深度学习》,反馈说没有代码,无奈练习。因而本文将举荐一本实践与代码联合的书,助力深度学习。 获取形式:评论本文或私聊小编。目录 示例k 折穿插验证 L1正则化 数据加强 Declaration 本文由mdnice多平台公布

November 4, 2022 · 1 min · jiezi

关于深度学习:时间序列分解将时间序列分解成基本的构建块

大多数工夫序列能够合成为不同的组件,在本文中,我将探讨这些不同的组件是什么,如何获取它们以及如何应用 Python 进行工夫序列合成。 工夫序列组成工夫序列是(次要)三个组成部分的组合:趋势、季节性和残差/残余局部。让咱们简略的解释这三个组成部分 趋势:这是该序列的整体静止。它可能会继续减少、也可能继续缩小,或者是稳定的。 季节性:系列中的任何惯例季节性模式。比方,冬季冰淇淋的销量通常高于夏季。 残差:这是咱们思考到趋势和季节性后剩下的局部。它也能够被认为只是统计噪声,或者是临时性事件的影响,这个残差量也有一个独自的周期重量,但它通常被纳入趋势重量。 加法模型与乘法模型这些组件的组合形式取决于工夫序列的性质。对于加法模型: 对于乘法模型: 其中 Y 是序列,T 是趋势,S 是季节性,R 是残差重量。 当序列变动的大小尺度统一的时候,加法模型是最合适的。而当序列的稳定处于绝对和比例范畴内时乘法模型是比拟适合的。 例如,如果冬季冰淇淋的销量每年高出 1,000 个,则该模型是加法的。如果每年夏天销售额持续增长 20%,但相对销售额在变动,则该模型是乘法的。稍后咱们将探讨一个示例,该示例能够使该实践更加具体。 为了计算和可视化的突变,能够通过对数变换或Box-Cox变换将乘法模型转换为加法模型: 合成是如何工作的有多种算法和办法能够将工夫序列合成为三个重量。以下的经典办法,常常会应用并且十分直观。 应用挪动/滚动平均值计算趋势重量 T。对序列进行去趋势解决,Y-T 用于加法模型,Y/T 用于乘法模型。通过取每个节令的去趋势序列的平均值来计算节令重量 S。残差重量 R 的计算公式为:对于加法模型R = Y-T-R,对于乘法模型R = Y/(TR)。还有其余几种可用于合成的办法,例如 STL、X11 和 SEATS。这些是先进的办法,是对经典办法的根本办法的补充,并改良了它的毛病。如果有想理解这些最新办法的能够留言,咱们单开一篇文章介绍。 Python中进行工夫序列合成这里让咱们应用1948年至1961年的美国航空客运量数据集: #https://www.kaggle.com/datasets/ashfakyeafi/air-passenger-data-for-time-series-analysis import plotly.express as px import pandas as pd # Read in the data data = pd.read_csv('AirPassengers.csv', index_col=0) data.index = pd.to_datetime(data.index) # Plot the data fig = px.line(data, x=data.index, y='#Passengers', labels=({'#Passengers': 'Passengers', 'Month': 'Date'})) fig.update_layout(template="simple_white", font=dict(size=18), title_text='Airline Passengers', width=650, title_x=0.5, height=400) fig.show() ...

November 3, 2022 · 1 min · jiezi

关于深度学习:深度学习之CUDA-cudnn-安装

导读本文将介绍如何在Ubuntu下装置深度学习须要应用的CUDA 和 cudnn。 1. CUDA装置返回官网下载合乎本人零碎版本的CUDA,依据本人电脑配置和零碎状况,抉择对应的选项,如下图: 依据网页的装置提醒操作,如下图: 关上终端进入到CUDA安装文件所在文件夹,赋予其可执行权力sudo chmod +x cuda_10.0.130_410.48_linux.run装置sudo ./cuda_10.0.130_410.48_linux.run 批改环境变量sudo vi ~/.bashrcexport CUDA_HOME=/usr/local/cuda-10.0 # 依据版本批改export LD_LIBRARY_PATH=${CUDA_HOME}/lib64export PATH=${CUDA_HOME}/bin:${PATH}# 更新失效source ~/.bashrc查看装置的版本信息nvcc -V# cat /usr/local/cuda/version.txt 2. cudnn装置官网下载与CUDA对应的cudnn版本(要注册账号能力下载)关上终端进入cudnn下载目录,对其进行解压tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.solitairetheme8mv cudnn-10.0-linux-x64-v7.4.2.24.solitairetheme8 cudnn将解压后的文件复制到cuda目录下sudo cp cudnn/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*查看版本 (可能不显示,但不影响应用)cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2本文由mdnice多平台公布

October 31, 2022 · 1 min · jiezi

关于深度学习:OneFlow源码解析Global-Tensor

撰文 | 郑建华更新|赵露阳 上文中讲到的相似于PyTorch中的一般Tensor,在OneFlow中称为Local Tensor。Local Tensor是单卡视角下的一般Tensor。与之绝对,OneFlow中还有一个独有的概念——Global Tensor。 Global Tensor是指被placement和SBP属性所指定的,一个全局视角下的逻辑Tensor。Global Tensor的shape是逻辑形态,其实在数据依据placement和SBP的规定散布在多个rank上。 Global Tensor既能够通过一般的Local Tensor通过tensor.to_global()转换失去,也能够间接用数据或Numpy来结构。 上面的大节将通过一个示例(https://docs.oneflow.org/mast...),展现从一般数据结构Global Tensor的过程,以及别离形容SBP、Placement和Global Tensor结构的细节。 1、Global Tensor示例开启2个终端,终端一、二别离设置环境变量: # 终端一export MASTER_ADDR=127.0.0.1 MASTER_PORT=17789 WORLD_SIZE=2 RANK=0 LOCAL_RANK=0# 终端二export MASTER_ADDR=127.0.0.1 MASTER_PORT=17789 WORLD_SIZE=2 RANK=1 LOCAL_RANK=1终端一、二别离执行雷同代码: import oneflow as flowp = flow.placement("cpu", ranks=[0, 1])sbp = flow.sbp.split(0)x = flow.tensor([[1,2,3],[4,5,6]], placement=p, sbp=sbp)print(x.shape)print(x.to_local())终端一、二的输入如下: # 终端一oneflow.Size([2, 3])tensor([[1, 2, 3]], dtype=oneflow.int64)# 终端二oneflow.Size([2, 3])tensor([[4, 5, 6]], dtype=oneflow.int64)这个例子中: export xxx环境变量通知oneflow环境用于通信的IP和Port,以及全局共有2个rank(WORLD_SIZE=2),终端一所在的是rank0,终端二所在的是rank1。p = flow.placement("cpu", ranks=[0, 1])设置了global tensor将会被搁置于rank0和rank1。sbp = flow.sbp.split(0)设置了global tensor的sbp属性为split,即按第0维度进行切分。x = flow.tensor([[1,2,3],[4,5,6]], placement=p, sbp=sbp)从python list数据配合sbp和placement结构了一个global tensor x。这里,x是由[[1,2,3],[4,5,6]]结构而来,其shape为(2,3),所以咱们print(x.shape)失去的是:oneflow.Size([2, 3]),x是一个global tensor,其shape示意全局范畴内的逻辑形态。 ...

October 31, 2022 · 2 min · jiezi

关于深度学习:使用上下文装饰器调试Pytorch的内存泄漏问题

装璜器是 python 上下文管理器的特定实现。本片文章将通过一个pytorch GPU 调试的示例来阐明如何应用它们。尽管它可能不适用于所有状况,但我它们却是十分有用。 调试内存透露问题有很多办法能够调试内存透露。本文将展现一种辨认代码中有问题的行的有用办法。该办法能够有助于以简洁的形式找到具体的地位。 逐行手动调试 如果遇到问题,一种经典的且罕用的办法是应用调试器逐行查看,比方上面的例子: 在搜索引擎查找无关如何计算 pytorch 中所有张量总数的代码片段,比方:tensor-counter-snippet在代码中设置断点应用tensor-counter-snippet来取得张量的总数统计应用调试器执行下一步操作从新运行 tensor-counter-snippet,并查看张量计数是否减少反复下面的步骤 它能够工作,但这样的操作光听起来来就很麻烦。咱们能够将其封装成一个函数,这样能够在须要的时候调用,这样简直不须要批改现有的代码,所以就引出了咱们要介绍装璜器的性能。 Python 装璜器 装璜器能够包装在代码的任意局部。这里咱们通过装璜器来实现查看是否有额定的张量 ,除此以外咱们还须要一个计数器,因为须要在执行之前和之后计算张量的数量。该模式如下所示: def memleak_wrapper(func): def wrap(*args, **kwargs): print("num tensors start is ...") out = func(*args, **kwargs) print("num tensors end is ...") return out return [email protected]_wrapper def function_to_debug(x): print(f"put line(s) of code here. Input is {x}") out = x + 10 return outout = function_to_debug(x=1000) print(f"out is {out}") #输出相似这样 #num tensors start is ... #put line(s) of code here. Input is 1000 #num tensors end is ... #outis 1010要运行这个代码,咱们就须要将要查看的代码行放入函数 (function_to_debug)。然而这不是最好的,因为咱们还须要手动插入很多代码。另外就是如果代码块生成的变量多于一个,还须要寻找额定的解决方案来应用这些上游变量。 ...

October 31, 2022 · 1 min · jiezi

关于深度学习:基于AidLux平台的医院出入口人流量统计案例的开发与测试

1、环境配置 1.1、跨平台零碎利用设置AIdlux零碎是基于ARM架构的跨生态(Android/鸿蒙+Linux)一站式AIOT利用开发平台。理论利用到现场的时候,通常会以几种状态:GPU服务器、嵌入式设 备(比方Android手机、人脸识别闸机等)、边缘设施。GPU服务器等,而Android 嵌入式设施的底层芯片,通常是ARM架构。而Linux底层也是ARM架构,并且Android又是 基于Linux内核开发的操作系统,两者能够共享Linux内核。因而就产生了从底层开发一套利用零碎的形式,在此基础上同时带来原生Android和原生Linux应用体验。所以在基于Linux零碎和ARM架构上,咱们能够在安卓手机上间接下载Aidlux软件,应用安卓手机充当边缘设施,进行代码的调试与案例的实现。 图11.2、软件下载安卓手机关上利用市场搜寻AidLux软件并下载,这里须要满足以下的条件: ●Android 版本≥6.0.1(目前只有安卓零碎兼容,鸿蒙3.0零碎设置须要在AidLux在 Android12/鸿蒙3 服务过程被杀解决方案- AidLux开发者社区查看,大家有任何问题都能够在社区留言的,会有工程师来帮忙解决。) ●cpu 反对arm64-v8a架构 ●手机存储空间短缺 ●1.0以上版本须要装置空间>600M ●初始化空间>1.7G 1.3、手机端相干软件的设置下载实现后-->应用本人的手机号进行注册(图2)-->零碎开始初始化-->进入登录界面-->应用cloud_ip中的网址进行映射到电脑网页(留神:安卓手机和电脑要在同一个局域网下,并且留神网站别输错,比方http://192.164.42.42:8000,这里的http后没有s,如果不行的话,换成手机热点连贯。)-->输出网站进入电脑端(初始密码为aidlux)。 1.4、电脑端下载VScode软件VScode 在官网https://code.visualstudio.com/点击download进行下载,官网下载可能速度会很慢,解决办法看这篇文章vscode下载办法,下载实现后,依照提醒步骤始终进行实现装置就能够了。图2 1.5、VScode的相干环境的配置1.装置本地版的python与opencv,点击extensions,进入搜寻栏输出python,点击install,期待下载实现即可。 再下载一个Remote-SSH,同样的步骤,在前面连贯手机端Aidlux时会用到。图32.装置opencv在深度学习中,opencv是图像界面的十分重要的软件,咱们这里关上软件左上方菜单栏的Terminal终端,点击New Terminal ,而后输出pip install opencv-python -i https://pypi.tuna.Tsinghua.ed...进行包的下载。 3.测试创立一个python文件video_pc.py,在同一个文件夹下放入检测文件,我这里是jiankong.mp4,之后点击RUN->RUN without debugging进行运行,运行失常,页面会呈现你的监控文件的画面。 ##此代码用于测试本地的环境是否配置实现#导入库import cv2cap = cv2.VideoCapture("jiankong.mp4") #这里输出检测文件frame_id = 0while cap.isOpened(): ok, image = cap.read() if not ok: print("Camera cap over!") continue frame_id += 1 if not int(frame_id) % 5 == 0: continue image = cv2.resize(image,(900,600)) cv2.imshow("image",image) cv2.waitKey(5) #调整读帧速度2、PC端近程调试AidLux在第一节中咱们实现了根本的手机端与PC端的环境的利用,接下来咱们就是应用PC端作为次要的窗口来对Aidlux进行近程的代码编写与调试。 2.1、VScode近程连贯Aidlux之前曾经在本地下载了Remote-SSH,接下来咱们点击Remote Explorer,如图4,点击左下角的“Open a Remote Window”(图5),再抉择“Open SSH Configuration file”(图6)图4图5图6图7图8上面对config进行配置 ...

October 30, 2022 · 5 min · jiezi

关于深度学习:深度学习Nvidia显卡驱动安装

导读本文将介绍如何在Ubuntu零碎上,装置显卡驱动。 1. 下载驱动驱动程序下载关上下面的驱动下载链接,依据本人的显卡型号进行抉择对应配置,如下图,后点击搜寻。 下载搜寻后,点击上面下载案例即可下载。 2. 装置依赖sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libopenblas-dev liblapack-dev libatlas-base-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev如果装置失败,则先进行pip3的降级更新,再反复上述操作。 sudo apt-get install python3-pip更新降级pip3:sudo pip3 install --upgrade pip3. 禁用零碎默认显卡驱动sudo gedit /etc/modprobe.d/blacklist.conf # 在文件开端写入blacklist nouveauoptions nouveau modeset=0 # 保留后手动更新;sudo update-initramfs -u # 电脑重启,输出下列指令进行确认,若无输入,则禁用胜利:lsmod | grep nouveau4. 配置环境变量gedit命令关上配置文件sudo gedit ~/.bashrc开端写入export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH保留更新source ~/.bashrc5. 卸载原有驱动sudo apt-get --purge remove nvidia*sudo apt autoremove6. 退出图形界面按住ctrl+alt+F1(1-6均可),进入x-serversudo service lightdm stop如果提醒unit lightdm.service not loaded 则须要装置LightDm: ...

October 29, 2022 · 1 min · jiezi

关于深度学习:基于yolov5框架实现人流统计目标检测算法目标追踪算法以及越界识别功能手机获取统计人数

次要实现的AI算法有:指标检测、指标追踪 次要实现AI算法性能:越界辨认性能(次要是获取统计人流量) 平台:基于Aidlux平台 根底库装置:(1)lap装置:先sudo apt-get update,再输出sudo apt-get install -y cmake build-essential python3-dev;最初pip install lap -i https://pypi.tuna.tsinghua.ed...。(2)cython_bbox装置:先装置cython:pip install cython -i https://pypi.tuna.tsinghua.ed...再装置cython_bbox:pip install cython_bbox -i https://pypi.tuna.tsinghua.ed...(3)torch装置:pip install torch -i https://pypi.tuna.tsinghua.ed...,如果有装置过则跳过。(4)torchvision装置:pip install torchvision -i https://pypi.tuna.tsinghua.ed...,如果有装置过,则跳过。(5)thop装置:pip install thop -i https://pypi.tuna.tsinghua.ed... 一、前提:咱们通常学习的AI视觉算法,次要是底层的利用技术,比方指标检测、人脸识别、图像宰割、关键点检测、语音辨认、OCR辨认等算法。通常而言,在各个行业理论利用中,不同的场景,对应不同的算法性能,而不同的算法性能则由不同利用技术组合而成。如下图:而明天这个人流量的统计利用次要用到的AI算法性能是越界辨认,它次要是由基于yolov5框架的指标检测算法和基于Bytetrack多指标追踪算法(当然应用Deepsort多指标追踪算法也是能够的) 以下是论文地址分享: Deepsort多指标追踪算法论文PDF:http://extension//idghocbbaha...Bytetrack多指标追踪算法论文PDF:http://extension//idghocbbaha...代码实现:指标检测模块(次要是基于yolov5):关上yolov5.py进行视频推理测试 # aidlux相干from cvs import *import aidlite_gpufrom utils import detect_postprocess, preprocess_img, draw_detect_res import timeimport cv2 # AidLite初始化:调用AidLite进行AI模型的加载与推理,需导入aidliteaidlite = aidlite_gpu.aidlite()# Aidlite模型门路model_path = '/home/lesson4_codes/aidlux/yolov5n_best-fp16.tflite'# 定义输入输出shapein_shape = [1 * 640 * 640 * 3 * 4]out_shape = [1 * 25200 * 6 * 4]# 加载Aidlite检测模型:反对tflite, tnn, mnn, ms, nb格局的模型加载aidlite.ANNModel(model_path, in_shape, out_shape, 4, 0) cap = cvs.VideoCapture("/home/lesson4_codes/aidlux/market.mp4")frame_id = 0while True: frame = cap.read() if frame is None: continue frame_id += 1 if not int(frame_id) % 5 == 0: continue # 预处理 img = preprocess_img(frame, target_shape=(640, 640), div_num=255, means=None, stds=None) # 数据转换:因为setTensor_Fp32()须要的是float32类型的数据,所以送入的input的数据需为float32,大多数的开发者都会遗记将图像的数据类型转换为float32 aidlite.setInput_Float32(img, 640, 640) # 模型推理API aidlite.invoke() # 读取返回的后果 pred = aidlite.getOutput_Float32(0) # 数据维度转换 pred = pred.reshape(1, 25200, 6)[0] # 模型推理后处理 pred = detect_postprocess(pred, frame.shape, [640, 640, 3], conf_thres=0.5, iou_thres=0.45) # 绘制推理后果 res_img = draw_detect_res(frame, pred) cvs.imshow(res_img)成果截图:标签中的person代表是人,分数代表的是置信度也等同于说这个框内的物体是人的概率值。 ...

October 28, 2022 · 4 min · jiezi

关于深度学习:什么是实时3D渲染实时逼真图形背后的软件技术

随着应用程序和品质地进步,最近的技术提高为咱们带来了令人兴奋的 3D 渲染新倒退。应用实时3D渲染软件创立的身临其境的数字体验当初简直无奈与实在事物辨别开来。 随着古代技术的逐渐改良,在负担得起的集体工作站上渲染 3D 图像变得更加容易,而设计师的间接输出更少。 一、什么是实时3D渲染? 简而言之,实时 3D 渲染容许用户查看或与模仿实时静止的 3D 图像和场景进行交互。实时成像容许对想法和设计进行更全面的可视化,包含它们在事实中的体验形式。 3D 渲染还能够促成设计师和营销团队之间的合作和翻新。直到最近,这种工作流程才成为可能,因为过来须要许多在本地渲染农场工作的人才能实现,而保护和治理这些渲染农场所需的流程须要更多的工夫和金钱。 二、哪个软件应用实时 3D 渲染? 实时真切图形背地的软件技术仿佛把握在游戏行业手中。 Unreal 5 和 Unity 最后仅被视为游戏开发程序,旨在通过实时 3D 图形使古代游戏看起来令人惊叹。 随着设计师以翻新的形式利用它,这种蓬勃发展、一直倒退的技术不断改进。虚拟现实和加强事实当初容许近乎照片般真切的体验,将物理世界与数字世界交融和叠加。 很多公司仿佛热衷于鼎力投资实时 3D 渲染,为客户提供全新的交互式体验;在娱乐、时尚和房地产等畛域重振以审美为导向的落后产业;并发明新的和令人兴奋的形式来与潜在客户交换想法。随着可视化技术的疾速倒退,行业内的新工具也层出不穷。V-Ray在渲染界,V-Ray渲染器必然是名列前茅的。V-Ray是Chaos Group旗下,一款提供最先进渲染技术的渲染软件,被设计师们视为行业标杆。 V-Ray以其多功能性而著称,能够与一系列渲染应用程序集成,包含:3ds Max、Maya、Sketchup、Rhino、Revit、Unreal等。它为不同畛域的优良3D建模软件,提供了高质量的效果图与动画渲染。SubstanceSubstance是Adobe旗下一款用于3D创作的工具,专一纹理、材质的创作。从游戏到电影, 从修建到设计,Substance的服务范畴十分宽泛。该套件由Substance Painter、Substance Source、Proect Substance Alchemist和 Substance Designer组成。此外,Substance文件能与3D创作过程中的其余利用相兼容。EvermotionEvermotion是修建体现畛域的老牌模型网站,以修建效果图的配景素材而著称。它领有数以万计的高质量3D模型以及大量场景合集,每两周,Evermotion都会在合集中更新一次,用户能够抉择购买单个模型或整个合集。这些素材,大多数为 3ds Max与V-Ray构建的。Quixel MegascansQuixel Megascans是寰球最大、增长速度最快的扫描库,发现数千种3D资产、可平铺外表、植被、瑕疵、图集、贴花等,涵盖所有设置。 它是游戏、VFX及修建可视化畛域业余的首选,可晋升和优化工作流程,实现照片级的真实感。 TwinmotionTwinmotion是一款实时3D沉迷式软件,可能在几秒内生成高质量图像、全景图以及360°VR视频等。旨在帮忙修建、施工、城市规划、园林绿化等行业的业余人员,更好地体现和传播他们的创意与设计。该软件反对BIM或CAD模型从动态渲染转换成无可比拟的真切体验,反对我的项目设置地理位置,利用实在环境,能轻松创立门路,用车辆与行人填充。 Octane RenderOctane Render是一款功能强大的渲染引擎,功能丰富。它是世界上第一个最快的无偏见、频谱正确的GPU渲染引擎,能提供高质量、高速度的渲染服务。 凭借突破性的机器学习优化、核外几何反对、场景图形10-100倍的速度晋升、RTX光线跟踪以及GPU硬件加速,推动了一流的图形技术倒退。BlenderBlender是一款收费开源三维图形的图像软件,提供从建模、动画、材质、渲染、到音频解决、视频剪辑等一系列动画短片制作的解决方案。Blender为全世界的媒体工作者和艺术家而设计,能够被用来进行三维可视化,同时也能够创作播送和电影级品质的视频,另外内置的实时三维游戏引擎,让制作独立回放的三维互动内容成为可能。Cinema 4DCinema 4D是一款3D体现软件,由德国Maxon Computer开发,以极高的运算速度和弱小的渲染插件著称。很多模块的性能,都能在同类软件中代表科技进步的成绩。Cinema 4D利用宽泛,在广告、电影、工业设计等方面都有杰出的体现。Corona RendererCorona渲染器始创于2009年,2017年8月,Corona Renderer被世界领先的计算机图形图像可视化公司Chaos团体收买,成为Chaos团体旗下的一部分。Corona Renderer是一款能够完满集成在3dsmax上应用的渲染器,这款渲染器渲染进去的成果实在且效率快,很多人将它利用在日常工作中。Corona Rendere可用于Autodesk 3ds Max、MAXON Cinema 4D,以及作为独立应用程序应用。该产品常利用于电影、动画、娱乐、修建、设计等行业。 三、为实时 3D 渲染打造的行业掂量实时 3D 渲染的必要性和重要性的一种更简略的办法是查看它曾经彻底改变的行业以及它可能被利用的应用程序。从构思阶段到消费者参加,实时 3D 曾经在扭转一系列行业。游戏正如人们可能预期的那样,依赖这种技术的最大行业之一就是游戏。实时 3D 渲染使游戏开发变得更容易、更快、制作老本更低,这对游戏创作者来说是个好消息。 ...

October 27, 2022 · 1 min · jiezi

关于深度学习:PyTorch中的多GPU训练DistributedDataParallel

在pytorch中的多GPU训练个别有2种DataParallel(DP)和DistributedDataParallel(DDP) ,DataParallel是最简略的的单机多卡实现,然而它应用多线程模型,并不可能在多机多卡的环境下应用,所以本文将介绍DistributedDataParallel,DDP 基于应用多过程而不是应用多线程的 DP,并且存在 GIL 争用问题,并且能够裁减到多机多卡的环境,所以他是分布式多GPU训练的首选。 这里应用的版本为:python 3.8、pytorch 1.11、CUDA 11.4 如上图所示,每个 GPU 将复制模型并依据可用 GPU 的数量调配数据样本的子集。 对于 100 个数据集和 4 个 GPU,每个 GPU 每次迭代将解决 25 个数据集。 DDP 上的同步产生在构造函数、正向流传和反向流传上。在反向流传中梯度的平均值被流传到每个 GPU。 无关其余同步详细信息,请查看应用 PyTorch 官网文档:Writing Distributed Applications with PyTorch。 Forking的过程为了Forking多个过程,咱们应用了 Torch 多现成解决框架。一旦产生了过程,第一个参数就是过程的索引,通常称为rank。 在上面的示例中,调用该办法的所有衍生过程都将具备从 0 到 3 的rank值。咱们能够应用它来辨认各个过程,pytorch会将rank = 0 的过程作为根本过程。 import torch.multiprocessing as mp // number of GPUs equal to number of processes world_size = torch.cuda.device_count() mp.spawn(<selfcontainedmethodforeachproc>, nprocs=world_size, args=(args,))GPU 过程调配将 GPU 调配给为训练生成的每个过程。 ...

October 27, 2022 · 2 min · jiezi

关于深度学习:探索人机深度融合的高可用性人工智能应用

目前,人工智能技术在世界范畴内热度极高,但却呈现了“雷声大、雨点小”的景象。一方面,随着近年来深度学习技术的一直倒退,计算能力的一直进步,更深更简单网络的遍及应用,加上深度学习端到端的个性,看起来如同人工智能就是端到端的标注,一直地做数据荡涤,减少标注数据,加深模型参数,就能够实现计算机像人类一样工作。另一方面,人工智能在理论利用场景落地时常常失败,常听到有“只见人工,不见智能”,“有多少人工就有多少智能”的吐槽。因而,目前许多人工智能技术的实现现阶段还不能脱离人工教训。 人工智能落地须要人工智慧,这里外围在于联合场景和算法特点做正当的设计,而非关注更多标准化的标注或者设计更精湛的算法网络。达观是ToB的自然语言解决(NLP)公司,次要做办公文档主动解决。近年来在金融、政务、制造业等行业胜利落地了十分多的NLP我的项目。 NLP也被誉为人工智能皇冠上的明珠,AI落地特地是NLP落地尤其不容易,通过机器解决办公文档远比从一堆图片中找出有猫的图片要简单得多。因为让机器解决办公文档,往往存在短少大量的训练语料状况,不同行业间须要解决的具体问题千差万别,人工都须要专业培训甚至几年工作教训能力解决得当。本文次要联合达观的实际落地教训,探讨在具体NLP我的项目落地时,计算机“智能”须要哪些必不可少的“人工”。 “人工”化繁为简,拆解简单问题人工智能难以落地的次要起因之一是要解决的问题过于简单,如果只靠算法模型的自学习,很难学到对应常识,从而作出正确决策,就像用大学生的题目考小学生,不可能考得好。但如果咱们能人工对负责问题进行拆解,分解成多个简略问题,那每个简略的问题可能通过模型就能解决。但如何拆解?拆解成什么水平模型是能够解决的呢?达观的教训是:当面对一个NLP问题,人类看完后立即就能反馈出后果的,这样的问题模型就是咱们定义的“简略问题”,是机器能够解决的。上面以合同文档抽取的场景为例帮忙大家了解。 假如咱们须要构建模型从PDF格局的合同中抽取出甲方、乙方、守约条款等字段信息,看看机器是怎么一步步进行拆解的:首先看机器的输出数据。PDF格局外部只是规定了每个字符或者线条应该在屏幕上什么地位,这些元素自身没有任何语义上的信息,在计算机看来这份文档其实只有字符以及其地位等简略信息,并没有人看渲染好的PDF文件的对齐、大小、重要性等更多信息。如果通过端到端的形式,把文字以及坐标一起输出到模型,让模型本人学习文档构造,实践上能够抽取出须要的字段。这种形式乍听之下能够一试,但实际效果是十分差的。因为让人看到一堆字和坐标,心愿判断出抽取的字段,那自身就是非常复杂的事件,所以咱们还须要进一步拆解。 文档解析模型负责解析PDF协定,并且通过肯定算法将文档结构化,也就是转成章节、表格、段落等文字流,再输出到字段抽取的模型。这两个模型是否足够简略并能落地呢? 大部分文档下,哪个是文字块,哪个是表格,哪个是图片,人是能够霎时判断进去的。而文字块拆成章节、题目、段落,尤其是有些文档段落开始并没有显著空格,那人还是须要认真看,有时候还要剖析上下文能力剖析进去。所以咱们将文档解析持续拆解成元素辨认模型和段落辨认模型。 对于字段抽取,有些字段比较简单,比方甲方、乙方,人眼就能看出后果,这些字段间接通过模型抽取问题不大;有些字段略微简单一些,比方合同总金额有时候是在文本中的,有时候是在表格外面的,人在看的时候也须要反馈一下能力失去信息,所以能够对字段抽取再进行拆解。表格外面须要专门的表格抽取模型,如果是无线表格,人在看的时候往往还须要将虚线进行对应,所以也能够拆出无线表格辨认的模型。文本抽取中,有些字段是长文本。比方守约条款,人在找的时候往往是通过前后文找到抽取的开始和完结,而短字段则更关注抽取自身以及上下文的内容。通过对每个步骤的复杂度进行剖析,能够进一步拆解为上面构造。 这就是文档抽取常见的模型,但在理论应用中,依据具体数据状况以及剖析字段的特点,可能还会再进行拆解。比方某些字段可能是在固定的某些章节或者段落中,用全局的文本进行训练和预测有很大的烦扰,那咱们就能够再减少一个字段章节预测的模型,定位该字段所在章节。再比方租房合同抽取的字段的文本是比较简单的选择性文本,对于模型来说也有肯定艰难。在销售合同文本中经常呈现: 如果须要退货,采纳B进行退货退款: 不能退货能够退货,收取20%赔偿金能够退货,收取50%赔偿金这样的文本则须要拆成2个模型,一个是抽取选择项的模型,另一个是抽取抉择列表的模型。“人工”模型抉择与优化 模型抉择也是须要“人工”教训的,须要联合标注数据规模、数据特点、模型难度等进行抉择和解决。比方后面提到的章节预测的模型,如果章节题目特色比拟显著,则能够间接通过关键词或者机器学习模型来进行分类解决,如果写法不太标准,须要通过章节题目和章节内容进行判断,则可能思考基于bert的深度学习算法。就咱们达观的教训而言,不同模型,如果应用完全相同的数据,调优后成果差距在5%以内,如果场景能比拟好的应用上预训练模型,比方bert,那成果能晋升10%-15%。 选定模型之后,也能够通过减少一些特色从而进一步升高模型的难度,进步准确度。在垂直畛域文档解决上,业务词典是罕用的办法。业务词典包含了专有名词,也包含了字段的重要要害信息的特色。比方咱们要抽取合同的乙方,对于公司洽购而言,很多都是有供应商库的,或者说能够取得之前与他们签合同的乙方的名称。这个名称形成的词典可能不全,所以不能只靠这个来匹配,但将这个“乙方专有名词”输出模型作为参考特色,是十分有用的。字段的重要要害信息的特色,指的是抽取的这个字段十分要害的上下文。比方抽取“甲方”这个字段,尽管话术能够有多种,比方甲方是xxx,甲方:xxx,甲方是本次的承办单位xxxx等等,但根本都会带“甲方”几个关键字,所以如果把这些专有名词也退出模型,准确度往往会有不小的晋升。上面这个是重要词(专有名词或者业务词)应用的例子。 假如“委员”和“委员会”是重要词。须要对“美国联邦通信委员会最近正式批准苹果开展5G通信试验”的每个字生成词向量。这里的办法是通过2-gram,3-gram,4-gram和5-gram对每个字进行编码,编成8个位,每种gram各2个位示意上文是否是重要词和下文是否是重要词。以“委”字为例编码方式为: 2-gram,就是“信委”和“委员”,“信委” 不是外围词,而“委员”是外围词,所以编码为“01”3-gram,就是“通信委”和“委员会”,“通信委” 不是外围词,而“委员会”是外围词,所以编码为“01”4-gram,就是“邦通信委”和“委员会最”都不是外围词,所以编码为“00”5-gram,就是“联邦通信委”和“委员会最近”都不是外围词,所以编码为“00”其余行业常识也能够用相似的形式生成字向量。把所有的行业向量和原始的字向量进行拼接,作为模型的输出,这样模型就能间接取得行业教训,从而有更好的成果。 “人工”构建常识图谱有些文本问题有很强的业务性,难以进行拆解,或者业务逻辑太简单,很难让机器学习到对应的常识。清华大学人工智能研究院院长张钹院士在一次演讲中提到“人的智能没法通过单纯的大数据学习把它学进去,那怎么办?很简略,加上常识,让它有推理的能力,做决策的能力,这样就能解决突发事件。”达观在落地实际中就是通过常识图谱来解决这种简单的问题。 常识图谱的概念由 Google 在 2012 年正式提出,是一种语义网络知识库,将现有常识的以结构化多关系图(Multi-Relational Graph)的模式进行贮存、应用、展现造成。通过将多个实体关系三元组进行交融,造成蕴含多个不同的实体节点和多种类别的关系边的多关系图,即常识图谱。常识图谱落地也有很多挑战,构建和保护常识图谱的工作量是十分大的,很多我的项目因为构建过程太过简单而最终失败。须要正当设计和使用常识图谱,也须要“人工”教训。达观通过常识图谱辅助智能制作有很多胜利的落地案例,上面结合实际利用场景,谈下外面的一些教训。 生产制作过程中,有很多时候会遇到一些故障,比方手机发热,螺丝拧不上等问题,不疾速解决会影响生产流程。之前遇到这类问题只能通过征询经验丰富的“专家”,但总会存在专家找不到或者专家不肯定有空的状况。咱们心愿通过NLP和常识图谱技术能够解决这个问题。 达观通过对外面的数据进行钻研发现,要找到这些问题的答案常常要波及好多文件,比方产品说明书,故障手册等。有些问题容易取得答案,但有些问题可能须要通过一些简单的推理能力取得答案,甚至不肯定能找到答案。面对这个问题,咱们设计了制造业生效图谱。 为了解决专家录入进行构建的老本过高的问题,一方面咱们设计的生效图谱schema只和生效自身相干,其余生成过程中的常识并不纳入产品范畴之类,从而缩小生成图谱的工作量。另一方面,咱们在图谱构建的时候,以人工联合智能。从相干的文档,比方产品说明书,故障培修手册,生效剖析文档等内容中提取相干属性数据,通过人工审核,再录入到图谱中。这种人机联合的形式生成图谱相比于纯人工生成图谱能够大幅缩小工作量。图谱数据的抽取次要采纳基于pipeline抽取和联结抽取的办法。 pipeline抽取,是用NER技术先抽取出实体和属性后,再通过分类办法对实体两两进行分类判断。这种办法的长处是灵活性高,不同类型的实体能够用不同的模型进行抽取,关系抽取的分类算法也能够结合实际数据进行优化和调整,毛病在于可能产生谬误流传,实体谬误前面的关系必定是谬误的,以及疏忽了实体属性抽取和关系抽取外部的可能分割。 基于联结抽取的办法是同时抽取实体、属性、关系。针对实体抽取出的实体对,在以后句子对应的依存句法树中找到可能笼罩该实体对的最小依存句法树, 并基于 TreeLSTM 生成该子树对应的向量示意,最初,依据子树根节点对应的 TreeLSTM 向量进行关系分类。 一些常识能够通过抽取已有的文档,但有些文档缺失或者抽取难度很高的,则由专家来进行人工录入,从而结构了一个针对生效的常识图谱。有了这个图谱,就造成了计算机的常识。 生效图谱例 基于图谱赋予的常识,企业能够应用基于常识图谱的问答(KBQA)来解决生产中理论碰到的问题,咱们叫“归因剖析”。基于图谱的问答须要能了解各种query的实在用意,尤其是query可能输错,可能表述不标准,须要还能对应到图谱失去正确的答案。这外面也须要对问题进行拆解,分解成一个个能够解决的模型。 KBQA解决流程 一般来说,KBQA分为数据预处理,问句剖析,常识检索,答案生成4个阶段。 数据预处理,指的是query进行根底的NLP解决,包含了分词,格局转换,归一化,纠错等过程。这外面和传统搜寻中的数据预处理比拟不同的是,纠错往往能够联合图谱外面的各种名称进行纠错,并且能够保留多个纠错后果,在前面的过程中再联合其余信息判断是否须要纠错,或纠错成哪个后果。问句剖析,外围是要对query进行用意辨认,并且进行实体链接。用意辨认指用户的query是对于什么的,比方是问解决办法还是问起因。实体链接就是将问句文本的某些字符串映射到知识库中对应的实体上。实体链接是问答零碎的外围问题之一,因为实体链接如果出错,前面的后果会十分不相干。这外面的难点在于用户query的名称和图谱中实体的名称并不是完全一致。所以咱们也会加上含糊搜寻以及同义词等形式来解决这个问题。常识检索,须要从图谱中选出合乎该query相干的子图,并且对其排序。因为问题可能须要图谱通过多跳取得答案,所以这个步骤外面返回的实体节点可能有多个。答案生成,一方面是依据返回的后果找出最合乎的一个,并且依据问句以及图谱的信息,通过NLG的技术生成可能的文字答案。“人工”进行场景抉择和产品状态设计针对人工智能产品或解决方案,个别大家都在探讨技术如何晋升,成果如何优化。以达观在过来几年落地的很多AI我的项目来说,场景抉择和产品状态的设计其实是落地十分要害的环节。从落地的角度,实质需要是心愿能够更快地高质量实现预计的工作,并不是须要一个多少准确率的模型。而且这里的高质量,在办公文档解决上的落地需要往往是100%精确。而目前的算法根本都不能达到100%精确,而且算法自身并不知道错在哪里,这也是AI落地碰到的最大挑战。因为当须要所有数据进行复核,“疾速”这个需要就会大打折扣。如何“疾速”审核就是须要在场景抉择以及产品状态上做很多工作。 01比对数据用第三方数据或者有规定进行校验,就能疾速发现AI谬误之处。比方电子合同和图片合同进行文档比对的场景,ocr的谬误通过比对,能够疾速的找到呈现ocr谬误的中央,人工能够疾速进行查看。 文档比对产品kh 02业务关系文档中辨认的元素有些是有业务关系的,能够通过字段的关系来验证辨认是否正确。比方下图总和的值应该是下面列表中数值计算后的后果。如果辨认进去的后果总和公式不正确,那很可能是两头哪个元素辨认呈现了问题,如果辨认进去的后果总和公式正确,那根本辨认自身也是正确的。 财务文档中的勾稽关系 03高效审核人工审核过程的产品交互是十分重要的,须要对比拟消耗工夫的环节联合具体业务场景的审核过程进行正当交互设计。审核过程次要是“找到”和“订正”两个动作,达观通过对抽取后果进行高亮,点击字段跳转等性能帮忙审核人员疾速“找到”抽取后果以及上下文,通过划选和快捷键等性能减速人工“订正”的工夫。 人工审核产品 交互人工智能落地是一个挺有挑战性的工作,既须要攻克技术难度,一直晋升算法精度,也须要理解业务,理解场景,能力抉择适合的场景,构建正当的算法流程,设计不便的产品交互,把这些“人工”的价值施展进去,以人机协同的形式促成算力和模型的进步,能力真正实现“人工智能”。

October 27, 2022 · 1 min · jiezi

关于深度学习:TPU演进十年Google的十大经验教训

David Patterson,Google卓越工程师、UC Berkeley荣誉退休传授、美国国家工程院、科学院院士、文理科学院“三院”院士。他是RISC(精简指令集计算机)、RAID(独立磁盘冗余阵列)和NOW(工作站网络)的缔造者,他与John Hennessy的著述《计算机体系结构:量化钻研办法》在业内久负盛名。 2017年,David Patterson退出Google TPU团队,2018年3月,他与John Hennessy独特取得图灵奖,2008年获ACM/IEEE Eckert-Mauchly 奖(被誉为计算机体系结构最高奖),2000年取得冯·诺依曼奖章。 本文是他近期在加州大学伯克利分校的演讲,他分享了Google TPU近十年的倒退历程以及心得体会,并论述了晋升机器学习硬件能效对碳脚印的影响。OneFlow社区对此进行了编译。 作者|David Patterson翻译|胡燕君、贾川、程浩源 1 一场由TPU引发的“地震”2013年,Google AI负责人Jeff Dean通过计算后发现,如果有1亿安卓用户每天应用手机语音转文字服务3分钟,耗费的算力就已是Google所有数据中心总算力的两倍,何况寰球安卓用户远不止1亿。 如果仅通过扩充数据中心规模来满足算力需要,岂但耗时,而且老本昂扬。因而,Google决定针对机器学习构建特定畛域计算架构(Domain-specific Architecture),心愿将深度神经网络推理的总体领有老本(TCO)升高至原来的十分之一。 于是,Google在2014年开始研发TPU,我的项目停顿神速,仅15个月后TPU就可在Google数据中心部署利用,而且TPU的性能远超预期,它的每瓦性能是是GPU的30倍、CPU的80倍(数据源自论文:https://arxiv.org/ftp/arxiv/p...)。 2016年,在Google I/O开发者大会上,Google首席执行官Sundar Pichai对外颁布了TPU这一突破性成绩,他介绍道: “通过Google云平台,用户岂但能够接触到Google外部应用的高性能软件,还能够应用Google外部开发的专用硬件。机器学习的计算规模微小,因而Google研发了机器学习专用硬件,也就是‘张量处理单元(TPU)’。TPU的每瓦性能比市面上所有GPU和FPGA都高出一个数量级。用户能够通过Google云平台体验TPU的优异性能。DeepMind研发的AlphaGo在与韩国棋手李世石的对战中应用的底层硬件就是TPU。” 希腊神话中,特洛伊和平的起因是两方抢夺世界上最美的女人——海伦,后世诗人将海伦的美貌“令成千战舰为之起航”。我认为TPU就像海伦,它的呈现引起了“成千芯片与之竞逐”。 能够说,TPU的问世引发了硅谷的“地震”。TPU发表诞生后,Intel耗资数十亿美元收买了多家芯片公司,阿里巴巴、Amazon等竞争对手纷纷开始研发相似产品。TPU从新唤起了人们对计算机架构的关注,起初的几年内,呈现了上百家相干初创企业,年均总融资额近20亿美元,各种离奇的想法层出不穷。 五年后,Sundar Pichai又在2021年Google I/O开发者大会颁布TPU v4: “AI技术的提高有赖于计算基础设施的反对,而TPU正是Google计算基础设施的重要局部。新一代TPU v4芯片的速度是v3的两倍多。Google用TPU集群构建出Pod超级计算机,单台TPU v4 Pod蕴含4096块v4芯片,每台Pod的芯片间互连带宽是其余互连技术的10倍,因而,TPU v4 Pod的算力可达1 ExaFLOP,即每秒执行10的18次方浮点运算,相当于1000万台笔记本电脑的总算力。” 上图展现了TPU的倒退历史。其中,Google尚未颁布TPU v4i(TPU v4 lite)的相干细节。去年Google发表TPU v4i已在云服务上可用,也发表了一篇对于TPU v4i的论文(https://www.gwern.net/docs/ai...)。 2 十年演进,十大教训过往十年,咱们在ML计算架构的倒退中吸取了十大教训。 其中,前五个都和ML模型自身无关,后五个则关乎硬件和架构。这些教训对深度学习以外的畛域也有借鉴意义。 教训一:DNN所需内存空间和算力迅速增长 咱们浏览近几年的论文后发现,推理模型所需的内存空间和算力均匀每年增长50%。因为芯片设计和部署至多各须要1年,投入理论应用并优化须要3年。可见,从一款芯片开始设计到生产周期完结的5年内,模型所需的内存空间和算力已增长到大概8倍。因而,在芯片设计之初就要将这种增长思考在内。 训练模型的增长速度比推理模型更快。依据OpenAI的统计,2012-2019年,SOTA训练模型的算力需要年均增长10倍。备受关注的GPT-3模型的参数量更是从15亿(GPT-2)增长到1750亿,进步了100倍。 教训二:DNN工作负载随着DNN冲破一直演变 深度学习是一个突飞猛进的畛域。2016年,MLP(多层感知器)模型仍是支流,但到2020年,CNN、RNN和BERT等不同模型百花齐放。BERT是一种全新的Transformer模型,诞生于2018年,短短两年后,四分之一以上的Google外部利用都在应用BERT模型,可见深度学习倒退变动之快。因而,ML计算架构须要可能反对多种模型。 教训三:DNN模型可优化通常而言,计算机架构师只需懂硬件、体系结构、编译器,如果还懂操作系统则更好,但他们不须要懂利用。然而,构建针对特定畛域的架构则须要软硬件兼通。 对ML工程师而言,只有能够让模型跑得更好,他们十分违心依据硬件/编译器改良DNN模型。毕竟DNN模型不像GCC编译器,后者已成为被宽泛驳回的编译器规范,不会轻易依据硬件改变。 DNN模型之所以能够优化,局部起因是这些程序自身不算宏大,大概只是成千上万行PyTorch或TensorFlow代码,操作可行性较强。 Google的一篇论文介绍了一种模型优化技术Platform-aware AutoML,AutoML应用的办法称为“神经架构搜寻(Neural Architecture Search)”,即机器主动在搜寻空间中寻找更优的神经网络模型构造。在上述论文的例子中,经机器主动优化后的CNN1模型,在雷同的硬件和编译器上可实现雷同的准确率,而运算性能为原模型的1.6倍。 教训四:影响推理体验的是提早,而非批次规模 一些对于模型推理优化的论文把重点放在数据批次规模(batch size)上,认为要把batch size设置为1能力使提早降到最低。然而,通过MLPerf基准数据可见,Google的生产模型在batch size相当大的状况下也能实现低提早,这可能是因为这些模型是基于TPU开发,因而更加高效。 ...

October 25, 2022 · 1 min · jiezi

关于深度学习:比较CPU和GPU中的矩阵计算

GPU 计算与 CPU 相比可能快多少?在本文中,我将应用 Python 和 PyTorch 线性变换函数对其进行测试。 以下是测试机配置: CPU:英特尔 i7 6700k (4c/8t) GPU:RTX 3070 TI(6,144 个 CUDA 外围和 192 个 Tensor 外围) 内存:32G 操作系统:Windows 10 无论是cpu和显卡都是目前常见的配置,并不是顶配(等4090可能失常发货后咱们会给出目前顶配的测试后果) NVIDIA GPU 术语解释CUDA 是Compute Unified Device Architecture的缩写。能够应用 CUDA 间接拜访 NVIDIA GPU 指令集,与专门为构建游戏引擎而设计的 DirectX 和 OpenGL 不同,CUDA 不须要用户了解简单的图形编程语言。然而须要阐明的是CUDA为N卡独有,所以这就是为什么A卡对于深度学习不敌对的起因之一。 Tensor Cores是减速矩阵乘法过程的处理单元。 例如,应用 CPU 或 CUDA 将两个 4×4 矩阵相乘波及 64 次乘法和 48 次加法,每个时钟周期一次操作,而Tensor Cores每个时钟周期能够执行多个操作。 下面的图来自 Nvidia 官网对 Tensor Cores 进行的介绍视频 CUDA 外围和 Tensor 外围之间有什么关系?Tensor Cores 内置在 CUDA 外围中,当满足某些条件时,就会触发这些外围的操作。 ...

October 22, 2022 · 1 min · jiezi

关于深度学习:隐式神经流一种网格无关的时空耦合数据降维范式

前言隐式流(INR)示意在3D视觉中是一个新型的畛域,也是一个十分热门的畛域,能够看作是PDE的范式 Pan, Shaowu, Steven L. Brunton, and J. Nathan Kutz. "Neural Implicit Flow: a mesh-agnostic dimensionality reduction paradigm of spatio-temporal data." arXiv preprint arXiv:2204.03216 (2022).隐式神经流能够看作是DeepOnet的拓展,他的网络架构其实是和DeepOnet是高度类似的,也是算子学习的一种,是一种网格无关的办法,这与FNO等具备显著差异。这篇文章算是对DeepOnet进行了一个魔改,利用了神经网络最初一层的特点,算是一篇不错的文章。 问题形容思考到具备不同工夫或参数的三维时空数据 $$\partial \mathbf{u}/\partial t=\mathcal{G} \left( \boldsymbol{\mu },\mathbf{u},\nabla \mathbf{u},\nabla ^2\mathbf{u},... \right) ,$$ 其中,\( (\mathbf{x},t,\boldsymbol{\mu })\in \Omega =\mathcal{X} \times \mathcal{T} \times \mathcal{D} ,\mathcal{X} \subset \mathbb{R} ^3,\mathcal{T} \subset \mathbb{R} ^+,\mathcal{D} \subset \mathbb{R} ^d \),\( \mathcal{G} \)是一类非线性算子。 在给定初始条件和边界条件的状况下,咱们针对不同的参数或工夫,乃至只有稠密观测值的状况进行PDE求解。 办法与网络架构这篇文章的思维是和HyperNetworks是一样的 Ha, D., Dai, A., & Le, Q. V. (2016). Hypernetworks. arXiv preprint arXiv:1609.09106.就是利用ParameterNet来决定ShapeNet的参数。具体而言,就如下图所示 ...

October 21, 2022 · 2 min · jiezi

关于深度学习:EasyNLP发布融合语言学和事实知识的中文预训练模型CKBERT

作者:汝贤、秋兮、熊兮、临在 导读预训练语言模型在NLP的各个利用中都有及其宽泛的利用;然而,经典的预训练语言模型(例如BERT)不足对常识的了解,例如常识图谱中的关系三元组。常识加强预训练模型应用内部常识(常识图谱,字典和文本等)或者句子外部的语言学常识进行加强。咱们发现,常识注入的过程都随同着很大规模的常识参数,上游工作fine-tune的时候依然须要内部数据的撑持能力达到比拟好的成果,从而无奈在云环境中很好的提供给用户进行应用。CKBERT(Chinese Knowledge-enhanced BERT)是EasyNLP团队自研的中文预训练模型,联合了两种常识类型(内部常识图谱,外部语言学常识)对模型进行常识注入,同时使得常识注入的形式不便模型可扩大。咱们的试验验证也表明CKBERT的模型精度超过了多种经典中文模型。在本次的框架降级中,咱们将多种规模的CKBERT模型奉献给开源社区,并且这些CKBERT模型与HuggingFace Models齐全兼容。此外,用户也能够在阿里云机器学习平台PAI上不便地利用云资源应用CKBERT模型。 EasyNLP(https://github.com/alibaba/Ea...)是阿⾥云机器学习PAI 团队基于 PyTorch 开发的易⽤且丰盛的中⽂NLP算法框架,⽀持常⽤的中⽂预训练模型和⼤模型落地技术,并且提供了从训练到部署的⼀站式 NLP 开发体验。EasyNLP 提供了简洁的接⼝供⽤户开发 NLP 模型,包含NLP应⽤ AppZoo 和预训练 ModelZoo,同时提供技术帮忙⽤户⾼效的落地超⼤预训练模型到业务。因为跨模态了解需要的一直减少,EasyNLP也⽀持各种跨模态模型,特地是中⽂畛域的跨模态模型,推向开源社区,心愿可能服务更多的 NLP 和多模态算法开发者和研 究者,也心愿和社区⼀起推动 NLP /多模态技术的倒退和模型落地。 本⽂简要介绍CKBERT的技术解读,以及如何在EasyNLP框架、HuggingFace Models和阿里云机器学习平台PAI上使⽤CKBERT模型。 中文预训练语言模型概览在这一节中,咱们首先简要回顾经典的中文预训练语言模型。目前中文预训练语言模型次要包含了两种类型: 通用畛域的预训练语言模型,次要包含了BERT、MacBERT和PERT等模型;常识加强的中文预训练模型,次要包含了ERNIE-baidu,Lattice-BERT,K-BERT和ERNIE-THU等模型。通用畛域的预训练语言模型BERT间接应用Google公布的基于中文维基文本语料进行训练的模型。MacBERT是BERT的改良版本,引入了纠错型掩码语言模型(MLM as correction,Mac)预训练任务,缓解了“预训练-上游工作”不统一的问题。在掩码语言模型(MLM)中,引入了[MASK]标记进行掩码,但[MASK]标记并不会呈现在上游工作中。在MacBERT中,应用类似词来取代[MASK]标记。类似词通过Synonyms toolkit 工具获取,算法基于word2vec类似度计算。同时,MacBERT也引入了Whole Word Masking和N-gram Masking技术。当要对N-gram进行掩码时,会对N-gram里的每个词别离查找类似词;当没有类似词可替换时,将应用随机词进行替换。因为肯定水平的乱序文本不影响语义了解,PBERT从乱序文本中学习语义常识。它对原始输出文本进行肯定的词序调换,从而造成乱序文本(因而不会引入额定的[MASK]标记),其学习指标是预测原Token所在的地位。 常识加强的中文预训练模型BERT在预训练过程中应用的数据仅是对单个字符进行屏蔽,例如下图所示,训练BERT时通过“哈”与“滨”的部分共现判断出“尔”字,然而模型其实并没有学习到与“哈尔滨”相干的常识,即只是学习到“哈尔滨”这个词,然而并不知道“哈尔滨”所代表的含意。ERNIE-Baidu在预训练时应用的数据是对整个词进行屏蔽,从而学习词与实体的表白,例如屏蔽“哈尔滨”与“冰雪”这样的词,使模型可能建模出“哈尔滨”与“黑龙江”的关系,学到“哈尔滨”是“黑龙江”的省会以及“哈尔滨”是个冰雪城市这样的含意。 与ERNIE-Baidu相似,Lattice-BERT利用Word-Lattice构造整合词级别信息。具体来说,Lattice-BERT设计了一个Lattice地位留神机制,来表白词级别的信息,同时提出了Masked Segment Prediction的预测工作,以推动模型学习来自丰盛但冗余的外在Lattice信息。 除了语言学常识,更多的工作利用常识图谱中的事实性常识丰盛中文预训练模型的表征。其中,K-BERT提出了面向常识图谱的常识加强语言模型,将三元组作为畛域常识注入到句子中。然而,过多的常识融入会导致常识乐音,使句子偏离其正确的含意。为了克服常识乐音, K-BERT引入了Soft-position和Visibel Matrix来限度常识的影响。因为K-BERT可能从预训练的BERT中加载模型参数,因而通过装备KG,能够很容易地将畛域常识注入到模型中,而不须要对模型进行预训练。EasyNLP框架也集成了K-BERT的模型和性能(看这里)。 ERNIE-THU是一种融入常识Embedding的预训练模型。它首先应用TAGME提取文本中的实体,并将这些实体链指到KG中的对应实体对象,而后取得这些实体对象对应的Embedding。实体对象的Embedding由常识示意办法(例如TransE)训练失去。此外,ERNIE-THU在BERT模型的根底上进行改良,除了MLM、NSP工作外,从新增加了一个和KG相干的预训练指标:Mask掉Token和Entity (实体) 的对齐关系,并要求模型从图谱的实体中抉择适合的Entity实现对齐。 自研CKBERT模型技术详解因为以后的常识加强预训练模型大都应用内部常识(常识图谱,字典和文本等)或者句子外部的语言学常识进行加强,同时常识注入的过程都随同着很大规模的常识参数,上游工作fine-tune的时候依然须要内部数据的撑持能力达到比拟好的成果,从而无奈在云环境中很好的提供给用户进行应用。CKBERT(Chinese Knowledge-enhanced BERT)是EasyNLP团队自研的中文预训练模型,联合了两种常识类型(内部常识图谱,外部语言学常识)对模型进行常识注入,同时使得常识注入的形式不便模型可扩大。针对实际的业务需要,咱们提供了三种不同规模参数量的模型,具体配置如下所示: 模型配置alibaba-pai/pai-ckbert-base-zhalibaba-pai/pai-ckbert-large-zhalibaba-pai/pai-ckbert-huge-zh参数量(Parameters)151M428M1.3B层数(Number of Layers)122424注意力头数(Attention Heads)12168隐向量维度(Hidden Size)76810242048文本长度(Text Length)128128128FFN 层维度307240968192CKBERT的模型架构如下图所示: 为了不便模型进行扩大参数,模型只在数据输出层面和预训练任务层面进行了改变,没有对模型架构进行改变。因而,CKBERT的模型构造与社区版的BERT模型对齐。在数据输出层,一共要解决两局部的常识,内部图谱三元组和句子级外部的语言学常识。针对语言学常识,咱们应用了哈工大LTP平台进行句子数据的解决,进行语义角色标注和依存句法分析等,而后依据规定,将辨认后果中重要的成分进行标注。针对内部三元组常识是依据句子中呈现的实体结构实体的正负三元组样本,正样本是依据图谱中1-hop 实体进行的采样,负样本是依据图谱中multi-hop进行的采样,但负样本的采样过程只能在规定的多跳范畴内,而不能在图谱中距离太远。 CKBERT采纳两种预训练任务进行模型的预训练,语言学感知的掩码语言模型和多跳常识比照学习: 语言学感知的掩码语言模型(Linguistic-aware MLM):在语义依存关系中的主体角色(施事者AGT和当事者EXP )局部用[MASK]进行遮掩,同时在词的前后都加上SDP,附加上词汇的边界信息。在依存句法关系中,将主谓冰关系,定中关系,并列关系等依照上述mask机制进行解决为DEP。整体进行预训练的token数量是整句话的15%,其中40%进行随机MASK,30%和30%调配到语义依存关系和依存句法关系词汇上来。损失函数如下: 多跳常识比照学习:将上述结构的正负样本数据针对该注入的实体进行解决,每一个句中实体结构1个正样本,4个负样本,通过规范的infoNCE损失工作进行内部常识的学习。损失函数如下: 其中\( h_{et} \) 是预训练模型产生的上下文实体示意,\( h_{tp} \) 示意正样本的三元组示意后果,\( h_{tn} \) 示意负样本的三元组示意后果。 ...

October 19, 2022 · 15 min · jiezi

关于深度学习:渲染行业未来发展趋势

本地渲染1.硬件投入老本大,还须要承当硬件损耗的费用。2.会产生资源节约,如果不能保障始终有大量的渲染工作排期就会呈现机器静置进而产生节约。3.当呈现突发性的短暂但海量的业务需要,导致超过自身集群规模能提供的算力反对时,只能抉择购入新的GPU硬件来扩充集群。4.须要承当超大集群的运维工作。这里不只蕴含GPU集群的调度运维,还蕴含与之配套的文件服务零碎运维。5.有地区和设施的依赖。云端渲染1.能够享受弹性服务,按需购买GPU集群,缩小资源节约。2.能够享受私有云平台提供的高性能高可用运维解决方案,享受到私有云供应商的百人以上业余技术团队提供的24小时不间断技术服务。3.能够享受私有云平台提供的额定配套服务。例如文件服务,平安防护等等,无需放心兼容性的问题。4.能够追随私有云平台技术解决方案的降级而一直失去服务降级,甚至能享受到云平台新技术的加持。云渲染,就是一种依靠于云计算,充分利用云计算思维的云端服务。咱们以效果图渲染为例。用一台本地电脑渲染图片须要20个小时,而云渲染就用10台雷同配置的电脑同时渲染,渲染时长缩短到约2个小时。重点是能够多任务同时进行渲染,本来本地单台电脑1次只能渲1张图,当初云渲染1次能够渲染10几、20张图。这样,不必工作站、不抢CPU,防止本地电脑的损耗,还能够疾速出图,极大地晋升了产业效率。而晋升产业效率,对影视、动画行业更为重要。渲巨匠渲染宣巨匠是一家 GPU 根底算力服务提供商,多年来深耕于渲染及人工智能算力畛域,凭借超过2000+ 的 GPU 算力设施,提供香港及中国边疆的渲染农场,反对渲染及深度学习应用场景,配套支流的软件,模板,集群性能,疾速晋升算力。致力于为寰球客户提供高性价比、高可用、高算力的根底设施租赁及解决方案服务。

October 18, 2022 · 1 min · jiezi

关于深度学习:持续学习常用6种方法总结使ML模型适应新数据的同时保持旧数据的性能

继续学习是指在不遗记从后面的工作中取得的常识的状况下,按程序学习大量工作的模型。这是一个重要的概念,因为在监督学习的前提下,机器学习模型被训练为针对给定数据集或数据分布的最佳函数。而在事实环境中,数据很少是动态的,可能会发生变化。当面对不可见的数据时,典型的ML模型可能会性能降落。这种景象被称为灾难性忘记。 解决这类问题的罕用办法是在蕴含新旧数据的新的更大数据集上对整个模型进行再训练。然而这种做法往往代价昂扬。所以有一个ML钻研畛域正在钻研这个问题,基于该畛域的钻研,本文将探讨6种办法,使模型能够在放弃旧的性能的同时适应新数据,并防止须要在整个数据集(旧+新)上进行从新训练。 PromptPrompt 想法源于对GPT 3的提醒(短序列的单词)能够帮忙驱动模型更好地推理和答复。所以在本文中将Prompt 翻译为提醒。提醒调优是指应用小型可学习的提醒,并将其与理论输出一起作为模型的输出。这容许咱们只在新数据上训练提供提醒的小模型,而无需再训练模型权重。 具体来说,我抉择了应用提醒进行基于文本的密集检索的例子,这个例子改编自Wang的文章《Learning to Prompt for continuous Learning》。 该论文的作者应用下图形容了他们的想法: 理论编码的文本输出用作从提醒池中辨认最小匹配对的key。在将这些标识的提醒输出到模型之前,首先将它们增加到未编码的文本嵌入中。这样做的目标是训练这些提醒来示意新的工作,同时放弃旧的模型不变,这里提醒的很小,大略每个提醒只有20个令牌。 class PromptPool(nn.Module): def __init__(self, M = 100, hidden_size = 768, length = 20, N=5): super().__init__() self.pool = nn.Parameter(torch.rand(M, length, hidden_size), requires_grad=True).float() self.keys = nn.Parameter(torch.rand(M, hidden_size), requires_grad=True).float() self.length = length self.hidden = hidden_size self.n = N nn.init.xavier_normal_(self.pool) nn.init.xavier_normal_(self.keys) def init_weights(self, embedding): pass # function to select from pool based on index def concat(self, indices, input_embeds): subset = self.pool[indices, :] # 2, 2, 20, 768 subset = subset.to("cuda:0").reshape(indices.size(0), self.n*self.length, self.hidden) # 2, 40, 768 return torch.cat((subset, input_embeds), 1) # x is cls output def query_fn(self, x): # encode input x to same dim as key using cosine x = x / x.norm(dim=1)[:, None] k = self.keys / self.keys.norm(dim=1)[:, None] scores = torch.mm(x, k.transpose(0,1).to("cuda:0")) # get argmin subsets = torch.topk(scores, self.n, 1, False).indices # k smallest return subsets pool = PromptPool()而后咱们应用的经过训练的旧数据模型,训练新的数据,这里只训练提醒局部的权重。 ...

October 18, 2022 · 4 min · jiezi

关于深度学习:什么是云渲染阿凡达阿丽塔告诉你

一、什么是云渲染?渲染,是CG(computer graphics)的最初一道工序,也是最终使图像合乎的3D场景的阶段,英文为Render。haoCG,利用计算机技术进行视觉设计和生产的畛域。包含:游戏、动画、漫画、建筑设计等家装效果图就是在家庭、装璜施工之前,通过施工图纸,把施工后的实际效果用实在和直观的视图体现进去制作过程:模型设计、材质设计、灯光设计、渲染。为了渲染《阿凡达》,维塔数码动用了占地10,000平方英尺的服务器群 。单机渲染一帧的均匀工夫为2小时,160分钟的影片, 整体渲染工夫须要2880000小时,相当于一台服务器要工作328年!《阿丽塔》均匀每一帧须要100小时来渲染,全片125分钟,动用3万台电脑参加渲染,均匀下来用了14400小时,一天24h,两年制作周期,累计4.32亿小时。-阿丽塔眼睛的CG模型,有多达900万个多边形-阿丽塔的电子机械躯干,蕴含7000多个精密打造的零部件;-阿丽塔脸上的微细绒毛,超过50万根;-其余最费时费力的毛发,还包含13.2万根头发,2000根眉毛,和480根睫毛帧数(Frames)&帧率(FPS)帧数,电脑显卡输入的动态画面。帧率,在一秒内电脑显卡输入了肯定数量动态的画面。帧率(Frame rate)=帧数(Frames)/工夫(Time),单位为帧每秒(f/s, frames per second, fps)也就是说,如果一个动画的帧率恒定为60帧每秒(fps),那么它在一秒钟内的帧数为60帧,两秒钟内的帧数为120帧。因为人眼视觉残留,肉眼在看超过24帧每秒的动态图片就会认为是间断动静视频。(你能拍摄到60帧每秒的视频,而后通过软件把每秒帧数调节到每秒24帧左右,那么你在一秒钟内拍摄到的图像就能通过慢速播放成两秒钟,而且是间断的、不会卡顿的)简略来说,帧,就是一张静止的图象,疾速间断地显示帧便造成了静止的假象,也就是视频渲染,就是将3D模型转换成2D图像,并最终出现在屏幕上的过程。二、渲染类型介绍实时渲染实时渲染(Real-time Rendering)从字面的意思非常容易了解,就是咱们要实时的看到渲染之后的3D物体或者场景的成果。实时,用数字怎么了解?至多24FPS:只有达到或者超过1秒钟播放24张连贯图像的速度,人眼观看时就不会造成卡顿的感觉。比方最常见的3D游戏《王者》《吃鸡》,或者是一些带有交互的3D利用,比方智慧城市、智慧园区的可视化我的项目。实时渲染的场景中,这些利用都会独立运行在咱们的电脑、手机上,通过本地的硬件能力实现实时渲染的过程。因而,玩大型游戏的话,本地硬件性能肯定要好。离线渲染离线渲染(Offline Rendering),离线渲染是跟实时渲染绝对应的,简略说就是咱们不须要实时的看到渲染成果的场景。常见的就是咱们的家装效果图、好莱坞影视大片、3D动画等影视场景。他们都须要达到一个十分真切的渲染成果,甚至是齐全实在的场景复现,然而对实时性要求不高。那为什么咱们不能实时地去渲染一张效果图,反而要用离线渲染的机制呢?因为渲染的成果和真实度要求不同!三、如何进行离线渲染?云渲染云渲染(Cloud Rendering),从字面了解就是在云端实现渲染的意思。通常对于云渲染的了解,个别都是在云端实现实时渲染的场景。云渲染的呈现就是为了解决这个问题:让硬件性能不太好的终端也能够实时的渲染成果不错的3D内容。云渲染的基本原理是,把所有的3D渲染工作都交给云端。渲染实现后,编码成为视频实时地传送给咱们的客户端,客户端就变成了一个视频播放器,对视频流进行解码和播放,这个过程中能够通过鼠标和键盘操作,来实现交互性能。各自的优劣和应用场景实时渲染(Real-time Rendering)谋求渲染速度,要求比拟强的交互体验。所以即使在客户端硬件性能较高的状况下,也要做大量的数学算法优化,在不是特地升高渲染成果的同时,缩小渲染工夫,达到很好的实时性交互。 例如:游戏、智慧园区离线渲染(Offline Rendering)谋求渲染品质,不要求实时性和交互性。谋求的是极致的渲染成果,达到以假乱真的体验。因而就用最极致最优良最贴近实在物理原理的渲染算法,来进行真实度极高的渲染过程。通过渲染农场的云端计算能力,尽量地缩小渲染工夫。例如:家装图、电影云渲染(Cloud Rendering)谋求绝对较高的渲染品质同时,也要达到实时性要求。所以云端算力的部署和调度的能力要求会更高,让客户端配置不高的用户通过云渲染也能领会到不错的3D利用。例如:云桌面渲染利用行业房地产/修建3D 艺术家只须要几张空间的照片,他们能够用任何必要的便当设施的真切的图像来舞台医疗虚拟现实中的云渲染可用于培训医务人员,在不将患者置于危险之中的状况下练习操作技术,发明新的教育内容。室内设计通过 云渲染软件,设计师能够实现不同样式、色彩、纹理和照明,并向客户展现后果。娱乐/游戏渲染使电影、动漫、游戏更加身临其境

October 14, 2022 · 1 min · jiezi

关于深度学习:EasyCV-DataHub-提供多领域视觉数据集下载助力模型生产

作者:伝迹 谦言 夕陌 临在 在人工智能广泛应用的明天,深度学习技术曾经在各行各业起到了重要的作用。在计算机视觉畛域,深度学习技术在大多数场景曾经代替了传统视觉办法。如果说深度学习是一项重要的生产工具,那么数据就是不可或缺的生产资料,巧妇难为无米之炊,数据对于视觉模型生产起到了至关重要的作用。 EasyCV是阿里云机器学习平台团队开源的基于Pytorch的all-in-one视觉算法建模工具,搭建了丰盛欠缺的自监督算法体系,提供了成果SOTA的视觉Transformer预训练模型,modelzoo笼罩图像自监督训练、图像分类、度量学习、物体检测、实例宰割、语义宰割、关键点检测等畛域。 EasyCV提供了不同数据源(data_source)的形象,反对间接读取多种开源数据集格局例如Cifar、ImageNet、CoCo等,同时也反对PAI智能标注平台Itag标注格局和Tfrecord格局数据。 TFrecord格局数据反对应用DALI进行数据处理减速,Itag标注格局图片反对通过缓存机制减速数据读取。 为了不便EasyCV的用户进行模型指标复现、在理论场景训练应用模型,EasyCV汇总了不同畛域的罕用数据集的介绍和下载地址,以后涵盖图像分类、指标检测、图像宰割、姿势预计等方向, 并针对较大且罕用的数据集例如imagenet在原许可证容许的状况下提供了国内网盘地址,不便用户疾速下载数据集进行论文指标对齐、模型成果比照、以及理论场景下的模型训练。 次要数据集介绍上面按畛域介绍一下EasyCV以后整顿提供的数据集, 其中加粗局部的数据集能够通过网盘链接下载。 datahub的应用细节可参考:https://github.com/alibaba/Ea... 图像分类数据集汇总: ImageNet1K、ImageNet21K、Cifar10、Cifar100、MNIST、Fashion-MNIST、Flower102、Caltech101、Caltech256 ImageNet官网链接:https://image-net.org/downloa... 网盘链接: ImageNet1k https://pan.baidu.com/s/13pKw... 提取码:0zas ImageNet1k TFrecord https://pan.baidu.com/s/153SY... 提取码:5zdc ImageNet21k https://pan.baidu.com/s/1eJVP... 提取码:kaeg ImageNet是市场上最大、最受欢迎的开源数据集之一。ImageNet领有超过1400万张已手动标注的图像。数据库按WordNet层次结构予以组织,对象级标注通过边界框实现。 指标检测数据集汇总:COCO2017、VOC2007、VOC2012、LVIS、Cityscapes、Object365、CrowdHuman、OpenImages、WIDER FACE、DeepFashion、Fruit Images、Oxford-IIIT Pet、Arthropod Taxonomy Orders、African Wildlife、AI-TOD航空图、TinyPerson、WiderPerson、Caltech Pedestrian Dataset、DOTA COCO2017官网链接:https://cocodataset.org/#home 网盘链接:https://pan.baidu.com/s/14rO1... 提取码:bcmm COCO 是一个大型图像数据集,其被用于机器视觉畛域的对象检测与宰割、人物关键点检测、填充宰割与字幕生成。该数据集以场景了解为主,图像中的指标则通过准确的宰割进行地位标定。 该数据集具备指标宰割、情景感知和超像素宰割三个特色,其蕴含 33 万张图像、150 万指标实例、80 个指标类、91 个物品类以及 25 万关键点人物。 LVIS官网链接:https://www.lvisdataset.org/d... 网盘链接:https://pan.baidu.com/s/1Untu... 提取码:8ief 大规模的词汇实例宰割数据集(Large Vocabulary Instance Segmentation,LVIS ),蕴含了164k图像,并针对超过1000类物体进行了约200万个高质量的实例宰割标注。因为数据集中蕴含天然图像中的物体散布人造具备长尾属性。 Objects365官网链接:https://www.objects365.org/ov... 该数据集总共蕴含63万张图像,笼罩365个类别,高达1000万框数,具备规模大、品质高、泛化能力强的特点,远超Pascal VOC、COCO等传统数据集。 宰割数据集汇总:VOC2007、VOC2012、Pascal Context、COCO-Stuff 10K、Cityscapes、ADE20K Cityscapes官网链接:https://www.cityscapes-datase... ...

October 12, 2022 · 1 min · jiezi

关于深度学习:手把手教你使用LabVIEW-OpenCV-dnn实现物体识别Object-Detection含源码

前言明天和大家一起分享如何应用LabVIEW调用pb模型实现物体辨认,本博客中应用的智能工具包可到主页置顶博客LabVIEW AI视觉工具包(非NI Vision)下载与装置教程中下载 一、物体辨认算法原理概述1、物体辨认的概念物体辨认也称指标检测,指标检测所要解决的问题是指标在哪里以及其状态的问题。然而,这个问题并不是很容易解决。状态不合理,对象呈现的区域不确定,更不用说对象也能够是多个类别。指标检测用的比拟多的次要是RCNN,spp- net,fast- rcnn,faster- rcnn;YOLO系列,如YOLOV3和YOLOV4;除此之外还有SSD,ResNet等。 2、Yolo算法原理概述Yolo的辨认原理简略清晰。对于输出的图片,将整张图片分为7×7(7为参数,可调)个方格。当某个物体的中心点落在了某个方格中,该方格则负责预测该物体。每个方格会为被预测物体产生2(参数,可调)个候选框并生成每个框的置信度。最初选取置信度较高的方框作为预测后果。 二、opencv调用darknet物体辨认模型(yolov3/yolov4)相干源码及模型在darknt文件夹下 应用darknet训练yolo的模型,生成weights文件。应用opencv调用生成的模型 1、darknet模型的获取文件含意: cfg文件:模型形容文件weights文件:模型权重文件Yolov3获取链接:https://github.com/pjreddie/d...https://pjreddie.com/media/fi... Yolov4获取链接:https://github.com/AlexeyAB/d...https://github.com/AlexeyAB/d... 2、python调用darknet模型实现物体辨认(1)dnn模块调用darknet模型 net = cv2.dnn.readNetFromDarknet("yolov3/yolov3.cfg", "yolov3/yolov3.weights")(2)获取三个输入端的LayerName 应用getUnconnectedOutLayer获取三个只有输出,没有输入的层的名字,Yolov3的三个输入端层名为:['yolo_82', 'yolo_94', 'yolo_106'] def getOutputsNames(net): # Get the names of all the layers in the network layersNames = net.getLayerNames() # Get the names of the output layers, i.e. the layers with unconnected outputs return [layersNames[i - 1] for i in net.getUnconnectedOutLayers()](3)图像预处理 应用blobFromImage将图像转为imageSize=(416,416)或(608,608)Scale=1/255Means=[0,0,0] blob = cv2.dnn.blobFromImage(frame, 1/255, (416, 416), [0,0,0], 1, crop=False)(4)推理 ...

October 10, 2022 · 4 min · jiezi

关于深度学习:实时云渲染的关键技术是什么

要制作出一张效果图须要在max里进行多个步骤的操作能力实现,建模、附材质、打灯光、渲染,做完前期之后才算实现一张效果图的制作建模、材质和灯光都会影响最初的渲染成果,参数越大的场景渲染时长也会更长,想要疾速的渲染出图就须要配置一台CPU性能较高的电脑,在渲染时CPU都是满载状态,如果拿出几核来做其余事件渲染工夫就会变长,所以大部分的设计师都不违心在本人电脑上渲图,转而使用方便高效的渲染工具——云渲染 问题一:什么是云渲染? 云渲染就是把在电脑上渲染的步骤放到云渲染平台的服务器上,通过云渲染客户端把本地的工作上传到云渲染农场,农场用高配CPU的机器渲染,渲完之后后果再传回本地早些年云渲染刚衰亡时大部分平台都是做的渲染农场,不是自助式的渲染,只能通过分割农场,传输文件,报价渲染之后再传回来,过程比拟繁琐,也容易呈现渲染问题当初的云渲染基本上都是云渲染平台,技术也根本成熟了,能够做到齐全匹配本地的软件、插件版本,计费也是有通明的计费规定,最不便的是当初的云渲染根本都是自助式的,只须要本人在电脑上进行简略的操作就能够实现渲染 问题二:云渲染的速度如何? 3dmax渲染速度次要看CPU的线程和主频,当初网上大部分的云渲染平台应用的是至强E5的16核、24核的机器,相较于一般的家用电脑线程数高很多,渲染速度也会快几倍当初配置一台上万元的渲染电脑线程数个别为12、16线程,云渲染的线程更多一些,但高性能电脑的CPU主频必定是要比云渲染的机器主频高的,云渲染的主频个别在2.5-3左右,而一个2000-3000的CPU主频就能够达到4-5左右,所以如果违心花多一点钱去配一台高性能CPU的电脑其实和云渲染的渲染速度是差不多的但云渲染最弱小的中央在于能够联机渲染,每个渲染农场都有大量的服务器资源,能够应用5台、10台这种联机渲染的形式来大大提高渲染速度,这个是本地电脑无奈做到的。 问题三:云渲染有哪些劣势呢? 1.渲染速度云渲染最大的劣势就是渲染速度十分快,大部分云渲染平台都是应用E系列的CPU,线程数很高,单台机器大部分是32线程或是48线程的,格子多了渲染速度也就快了。 云渲染最厉害的还是分布式渲染,云渲染平台将服务器联机起来渲染渲染速度就会成倍增加,个别最高能够抉择10台-20台服务器联机渲染,当遇到很着急交图的状况,抉择云渲染的最高线程分布式渲染一套图可能几分钟就渲染实现了,这一点是本地渲染没法比的。 2.批量渲染云渲染另一个劣势就是能够同时渲染多张效果图,这个是本地机器无奈做到的,提交多张效果图同时渲染比起在本地一张一张渲染能够节俭大量的工夫 3.不占用CPU平时咱们用本人电脑渲图时CPU会跑满,渲图时就没法持续应用电脑了,所以个别渲染工夫都会抉择在中午,用云渲染渲图不会占用CPU,在渲图的同时能够持续作图,大大提高了工作效率 4.当初网上比拟便宜的平台渲染,均匀一张图的老本在0.8,如果洽购一台专门拿来渲图的电脑,老本是几千块,并且有时一台电脑还不能满足一位员工的需要,而用云渲染不管提多少张图,都是能够马上就开始渲染的,不必排队,老本很低 5.更多的性能各大云渲染平台的性能越来越齐全,在渲染时个别都有一键出通道图和优化场景的性能,从多方面缩小渲图的工夫; 渲染师收费为客户提供渲染测试,装备 NVIDIA 业余 GPU 的物理主机,提供 2000+ GPU 算力,汇合海量图形设计专用工具,赋能 3D 渲染服务更具规模,速度更快,动画/效果图更完满。让您畅享极速、稳固、平安的云渲染体验。

October 9, 2022 · 1 min · jiezi

关于深度学习:DeepRec-大规模稀疏模型训练推理引擎

导读:本文将以下三个方面开展介绍: DeepRec背景(咱们为什么要做DeepRec)DeepRec性能(设计动机和实现)DeepRec社区(最新公布的2206版本次要性能)DeepRec背景介绍咱们为什么须要稠密模型引擎?TensorFlow目前的社区版本是可能反对稠密场景的,然而在以下三个方面存在一些性能上的短板: 晋升模型成果的稠密训练性能;晋升模型迭代效率的训练性能;稠密模型的部署。因而咱们提出了DeepRec,其功能定位在稠密场景做深度的优化。 DeepRec所做的工作次要在四大方面:稠密性能、训练性能、Serving、以及部署& ODL。 DeepRec在阿里巴巴外部的利用次要在举荐(猜你喜爱)、搜寻(主搜)、广告(直通车和定向)等几个外围场景。咱们也给云上的一些客户提供了局部稠密场景的解决办法,为其模型成果和迭代效率的晋升带来了很大帮忙。 DeepRec性能介绍DeepRec的性能次要分为以下五大方面:稠密性能Embedding,训练框架(异步、同步),Runtime(Executor、PRMalloc),图优化(结构化模型,SmartStage),serving部署相干性能。 1. EmbeddingEmbedding局部将介绍以下5个子性能: 1.1 动静弹性特色(EV) 上图的右边是TensorFlow反对稠密性能的次要形式。用户首先定义固定的shape的Tensor,稠密的特色通过Hash+Mod的形式map到刚刚定义的Tensor上。这个逻辑上有4个问题: 稠密特色的抵触,Hash+Mod的形式容易引入特色抵触,这会导致无效特色的隐没,进而影响成果;存储局部会导致内存的节约,有局部内存空间不会被应用到;固定的shape,一旦Variable的shape固定了,将来无奈更改;低效的IO,如果用户用这种形式定义Variable,必须通过全量的形式导出,如果Variable的维度很大,那么无论导出还是加载都是非常耗时的,但咱们在稠密的场景其实变动的局部是很少的。在这种状况下,DeepRec定义的EmbeddingVariable设计的原理是:将动态的Variable转化为动静的相似HashTable的存储,每来一个key,新创建一个Embedding,这样就人造地解决了特色抵触的问题。通过这样的设计,当特色特地的多的时候,EmbeddingVariable无序的扩张,内存耗费也会变得很大,因而DeepRec引入了以下两个性能:特色准入和特色淘汰。它们都能无效的避免特色扩大到很大的维度。在搜寻和举荐这样的稠密场景,有些长尾特色被模型训练的次数非常少。因而特色准入能通过CounterFilter或者BloomFilter的形式对特色进入EmbeddingVariable设置一个门槛;在模型导出Checkpoint的时候也会有特色淘汰的性能,工夫上比拟老的特色也会被淘汰。这在阿里外部某个举荐业务AUC晋升5‰,在云上某举荐业务AUC晋升5‰,pvctr也有晋升4%。 1.2基于特征频率的动静弹性维度特色(FAE) 通常状况下同一个特色对应的EmbeddingVariable会被设置为同一个维度,如果EmbeddingVariable被设置一个较高的维度,低频的特色内容容易导致过拟合,并且会耗费大量的内存。相同的如果维度设置的过低,高频的特色内容则有可能因为表白的能力有余而影响模型的成果。FAE的性能则提供了对于同一个特色里,依据不同特色冷热来配置不同的维度。这样让模型主动进行训练时第一个是模型的成果能失去保障,第二个也能解决训练对资源的应用。这是对于FAE性能的出发点的介绍。这个性能的应用目前是让用户传入一个维度和统计的算法,FAE主动依据实现的算法来产生不同的EmbeddingVariable;前面DeepRec打算在零碎外部自适应的发现去调配特色的维度,从而进步用户的易用性。 1.3自适应EmbeddingVariable 这个性能和第二个性能有些相似,都是以定义高低频的关系作为出发点。当后面提到的EV特地大时,咱们会看到内存占用特地高。在Adaptive Embedding Variable中咱们用两个Variable来表白,如右图展现。咱们会定义其中一个Variable为动态的,低频的特色会尽可能映射到这个Variable上;另外一个则定义为动静弹性维度特色,用于高频局部的特色。Variable的外部反对低频和高频特色动静的转换,这样的长处是极大升高了系统对内存的应用。例如某个特色训练后第一维可能有靠近10亿,而重要的特色只有20%-30%,通过这种自适应的形式后,能够不须要那么大的维度,进而极大的升高了对内存的应用。咱们在理论利用发现对模型的精度影响是很小的。 1.4 Multi-Hash Variable 这个性能是为了解决特色抵触的问题。咱们原来是通过一个Hash+Mod的形式解决特色抵触,当初用两个或多个Hash+Mod去失去Embedding,并且随后对失去的Embedding做Reduction,这样的益处是能用更少的内存来解决特色抵触的问题。 1.5 Embedding多级混合存储 这一性能的出发点同样也是发现EV在特色个数多的时候,内存开销非常大,训练的时候worker占用的内存可能达到了几十上百G。咱们发现,特色实际上遵循典型的幂律散布。思考到这个特色点,咱们将热点特色放到CPU这样更贵重的资源,而绝对长尾低频的特色则放到绝对便宜的资源中。如右图,有DRAM、PMEM、SSD三种构造,PMEM是英特尔提供的速度介于DRAM和SSD之间,但容量很大。咱们目前反对DRAM-PMEM、DRAM-SSD、PMEM-SSD的混合,也在业务上获得了成果。云上有个业务 原来用200+多CPU分布式训练,当初应用多级存储后改成了单机GPU训练。 以上是对Embedding所有性能的介绍。咱们做这些性能的动机是因为TensorFlow的几个问题(次要是特色抵触),咱们解决的计划是动静弹性特色和Multi-Hash特色,针对动静弹性特色内存开销较大的问题,咱们又开发了特色准入和特色淘汰的性能;针对特色频次,咱们开发了3组性能:动静弹性维度和自适应动静弹性特色是从维度的方向解决的问题,多级混合存储则是从软硬件的方向解决的问题。 2.  训练框架第二个要介绍的性能是训练框架,分为异步和同步两个方向来介绍。 2.1异步训练框架StarServer 在超大规模工作状况下,上千个worker,原生TensorFlow存在的问题是:线程调度非常低效,要害门路开销凸显,另外小包通信非常频繁,这些都成为了分布式通信的瓶颈。 StarServer在图的线程调度、内存的优化方面做得很好,将框架中Send/Recv批改为了Push/Pull语义,PS在执行的时候应用了lockless的办法,极大地提高了执行的效率。咱们比照原生框架有数倍的性能晋升,并且在外部3Kworker左右的数量能达到线性的扩大。 2.2同步训练框架HybridBackend, 这是咱们为同步训练开发的计划,它反对数据并行和模型并行混合分布式训练。数据读取通过数据并行来实现,模型并行能反对大参数量训练,最初应用数据并行做浓密计算。咱们针对不同EmbeddingLookup的特色,做了多路Lookup合并的优化,分组优化,还利用了GPU Direct RDMA的长处,基于网络拓扑的感知,设计整个同步的框架。 3.  Runtime第三个大方面的性能是Runtime,次要介绍PRMalloc和Executor优化。 3.1 PRMalloc 首先是内存调配,内存调配在TensorFlow和DeepRec中都是无处不在的,咱们首先在稠密训练中发现,大块内存调配造成了大量的minorpagefault,此外在多线程的调配中也存在并发调配的问题。咱们在DeepRec中针对稠密训练前向反向的特点,设计了针对深度学习的内存调配计划,称为PRMalloc。它进步了内存使用率和零碎的性能。在图中能够看到次要的一块是MemoryPlanner,它的作用是在模型训练的前k轮的minibatch先统计以后训练的特点,每次须要调配多少Tensor,将这些行为记录通过bin的buffer记录下来,并且做相应的优化。在k步后,咱们将其利用,从而极大缩小上述的问题。咱们在DeepRec的应用中发现,这能大大减少minorpagefault的呈现,缩小了内存的应用,训练速度也失去了1.6倍的减速。 3.2 Executor优化 TensorFlow原生的Executor的实现非常简略,首先对DAG做拓扑排序,随后将Node插入到执行队列中,通过Task利用Executor调度。这样的实现没有联合业务思考,ThreadPool默认应用了Eigen线程池,若线程负载不平均,会产生大量的线程间抢占Steal,带来极大开销。咱们在DeepRec中定义调度更平均,同时定义了要害门路使得在调度的时候有肯定的优先级程序,来执行Op。最终DeepRec也提供了多种包含基于Task,SimpleGraph的调度策略。 4. 图优化相干的性能 4.1结构化特色 这是从业务启发的一个性能。咱们发现在搜寻场景下,不论是训练还是推理,样本往往是1个user对应多个item,多个label的特点。原来的解决形式会视为多个样本,这样user的存储是冗余的,咱们为了节俭这部分开销,自定义了存储格局来做这部分优化。如果这些样本在一个minibatch中是同一个user,局部user网络和item网络会别离计算,最初在做相应的逻辑计算,这样能节俭计算开销。所以咱们别离从存储和计算端做了结构化的优化。 4.2 SmartStage 咱们看到稠密模型的训练通常包含样本的读取,EmbeddingLookup,还有MLP的网络计算。样本的读取和Embedding查找往往不是计算密集型的,并不能无效利用计算资源。原生框架提供的prefetch接口尽管能肯定水平上实现异步操作,然而咱们在EmbeddingLookup过程中设计局部简单的子图,这些不能通过TensorFlow的prefetch实现流水线。TensorFlow提供的流水线性能,理论应用中须要用户显示的指定stage边界,一方面会进步应用难度,另一方面因为stage的精度不够,无奈准确到op级别。对于High Level的API用户无奈手动插入,会导致很多步调并行化。下图是SmartStage的具体操作,它会将Op主动的归类到不同的Stage,使得并发的流水线能失去性能的晋升。咱们在ModelZoo里模型的测试成果最大减速比能达到1.1-1.3。 ...

October 8, 2022 · 1 min · jiezi

关于深度学习:OneFlow的大模型分片保存和加载策略

撰文 | 李响 1 大规模模型分片存储简介在模型比拟小时(如 100G 以下),还有可能采纳单机存储。当模型参数量比拟大时,要求的样本数也更大,训练后做 dump 进去的模型也会很大,单机必定放不下。 比方,由 DeepSpeed 和 Megatron 驱动的 Megatron 图灵自然语言生成模型(MT-NLG)具备 5300 亿个参数,是迄今为止训练过的最大和最弱小的单片 Transformer 语言模型,反对这样的大规模语言模型须要分片保留和加载,不会应用单机内存。此外,在其余 CV、搜寻、举荐和广告类等场景下,读取样本量增多和模型复杂度减少都会带来模型存储上的难题。 本文将介绍 OneFlow 的大模型分片保留、加载策略以及应用办法。 2 OneFlow 模型分片保留和加载OneFlow 的大模型分片保留和加载的实现基于全局视角(Global View,https://docs.oneflow.org/mast...)的概念,既利用 Placement 与 SBP 实现模型文件(下文都用 state dict 示意)在各个物理设施上的切分,实用于当模型大到无奈在单个设施的内存或显存上包容下的场景。 flow.utils.global_view.to_global() 接口介绍 为了更好了解下文保留模型和加载模型两个局部的内容,首先对 flow.utils.global_view.to_global() 接口和其实现思路进行剖析。 区别于现有的 Tensor.to_global() 模式(能够解决一般的 Tensor,https://oneflow.readthedocs.i...),提供了多种类型的输出反对,包含 None、Tensor、List、Tuple、nn.Module 的 state dict 、nn.Graph 的 state dict 和几种类型的任意组合,既将 List/Tuple/Dict 中的输出 Tensor 转换为 Global Tensor。值得注意的是,其传入参数中的 SBP 反对用户自定义一个 (x, tensor) -> sbp 的函数来解决不同 Tensor 对应不同 SBP 的需要。 ...

October 8, 2022 · 4 min · jiezi

关于深度学习:生成模型VAEGAN和基于流的模型详细对比

在Ian Goodfellow和其余钻研人员在一篇论文中介绍生成反抗网络两年后,Yann LeCun称反抗训练是“过来十年里ML最乏味的想法”。只管GANs很乏味,也很有前途,但它只是生成模型家族的一部分,是从齐全不同的角度解决传统AI问题,在本文中咱们将比照常见的三种生成模型。 生成算法当咱们想到机器学习时,首先想到的可能是甄别算法。判断模型是依据输出数据的特色对其标签或类别进行预测,是所有分类和预测解决方案的外围。与这些模型相比生成算法帮忙咱们讲述对于数据的故事并提供数据是如何生成的可能解释,与判断算法所做的将特色映射到标签不同,生成模型试图预测给定标签的特色。 区别模型定义的标签y和特色x之间的关系,生成模型答复“你如何失去y”的问题。而生成模型模型则是P(Observation/Cause),而后应用贝叶斯定理计算P(Cause/Observation)。通过这种形式,他们能够捕捉p(x|y), x给定y的概率,或者给定标签或类别的特色的概率。所以实际上,生成算法也是能够用作分类器的,这可能是因为它们对各个类的散布进行了建模。 生成算法有很多,但属于深度生成模型类别的最风行的模型是变分主动编码器(VAE)、gan和基于流的模型。 VAE变分自编码器(VAE)是一种生成模型,它“提供潜在空间中察看后果的概率形容”。简略地说,这意味着vae将潜在属性存储为概率分布。 变分自编码器(Kingma & Welling, 2014)或VAE的思维深深植根于变分贝叶斯和图形模型办法。 规范的主动编码器包含2个类似的网络,一个编码器和一个解码器。编码器承受输出并将其转换为更小的示意模式,解码器能够应用该示意模式将其转换回原始输出。它们将输出转换到的潜在空间以及它们的编码向量所在的空间可能不是间断。这对于生成模型来说是一个问题,因为咱们都心愿从潜在空间中随机采样,或者从间断潜在空间中生成输出图像的变动。 而变分自编码器具备间断的潜在空间,这样能够使随机采样和插值更加不便。为了实现这一点,编码器的暗藏节点不输入编码向量,而是输入两个大小雷同的向量:一个均值向量和一个标准差向量。每一个暗藏的节点都认为本人是高斯分布的。这里的均值和标准差向量的第i个元素对应第i个随机变量的均值和规范差值。咱们从这个散布向量中采样,解码器从输出向量的概率分布中随机抽样。这个过程就是随机生成。这意味着即便对于雷同的输出,当平均值和标准差放弃不变时,理论的编码在每一次传递中都会有所不同。 自编码器的损失是最小化重构损失(输入与输出的类似水平)和潜在损失(暗藏节点与正态分布的靠近水平)。潜在损失越小,能够编码的信息就越少,这样重构损失就会减少,所以在潜在损失和重建损失之间是须要进行进行衡量的。当潜在损耗较小时,生成的图像与训练的的图像会过于类似,成果较差。在重构损失小的状况下,训练时的重构图像成果较好,但生成的新图像与重构图像相差较大,所以须要找到一个好的均衡。 VAE能够解决各种类型的数据,序列的和非序列的,间断的或离散的,甚至有标签的或无标签的,这使它们成为十分弱小的生成工具。 然而VAE的一个次要毛病是它们生成的输入含糊。正如Dosovitskiy和Brox所指出的,VAE模型往往产生不事实的、含糊的样本。这是由数据分布复原和损失函数计算的形式造成的。Zhao等人在2017年的一篇论文中倡议批改VAEs,不应用变分贝叶斯办法来进步输入品质。 生成反抗的网络生成反抗网络(GANs)是一种基于深度学习的生成模型,可能生成新内容。GAN架构在2014年Ian Goodfellow等人题为“生成反抗网络”的论文中首次被形容。 GANs采纳监督学习办法,应用两个子模型:生成新示例的生成器模型和试图将示例分类为实在或假(生成的)的鉴别器模型。 生成器:用于从问题域生成新的似是而非例子的模型。 鉴频器:用于将示例分类为实在的(来自畛域)或假的(生成的)的模型。 这两个模型作为竞争对手进行训练。生成器间接产生样本数据。它的对手鉴别器,试图辨别从训练数据中提取的样本和从生成器中提取的样本。这个竞争过程在训练中继续进行,直到鉴别器模型有一半以上的工夫无奈判断虚实,这意味着生成器模型正在生成十分真切的数据。 当鉴别器胜利地甄别出虚实样本时,它会失去处分它的参数放弃不变。如果生成器判断谬误则受到惩办,更新其参数。在现实状况下,每当鉴别器不能分辨出差别并预测“不确定”(例如,50%的虚实)时,生成器则能从输出域生成完满的正本。 然而这里每个模型都能够压倒另一个。如果鉴别器太好,它将返回十分靠近0或1的值,生成器则难以获得更新的梯度。如果生成器太好,它就会利用鉴别器的弱点导致漏报。所以这两个神经网络必须具备通过各自的学习速率达到的类似的“技能程度”,这也是咱们常说的GAN难以训练的起因之一。 生成器模型 生成器取一个固定长度的随机向量作为输出,在定义域内生成一个样本。这个向量是从高斯分布中随机抽取的。经过训练后,这个多维向量空间中的点将对应于问题域中的点,造成数据分布的压缩示意,这一步相似于VAE,这个向量空间被称为潜在空间,或由潜在变量组成的向量空间。GAN的生成器将均匀选定的潜在空间中的点。从潜在空间中提取的新点能够作为输出提供给生成器模型,并用于生成新的和不同的输入示例。训练完结后,保留生成器模型,用于生成新的样本。 鉴别器模型 鉴别器模型将一个示例作为输出(来自训练数据集的实在样本或由生成器模型生成),并预测一个二进制类标签为real或fake(已生成)。鉴别器是一个失常的(并且很容易了解的)分类模型。 训练过程完结后,鉴别器被抛弃,因为咱们感兴趣的是生成器。当然鉴别器也可用于其余目标应用 GANs能够产生可行的样本但最后版GAN也有毛病: 图像是由一些任意的噪声产生的。当生成具备特定特色的图片时,不能确定什么初始噪声值将生成该图片,而是须要搜寻整个散布。GAN只区别于“实在”和“虚伪”图像。然而没有束缚说“猫”的照片必须看起来像“猫”。因而,它可能导致生成的图像中没有理论的对象,但款式看起来却很类似。GANs须要很长时间来训练。一个GAN在单个GPU上可能须要几个小时,而单个CPU可能须要一天以上的工夫。基于流的模型基于流的生成模型是准确的对数似然模型,有易解决的采样和潜在变量推理。基于流的模型将一堆可逆变换利用于来自先验的样本,以便能够计算察看的准确对数似然。与前两种算法不同,该模型显式地学习数据分布,因而损失函数是负对数似然。 在非线性独立重量剖析中,流模型f被结构为一个将高维随机变量x映射到规范高斯潜变量z=f(x)的可逆变换。流模型设计的要害思维是它能够是任意的双射函数,并且能够通过叠加各个简略的可逆变换来造成。总结来说:流模型f是由组成一系列的可逆流动作为f(x) =f1◦···◦fL(x),与每个fi有一个可解决的逆和可解决的雅可比矩阵行列式。 基于流的模型有两大类:带有标准化流模型和带有试图加强根本模型性能的自回归流的模型。 标准化流模型 对于许多机器学习问题来说,可能进行良好的密度估计是必不可少的。然而它在实质上是简单的:当咱们须要在深度学习模型中进行反向流传时,嵌入的概率分布须要足够简略,这样才能够无效地计算导数。传统的解决方案是在潜变量生成模型中应用高斯分布,只管大多数事实世界的散布要简单得多。标准化流(NF)模型,如RealNVP或Glow,提供了一个强壮的散布近似。他们通过利用一系列可逆变换函数将一个简略的散布转化为一个简单的散布。通过一系列的变换,依据变量变换定理,能够重复地用新变量替换原变量,最初失去最终目标变量的概率分布。 自回归流的模型 当标准化流中的流动变换被框定为一个自回归模型,其中向量变量中的每个维度都处于先前维度的条件下,流模型的这种变动称为自回归流。与具备标准化流程的模型相比,它向前迈进了一步。 罕用的自回归流模型是用于图像生成的PixelCNN和用于一维音频信号的WaveNet。它们都由一堆因果卷积组成——卷积运算思考到程序:在特定工夫戳的预测只应用过来察看到的数据。在PixelCNN中,因果卷积由一个带掩码的积核执行。而WaveNet将输入通过几个工夫戳转移到将来工夫。 基于流的模型在概念上对简单散布的建模是十分敌对的,但与最先进的自回归模型相比,它受到密度估计性能问题的限度。只管流模型最后可能会代替GANs产生良好的输入,但它们之间的训练计算成本存在显著差距,基于流的模型生成雷同分辨率的图像所需工夫是GANs的几倍。 总结每一种算法在准确性和效率方面都有其长处和局限性。尽管GANs和基于流程的模型通常生成比VAE更好或更靠近实在的图像,但后者比基于流程的模型更具备更快工夫和更好的参数效率,上面就是三个模型的比照总结: 能够看到GAN因为并行所以它的效率很高,但它并不可逆。相同,流模型是可逆的然而效率却不高,而vae是可逆并且高效的,但不能并行计算。咱们能够依据这些个性,在理论应用时依据产出、训练过程和效率之间进行衡量抉择。 https://avoid.overfit.cn/post/a0d01a1c00184d559aeb426a77b163b3 作者:sciforce

October 4, 2022 · 1 min · jiezi

关于深度学习:ICSI-333系统功能介绍

College of Engineering and Applied SciencesDepartment of Computer ScienceICSI 333 – System Fundamentals, Spring 2022Project 3The total grade for the assignment is 100 points.You must follow the programming and documentation guidelines (see file Programming AssignmentsRequirements and Recommendations.docx).Due date: 8:00 am on Monday, April 11, 2022.DescriptionIn this project, you must write a C program that performs the system actions – copying or moving a fileor a group of files to a specified path. The program acts differently depending on the usage:• it performs copying if used ascopy source1 [source2 ...] destination• it performs moving if used asmove source1 [source2 ...] destinationThe source and destination names are full paths, and your program must be able to extract the file ordirectory base name when needed.When your program performs moving (not copying), it copies a file to the new location then deletes thefile (unlinks the old path). Physical coping of all bytes takes time; the more efficient way would be tocreate a new link (the new path linked to the old bytes on a disk). And I suggest you try this way first, butthe OS may not let you do so for several reasons. So then go to the first plan.You may need to study online resources and discuss the project with classmates. But you should notborrow a solution online or from other students. It is better to skip some functionalities than to submita plagiarized code. Of course, you can always ask your TA and instructor for help.To implement required usage, you need file multiple linking, for example,gcc prog.c -o copy; ln copy moveAfter that, the file with the same executable code can be run under the two different names, and theprogram itself decides on coping or moving depending on the name that the user used.Keep in mind that there are two types of file links – hard and soft (or symbolic).• Hard links (each file must have at least one): Files have names that people use and unique numbersthat the OS uses. The unique number (inode + device ID) corresponds to the physical collection ofbytes on a disk, and only the kernel manages such a number. File names are created by people. Youcan give a name then change it. The OS links your name to a physical location of the collection ofbytes. Thus, a file name is linked to a unique number. You may have several file names linked to thephysical location (why you may need it is another story).• Soft links (not a must-have): You may want to link a new file name to the existing file name (not tothe physical bytes). For example, to have an alias that you can delete later and not worry aboutdeleting the real file bytes. It is a soft link.Once your program has decided on the required action (copying or moving), it must check thedestination:• only a directory or device can be the destination for copying more than one file and• only a directory can be the destination for moving more than one file.An invalid destination must result in the error message and program termination. For this project, youmust understand and use the system call stat(). The following information adopted fromhttps://man7.org/linux/man-pa... will be helpful while detecting the file type.The structure stat has the field stat.st_mode that contains the file type and mode. POSIX refersto the stat.st_mode bits corresponding to the mask 01700001 as the file type, the 12 bitscorresponding to the mask 07777 as the file mode bits, and the least significant 9 bits (the mask 0777)as the file permission bits.The following mask values are defined for the file type:S_IFMT 0170000 bit mask for the file type bit fieldS_IFSOCK 0140000 socketS_IFLNK 0120000 symbolic linkS_IFREG 0100000 regular fileS_IFBLK 0060000 block deviceS_IFDIR 0040000 directoryS_IFCHR 0020000 character deviceS_IFIFO 0010000 FIFOThus, to test for a regular file (for example), one could write:1 Note the number system used.3stat(pathname, &sb);if ((sb.st_mode & S_IFMT) == S_IFREG) { / Handle regular file /}Because tests of the above form are common, additional macros are defined by POSIX to allow the testto be written more concisely:S_ISREG(m) //is it a regular file?S_ISDIR(m) //directory?S_ISCHR(m) //character device?S_ISBLK(m) //block device?S_ISFIFO(m) //FIFO (named pipe)?S_ISLNK(m) //symbolic link? (Not in POSIX.1-1996.)S_ISSOCK(m) //socket? (Not in POSIX.1-1996.)The preceding code snippet could thus be rewritten as:stat(pathname, &sb);if (S_ISREG(sb.st_mode)) {/ Handle regular file /}Then your program must process each file to copy or move. If a source file does not exist, the errormessage must be generated, and the next file must be tried.To copy a file, you must use system calls that read and write big blocks (use BUFSIZ macro).• A file should not be copied to itself.• If the file with such a name already exists in the destination folder, permission for overwritingshould be asked.To move a file, the first try should be linking it to the new path. If it does not work (because the OS mayblock it or for another reason), you must copy this file and then delete the source.• You can add this code to check why link does not work:if( link( src, dst ) < 0 ){printf( "Can't link to directory %s\n", dst );perror( "link" );}• Use unlinking for file deleting.The program must output its actions.Examples of program execution% ./move% Usage: move source1 [source2 ...] destination% ./copy MyFile.c NextFile.c ../backups/% MyFile.c NextFile.c succesefuly copied to ../backupsSubmission, Grading, and Academic IntegrityThe project must be submitted on Blackboard. You have three attempts; please read ProgrammingAssignments Requirements and Recommendations on Blackboard for suggested use of the attempts andsubmission package.Please read Programming Assignments Requirements and Recommendations on Blackboard for thegrading rubric.Please read Programming Assignments Requirements and Recommendations on Blackboard for a strongwarning on cheating. ...

September 29, 2022 · 5 min · jiezi

关于深度学习:为什么云渲染比自己的电脑好用太多

云渲染是云计算行业的一个小分支,次要是服务于视觉行业,例如影视动画、视效、修建可视化、游戏类工作室。你能够设想成付费租用了一台云电脑,将本地的3D文件上传到这台云端虚构电脑上让它帮你进行“渲染”合成图像这个步骤。总而言之,云渲染比本人的电脑好用太多,咱们能够从软件、价格、速度和稳固等四个因素去思考。1、云渲染好不好用,其实要看它支不反对咱们所用的软件插件,如果不反对,说不上好用了。2、简直所有云渲染平台都是渲完当前才通知渲了多少钱,再加上不同平台的计费形式全都不一样,再算上形形色色的优惠活动,咱们基本没方法在渲染一张图之前就晓得要花多少。3、所以如果不比对一下不同平台的真正价格,轻易找一家渲,很可能渲一段时间才发现这家的价格比其余家贵很多。4、其实云渲染就是把你的模型打包上传到云端,而后在给你调配和你设计软件、插件版本统一的机器把图渲完,再把图给你。但这就有个问题,因为图是在云端渲的,所以有些图在本地渲没问题,在云端上渲就是有问题,这就须要平台平时的技术积攒了。对于渲染重要的图,能够从工夫都很长,十分稳固,毕竟技术积攒的工夫长了,遇到问题的概率低得多。而有些的渲染平台往往出错率很高,整体能力有欠缺,再加上解决问题的客服绝大多数并没有技术能力,就算你找过来也往往没法解决,还有来回扯皮的,费时又费劲。云渲染(cloudrender)的模式与惯例的云计算相似,行将3D程序放在近程的服务器中渲染,用户终端通过Web软件或者间接在本地的3D程序中点击一个“云渲染”按钮并借助高速互联网接入拜访资源,指令从用户终端中收回,服务器依据指令执行对应的渲染工作,而渲染后果画面则被传送回用户终端中加以显示。云渲染的劣势:1.不吃本地硬件配置因为渲染这个过程是比拟吃内存的,因而应用云渲染不会占用本地硬件的性能,能够节俭降级硬件的估算。2.不占用本地电脑的过程。在渲染中,最好受的事莫过于电脑不能用来做其余事,也就是成了能看不能用的现状。而现状云渲染将模型上传后,本地电脑想做什么都能够,甚至关机。3.多图同时渲染。就算咱们的电脑配置再高,遇到很多工作时,也只能期待一个一个的工作渲染实现。而云渲染就能很好解决这个问题,能同时渲染多个工作,节约了很多工夫能用来做其余事。4.联机渲染,进步渲染速度。对于本地电脑说,如果焦急出图,是没有方法抉择加快速度的,而且渲染不同了。渲巨匠是一个比拟亲民的GPU算力平台,具备自建渲染农场,总 GPU 数量2000+,提供香港及中国边疆的渲染农场,反对渲染及深度学习应用场景,配套支流的软件,模板,集群性能,疾速晋升算力。

September 29, 2022 · 1 min · jiezi

关于深度学习:多模态跨模态检索历史工作及先行跨模态图文检索算法对比汇总Jason-Freed

学习自:深度学习跨模态图文检索钻研综述-西安邮电 doi: 10.3778/j.issn.1673-9418.2107076 概述(多模态->跨模态检索->跨模态图文检索):多模态学习解决了解 来自感官的多源信息。 多模态倒退历程:1976年 MCGURK H, MACDONALD H. Hearing lips and seeingvoices[J]. Nature, 1976, 264(5588): 746-748.提出视觉对语言感知的影响,后被用于视听语音辨认(AVSR)称为多模态概念雏形。2010年:交融办法和交融程度为线索,对已有多模态交融钻研办法进行分类2015年:提出多模态隐条件随机场,晋升多模态数据分类成果;提出基于正交正则化束缚的深度多模态哈希办法,缩小多模态示意的信息冗余。2019年:划分多模态学习钻研方向:多模态示意、多模态翻译、多模态对齐、多模态交融、多模态协同感知等目前多模态学习胜利用于 人脸识别、人体姿势预计、多模态检索、跨模态检索、语义场景了解与情感辨认等 跨模态学习是多模态学习的分支,充分利用多模态学习中的模态间示意、翻译和对齐等策略。二者相似之处在与两者数据都来自所有模态,但前者的数据只在某一模态可用后者的数据则用于所有模态。 跨模态检索又称跨媒体检索,特点:训练师所有模态的数据都存在,但在测试过程中只有一个模态可用。旨在实现模态间的信息系交互,目标在于开掘不同模态样本之间的关系,通过一种模态样本检索具备近似语义的另一种模态样本。 跨模态图文检索,关键字到图像的检索因为其本质是查问关键字与图像的标注之间的匹配,因而被称为伪"跨模态"问题。以视觉数据和自然语言形容为根底,更关注图像和文本两种模态的交互,其目标是在不借助任何辅助信息的状况下,通过文本(图像)查问来检索图像(文本)。 跨模态图文检索分为以图搜文和以文搜图两种模式。图像和文本间的语义关系能够定义为三个维度下的八种类别,蕴含不相干关系、互补关系、相互依赖关系、锚定关系、插图关系、比照关系、插图不良关系和锚定不良关系。 一方面,相比于传统办法,深度网络因其高度非线性构造,更适宜对模态内特色和模态间语义关系进行开掘;另一方面,鉴于小批量训练策略的劣势,深度网络可能反对对海量数据的解决 跨模态检索倒退历程:2014年:将跨模态建模策略分为间接建模和间接建模,前者指通过建设共享层来间接度量不同模态数据间的相关性,后者指通过构建公共示意空间来建设不同场景不同模态间的语义关联。2015年:多模态数据间建设关联的策略分为基于共享层与基于公共示意空间的两种关联办法2016年:已有的跨模态检索办法演绎为实值示意学习和二进制示意学习两大类2018年:针对模态间内容相似性度量的技术难点,将跨模态检索 分 为 公 共 空 间 学 习 方 法 和 跨 模 态 相 似 性 度 量 办法;将跨模态检索办法分为基于子空间的办法、基于深度学习的办法、基于哈希变换的办法和基于主题模型的办法,指出以后跨模态检索面临的次要问题是不足对模态内部分数据结构和模态间语义构造关联的钻研;从信息抽取与示意、跨模态零碎建模两个维度评述了基于示意学习的跨模态 检 索 模 型;摸索了联结图正则化的跨模态检索办法;2019年:介绍了近年来跨模态特色检索及优化的研究进展,并对跨模态数据联结分析方法及跨模态特色检索面临的问题与挑战进行了概述;对跨模态检索办法的具体分支进行了梳理,为相干畛域的摸索提供了新思路。以后跨模态图文检索相干技术已被胜利利用于网络舆情事件预警、多媒体事件检测、医学数据分类等畛域。 跨模态图文检索近年来相干成绩:2017年:将跨模态图文检索的钻研内容分为多模态数据特色示意和模态间关联机制两方面2019年:依据构建模态间关联形式的区别,将跨模态图文检索分为基于典型关联剖析、基于深度学习和基于深度哈希的办法,并就各种跨模态关联形式的缺点摸索了具体的解决思路。2021年:本文除涵盖了实值示意和二进制示意的办法外,对基于深度学习的跨模态图文检索现有的研究成果进行了总结。1 跨模态图文检索相干工作介绍介绍算法波及的重要概念及常见网络结构 1.1 相干概念重要概念:(1)跨模态重构在 给 定 跨 模 态 数 据 的 情 况 下 联 结 输 入 特 征 示意,而后互相重构各模态数据且保留重构信息,最初比拟重构信息与原始信息相似性的过程。(2)细粒度数据指信息十分具体具体的数据。数据粒度指数据的具体水平,粒度越小,数据的信息越具体,越容易在机器学习中把握数据的法则与实质。(3)无监督学习指当时没有任何训练数据样本而须要间接对数据建模的学习办法。无监督学习仅应用共现信息来学习跨模态数据的公共示意。共现信息指在多模态文档中所共存的不同模式的数据具备雷同的语义。(4)监督学习指通过有标记的训练数据来推断或建设一个最优模型的学习办法。监督学习利用标签信息来学习公共示意,强制不同类别样本的学习示意间隔尽可能远,而雷同类别样本的学习示意尽可能靠近。(5)端到端学习,也称端到端训练,指在学习过程中缩减人工预处理和后续解决,使模型从原始输出间接到最终输入。其训练数据为"输出-输入"对的模式,无需提供其余额定信息。端到端学习为模型提供了更多依据数据主动调节的空间,减少了模型的整体符合度。 ...

September 28, 2022 · 4 min · jiezi

关于深度学习:最高增强至1440p阿里云发布端侧实时超分工具低成本实现高画质

近日,阿里云机器学习PAI团队公布一键端侧超分工具,可实现在设施和网络带宽不变的状况下,将挪动端视频分辨率晋升1倍,最高可加强至1440p,将大幅晋升终端用户的观看体验,该技术目前已在优酷、夸克、UC浏览器等多个APP中广泛应用。 观看以上视频不难发现,左侧画面和右侧画面的清晰度有极大差异。事实上,两侧画面的视频播放源完全相同,区别在于右侧画面应用了非凡的“一键超分”工具,从而实现清晰度从540p到1080p的富丽转身。 超分,即“超分辨率”,是指通过深度学习形式将低分辨率图片或视频的清晰度进步,取得更高分辨率,进而达到更好的观看体验和辨认准确率。通过非凡的卷积神经网络(CNN)对已知的高分辨率资源进行学习,即可实现对任意低分辨率图像和视频资源进行超分解决的模型。 在挪动互联网遍及并成为支流的明天,用户对“上网冲浪”的体验更加关注,更疾速、更高清也成为APP开发者们不懈的谋求。在“更高清”这个方向,纯软件化的优化计划——端侧超分进入开发者的视线:通过在手机、平板电脑等挪动设施上运行超分算法,补救设施硬件、网络带宽、原始素材等客观条件限度,进而取得高画质的图像和视频。然而,受制于端侧算力、设施兼容等问题,端侧超分计划规模化落地并不像设想中简略。 阿里云机器学习 PAI 团队近日公布搭载 PAI-AISR 模型的一键端侧超分工具,通过对模型进行量化剪枝等减速优化、以及对端侧多设施(CPU/GPU/NPU)进行异构计算和内存I/O优化等,具备以下劣势: 超高画质体验:在挪动端可将视频分辨率加强至最高1440p,同时进行锯齿和底噪克制、色调加强等晋升,极大改善观看体验。体积小,易适配:PAI-AISR 算法最低只须要 50KB,不占空间;功耗低至每小时50-100ma。低提早,高帧率:低至 20ms 以内的解决提早,以及高达 30 fps 的帧率,实用于直播、短视频、视频通话、实时监控等各种场景。多平台多机型兼容:反对跨平台应用,在 iOS 零碎和安卓零碎环境下均无缝连贯,甚至在 IoT 设施(如摄像头、电视机、视频会议设施等)均可安稳反对。数据格式兼容:反对所有支流图片和视频格式。对挪动APP开发者来说,PAI端侧一键超分工具次要具备以下两点价值。首先,应用端侧超分能够缩小数据下发过程中CDN的耗费,实现降本提效。其次,当客户端网络不稳固或者带宽受限(例如处于3G状态下,或者处于地铁、电梯等信号不稳固的环境中),导致视频播放卡登时,端侧超分技术能够让终端用户的浏览体验更顺滑。同时因为整个推理过程在端侧进行,防止了云端推理老本高、时缩短等问题的呈现。 目前,PAI一键端侧超分计划曾经在优酷、夸克、UC浏览器等多个挪动利用胜利落地,在一直晋升终端用户体验的同时,带来利用研发效率的晋升。

September 28, 2022 · 1 min · jiezi

关于深度学习:Pytorch创建多任务学习模型

在机器学习中,咱们通常致力于针对单个工作,也就是优化单个指标。然而多任务学习(MTL)在机器学习的许多利用中都获得了胜利,从自然语言解决和语音辨认到计算机视觉和药物发现。 MTL最驰名的例子可能是特斯拉的主动驾驶零碎。在主动驾驶中须要同时解决大量工作,如物体检测、深度预计、3D重建、视频剖析、跟踪等,你可能认为须要10个以上的深度学习模型,但事实并非如此。 HydraNet介绍一般来说多任务学的模型架构非常简单:一个骨干网络作为特色的提取,而后针对不同的工作创立多个头。利用繁多模型解决多个工作。 上图能够看到,特征提取模型提取图像特色。输入最初被宰割成多个头,每个头负责一个特定的状况,因为它们彼此独立能够独自进行微调! 特斯拉的讲演中具体的阐明这个模型(youtube:v=3SypMvnQT_s) 多任务学习我的项目在本文中,咱们将介绍如何在Pytorch中实现一个更简略的HydraNet。这里将应用UTK Face数据集,这是一个带有3个标签(性别、种族、年龄)的分类数据集。 咱们的HydraNet将有三个独立的头,它们都是不同的,因为年龄的预测是一个回归工作,种族的预测是一个多类分类问题,性别的预测是一个二元分类工作。 每一个Pytorch 的深度学习的我的项目都应该从定义Dataset和DataLoader开始。 在这个数据集中,通过图像的名称定义了这些标签,例如UTKFace/30_0_3_20170117145159065.jpg.chip.jpg 30岁是年龄0为性别(0:男性,1:女性)3是种族(0:白人,1:黑人,2:亚洲人,3:印度人,4:其余)所以咱们的自定义Dataset能够这样写: class UTKFace(Dataset): def __init__(self, image_paths): self.transform = transforms.Compose([transforms.Resize((32, 32)), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]) self.image_paths = image_paths self.images = [] self.ages = [] self.genders = [] self.races = [] for path in image_paths: filename = path[8:].split("_") if len(filename)==4: self.images.append(path) self.ages.append(int(filename[0])) self.genders.append(int(filename[1])) self.races.append(int(filename[2])) def __len__(self): return len(self.images) def __getitem__(self, index): img = Image.open(self.images[index]).convert('RGB') img = self.transform(img) age = self.ages[index] gender = self.genders[index] eth = self.races[index] sample = {'image':img, 'age': age, 'gender': gender, 'ethnicity':eth} return sample简略的做个介绍: ...

September 28, 2022 · 2 min · jiezi

关于深度学习:EasyNLP带你实现中英文机器阅读理解

作者:施晨、黄俊 导读机器浏览了解是自然语言解决(NLP),特地是自然语言了解(NLU)畛域最重要的钻研方向之一。自1977年首次被提出以来,机器浏览了解已有近50年的发展史,历经“人工规定”、“传统机器学习”、“深度学习”、“大规模预训练模型”等多个倒退阶段。机器浏览了解旨在帮忙人类从大量文本中,疾速聚焦相干信息,升高人工信息获取老本,减少信息检索有效性。作为人工智能在自然语言了解方向上的“集大成者”,机器浏览了解工作考查了从 “词” 到 “句” 乃至 “篇章”,每一个语言粒度的理解能力,这使得在人工智能倒退的每个阶段,它都是十分艰难、也颇为重要的“兵家必争之地”。以SQuAD为代表的浏览了解数据集,见证了深度学习大倒退时代里,各大公司刷榜翻新计划的你方唱罢我退场,随后又在大规模预训练时代,成为BERT等预训练模型的评测基准。能够说近十年里,机器浏览了解极大促成与见证了自然语言解决畛域的凋敝与倒退。 形式化来讲,机器浏览了解工作的输出为一段篇章文本(context),与一个问句(question),通过学习模型,输入预测的答案文本(answer)。依据获取答案形式的不同,以后业界支流将浏览了解工作分为四大类:完型填空式(Cloze tests)、多项抉择式(Multi-choice)、片段抽取式(Span extraction)及自在生成式(Free answering)。其中片段抽取式依据问句(question),间接从篇章文本(context)中预测答案文本(answer)的起止地位(start/end positions),从而抽取出答案。因为其与实在场景靠近,难度适中,易于评测,且有SQuAD等高质量数据集撑持,因而成为以后的支流浏览了解工作。随着预训练语言模型的倒退,近年来片段抽取式浏览了解的成果屡翻新高。在英文场景下,传统的BERT、RoBERTa、ALBERT等模型都能获得超过人类的成果;而在中文场景下,MacBERT等模型(Pre-Training with Whole Word Masking for Chinese BERT)通过引入一种纠错型掩码语言模型(Mac)预训练任务,缓解了“预训练-上游工作”不统一的问题,也更好地适配了中文场景,在包含机器浏览了解在内的多种NLP工作上获得了显著的性能晋升。因而,咱们在EasyNLP框架中集成了MacBERT算法和模型,配合EasyNLP中原有的BERT、RoBERTa等模型,使用户可能不便地应用这些模型进行中英文机器浏览了解工作的训练和预测。 EasyNLP(https://github.com/alibaba/EasyNLP)是阿⾥云机器学习PAI 团队基于 PyTorch 开发的易⽤且丰盛的中⽂NLP算法框架,⽀持常⽤的中⽂预训练模型和⼤模型落地技术,并且提供了从训练到部署的⼀站式 NLP 开发体验。EasyNLP 提供了简洁的接⼝供⽤户开发 NLP 模型,包含NLP应⽤ AppZoo 和预训练 ModelZoo,同时提供技术帮忙⽤户⾼效的落地超⼤预训练模型到业务。机器浏览了解作为自然语言了解的集大成者,同时也是文本问答、信息抽取等畛域的根底工作,具备较高的钻研价值。因而,EasyNLP减少了对中英文机器浏览了解工作的反对,心愿能服务更多的NLP/NLU算法开发者和研究者,也心愿和社区一起推动NLU相干技术的倒退和落地。 本⽂将提供对MacBERT模型的技术解读,以及如何在EasyNLP框架中使⽤MacBERT及其他预训练语言模型,进行中英文机器浏览了解工作的训练与预测。 MacBERT模型解读支流的大规模预训练语言模型(如BERT、RoBERTa等)次要针对英语语言设计,将其间接迁徙到中文场景时,会面临中英文语言自身的差别,如:中文词间无空格、无需切分子词、多个单字组成具备残缺意义的词语等。例如下图中原始语句“应用语言模型来预测下一个词的概率”,按单字切分后,某些单字因为会组成残缺的词语(如:语言模型、预测、概率),此时若只mask掉其中一个字,会影响掩码与语言模型预训练的成果。此外,传统语言模型在预训练时会采纳 [MASK] 字符进行mask,而在上游工作文本中却并不存在 [MASK] 标记,这在两阶段中人造引入了gap。为缓解上述问题,MacBERT等模型批改传统MLM工作,引入了一种纠错型掩码语言模型(Mac)预训练任务,包含wwm (whole word masking)、NM(n-gram masking)、类似词替换等mask计划,更好地适配了中文的语言场景,缩小了“预训练-上游工作”不统一的问题,晋升了预训练模型在多种NLP工作上的成果。另外,因为MacBERT的次要框架与BERT完全一致,可在不批改现有代码的根底上进行无缝过渡,这为开发者的代码迁徙带来了很大的便当。 具体来讲,MacBERT等模型在MLM时,对中文整词中所有单字同时进行mask,并采纳n-gram mask策略,从unigram到4-gram对应的mask概率别离为40%-10%。在mask时不再采纳 [MASK] token,而改为应用词语的近义词,近义词采纳基于word2vec类似度计算的Synonyms toolkit获取,在极少数状况没有近义词时,应用随机词进行替换。模型总体对输出15%的词进行mask,mask时80%的概率替换为近义词、10%的概率替换为随机词、10%的概率保留为原始词。此外,BERT原版的NSP模型长期为研究者们所诟病,MacBERT模型中将NSP批改为SOP (Sentence Order Prediction),其正例为间断文本,负例为替换原始文本程序,这样很好晋升了模型在多句篇章型工作上的成果。模型的试验结果表明,去除上述MLM中任一改良都会导致均匀性能降落,这表明几处掩码批改都有助于语言模型学习;同时去除SOP工作后,在机器浏览了解工作上的成果会显著降落,这也表明句子级预训练任务在篇章学习中的必要性。 机器浏览了解模型应用教程以下咱们简要介绍,如何在EasyNLP框架中应用MacBERT及其他预训练语言模型,进行机器浏览了解工作的训练及预测。 装置EasyNLP用户能够间接参考GitHub(https://github.com/alibaba/EasyNLP)上的阐明装置EasyNLP算法框架。 pipeline接口疾速“尝鲜”体验成果为了不便开发者应用,咱们在EasyNLP框架内实现了Inference Pipeline性能。用户能够在不须要本人训练或微调模型的状况下,间接“尝鲜”,应用pipeline接口一步调用finetune好的中英文机器浏览了解模型。只需执行如下命令即可: from easynlp.pipelines import pipeline# 输出数据data = [{ "query": "杭州什么时候公布了《杭州市亚运城市行动计划大纲》?", "answer_text": "2020年4月", "context": "新华社杭州9月22日电(记者商意盈 夏亮)比赛场馆全副完工并实现赛事性能验收,“迎亚运”城市基础设施建设迈入快车道,亚运场馆提前凋谢掀起全民健身热潮……23日,延期后的杭州亚运会将迎来倒计时一周年,各项筹备工作也结出累累硕果,“地狱之城”再次蓄势待发。办好一个会,晋升一座城。2020年4月,杭州公布了《杭州市亚运城市行动计划大纲》,其中包含基础设施晋升、绿水青山守护、数字治理赋能等八项具体口头。随着亚运的脚步日益邻近,杭州西站、萧山国内机场三期、合杭高铁湖杭段、机场轨道快线(19号线)等“两点两线”重大项目正式投运。依据杭州市城乡建设委员会公布的信息,预计到往年9月底全市快速路总里程将达到480公里。住在这里的人们正切身体会到悄悄产生的变动——交通不便了,路线变美了,城市基础设施也愈发欠缺。", "qas_id": "CN_01" }, { "query": "往年9月底全市快速路总里程将达到多少?", "answer_text": "480公里", "context": "新华社杭州9月22日电(记者商意盈 夏亮)比赛场馆全副完工并实现赛事性能验收,“迎亚运”城市基础设施建设迈入快车道,亚运场馆提前凋谢掀起全民健身热潮……23日,延期后的杭州亚运会将迎来倒计时一周年,各项筹备工作也结出累累硕果,“地狱之城”再次蓄势待发。办好一个会,晋升一座城。2020年4月,杭州公布了《杭州市亚运城市行动计划大纲》,其中包含基础设施晋升、绿水青山守护、数字治理赋能等八项具体口头。随着亚运的脚步日益邻近,杭州西站、萧山国内机场三期、合杭高铁湖杭段、机场轨道快线(19号线)等“两点两线”重大项目正式投运。依据杭州市城乡建设委员会公布的信息,预计到往年9月底全市快速路总里程将达到480公里。住在这里的人们正切身体会到悄悄产生的变动——交通不便了,路线变美了,城市基础设施也愈发欠缺。", "qas_id": "CN_02" }]# pipeline的参数为finetune好的模型# 以后EasyNLP反对中英文机器浏览了解的pipeline疾速体验,别离集成了finetune好的中文macbert模型和英文bert模型# 如想体验英文浏览了解,只需将模型名改为 'bert-base-rcen' 即可generator = pipeline('macbert-base-rczh')results = generator(data)for input_dict, result in zip(data, results): context = result["context"] query = result["query"] answer_gold = result["gold_answer"] answer_pred = result["best_answer"] print('\n context: {} \n query: {} \n gold_answer: {} \n pred_answer: {} \n'.format(context, query, answer_gold, answer_pred))如代码中所示,输出的data为一个list,其中每条instance为一个dict,蕴含其query、answer、context、id信息。pipeline的参数为finetune好的模型,以后EasyNLP反对中英文机器浏览了解的pipeline疾速体验,别离集成了finetune好的中文macbert模型和英文bert模型,中文机器浏览了解的模型为 'macbert-base-rczh' ,如想体验英文浏览了解,只需将上述代码pipeline参数中的模型名改为 'bert-base-rcen' 即可。 ...

September 28, 2022 · 5 min · jiezi

关于深度学习:跨模态学习能力再升级EasyNLP电商文图检索效果刷新SOTA

作者:熊兮、欢夏、章捷、临在 导读多模态内容(例如图像、文本、语音、视频等)在互联网上的爆炸性增长推动了各种跨模态模型的钻研与倒退,反对了多种跨模态内容了解工作。在这些跨模态模型中,CLIP(Contrastive Language-Image Pre-training)是一种经典的文图跨模态检索模型,它在大规模图文数据集上进行了比照学习预训练,具备很强的文图跨模态表征学习能力。在先前的工作(看这里)中,中⽂NLP/多模态算法框架EasyNLP反对了CLIP的根底性能,包含模型的Finetune、文图向量抽取等。在本期的工作中,咱们对EasyNLP框架进行了再一次降级,推出了交融了丰盛电商场景常识的CLIP模型,在电商文图检索成果上刷新了SOTA后果,并且将上述模型收费开源,奉献给开源社区。 EasyNLP(https://github.com/alibaba/Ea...)是阿⾥云机器学习PAI 团队基于 PyTorch 开发的易⽤且丰盛的NLP算法框架,⽀持常⽤的中⽂预训练模型和⼤模型落地技术,并且提供了从训练到部署的⼀站式 NLP 开发体验。EasyNLP 提供了简洁的接⼝供⽤户开发 NLP 模型,包含NLP应⽤ AppZoo 和预训练 ModelZoo,同时提供技术帮忙⽤户⾼效的落地超⼤预训练模型到业务。因为跨模态了解需要的一直减少,EasyNLP也⽀持各种跨模态模型,推向开源社区,心愿可能服务更多的 NLP 和多模态算法开发者和研 究者,也心愿和社区⼀起推动 NLP /多模态技术的倒退和模型落地。 本⽂简要介绍咱们在电商下对CLIP模型的优化,以及上述模型在公开数据集上的评测后果。最初,咱们介绍如何在EasyNLP框架中调用上述电商CLIP模型。 CLIP模型技术概览OpenAI于2021年提出的CLIP(Contrastive Language-Image Pre-training)模型,收集了4亿文本-图像对进行图文比照学习训练,建设了图像和文本的关联性。CLIP模型蕴含两局部,别离为图像和文本的Encoder,用于对图像和文本别离进行特色抽取。CLIP的图像的Backbone有多个抉择,既能够应用经典的ResNet系列模型,也能够抉择近两年更先进的Transfomer类模型,例如ViT等。对于文本而言,CLIP个别应用BERT类模型,RoBERTa等也能够作为抉择。 CLIP模型根底技术CLIP在特色抽取后,别离对图文向量进行Normalization,之后进一步进行内积计算,获取样本间的类似度。在模型Loss Function层面,因为咱们对进行Normalization之后的图像和文本向量间接应用相乘以计算余弦间隔,目标是使得匹配的图文对的后果趋近于1,不匹配的图文对的后果趋近于0;并且优化比照学习损失InfoNCE进行模型的预训练。 CLIP的双流架构使得其在推理阶段能够十分不便地用于计算图文类似度,因为CLIP曾经将图文的示意映射到同一个向量空间。此外,通过对类别标签设计Prompt,CLIP的还具备弱小的Zero-shot Classification能力。如下图所示,将文本标签转化为Prompt “A photo of a {object}.”,并且应用指标图像作为输入。如果文本“A photo of a dog.”于以后图像匹配度最高(具备最大的余弦类似度),即能够阐明,以后图像的物体是“dog”。由此可见,预训练后的CLIP模型能够十分好的间接利用于图像分类模型,而不须要额定的训练。 电商场景下CLIP模型的优化EasyNLP借鉴CLIP的轻量化、易迁徙的预训练架构,构建基于CLIP蕴含图像和文本Encoder两局部的双流模型,同时基于商品数据,以优化电商场景的文图检索优化。具体来说,咱们采样了200万的商品图文数据,在OpenCLIP公开的模型权重上进行了持续预训练,使得模型具备电商畛域的感知能力。同时,因为电商场景的文本概念散布稠密,图像以商品图为主,具备较低的场景丰富性,因而,咱们在预训练过程中更加关注电商概念的相干常识,引入了图文常识的细粒度交互,使得模型具备电商常识的辨认能力。特地地,咱们重点参考了DeCLIP的工作,对于电商概念构建其Prototype表征,存储在Feature Queue中,从而在训练过程中关注以后图文对与电商概念Prototype表征的匹配信息(见参考文献8)。 对图像局部的输出,咱们将图像对立Resize为224×224的大小,并思考不同的利用和部署场景,采纳ViT-B-32(Vision Transformer层数为12,图像Patch大小为32×32)和ViT-L-14(Vision Transformer层数为24,图像patch大小为14×14)两种模型作为图像侧的Encoder。对于文本局部的输出,咱们和CLIP一样采纳12层Text Transformer作为文本侧Encoder,通过BPE分词器做文本预处理,并限定文本词长小于77。这两个电商场景的CLIP模型参数配置如下表: 模型配置alibaba-pai/pai-clip-commercial-base-enalibaba-pai/pai-clip-commercial-large-en参数量(Parameters)151M428M层数(Number of Layers)1224注意力头数(Attention Heads)1216隐向量维度(Hidden Size)7681024文本长度(Text Length)7777图像序列长度(Image Patch Size)32 x 3214 x 14图像尺寸(Image Size)224 x 224224 x 224词表大小(Vocabulary Size)4940849408如上表所述,电商CLIP模型蕴含了两个不同的图像Encoder架构,为表中的pai-clip-commercial-base-en和pai-clip-commercial-large-en模型,别离代表ViT-B-32和ViT-L-14作为图像Backbone。 此外,咱们也提供了两个中文的预训练CLIP模型,奉献到开源社区,相干配置如下: 模型配置alibaba-pai/clip_chinese_roberta_base_vit_basealibaba-pai/clip_chinese_roberta_base_vit_large参数量(Parameters)188M406M层数(Number of Layers)1224注意力头数(Attention Heads)1216隐向量维度(Hidden Size)7681024文本长度(Text Length)7777图像序列长度(Image Patch Size)16 x 1616 x 16图像尺寸(Image Size)224 x 224224 x 224词表大小(Vocabulary Size)2112821128电商CLIP模型成果评测Fashion-Gen数据集是一个大规模的时尚场景的图文数据集,是电商畛域FashionBERT、KaleidoBERT、CommerceMM等模型用来评测检索成果的较为通用的数据集。Fashion-Gen共蕴含293,088条商品图文数据,其中训练集蕴含260,480个图文对,验证集和测试集蕴含32,528条图文对。Fashion-Gen中的商品数据蕴含48个大类别,121个小类别,在训练和测试数据中类别最多的包含"tops","sweaters","jackets & coats"等。咱们基于pai-clip-commercial-base-en和pai-clip-commercial-large-en这两个模型在Fashion-Gen数据集上进行了20个epoch的微调。 ...

September 27, 2022 · 3 min · jiezi

关于深度学习:身边的人脸安全员工用人脸作弊工具打卡企业该如何防范

为全面剖析人脸识别市场现状、面临的危险隐患及无效的平安保障措施,顶象近日公布《人脸识别平安白皮书》。 《白皮书》就保险行业人脸安全事件进行了详细分析,并论述了保险行业的人脸平安利用实际。 虚伪打卡,员工不下班也能领全勤奖因为人脸识别技术使用主体的技术条件和管理水平参差不齐,不法分子甚至会开发舞弊工具来破解、烦扰、攻打人脸识别技术背地的利用和算法,进而引发偷盗、欺骗、侵入住宅等立功,危及被害人的数据安全、财产平安乃至人身安全。 《人脸识别平安白皮书》显示:2021年底,“考勤打卡神器”的新闻刷屏网络。就任于某保险公司的梁女士,每天无需到公司下班,在家里就能实现每日考勤打卡,并拿到全勤奖。2022年1月,顶象进攻云业务平安情报中心监测发现保险行业更多相似案例。黑灰产破解多家公司保险考勤零碎,还制作出打卡舞弊工具,并向保险公司员工抛售“代打卡服务”。通过该服务,保险公司员工可能不出门不到岗,也能够实现“下班打卡”,轻松支付全勤奖。 顶象进攻云业务平安情报中心剖析发现,黑灰产应用三种技术手段进行“虚伪考勤”。 1、人脸考勤舞弊工具:针对配置人脸识别的考勤零碎。购买者启动黑灰产提供的“人脸伪造考勤舞弊工具”,而后登录保险公司的官网App。通过舞弊工具会上传集体照片、输出工号信息,舞弊工具通过注入形式,向零碎内提交虚伪数据,从而骗过人脸识别,实现考勤打卡。2、蓝牙考勤舞弊工具:针对配置有蓝牙检测考勤零碎。购买者将集体照片和工号提交给黑灰产,黑灰产再将相干提交给外部单干人员。在现场的外部单干人员,应用黑灰产的舞弊工具,绕过蓝牙定位检测,实现考勤打卡。 3、近程代打卡:针对不可能纯熟应用舞弊工具的购买者,黑灰产提供“近程代打卡服务”。购买者只须要提供工号给黑灰产,即可实现每日考勤打卡。或者,黑灰产破解公司的考勤零碎或App,变成一个山寨App,输出购买人的照片和工号,即主动实现近程考勤打卡操作。 员工考勤舞弊背地的人脸平安危险《人脸识别平安白皮书》剖析发现,保险公司员工利用人脸考勤舞弊工具进行虚伪打卡是“人脸识别零碎不平安”造成。人脸识别零碎不平安,就是黑灰产破解人脸识别利用或平安爱护,篡改验证流程、通信信息,劫持拜访对象、批改软件过程,将后盾或前端的真数据替换为假数据,以实现虚伪人脸信息的通过。次要破解零碎代码、劫持摄像头、篡改传输报文进行毁坏。 破解零碎代码:破解人脸识别零碎代码、人脸识别利用的代码,篡改人脸识别代码的逻辑,或者注入攻打脚本,扭转其执行流程,人脸识别零碎依照攻击者设定的门路进行拜访、反馈。 劫持摄像头:通过入侵人脸识别设施,或在设施上植入后门,通过刷入特定的程序来劫持摄像头、劫持人脸识别App或利用,绕过人脸的核验。 篡改传输报文:通过破解入侵人脸识别零碎或设施,劫持人脸识别零碎与服务器之间的报文信息,对人脸信息进行篡改,或者将实在信息替换为虚伪信息。 专为人脸识别定制的平安解决方案《人脸识别平安白皮书》展现了业余人脸识别系统安全的解决方案——顶象业务平安感知进攻平台。该平台具备威逼可视化、威逼可追溯、设施关联剖析、多账户治理、笼罩多平台、凋谢数据接入、主动防御机制、反对进攻策略和处理自定义和全流程防控等特点,已为保险、银行、出行、互联网等多家单位提供人脸识别系统安全保障。 某保险公司省级分公司部署顶象业务平安感知进攻平台后,当月就发现10000+名代理人通过息进行虚伪考勤打卡,拦挡阻止超过15万次危险操作,为分公司挽回500万元的代理费用。顶象《人脸识别平安白皮书》共有8章73节。 系统对人脸识别组成、人脸识别的潜在危险隐患、人脸识别威逼产生的起因、人脸识别平安保障思路、人脸识别平安解决方案、国家对人脸识别威逼的治理等进行了具体介绍及重点剖析。

September 26, 2022 · 1 min · jiezi

关于深度学习:EasyCV带你复现更好更快的自监督算法FastConvMAE

作者: 夕陌、谦言、莫申童、临在 导读自监督学习(Self-Supervised Learning)利用大量无标注的数据进行表征学习,在特定上游工作上对参数进行微调,极大升高了图像工作沉重的标注工作,节俭大量人力老本。近年来,自监督学习在视觉畛域大放异彩,受到了越来越多的关注。在CV畛域涌现了如SIMCLR、MOCO、SwAV、DINO、MoBY、MAE等一系列工作。其中MAE的体现尤为惊艳,大家都被MAE简洁高效的性能所吸引,纷纷在 MAE上进行改良,例如MixMIM,VideoMAE等工作。MAE详解请参考往期文章:MAE自监督算法介绍和基于EasyCV的复现 。 ConvMAE是由上海人工智能实验室和mmlab联结发表在NeurIPS2022的一项工作,与MAE相比,训练雷同的epoch数, ImageNet-1K 数据集的finetune准确率进步了 1.4%,COCO2017数据集上微调 25 个 epoch相比微调100 个 epoch 的 MAE AP box晋升2.9, AP mask晋升2.2, 语义宰割工作上相比MAE mIOU晋升3.6%。在此基础上,作者提出了FastConvMAE,进一步优化了训练性能,仅预训练50个epoch,ImageNet Finetuning的精度就超过MAE预训练1600个epoch的精度0.77个点(83.6/84.37)。在检测工作上,精度也超过ViTDet和Swin。 EasyCV是阿里巴巴开源的基于Pytorch,以自监督学习和Transformer技术为外围的 all-in-one 视觉算法建模工具,笼罩支流的视觉建模工作例如图像分类,度量学习,指标检测,实例/语音/全景宰割、关键点检测等畛域,具备较强的易用性和扩展性,同时重视性能调优,旨在为社区带来更多更快更强的算法。 近期FastConvMAE工作在EasyCV框架内首次对外开源,本文将重点介绍ConvMAE和FastConvMAE的次要工作,以及对应的代码实现,最初提供具体的教程示例如何进行FastConvMAE的预训练和上游工作的finetune。 ConvMAEConvMAE是由上海人工智能实验室和mmlab联结发表在NeurIPS2022里的一项工作,ConvMAE的提出证实了应用部分演绎偏置和多尺度的金字塔构造,通过MAE的训练形式能够学习到更好的特色示意。该工作提出: 应用block-wise mask策略来确保计算效率。输入编码器的多尺度特色,同时捕捉细粒度和粗粒度图像信息。原文参考:https://arxiv.org/abs/2205.03892 试验结果显示,上述两项策略是简洁而无效的,使得ConvMAE在多个视觉工作中相比MAE取得了显著晋升。以ConvMAE-Base和MAE-Base相比为例:在图像分类工作上, ImageNet-1K 数据集的微调准确率进步了 1.4%;在指标检测工作上,COCO2017微调 25 个 epoch 的AP box达到53.2%,AP mask达到47.1%,与微调100 个 epoch 的 MAE-Base相比别离晋升2.9% 和 2.2% ;在语义宰割工作上,应用UperNet网络头,ConvMAE-Base在ADE20K上的mIoU达到51.7%,相比MAE-Base晋升3.6%。 与MAE不同的是,ConvMAE的编码器将输出图像逐渐形象为多尺度token embedding,而解码器则重建被mask掉的tokens对应的像素。对于后面stage局部的高分辨率token embedding,采纳卷积块对部分进行编码,对于前面的低分辨率token embedding,则应用transformer来聚合全局信息。因而,ConvMAE的编码器在不同阶段能够同时取得部分和全局信息,并生成多尺度特色。 以后的masked auto encoding框架,如BEiT,SimMIM,所采纳的mask策略不能间接用于ConvMAE,因为在前面的transformer阶段,所有的tokens都须要保留。这导致对大模型进行预训练的计算成本过高,失去了MAE在transformer编码器中省去masked tokens的效率劣势。此外,间接应用convolution-transformer构造的编码器进行预训练会导致卷积局部因为随机的mask而造成预训练的信息泄露,因此也会升高预训练所得模型的品质。 针对这些问题,ConvMAE提出了混合convolution-transformer架构。ConvMAE采纳分块mask策略 (block-wise masking strategy):,首先随机在前期的获取transformer token中生成前期的mask,而后对mask固定地位逐渐进行上采样到晚期卷积阶段的高分辨率。这样,前期解决的token能够齐全拆散为masked tokens和visible tokens,从而并继承了MAE应用稠密encoder的计算效率。 上面将别离针对encoder、mask策略以及decoder局部开展介绍。 Encoder如总体流程图所示,encoder包含3 个阶段,每个阶段输入的特色维度别离是:H/4 × W/4, H/8 × W/8, H/16 × W/16,其中H × W为输出图像分辨率。前两个是卷积阶段,应用卷积模块将输出转换为token embeddings E1 ∈ R^(H/4 × W/4 ×C1) and E2 ∈ R^(H/8 × W/8 ×C2) 。其中卷积模块用5 × 5的卷积代替self-attention操作。前两个阶段的感触野较小次要捕获图像的部分特色,第三个阶段应用transformer模块,将粗粒度特色交融, 并将感触野扩大到整个图像,取得token embeddings E3 ∈ R(H/16 × W/16 ×C3)。在每个阶段之间,应用stride为2的卷积对tokens进行下采样。 ...

September 23, 2022 · 4 min · jiezi

关于深度学习:高性能计算主要是研究什么的

计算在数学上的概念: 计算是一种行为,通过已知量的可能的组合,取得新的量。计算的实质是汇合之间的映射。集体浅显直白的了解是: 输出一个或多个数据,通过解决,输入一个或多个数据。如 1 + 2 就是一个计算机,输出 2 个数据,输入 1 个数据 3。那到这里就会有很多疑难,在计算机上:高性能计算的概念是什么?全副的一般计算都能转成高性能计算实现么?如果不是的话,那哪些类型的计算能够呢?咱们须要做哪些事件,来实现高性能计算?Android框架或者是否存在第三方库为咱们做了相干的工作高性能计算的概念高性能计算:通常应用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计算资源操作)的计算零碎和环境。在挪动端,咱们能够认为是通过同时启用挪动设施的 CPU 和 GPU 形成的异构计算资源,进行协同计算。计算模型类型从数据流和指令的角度把计算模型分为4类(费林分类法)单指令单数据流 (SISD): 并行计算的模型,典型例子就是单核 CPU,所有数据都被一个处理器依次解决,某一时刻只能应用一个指令。单指令多数据流 (SIMD): 多个不同的数据同时被雷同的执行、指令集或者算法解决,是 GPU 的计算模型。多指令单数据流 (MISD): 在同一个数据流上执行不同的指令。多指令多数据流 (MIMD): 是多核CPU的计算模型。本文内容探讨的高性能计算则次要是在 SIMD 的根底上探讨,但这里并不需要严格依照 SIMD,只须要计算流程中的一部分内容合乎 SIMD 咱们就认为该实现的过程就是一个高性能计算。晓得了计算模型的类型,咱们就能晓得并不是所有的计算类型都能实现为高性能计算。只有满足以下要求的算法(或者算法中的局部满足,其余局部通过CPU协调)才可能比拟好的实现为高性能计算。每个数据(数据包)都须要通过雷同的流程来解决数据之间并没有相干性,即某些数据的计算不依赖另外一些数据的计算结果数据量宏大如何实现高性能计算这里首先理解的是图形显示流程,罕用的通用计算也正是基于这个显示流程做批改而实现的。这里以OpenGL ES为例,其余的如Direct3D、CG的流程大体也雷同。其中的顶点着色器和片元着色器的处理过程,程序猿能够自行编写,且是别离在 GPU 中的顶点处理器和片元处理器(或者对立处理器)计算。晓得了这个流程,咱们能够很容易联想到:咱们的高性能计算的次要算法过程是在 顶点着色器 或 片元着色器 中解决的,个别都是 片元着色器。这个流程是用于显示,输出是顶点和纹理等数据,输入是帧缓冲,很显著并不是咱们所须要的,因而咱们还须要批改流程。其中的顶点着色器和片元着色器的处理过程,程序猿能够自行编写,且是别离在 GPU 中的顶点处理器和片元处理器(或者对立处理器)计算。性能晋升成果一个非常简单的图像处理的算法 (因为应用图像临时成果比拟显著,表白也比拟容易,所以这里应用的是图像显示的 Demo,并不是说高性能计算只能用于显示相干)算法根本流程是:读入一张图片光顺解决下,行将每个像素点和四周的8个像素点的色彩做一个均匀,并将均值赋值给两头像素点将各个像素点置灰,行将每个像素点的rgb值求和并取平均值调整亮度,行将每个像素点的色彩的各通道值乘以0.9将像素数组取出设置给bitmap,并设置给ImageView

September 22, 2022 · 1 min · jiezi

关于深度学习:EasyNLP玩转文本摘要新闻标题生成

作者:王明、黄俊 导读文本生成是自然语言解决畛域的一个重要钻研方向,具备丰盛的理论利用场景以及钻研价值。其中,生成式文本摘要作为文本生成的一个重要子工作,在理论利用场景中,包含新闻标题生成、摘要生成、关键词生成等工作模式。预训练语言模型,如BERT、MASS、uniLM等尽管在NLU场景中获得了令人瞩目的性能,但模型采纳的单词、子词遮蔽语言模型并不适用于文本生成场景中,特地是生成式文本摘要场景。其起因是,生成式文本摘要工作往往要求模型具备更粗粒度的语义了解,如句子、段落语义了解,以此进行摘要生成。为了解决上述问题,PEGASUS模型(PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization)针对文本摘要工作设计了无监督预训练任务(Gap Sentence Generation,简称GSG),即随机遮蔽文档中的几个残缺句子,让模型生成被遮蔽的句子。该预训练任务可能很好地与理论地文本摘要工作匹配,从而使得预训练后的模型通过简略的微调后达到较好的摘要生成成果。因而,咱们在EasyNLP框架中集成了PEGASUS算法和模型,使用户可能不便地应用该模型进行文本摘要生成相干工作的训练和预测。 EasyNLP(https://github.com/alibaba/EasyNLP)是阿⾥云机器学习PAI 团队基于 PyTorch 开发的易⽤且丰盛的中⽂NLP算法框架,⽀持常⽤的中⽂预训练模型和⼤模型落地技术,并且提供了从训练到部署的⼀站式 NLP 开发体验。EasyNLP 提供了简洁的接⼝供⽤户开发 NLP 模型,包含NLP应⽤ AppZoo 和预训练 ModelZoo,同时提供技术帮忙⽤户⾼效的落地超⼤预训练模型到业务。文本生成作为自然语言解决的一大子工作,具备泛滥的理论利用,包含题目生成、文本摘要、机器翻译、问答零碎、对话零碎等等。因而,EasyNLP也在逐渐减少对文本生成子工作的反对,心愿可能服务更多的NLP以及NLG算法开发者和研究者,也心愿和社区一起推动NLG技术的倒退和落地。 本⽂将提供对于PEGASUS的技术解读,以及如何在EasyNLP框架中使⽤与PEGASUS相干的文本摘要(新闻标题)生成模型。 Pegasus模型详解 在此之前,文本生成预训练模型T5、BART等模型尽管在泛滥文本生成工作中获得了显著的性能增益,然而在文本摘要工作中,模型的预训练指标与文本摘要指标还是存在较大的差别。这导致此类预训练模型在迁徙至不必畛域的摘要工作时,依然须要较多的训练数据对模型进行微调能力达到较好的成果。为了缓解上述问题,PEGASUS模型在原始的子词遮蔽损失的根底上,减少了残缺句子遮蔽损失,行将输出文档中的随机几个残缺句子进行遮蔽,让模型还原。 具体地,如上图所示,PEGASUS采纳编码器-解码器架构(规范transformer架构)。模型对输出采纳两种遮蔽,一种是BERT采纳的子词遮蔽,用【mask2】示意,让模型的编码器还原被遮蔽的子词(该类损失在融化试验中被证实对上游工作无性能增益,因而在最终的PEGASUS模型中并未采纳)。另一种是GSG,用【mask1】示意,即让解码器生成输出中被遮蔽的随机残缺句子。针对此损失,作者同时提出三种可选计划,包含Random(随机抉择m个句子)、Lead(抉择前m个句子)、Ind-Orig(依据重要性分数抉择m个句子)。其中,重要性分数具体通过计算每句话与文档中其它句子汇合的ROUGE分数失去。能够认为,该策略抉择可能很大水平代表文档中其它句子的句子作为遮蔽对象。下图展现了三种选句子计划的一个例子,所选句子别离被标记为绿色、红棕色、蓝色。试验表明,采纳第三种句子抉择策略的模型可能获得最优性能。 文本摘要模型应用教程以下咱们简要介绍如何在EasyNLP框架中应用PEGASUS以及其余文本摘要模型。 装置EasyNLP用户能够间接参考GitHub(https://github.com/alibaba/EasyNLP)上的阐明装置EasyNLP算法框架。 数据筹备在具体的文本摘要场景中,须要用户提供上游工作的训练与验证数据,为tsv文件。对于文本摘要工作,这一文件蕴含以制表符\t分隔的两列数据,第一列是摘要列,第二列为原文列。样例如下: 湖北:“四上企业”停工率已达93.8% 央视网音讯:4月1日,记者从湖北省新冠肺炎疫情防控工作新闻发布会上获悉,在各方面共同努力下,湖北省停工复产工作获得了阶段性功效。截至3月31日,湖北省“四上企业”包含规模以上工业、规模以上服务业法人单位等的停工率已达93.8%,复岗率69.3%。武汉市的停工率、复岗率也别离达到了85.4%、40.4%。责任编辑:王诗尧下列文件为曾经实现预处理的新闻标题生成训练和验证数据,可用于测试: https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/tutorials/generation/title_gen.zip中文新闻标题生成因为PEGASUS原文产出的模型仅反对英文,为了不便中文社区用户的应用,咱们基于mT5的模型架构预训练了一个针对中文新闻标题摘要的模型mT5,并将其集成进EasyNLP的模型库中。同时,咱们还集成了IDEA机构预训练的文本摘要中文模型Randeng(能够认为是中文版的PEGASUS),便于用户摸索不同模型的性能。以下汇总了EasyNLP中可用的模型,并比照模型在上述数据集上的性能体现。举荐用户抉择前两个模型进行文本摘要,后三个模型进行新闻标题生成。 中文新闻标题(Rouge1/2/L)论文题目摘要(Rouge1/2/L)hfl/randeng-238M-Summary-Chinese59.66/46.26/55.9554.55/39.37/50.69hfl/randeng-523M-Summary-Chinese62.86/49.67/58.8953.83/39.17/49.92alibaba-pai/mt5-title-generation-zh-275m62.35/48.63/58.9654.28/40.26/50.55alibaba-pai/randeng-238M-Summary-Chinese-tuned64.31/51.80/60.9758.83/45.28/55.72alibaba-pai/randeng-523M-Summary-Chinese-tuned64.76/51.65/61.0659.27/45.58/55.92在新闻标题生成工作中,咱们采纳以下命令对模型进行训练。用户能够依据超参数‘save_checkpoint_steps’来决定保留模型的步数,框架在此时会对训练的模型进行评测,会依据模型在验证集上的体现决定是否更新保留的模型参数。其中,运行的main.py文件在EasyNLP/examples/appzoo_tutorials/sequence_generation目录下,同时须要将训练和验证集数据放到该目录下。能够在‘user_defined_parameters’超参数下的‘pretrain_model_name_or_path’指定上述表格中的模型。 python main.py \ --mode train \ --app_name=sequence_generation \ --worker_gpu=1 \ --tables=./cn_train.tsv,./cn_dev.tsv \ --input_schema=title_tokens:str:1,content_tokens:str:1 \ --first_sequence=content_tokens \ --second_sequence=title_tokens \ --label_name=title_tokens \ --checkpoint_dir=./finetuned_zh_model \ --micro_batch_size=8 \ --sequence_length=512 \ --epoch_num=1 \ --save_checkpoint_steps=150 \ --export_tf_checkpoint_type none \ --user_defined_parameters 'pretrain_model_name_or_path=alibaba-pai/mt5-title-generation-zh language=zh copy=false max_encoder_length=512 min_decoder_length=12 max_decoder_length=32 no_repeat_ngram_size=2 num_beams=5 num_return_sequences=5'另外,用户能够利用以下命令应用模型进行摘要生成,模型的门路由‘checkpoint_dir’指定。用户能够通过‘append_cols’指定在输入文件中增加输出列,如果不指定则填none。 ...

September 21, 2022 · 7 min · jiezi

关于深度学习:直播预告-9月26日1900个推为您拆解头部APP的数字化运营秘诀

APP端外标签怎么补充?哪种用户分层办法更高效?用户群圈选后怎么直接触达? 答案尽在9月26日19:00个推·人人都是增长官《数据驱动APP用户精细化经营》直播间! 本次直播将为大家带来APP用户经营闭环体系的搭建办法、用户全生命周期经营的无效策略,并独家分析行业头部APP的用户增长落地案例,帮忙APP解决用户经营“疑难杂症”,实现数据驱动业务增长。 一线经营专家倾囊相授,锁定直播还可拿三重好礼!还在等什么?立刻关注个推视频号直播间!

September 20, 2022 · 1 min · jiezi

关于深度学习:人工智能时代机器学习与深度学习

深度学习是机器学习的一种模式,所采纳的神经网络在输出节点和输入节点之间具备许多“深度”档次。通过基于大数据集训练网络,创立的模型可用于依据输出数据进行准确预测。在用于深度学习的神经网络中,每一层的输入会前馈到下一层的输出。通过更改各层之间连贯的加权,重复优化模型。在每一个周期,对模型预测准确度的反馈将用于领导连贯加权的更改。输出和输入之间含有“深度”暗藏层的神经网络:绝对输出加权的更改:人工智能、机器学习与深度学习如上图,最早呈现的人工智能位于同心圆最外侧;其次是随后倒退起来的机器学习,位于两头;最初是推动人工智能突飞猛进倒退的深度学习,位于最内侧。自上个世纪50年代的人工智能热以来,基于人工智能概念的机器学习和深度学习又掀起一阵前所未有的新浪潮。1956年,几个计算机科学家在达特茅斯会议上首次提出了“人工智能”的概念。尔后,人工智能就始终萦绕于人们的脑海之中,并在科研实验室中蓄势待发。之后的几十年,人工智能始终在两极反转,有人称其为关上人类文明辉煌将来的钥匙,也有人将其当成科技疯子的狂想扔到技术垃圾堆里。其实2012年之前,这两种观点始终并驾齐驱。过来几年,尤其是2015年以来,人工智能突飞猛进地倒退。这次要归功于图形处理器(GPU)的广泛应用,使得并行计算变得更快、更便宜、更无效。当然,有限拓展的存储能力和骤然暴发的数据洪流(大数据)的组合拳,也使得图像数据、文本数据、交易数据、映射数据全面海量暴发。机器学习——实现人工智能的办法机器学习最根本的做法,是应用算法来解析数据、从中学习,而后对真实世界中的事件做出决策和预测。与传统的为解决特定工作、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何实现工作。机器学习间接来源于晚期的人工智能畛域。传统算法包含决策树学习、推导逻辑布局、聚类、强化学习和贝叶斯网络等等。家喻户晓,咱们还没有实现强人工智能。晚期机器学习办法甚至都无奈实现弱人工智能。深度学习——是实现机器学习的技术人工神经网络是晚期机器学习中的一个重要的算法。神经网络的原理是受咱们大脑的生理构造——相互穿插相连的神经元启发。但与大脑中一个神经元能够连贯肯定间隔内的任意神经元不同,人工神经网络具备离散的档次、连贯和数据流传的方向。例如,咱们能够把一幅图像切分成图像块,输出到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是实现相似的工作,把数据传递到第三层,以此类推,直到最初一层,而后生成后果。每一个神经元都为它的输出调配权重,这个权重的正确与否与其执行的工作间接相干。最终的输入由这些权重加总来决定。其实在人工智能呈现的晚期,神经网络就曾经存在了,但神经网络对于“智能”的奉献微不足道。次要问题是,即便是最根本的神经网络,也须要大量的运算。神经网络算法的运算需要难以失去满足。当初,通过深度学习训练的图像识别,在一些场景中甚至能够比人做得更好:从辨认猫,到分别血液中癌症的晚期成分,到辨认核磁共振成像中的肿瘤。Google的AlphaGo先是学会了如何下围棋,而后与它本人下棋训练。它训练本人神经网络的办法,就是一直地与本人下棋,重复公开,永不停歇。深度学习的相干技术深度学习能够让那些领有多个解决层的计算模型来学习具备多层次形象的数据的示意。这些办法在许多方面都带来了显著的改善,包含最先进的语音辨认、视觉对象辨认、对象检测和许多其它畛域。深度学习可能发现大数据中的简单构造。深度卷积网络在解决图像、视频、语音和音频方面带来了冲破,而递归网络在解决序列数据,比方文本和语音方面体现出了闪亮的一面。几十年来,想要构建一个模式识别零碎或者机器学习零碎,须要一个粗劣的引擎和相当业余的常识来设计一个特征提取器,把原始数据(如图像的像素值)转换成一个适当的外部特色示意或特征向量,子学习零碎,通常是一个分类器,对输出的样本进行检测或分类。特色示意学习是一套给机器灌入原始数据,而后能主动发现须要进行检测和分类的表白的办法。深度学习就是一种特色学习办法,把原始数据通过一些简略的然而非线性的模型转变成为更高层次的,更加形象的表白。通过足够多的转换组合,非常复杂的函数也能够被学习。机器学习和深度学习的次要差别深度学习和机器学习都提供了训练模型和分类数据的办法,那么这两者到底有什么区别?应用规范的机器学习的办法,咱们须要手动抉择图像的相干特色,以训练机器学习模型。而后,模型在对新对象进行剖析和分类时援用这些特色。通过深度学习的工作流程,能够从图像中主动提取相干性能。另外,深度学习是一种端到端的学习,网络被赋予原始数据和分类等工作,并且能够主动实现。另一个要害的区别是深度学习算法与数据缩放,而浅层学习数据收敛。浅层学习指的是当用户向网络中增加更多示例和训练数据时,机器学习的形式可能在特定性能程度上达到平台级。如果须要在深度学习和机器学习之间作出抉择,用户须要明确是否具备高性能的GPU和大量的标记数据。如果用户没有高性能GPU和标记数据,那么机器学习比深度学习更具劣势。这是因为深度学习通常比较复杂,就图像而言可能须要几千张图能力取得牢靠的后果。高性能的GPU可能帮忙用户,在建模上花更少的工夫来剖析所有的图像。如果用户抉择机器学习,能够抉择在多种不同的分类器上训练模型,也能晓得哪些性能能够提取出最好的后果。此外,通过机器学习,咱们能够灵便地抉择多种形式的组合,应用不同的分类器和性能来查看哪种排列最适宜数据。所以,一般来说,深度学习的计算量更大,而机器学习技术通常更易于应用。深度学习,给人工智能以璀璨的将来深度学习使得机器学习可能实现泛滥的利用,并拓展了人工智能的畛域范畴。深度学习不堪一击般地实现了各种工作,使得所有的机器辅助性能都变为可能。无人驾驶汽车,预防性医疗保健,甚至是更好的电影举荐,都近在眼前,或者行将实现。起源:传感器技术

September 20, 2022 · 1 min · jiezi

关于深度学习:使用Keras-Tuner进行自动超参数调优的实用教程

在本文中将介绍如何应用 KerasTuner,并且还会介绍其余教程中没有的一些技巧,例如独自调整每一层中的参数或与优化器一起调整学习率等。Keras-Tuner 是一个可帮忙您优化神经网络并找到靠近最优的超参数集的工具,它利用了高级搜寻和优化办法,例如 HyperBand 搜寻和贝叶斯优化。所以只须要定义搜寻空间,Keras-Tuner 将负责繁琐的调优过程,这要比手动的Grid Search强的多! 加载数据咱们这里应用手语数据集,假如想在图像分类数据集上训练 CNN,咱们将应用 KerasTuner 优化神经网络。 首先,应用 pip 装置 Keras-Tuner 库并导入必要的库。 !pip install keras-tuner而后导入须要的包: import keras_tuner from tensorflow import keras from keras import backend as K from tensorflow.keras import layers, losses import numpy as np import matplotlib.pyplot as plt import os上面咱们就须要加载数据, 咱们抉择应用美国手语 (ASL) 数据集,该数据集可在 Kaggle 上下载。它蕴含代表手语的 400x400 RGB 手势图像。它共有 37 个类,每个类有 70 张图像。咱们将训练一个 CNN 模型来对这些手势进行分类。 因为数据集曾经基于类在文件夹目录进行了分类,加载数据集的最简略办法是应用 keras.utils.image_dataset_from_directory。应用 directory 参数指定父目录门路,并应用 labels='inferred' 主动加载基于文件夹名称的标签。应用 label_mode='categorical' 能够将标签作为 one-hot 向量加载,这样咱们加载数据就别的非常简单了。 ...

September 20, 2022 · 4 min · jiezi

关于深度学习:基于高效采样算法的时序图神经网络系统-二

本期IDP Inspiration咱们将持续为大家带来宦成颖博士针对其“基于高效采样算法的时序图神经网络系统”的研究成果的分享。 上一期文章中讲述了在时序图神经网络中的高效图采样算法,本期文章将重点讲述如何进行高效的时序图神经网络的训练。 现有的图数据规模极大,导致时序图神经网络的训练须要分外长的工夫,因而应用多GPU进行训练变得成为尤为重要,如何无效地将多GPU用于时序图神经网络训练成为一个十分重要的钻研议题。本文提供了两种形式来进步多GPU训练的性能,包含局部性感知的数据划分策略以及高效的任务调度策略。 首先,本文应用高效的数据划分策略将图数据以及点的特征向量进行无效的划分,来升高GPU之间额定的通信开销。点的特征向量占据很大的存储空间,因而咱们将点的特征向量依照三个维度进行划分并且存储在不同的GPU中。如图1所示,首先咱们依照时序图的工夫维度进行切分。在不同的工夫范畴中,将该工夫范畴内的点数据依照源点和汇点进行二维划分,其中每个GPU存储一段区间内源点的特征向量。对于边数据的存储,咱们将边数据间接存储在CPU memory中。在进行训练时再将对应的边数据加载进相应的GPU中。 图1. 局部性感知的数据划分策略因为不同的数据存储在不同GPU中,如何进行高效的任务调度来升高通信开销将成为一个至关重要的问题。为解决该问题,咱们提出了一种高效的任务调度策略: 首先咱们的任务调度将存储在不同GPU上的数据进行调度,从而充分利用GPU之间NVLink高速通信的劣势。在进行训练时,因为每个GPU存储一段区间内的点特征向量,每个GPU须要传输以后边数据对应的汇点的特征向量。在8块V100GPU中,局部GPU之间存在两条NVLink高速链路,咱们将充分利用这些NVLink链路来传输点的特征向量,从而晋升传输效率。 以8块GPU为例,咱们一共进行4轮的点数据交互。每一轮中,咱们首先将编号为0和1,2和3,4和5,6和7的四对GPU进行数据交互。替换实现后,对每个GPU内的数据进行训练。接下来将编号0和4,1和2,3和7,5和6的四对GPU进行点数据交换。在进行4轮后,以后工夫范畴内的图数据将被失去训练。同时在数据交换中,咱们充沛应用了GPU之间的2条NVLink链路。 图2. 数据与传输过程进行流水线化解决其次,咱们的高效任务调度将不同数据块上的训练以及GPU上的通信进行流水线化解决,以暗藏局部通信开销。如图2所示,咱们将训练过程与数据传输过程进行流水线化解决。具体来说,咱们将GPU的显存划分为三局部:第一局部存储固定的数据(神经网络参数以及源点的特征向量),第二局部存储以后神经网络训练所需的数据( 包含边数据和汇点的特征向量),第三局部用来进行数据传输及存储下一次训练所需的数据。在下一次训练时,咱们替换第二局部和第三局部的数据,相似于Ping-Pong操作。在此基础上,咱们能够将训练过程和数据传输重叠起来从而进步吞吐量、进步训练性能。 综上,针对时序图神经网络中呈现的高额设施间通信开销问题,本文提出了局部性感知的数据划分策略和高效的任务调度策略,以缩减时序图神经网络训练时的通信开销。同时本文在时序图神经网络中引入了图采样,以进一步减速神经网络的训练并缩小通信开销。基于上述通信缩减策略,本文提出了时序图神经网络系统T-GCN。试验结果表明,T-GCN实现了最高7.9倍的整体性能晋升。在图采样性能上,本文提出的线段二分搜寻采样算法可能实现最高38.8倍的采样性能晋升。

September 19, 2022 · 1 min · jiezi

关于深度学习:使用-Temporal-Fusion-Transformer-进行时间序列预测

目前来看表格类的数据的解决还是树型的构造占据了主导地位。然而在工夫序列预测中,深度学习神经网络是有可能超过传统技术的。 为什么须要更加古代的工夫序列模型?专为单个工夫序列(无论是多变量还是单变量)创立模型的状况当初曾经很少见了。当初的工夫序列钻研方向都是多元的,并且具备各种散布,其中蕴含更多探索性因素包含:缺失数据、趋势、季节性、波动性、漂移和常见事件等等。 通过间接预测指标变量往往是不够的,咱们劣势还心愿零碎可能产生预测区间,显示预测的不确定性水平。 并且除了历史数据外,所有的变量都应该思考在内,这样能够建设一个在预测能力方面具备竞争力的模型。 所以古代工夫序列模型应该思考到以下几点: 模型应该思考多个工夫序列,现实状况下应该思考数千个工夫序列。模型中应该应用单维或多维序列。除了时态数据之外,模型还应该可能应用过来数据。这个限度影响了所有的自回归技术(ARIMA模型),包含亚马逊的DeepAR。非工夫的内部动态因素也应加以思考。模型须要具备高度的适应性。即便工夫序列比较复杂或蕴含一些噪声,模型也能够应用季节性“奢侈”预测器预测。并且应该可能辨别这些实例。如果能够的话模型能够进行多步预测性能。也就是不止预测下一个值们须要预测下几个值。间接对指标变量预测是不够的。模型可能产生预测区间,这样显示预测的不确定性水平。生产环境应该可能顺利地集成最优模型,该模型也应该易于应用和了解。什么是Temporal Fusion Transformer?Temporal Fusion Transformer(TFT)是一个基于注意力的深度神经网络,它优化了性能和可解释性,顶层架构如下图所示。 TFT架构的长处如下: 可能应用丰盛的特色:TFT反对三种不同类型的特色:外生类别/动态变量,也称为时不变特色;具备已知输出到将来的时态数据,仅到目前已知的时态数据;具备未知输出的将来时态数据。 区间预测:TFT应用分位数损失函数来产生除理论预测之外的预测区间。 异构工夫序列:容许训练具备不同散布的多个工夫序列。TFT设计将解决分为两个局部:部分解决,集中于特定事件的特色和全局解决,记录所有工夫序列的个别特色。 可解释性:TFT的外围是基于transformer的体系结构。该模型引入的多头注意力机制,在须要对模型进行解释时提供了对于特色重要性的额定常识。另外一个性能良好的DNN实现是Multi-Horizon Quantile Recurrent Forecaster(MQRNN)。然而它没有提供如何解释这些特色重要水平的领导。 性能:在基准测试中,TFT 优于基于 DNN 的模型,如 DeepAR、MQRNN 和深度状态空间模型(Deep Space-State Models)以及传统统计模型 (ARIMA,DSSM等)。 与传统办法不同,TFT的多头注意力提供了特色可解释性。通过TFT的多头注意力增加一个新的矩阵或分组,容许不同的头共享一些权重,而后能够依据季节性剖析来解释这些全红的含意。 如何应用 Temporal Fusion Transformer 进行预测?本文将在一个十分小的数据集上训练 TemporalFusionTransformer,以证实它甚至在仅 20k 样本上也能很好地工作。 1、加载数据 本文中将应用 Kaggle Stallion 数据集,该数据集跟踪几种饮料的销售状况。咱们的指标是预测在接下来的六个月中,库存单位 (SKU) 销售的商品数量或由零售商代理机构销售的产品数量。 每月约有 21,000 条历史销售记录。除了过来的销售量,咱们还有销售价格、代理商地位、节假日等非凡日子以及该行业销售总量的数据。 数据集曾经是正确的格局。然而,它还短少一些咱们关注的信息,咱们须要增加是一个工夫索引,它随着每个工夫步长减少一个。 from pytorch_forecasting.data.examples import get_stallion_data data = get_stallion_data() # add time index data["time_idx"] = data["date"].dt.year * 12 + data["date"].dt.month data["time_idx"] -= data["time_idx"].min() # add additional features data["month"] = data.date.dt.month.astype(str).astype("category") # categories have be strings data["log_volume"] = np.log(data.volume + 1e-8) data["avg_volume_by_sku"] = data.groupby(["time_idx", "sku"], observed=True).volume.transform("mean") data["avg_volume_by_agency"] = data.groupby(["time_idx", "agency"], observed=True).volume.transform("mean") # we want to encode special days as one variable and thus need to first reverse one-hot encoding special_days = [ "easter_day", "good_friday", "new_year", "christmas", "labor_day", "independence_day", "revolution_day_memorial", "regional_games", "fifa_u_17_world_cup", "football_gold_cup", "beer_capital", "music_fest", ] data[special_days] = data[special_days].apply(lambda x: x.map({0: "-", 1: x.name})).astype("category") data.sample(10, random_state=521) ...

September 18, 2022 · 4 min · jiezi

关于深度学习:保障人脸安全顶象发布人脸识别安全白皮书

近日,顶象公布《人脸识别平安白皮书》。该白皮书共有8章73节,系统对人脸识别的组成、人脸识别的外在缺点、人脸识别的潜在安全隐患、人脸识别威逼产生的起因、人脸识别平安保障思路、人脸识别平安解决方案、国家对人脸识别威逼的治理等进行了具体介绍及重点剖析。 人脸识别已进入生存的方方面面人脸与指纹、虹膜等生物特色均具备唯一性、难以复制性,采集和应用上具备非接触性、非强制性、多并发性、暗藏性和简略易用性等特点。通过影像设施或模块,捕获或采集含有人脸的图像或视频,并可能主动进行跟踪、剖析、检测、辨认的一系列技术。 人脸识别是一个集人工智能、机器辨认、机器学习、模型实践、专家系统、视频图像处理等多种业余技术,是生物特色辨认的最新利用。人脸识别零碎次要由人脸采集、人脸检测、人脸图像预处理、人脸特征提取、人脸图像匹配、人脸图像识别等六局部组成。 人脸识别是基于人面部特色数据进行身份辨认的一项生物特色技术,用于手机解锁、身份验证、下班打卡、社区、考勤、乘车、购物等,在金融、医疗、安检、领取、娱乐等诸多畛域失去遍及,为数字经济社会倒退和人们日常生活带来了新机遇。数据显示,2021年中国人脸识别市场规模为56亿元,预计2022年达到68亿元,到2024年冲破100亿元;年均放弃23%增速。其中,人脸识别利用最多是安防占54%,其次是金融占16%。尔后别离是娱乐10%、医疗7%、电商批发6%、出行3%、政务2%、其余2%。 人脸识别面临三类攻打挑战睡梦中手机被刷脸登录转走几万元、人脸信息被冒用贷款、十块钱就购买5000张人脸信息,门店主动抓取人脸信息用于发广告、小偷用面具骗过社区人脸识别门禁、储户贷款遭刷脸盗走200万元、现场打印照片登录别人账号、破解人脸零碎进行虚伪考勤打卡...一系列人脸识别安全事件引发社会关注。 顶象最新公布的《人脸识别平安白皮书》显示,以后阶段人脸危险次要集中在人脸信息泄露、人脸识别算法不精准和人脸识别零碎不平安等三个方面。人脸信息泄露。人脸是重要的隐衷信息,利用各种技术和伎俩,在未经批准容许或批准的前提下,通过公开或非法手段,收集、保留、盗取失常的人脸数据,一旦信息呈现泄露,不仅被不法分子进行用于欺骗,更可能被重复贩卖牟利。人脸识别算法不精准。戴上眼镜、帽子、面具,或者制作高仿模型、将2D人脸照片3D建模、利用AI技术将动态照片变成动静照片等多种技术均,骗过人脸识别算法和活体监测算法。人脸识别零碎不平安。 破解人脸识别利用或平安爱护,篡改验证流程、通信信息,劫持拜访对象、批改软件过程,将后盾或前端的真数据替换为假数据,以实现虚伪人脸信息的通过。 保障人脸平安,须要在三方面动手基于人脸平安现状,《人脸识别平安白皮书》倡议在保障人脸信息安全、加强人脸识别精准度、保障人脸识别系统安全三方面动手。 保障人脸信息安全。人脸信息采集时,在人脸识别设施处设置显著标识,向个人信息主体告知解决规定。根据《个人信息保护法》欠缺隐衷政策,将波及人脸信息等集体敏感信息的条款重点标出。加大对人脸信息采集、存储、加工、传输各环节违规行为的惩戒力度。 对于滥采、滥用的,需适当加大惩戒力度,造成无效震慑,加强公众的安全感。建设人脸信息定期销毁机制,要求人脸信息本地化存储的同时,在肯定周期内定期销毁相干数据。 晋升人脸识别精准度。基于纹理的办法剖析人脸图像样本中的宏观纹理图案,进一步加强照片和真人的辨认度;通过计算头发而非面部的傅里叶光谱,加强人脸视频检测的精准度。减少唇语活体检测;减少图像的纹理、光线、背景、屏幕反射检测;应用专门的红外摄像头对人脸进行三维构造采集等。保障人脸识别系统安全。对人脸识别利用、App、客户端进行代码混同、加密加壳、权限管制,做好终端环境平安检测;对数据通讯传输混同加密,避免信息传输过程中受到窃听、篡改、冒用;建专属的风控模型,为发现潜在危险、未知威逼、保障人脸识别平安提供策略撑持。 人脸识别系统安全的能力要求及解决方案基于人脸识别特殊性及危险现状,《人脸识别平安白皮书》认为,要保障人脸识别系统安全须要具备四方面能力:领有基于设施指纹、操作行为、AI策略模型的利用端、智能设施层面的平安感知的能力;除了通过传统的加固混同技术,还须要具备基于危险感知,进行多维分析,并提供与终端、业务紧密结合的响应处理的能力; 可能对环境危险、运行时攻打、异样行为的监测、预警、具备威逼时主动触发防护策略及处理、关联关系开掘、以及数据积淀的闭环处理; 此外,满足监管合规要求至关重要。 《白皮书》提供了具体的平安解决方案。顶象进攻云基于多年实战经验和技术产品,领有丰盛的技术工具、数万个安全策略及数百个业务场景解决方案,具备情报、感知、剖析、防护、处理的能力,提供模块化配置和弹性扩容,助企业疾速、高效、低成本构建自主可控的业务平安体系。 其中集成的顶象业务平安感知进攻平台,是一个设施危险剖析、运行攻打辨认、异样行为检测、预警、防护处理为一体的被动平安进攻平台,可能实时发现摄像头遭劫持、设施伪造等歹意行为,无效防控各类人脸识别零碎危险。 具备威逼可视化、威逼可追溯、设施关联剖析、多账户治理、笼罩多平台、凋谢数据接入、主动防御机制、反对进攻策略和处理自定义和全流程防控等特点。曾经为保险、银行、出行、互联网等多家单位提供人脸识别系统安全保障。

September 13, 2022 · 1 min · jiezi

关于深度学习:GANs的优化函数与完整损失函数计算

生成反抗网络(GANs)近年来在人工智能畛域,尤其是计算机视觉畛域十分受欢迎。随着论文“Generative Adversarial Nets” [1]的引入,这种弱小生成策略呈现了,许多钻研和钻研我的项目从那时起衰亡并倒退成了新的利用,咱们当初看到的最新的DALL-E 2[2]或GLIDE3 本文具体解释了GAN优化函数中的最小最大博弈和总损失函数是如何失去的。将介绍原始GAN中优化函数的含意和推理,以及它与模型的总损失函数的区别,这对于了解Generative Adversarial Nets是十分重要的 GANs简介生成反抗网络(Generative Adversarial Networks)是一种深度学习框架,它被设计为生成模型,目标是生成新的简单数据(输入)。 为了训练GAN,只须要一组想要模拟的数据(图像、音频、甚至是表格数据……),网络会找出办法来创立看起来像咱们提供的数据集示例的新数据。换句话说,咱们给模型一些示例数据作为“取得灵感”的输出,并让它齐全自在地生成新的输入 因为咱们只向网络输出X信息,而不给它们增加任何标签(或冀望的输入),所以这种训练过程是无监督学习。 GAN体系结构是由两个相互竞争的网络(因而得名“反抗网络”)组成的。通常将这两个网络称为Generator (G)和Discriminator (D)。Generator的工作是学习从随机噪声开始生成数据的函数,而Discriminator必须决定生成的数据是否“实在”(这里的“实在”是指数据是不是属于示例数据集的),这两个网络同时训练和学习。 GAN有很多不同的变体,所以训练有许多不同的变动。然而如果遵循原始论文 [1],原始的GAN 训练循环如下: 对于训练每次迭代会执行以下操作: 从示意的样本分布(即随机噪声 z)生成 m 个示例(图像、音频……):G(z)从训练数据集中取 m 个样本:x混合所有示例(生成和训练数据集)并将它们提供给鉴别器 D。D 的输入将介于 0 和 1 之间,这意味着 示例是假的,1 示意示例是真的取得鉴别器损失函数并调整参数生成新的 m 个示例 G'(z)将 G'(z) 法送到鉴别器。取得 Generator Loss 函数并调整参数。阐明:个别状况下咱们对GAN的训练都是在第 4 步测量生成器损失并调整其参数以及鉴别器,这样能够跳过第 5 步和第 6 步,节省时间和计算机资源。 优化函数(最小-最大博弈)和损失函数GAN的原始论文中模型的优化函数为以下函数: 上式为Optimization函数,即网络(Generator和Discriminator)都要优化的表达式。在这种状况下,G想要最小化它而D想要最大化它。然而这不是模型的总损失函数。 为了了解这个最小-最大博弈,须要思考如何掂量模型的性能,这样才能够通过反向流传来优化它。因为GAN架构是由两个同时训练的网络组成的,咱们必须计算两个指标:生成器损失和鉴别器损失。 1、鉴别器损失函数 依据原始论文 [1] 中形容的训练循环,鉴别器从数据集中接管一批 m 个示例,从生成器接管其余 m 个示例,并输入一个数字 ∈ [0,1],即输出数据属于数据集散布的概率(即数据为“实在”的概率)。 通过甄别曾经晓得哪些样本是实在的(来自数据集的样本 x 是实在的),哪些是生成的(生成器的输入 G(z) 生成),能够为它们调配一个标签:y = 0(生成),y = 1(实在)。 ...

September 7, 2022 · 1 min · jiezi

关于深度学习:探索编译软件栈新范式高端GPU禁售的影响陈天奇DL系统免费课程|AI系统前沿动态

1. 高端GPU禁售传闻声起,BAT们遭逢缓和时刻 互联网企业成为此次制裁波及的次要对象。行业人士指出,互联网厂商出于对性能等因素思考,对国产CPU、GPU广泛接收度不高,此次事件应为互联网厂商预警,减速CPU、GPU等外围芯片的国产代替应受到重视,心愿有助于互联网厂商减速推动服务器外围芯片国产代替的导入和验证,晋升自主可控能力。 链接:https://www.laoyaoba.com/html... 2. 陈天奇CMU新课程线上免费听,分析DL框架底层原理 9月13日开课,线上收费注册参加,次要面向高年级本科到博士在读阶段的学生。须要参与者有根本的数学背景,对机器学习有肯定的理解,把握零碎编程(Python和C/C++ )和线性代数。 链接:https://zhuanlan.zhihu.com/p/... 3. 旷视天元MegEngine开源CUDA INT4量化源码实现 为了推动低比特量化技术的倒退,旷视天元MegEngine 团队开源了INT4的源码实现,这也让MegEngine成为首个开源CUDA INT4源码实现的深度学习框架。MegEngine采纳平均线性量化计划,实现了非对称量化和对称量化两种INT4的数据类型,同时通过算子交融优化、kernel优化等办法,使得量化后的模型能够仍然放弃较高的精度以及良好的运行速度。同样以ResNet-50为例,INT4相比INT8有1.3倍的减速。 链接:https://mp.weixin.qq.com/s/zJ... 4. OneFlow源码解析:Tensor类型体系与Local Tensor tensor和op是神经网络模型最根本的组件:op是模型的节点,tensor是连贯节点的边。然而,构建一个tensor并不仅仅是结构一个对象那么简略,至多要思考以下问题:要反对节点本地的local tensor,以及分布式的global tensor;要反对eager和lazy执行模式;要反对不同的数据类型,包含float、double、int等;要反对不同设施。 链接:https://mp.weixin.qq.com/s/eB... 5. 深刻理解MindSpore训练推理框架设计 作者将围绕MindSpore的Model类的相干代码,对MindSpore的训练流程设计和推理流程设计进行深刻的解读,并且联合相应的代码,以宰割工作为例,介绍如何应用Model.train和Model.eval构建简单工作的训练测试流程设计。 链接:https://zhuanlan.zhihu.com/p/... 6. 从Core Dump中提取CUDA的报错信息 近期,Meta AI团队在生产PyTorch AI模型时遇到了一个难题。这一问题由CUDA非法内存拜访引起,号称集结了Meta全公司最牛的AI工程师才搞定,这篇博客记录了他们应用CUDA的core dump来确定报错地位所应用的技巧和实际。 链接:https://mp.weixin.qq.com/s/Ok... 7. 简略谈谈CUDA的访存合并 学习CUDA的人必定会常常听到“访存合并”这个词,作者次要从根底概念、向量化的错误做法导致的未合并访存进行介绍。 链接:https://zhuanlan.zhihu.com/p/... 8. MLIR-Playground: 摸索下一代编译软件栈工程的新范式 MLIR中国社区的一些开发者利用集体业余时间,开发了MLIR-Playground,一个能够间接在浏览器里利用MLIR开发编译逻辑的云端利用。此举次要是受到了设计软件Figma是如何利用Web技术从新定义了UI设计合作,以及OpenAI是如何利用简略的网页Playground大幅升高了超大AI模型尝试门槛的启发。 链接:https://zhuanlan.zhihu.com/p/... 9. TVM入门学习指南 作者联合TVM Unify相干的形象以及之前的一些积攒从新梳理一下TVM的整体流程。他从前端,中端(图优化Pass机制),代码生成(Schedule),Runtime,开发工具几个角度进行了介绍。本文将尽量避免波及到底层C++代码的细枝末节,而是从较为宏观的视角来讲分明目前TVM的架构,心愿对入门TVM的读者有帮忙。 链接:https://zhuanlan.zhihu.com/p/... 10. 通用多模态根底模型BEiT-3:引领文本、图像、多模态预训练迈向“大一统” 微软亚洲研究院联结微软图灵团队推出了最新降级的BEiT-3预训练模型,在宽泛的视觉及视觉-语言工作上,包含指标检测(COCO)、实例宰割(COCO)、语义宰割(ADE20K)、图像分类(ImageNet)、视觉推理(NLVR2)、视觉问答(VQAv2)、图片形容生成(COCO)和跨模态检索(Flickr30K,COCO)等,实现了SOTA的迁徙性能。BEiT-3翻新的设计和杰出的体现为多模态钻研关上了新思路,也预示着 AI 大一统渐露曙光。 链接:https://mp.weixin.qq.com/s/PI... 11. 扩散模型背地数学太难了?谷歌用对立视角讲明确了 很多研究者认为,基于扩散模型的文本图像生成模型岂但参数量小,生成的图像品质却更高,大有要取代GAN的势头。不过,扩散模型背地的数学公式让许多研究者望而生畏,泛滥研究者认为,其比VAE、GAN要难了解得多。 近日,来自 Google Research 的研究者撰文《 Understanding Diffusion Models: A Unified Perspective 》,本文以极其具体的形式展现了扩散模型背地的数学原理,目标是让其余研究者能够追随并理解扩散模型是什么以及它们是如何工作的。 ...

September 6, 2022 · 1 min · jiezi

关于深度学习:OneFlow源码解析Tensor类型体系与Local-Tensor

撰文|郑建华更新|赵露阳 tensor和op是神经网络模型最根本的组件:op是模型的节点,tensor是连贯节点的边。然而,构建一个tensor并不仅仅是结构一个对象那么简略,至多要思考以下问题: 要反对节点本地的local tensor,以及分布式的global tensor;要反对eager和lazy执行模式;要反对不同的数据类型,包含float、double、int等;要反对不同设施。1 创立tensor的办法与PyTorch相似,在OneFlow中也能够通过两种次要的形式来创立tensor:Tensor和tensor。这两种形式最终都会创立出OneFlow外部的C++ Tensor对象,即对应Python层的flow.Tensor类型。 1.1 Tensor Python层的Tensor是在tensor.py(https://github.com/Oneflow-In...)中引入的,通过python c api注册的Tensor类型对象,此对象在MakeTensorType(https://github.com/Oneflow-In...)中被定义和返回。 在MakeTensorType中次要通过PyTensorObject_init创立了Tensor对象: static int PyTensorObject_init(PyObject* self, PyObject* args, PyObject* kwargs) { HANDLE_ERRORS auto* temp = functional::_legacy_tensor_ctor(NULL, args, kwargs); if (PyErr_Occurred()) { throw py::error_already_set(); } auto* _self = (PyTensorObject*)self; _self->data = PyTensor_Unpack(temp); _self->data->set_pyobject(self); // reset temp data to prevent clearing the pyobject // when the temp is deallocated ((PyTensorObject*)temp)->data.reset(); Py_XDECREF(temp); return 0; END_HANDLE_ERRORS_RET(-1)}通过functional::_legacy_tensor_ctor函数创立了OneFlow外部的c++ Tensor对象:oneflow::one::Tensor,并作为data绑定至Python的Tensor类型。在MakeTensorType中,还通过PyMethodDef(https://github.com/Oneflow-In...)为Tensor注册了很多C++办法,如: ods[] = { {"storage_offset", PyTensorObject_storage_offset, METH_NOARGS, NULL}, {"stride", PyTensorObject_stride, METH_NOARGS, NULL}, {"is_contiguous", PyTensorObject_is_contiguous, METH_NOARGS, NULL}, {"contiguous", PyTensorObject_contiguous, METH_NOARGS, NULL}, {"contiguous_", PyTensorObject_contiguous_, METH_NOARGS, NULL}, {"pin_memory", PyTensorObject_pin_memory, METH_NOARGS, NULL}, {"is_pinned", PyTensorObject_is_pinned, METH_NOARGS, NULL}, {"requires_grad_", (PyCFunction)PyTensorObject_requires_grad_, METH_VARARGS | METH_KEYWORDS, NULL}, {"retain_grad", PyTensorObject_retain_grad, METH_NOARGS, NULL}, {"detach", PyTensorObject_detach, METH_NOARGS, NULL}, {"clone", PyTensorObject_clone, METH_NOARGS, NULL}, {"zero_", PyTensorObject_zero_, METH_NOARGS, NULL}, {"register_hook", PyTensorObject_register_hook, METH_O, NULL}, {"_register_post_grad_accumulation_hook", PyTensorObject__register_post_grad_accumulation_hook, METH_O, NULL}, {"global_id", PyTensorObject_global_id, METH_NOARGS, NULL}, {"check_meta_consistency", PyTensorObject_check_meta_consistency, METH_NOARGS, NULL}, {"to_numpy", PyTensorObject_to_numpy, METH_NOARGS, NULL}, {"type", (PyCFunction)PyTensorObject_type, METH_VARARGS | METH_KEYWORDS, NULL},此外,在Python层通过RegisterMethods(https://github.com/Oneflow-In...)也为Tensor注册了一些Python实现的Tensor办法或属性(如tensor.numpy),在OneFlow包初始化时会通过RegisterMethod4Class(https://github.com/Oneflow-In...)实现这些Python办法和属性的注册。RegisterMethod4Class的调用流程如下: ...

September 6, 2022 · 3 min · jiezi

关于深度学习:中文稀疏GPT大模型落地-通往低成本高性能多任务通用自然语言理解的关键里程碑

作者:同润,临在 团队:阿里云机器学习平台PAI 1. 概述GPT模型能较好的解决NLP各个应用领域的工作,比方文本分类,推理,对话,问答,完形填空,浏览了解,摘要,生成等等。百亿/千亿参数量级的GPT大模型作用在这些应用领域尽管成果很好,然而训练老本十分高。以OpenAI推出的1750亿的GPT-3为例,在1024张A100GPU上预估须要34天,一万亿参数的GPT-3在3072张A100显卡上也至多须要84天;微软/英伟达联合推出的5300亿的NLG模型,在2048张A100显卡上耗时了3个月的训练工夫能力达到比拟好的收敛成果。基于MoE的稠密化训练是目前最具竞争力的降本路径。另一方面,GPT稠密大模型在中文畛域的成果还没有失去理论的验证,是否无效解决中文超多分类工作,口语化表白的中文推理或者情感剖析工作,都是咱们亟待摸索的课题。综上所述,咱们的工作是摸索基于稠密MoE构造的GPT模型在中文工作上的性能下限,同时把大模型训练老本压缩到极致,仅在单机A100硬件反对下就能将百亿参数大模型训练成熟。 继去年应用Transformer Encoder大模型获得中文小样本学习、英文预训练模型常识量度量双冠后,往年阿里云又在中文语言了解权威评测基准CLUE的中文零样本学习权威榜单ZeroCLUE上获得冠军。咱们将大模型技术能力向前推动了一大步。基于MoE稠密构造,仅用一台A100就把160亿参数量级的多任务通用GPT模型训练成熟。此次刷榜的模型是阿里云机器学习PAI团队推出的 GPT-MoE,这也是业界推出的首个稠密的纯decoder架构模型在zeroclue上登顶。这是通往低成本且高性能多任务通用自然语言了解的重要里程碑。 MoE的全称是Mixture of Experts,其中的Expert对应的是Transfomrer模型的FFN层,在训练的时候从多个FFN中选取一部分FFN进行激活。这意味着模型能够在不减少计算强度(FLOPS/Bytes)的状况下,通过减少FFN的数量进而减少模型参数量级来晋升模型在上游工作上的性能。采纳MoE后的稠密Transformer模型和等同品质的浓密模型相比有5倍的吞吐性能晋升,如下图所示。咱们在稠密架构总体设计的时候,抉择让MoE跟纯Transformer Decoder架构的GPT进行有机联合。起因是MoE跟Decoder联合成果通常会好于跟Encoder的联合成果。具体来讲,Encoder是通过随机masking的形式学习语言模型,而这种被随机masked的token会让expert的路由抉择呈现不平衡。另一方面,思考到Decoder类的GPT模型比Encoder类的Bert模型有更宽泛应用场景,因而咱们采纳GPT+MoE的技术架构路线。 2. 算法&工程技术解读算法方面咱们提出了一种更加高效稳固的稠密路由均衡器,基于Prompt的畛域话术再适应的零样本学习以及中文中文简单工作定向优化。工程方面咱们训练了工业级中文BPE分词器,微调过程中的工程优化,transformer训练减速工具rapidformer等,上面为大家一一具体解读。 打造工业级中文BPE分词器 & 高质量预训练数据集中文每个字都有独立的意思,能够利用复杂多变的自由组合来表白多种含意,如果GPT的词表仍旧采纳Bert那种按字分词的策略,这无形中极大减少了GPT语言建模的难度。比方上面这个例子,“道”字能够衍生出意义齐全不同的三个词:道德,情理,赔罪。依据“道”字右边的上下文信息揣测其左边的字难度还是比拟大的。 咱们须要构建一种性能鲁棒的中文分词工具,它可能从大规模语料中依照上下文统计特色提炼出中文单个汉字形成的大颗粒度词组。咱们决定采纳先进的BPE算法来尝试做到这点。咱们应用的Sentencepiece工具在5亿条高质量中文语料上训练了一个星期产出了一个5w词表量级的中文BPE分词器。另外中文超大规模语料的抉择也有考究,去年咱们应用PAI数据集就能把13亿的Bert模型训练成熟,往年咱们尝试了更大的WuDao2.0数据集,大略是PAI数据集的十倍。原始WuDoa2.0数据集品质还是不太符合要求的,咱们依照去年对PAI数据集的荡涤过程,从新对原始的WuDao2.0数据集做了荡涤,生成了一份绝对高质量的WuDao2.0数据集。咱们在数据集和分词器上做了一些融化试验,论断如下: 精选后的wudao数据集比精选的PAI数据集(只有wudao量级的十分之一)在验证集loss上要小,同时在TNEWS和EPRSTMT等上游工作指标要高。5亿条句子训练进去的BPE分词器比1亿条句子训练进去的BPE分词器在验证集loss上有0.02的升高,同时在TNEWS和EPRSTMT上游工作指标有小幅晋升。强化型稠密路由均衡器MoE概念最早呈现在2017年的ICLR[1]上。它的基本概念非常简略,在前向流传的时候动静地从多个FFN中随机抉择一些执行运算,从而达到参数裁减的成果。后续一系列论文468也都是围绕设计稠密路由均衡器开展。 真正将MoE带到工业级发扬光大的是谷歌公司的GShard[2]和Switch Transformer[3]。其采纳top-1路由机制。每个Expert依据如下的softmax函数被赋予一个概率值,取概率最高(top-1)的那个Expert当作网络的FFN层。其中W_r是做路由抉择时须要学习的参数。 咱们作出的改良是对Expert路由抉择也就是到token到FFN的映射模块进行强化。让该模块在做映射门路抉择的时候更加保持平衡。咱们通过大量的融化试验发现了一种性能更好更稳固的稠密路由均衡器Large-Margin[10] Router。其在Transformer中的功能位置如下图所示: 采纳Large-Margin Router后能够看出validation loss的降落非常显著,同时上游工作的晋升的成果也晋升不少。 模型参数量LAMBADAPIQABoolQRACEWebQsSparse-GPT-125M-MoE641.9B0.39880.64250.47370.28900.0034Sparse-GPT-125M+MoE64-Large-Margin Router1.9B0.40170.64960.50030.29480.0057刷榜采纳的模型参数配置如下所示: sequence length2048hidden size2048number layers24number attention heads16number experts (Pyramid Resudial)32 32 32 32 32 32 32 32 32 32 64 64稠密参数总量160亿浓密参数总量13亿畛域话术再适应的零样本学习咱们仅应用一台A100机型就能拉起160亿量级的稠密GPT大模型的训练。这种低成本的训练环境,容许咱们通过持续预训练或者微调来能进一步开释GPT大模型的能力,让其在各个NLP工作中施展更大的价值。 持续稠密预训练的再适应损失函数 训练GPT大模型应用的超大规模中文数据集WuDao2.0,其话术格调偏差正式的用语格调。而ZeroCLUE9个工作中有六个工作是口语化的格调,两个工作是是科技论文格调。这两种格调是大模型没有见过的,因而须要通过学习更多特定畛域的陈说表达方式让大模型去适应新的话术格调。具体来讲,当根底大模型训练成熟后,咱们对每个工作或者多个类似工作进行持续预训练,最初对每个工作执行无监督零样本学习。如下图所示: 咱们应用CLUE官网提供的未标注的工作语料来学习格调话术。对loss函数设计是总的loss= 上下文 loss + 提醒语 loss + 伪标签loss+MoEloss。示例如下: 其中上下文和提醒语的loss应用GPT训练语言模型规范的负对数最大似然,伪标签loss应用Masked LM,MoE loss和预训练保持一致。同时通过相关系数调节各个loss之间的奉献比例。 ...

September 5, 2022 · 2 min · jiezi

关于深度学习:全面解读反电信网络诈骗法对企业个人的影响及对网络黑灰产的整治

昨天(9月2日),人大常委会表决通过《反电信网络欺骗法》,并将于2022年12月1日起正式施行。 《反电信网络欺骗法》共有七章50条,兼顾倒退和平安,立足各环节、全链条防备治理电信网络欺骗,精准发力,为预防、遏制和惩治电信网络欺骗流动,增强反电信网络欺骗工作,爱护公民和组织的合法权益,保护社会稳固和国家平安提供无力法律撑持。 《反电信网络欺骗法》:立法快、定位准、器重后果《反电信网络欺骗法》对电信网络欺骗进行了明确定义: 电信网络欺骗是指以非法占有为目标,利用电信网络技术手段,通过近程、非接触等形式,欺骗公私财物的行为。 顶象进攻云业务平安情报中心认为,该部法律立法快、定位准、器重后果。立法速度快。从2021年10月19日《反电信网络欺骗法》草案提请十三届全国人大常委会首次审议,到2022年9月2日正式表决通过,不到一年的工夫。全国人大常委会法工委刑法室主任王爱立在答记者问时示意,《反电信网络欺骗法》在立法技术上是“小快灵”,体现“小切口”,对关键环节、次要制度作出规定,建起四梁八柱,条文数量不求太多,立法过程快,体现急用后行,将进一步丰盛全国人大常委会的立法模式。 指标精准。电信网络欺骗分子施行欺骗流动,离不开金融、通信、互联网等业务,他们利用这些技术和服务施行骗术、转移资金等,钻行业治理破绽,采取各种包装手法回避打击。《反电信网络欺骗法》对通信、互联网、金融有具体的治理规定,通过增强对电话卡、银行卡、互联网账号治理,笼罩电信网络欺骗产生的信息链、资金链、技术链、人员链,从源头上防备电信网络欺骗。 器重后果。作为一部专项急需立法,《反电信网络欺骗法》立足实际须要,保持问题导向和后果导向,各项条款精密,责任明确清晰。 例如,进一步明确和提出实名制要求,特地是为保障对涉诈异样电话卡、账号在应用环节的“实人实操”,规定能够从新实名核验,并依据危险状况采取相应限度、暂停服务等措施;对办理电话卡、金融账户的数量进行正当限度,有针对性地欠缺物联网卡销售、应用监测制度等。 推动企业高效建设业务反欺诈体系《反电信网络欺骗法》对电信企业、银行、领取机构、互联网企业等在反诈工作中要承担风险防控责任,建设外部管制制度和平安责任制度,并规定了企业对各类涉诈信息、流动的监测处理责任。 第十五条 银行业金融机构、非银行领取机构为客户开立银行账户、领取账户及提供领取结算服务,和与客户业务关系存续期间,该当建设客户渎职考察制度,依法辨认受害所有人,采取相应风险管理措施,防备银行账户、领取账户等被用于电信网络欺骗流动。 第十八条 银行业金融机构、非银行领取机构该当对银行账户、领取账户及领取结算服务增强监测,建设欠缺合乎电信网络欺骗流动特色的异样账户和可疑交易监测机制。 第二十二条 互联网服务提供者对监测辨认的涉诈异样账号该当从新核验,依据国家有关规定采取限度性能、暂停服务等处理措施。 第三十一条 任何单位和集体不得非法交易、出租、归还电话卡、物联网卡、电信线路、短信端口、银行账户、领取账户、互联网账号等,不得提供实名核验帮忙;不得混充别人身份或者虚构代理关系开立上述卡、账户、账号等。 银行要履行反洗钱、反诈职责,建设渎职考察制度,对涉诈异样银行卡、可疑交易等进行监测处理; 电信企业要对涉诈异样电话卡、改号电话、GOIP等非法设施等进行监测处理;互联网企业要对涉诈互联网账号、App、网络黑灰产进行监测处理,要依照国家规定,履行正当留神任务,防备其相干业务被用于施行电信网络欺骗等; App、域名解析、域名跳转等网络资源标准治理,强化各行业涉诈违法犯罪线索、危险信息、黑样本数据信息共享。 顶象进攻云基于多年实战经验和技术产品,领有丰盛的技术工具、数万个安全策略及数百个业务场景解决方案,具备情报、感知、剖析、防护、处理的能力,提供模块化配置和弹性扩容,助企业疾速、高效、低成本构建自主可控的业务平安体系,帮忙企业无效防备各类业务危险,抵挡黑灰产的欺诈威逼,解决业务环节的平安问题,为业务的稳固、平安运行保驾护航。 打击网络黑灰产,护航数字业务平安针对互联网畛域存在的网络黑灰产,机械工业出版社出版的《攻守道-企业数字业务平安危险与防备》一书中有具体地剖析: 网络黑灰产彼此分工明确、单干严密、协同作案,每一环节都有不同的牟利和运作形式,造成一条残缺的产业链。以大规模牟利为目标网络黑灰产,相熟业务流程以及防护逻辑,可能纯熟使用自动化、智能化的新兴技术,一直开发和优化各类攻打工具,一直发动各类欺诈攻打。 近年来,在公安机关严厉打击之下,一批批不法分子被绳之以法。2021年,公安部“净网2021” 专项口头,抓获行业“内鬼”6000余名,打掉关停接码、打码、解封、养号、非法交易网络平台80余个,收缴“猫池”、卡池设施1万余台,查获关停涉案网络账号1000余万个。 2021年4月至2022年7月,无关部门即破获电信网络欺骗案件59.4万起,拦挡欺骗电话28.1亿次、短信33.6亿条,封堵涉诈域名网址400万个。不过,还有很多危险暗藏在“冰山”之下。 例如,就在往年7月,两大银行同时爆出多名储户贷款被电信网络欺骗团伙盗走。顶象进攻云业务平安情报中心认为,《反电信网络欺骗法》将增强网络黑产的整治力度,一直压缩此类违法犯罪空间,无效遏制网络黑灰产持续上升的势头,护航数字业务平安。推动《个人信息保护法》遍及,保障集体信息安全增强政府和监管部门职责是建设欠缺反电信网络欺骗工作责任体系的重要组成部分。 《反电信网络欺骗法》对电信、金融、互联网具体规定了无关部门的监督管理和防备职责,并强调部门工作人员在反电信网络欺骗工作中滥用职权、玩忽职守的法律责任。 第二十九条 集体信息处理者该当按照《中华人民共和国个人信息保护法》等法律规定,标准集体信息处理,增强个人信息爱护,建设个人信息被用于电信网络欺骗的防备机制。履行个人信息爱护职责的部门、单位对可能被电信网络欺骗利用的物流信息、交易信息、贷款信息、医疗信息、婚介信息等施行重点保护。 公安机关办理电信网络欺骗案件,该当同时查证立功所利用的个人信息起源,依法追究相干人员和单位责任。 《个人信息保护法》已施行10个多月(2021年11月1日施行),这部能够比肩欧盟《通用数据保护条例》(General Data Protection Regulation,简称GDPR;2018年5月施行)的法律,并没引发全社会的足够器重。 时至今日,仍旧一直曝出“内鬼”盗取快递用户信息、人脸图像遭任意采集和肆意利用、多地衰弱码信息被无节制地滥用、疫情防控中集体敏感信息被随便扩散到各类社群中。心愿《反电信网络欺骗法》可能成为《个人信息保护法》遍及落地的无效伎俩,保护法律的尊严与权威

September 5, 2022 · 1 min · jiezi

关于深度学习:从Core-Dump中提取CUDA的报错信息

近期,Meta AI团队在生产PyTorch AI模型时遇到了一个难题。这一问题由CUDA非法内存拜访引起,号称集结了Meta全公司最牛的AI工程师才搞定,这篇博客记录了他们应用CUDA的core dump来确定报错地位所应用的技巧和实际。作者|Zachary DeVito翻译|贾川、程浩源 如果GPU读取了有效内存,那么CUDA API将会开始从产生谬误的中央开始,后续所有API调用都会返回cudaErrorIllegalAddress: 设施在有效内存地址上应用了加载或存储指令。这使得过程处于不统一的状态,任何后续的CUDA工作都将返回雷同的谬误。若要持续应用CUDA,过程必须终止并重新启动。因为CUDA kernel是从CPU异步启动,所以在启动异样kernel的中央不会报告此谬误,而是在GPU上理论产生异样并流传到CPU之后的任何CUDA API调用时报告此谬误。 当然,要是应用CUDA_LAUNCH_BLOCKING=1环境变量,CUDA就会在kernel启动后运行实现才返回,但这会使得程序运行显著变慢,可能会扭转报错机会,以至某些不确定性问题不再被触发。 此外,如果有多个线程应用CUDA API,cudaErrorIllegalAddress可能首先在另一个线程上报错,而不是在启动线程上报错。因而,即便在CUDA_LAUNCH_BLOCKING=1的状况下,我也不信赖堆栈跟踪出现的信息。 相同,对于“非法地址(illegal address)”这一bug,咱们心愿能找到更多、更精确的报错起因。相似于其余处理器,当故障产生时,GPU上的SM会记录无关故障指令的信息。 可怜的是,我意识到没有过程内的办法能够获取这类信息。咱们只能在运行之前,通过将cuda-gdb或cuda-memcheck附加到过程中来拜访此类信息。但这对于那些发生率很低的bug来说,在这种模式下从新运行这个过程来重现bug是不切实际的。 侥幸的是,通过设置环境变量CUDA_ENABLE_COREDUMP_ON_EXCEPTION=1,咱们能够使CUDA在产生异样后生成core dumps来出现GPU的状态,而后用cuda-gdb来查看该文件。 本文探讨了如何从这些core dumps中生成提取信息,以便在没有调试信息的状况下,也能复原诸多信息,比方参数值和出错指令等。 1 生成core dumps在有故障的过程上设置 CUDA_ENABLE_COREDUMP_ON_EXCEPTION=1。如此一来,当故障产生时,它会生成一个core dumps文件cudacoredump.hostname.pid。 2 应用cuda-gdb关上core dumps$ /usr/local/cuda/bin/cuda-gdb(cuda-gdb) target cudacore /tmp/cudacoredump.hostname.pidOpening GPU coredump: /tmp/cudacoredump.hostname.pid这应该报告一些对于故障产生地点的信息: CUDA Exception: Warp Illegal AddressThe exception was triggered at PC 0x7ff8b63ce440[Current focus set to CUDA kernel 0, grid 132575338, block (1240,0,0), thread (0,1,0), device 0, sm 1, warp 62, lane 0]#0 0x00007ff8b63ce570 in void (anonymous namespace)::softmax_warp_forward<c10::Half, c10::Half, float, 8, false, true>(c10::Half*, c10::Half const*, int, int, int, bool const*, int, bool)<<<(1824,1,1),(32,4,1)>>> ()相干信息如下: ...

September 1, 2022 · 2 min · jiezi

关于深度学习:为什么对于CG行业来说要选择云渲染

随着计算机的倒退,云时代降临,以云计算为倒退点的云渲染农场开始走入影视动漫制作者的眼里,而它也逐步成为制作影视动漫不可短少的局部。那为什么对于CG行业来说,要抉择云渲染呢?在影视制作或动画制作的过程,会用到一些3D制作软件,如3ds Max、Maya、Houdini等,艺术家会在这些软件中制作模型、打灯光等,渲染是制作实现后的一道工序,是把3D场景输入为2D图片;或者说是降维的过程,行将3D降为2D。对于影视制作的渲染来说这个过程所须要的工夫特地久,因为制作软件中的3D场景会很简单,有高精度的模型、光影成果、烟火等特效、贴图、材质等,所以渲染也是把场景中的灯光、特效、图片等合成一个对立的整体的过程。举个例子,你在用美图秀秀解决照片的时候,关上须要丑化的图片,会进行一键丑化、色调调整、加特效、文字、饰品、边框等操作,这就相当于在3D软件中制作3D场景;通过这些丑化后须要将最初的后果保留,这个保留的过程就是一次简略的渲染,因为美图秀秀是将图片丑化后依然保留为图片,不存在降维的过程,因而渲染的过程会很快,简直是秒渲,所以咱们看不到渲染的这个过程。一、什么是云渲染?近些年来,我国的动漫产业,获得肯定的倒退,越来越多以三维动画制作为根底的优良CG动漫作品纷纷涌现,在吸引更多的观众驻足时又带动了动漫周边产业的热销,所以CG动漫产业链条根本造成。然而,对于制作三维动画的厂商来讲,面临一个严厉的问题,就是渲染!简略地来说,制作十帧长的动画可能只须要二十几分钟,然而渲染这十帧长的画面却须要破费几百分钟,同时在渲染的工夫里,电脑简直是干不了其余任何的事件。二、云渲染工作原理云渲染是基于互联网的商业渲染模型,利用高速互联网的传输能力,将渲染过程从集体计算机转移云渲染商的本地大型渲染集群中,这样的集群已达到超级计算机的计算能力。对于动漫制作者来说,能够给动漫制作者提供更稳固、更疾速、更平安、无渲染瓶颈的渲染服务,以达到缩短制作周期,保障画面质量,升高制作老本的成果。三、渲染电脑配置和带宽要求高渲染的速度次要和电脑的CPU性能无关,如果CPU性能太低,渲染速度就会很慢,电脑在渲染的同时是没法做其余事件,电脑总体资源利用率很低。而且上传模型工夫与网速(带宽)严密相连,接入速度高达100Mbps以上能力根本满足云渲染的速度。四、渲染消耗的工夫周期长顶级配置的硬件须要间断运行12小时甚至更长时间能力渲染出1帧画面,而像是电影1秒的工夫至多有24帧。那么惯例的电脑配置渲染一张效果图须要多少工夫呢?如果用一台电脑渲染须要10个小时,则云渲染用10台雷同配置的电脑同时渲染,渲染时长能够缩短到约1个小时。如果想要压缩渲染工夫,晋升渲染效率,只有减少硬件/配置数量是一个抉择。五、云渲染的行业冲破有哪些?要答复这个问题,须要首先剖析出渲染行业面临的次要问题:1.算力有余,须要超大GPU集群来满足其一直增长的业务需要。2.一般的文件服务零碎难以撑持其高频的文件读写和多节点资源共享的需要。3.老本高,弹性服务的粒度不够细,不能做到细粒度的用多少买多少,还会有肯定的节约景象存在。4.单个计算节点的启动速度过慢,在分钟级别。5.还是须要有本人的运维团队来保护整个工作集群。云渲染也能够说是属于一种视觉行业,随着时代的倒退,云渲染平台越来越多,它所波及的行业也是越来越多,可能咱们比拟可见的是云渲染用于影视动画、修建动画、视效、修建可视化、游戏类工作室等等。能够设想成付费租用了一台云电脑,将本地的3D文件上传到这台云端虚构电脑上让它帮你进行渲染。云渲染始终出现着微小的可能性,但直到最近才开始实现其真正的后劲。

August 31, 2022 · 1 min · jiezi

关于深度学习:Vray渲染器的使用方法

1、尽可能的限度场景面数,场景面数越多,渲染越慢。2、如果应用Vray渲染器,面数多的物体应用VrayProxy。3、暗影细分尽可能地不要给得太高。4、删除不须要的物体。5、不要应用高分辨率的贴图,例如你的成图尺寸为3500像素,那么就不要让4000PX的贴图随处可见。6、防止应用太高的含糊反射和高光,简略的漫反射,凹凸和95-75之间的反射足已,尝试着本人去调材质而不是材质库,你会发现你会管制的很好。7、镜模个别在特写镜头或者离相机特地近的时候应用。8、要晓得实例与复制的不同,尽管简略但十分实用。9、解脱撤销窗口,尤其是命令列表,灰常吃内存。10、渲染的时候敞开杀毒软件或者间接不装置。11、曲线网格平滑的时候留神迭代级别。(例如涡轮平滑的时候,迭代次数太高会死JJ,管制在两次以内足已)12、焦散是渲染工夫杀手,如果渲染的时候你都在吃喝拉洒睡,这齐全没有问题,由你决定。13、遇到镜面反射和磨砂材质的时候须要特地留神,依据理论状况而定。14、DOF尽可能不要渲染来实现,因为Photoshop的通道或者像Richard Rosenman开发的Alien Skin’s DoF和DoF Generator PRO这两个插件都能够搞定。15、前期过程或者一些渺小的前期成果尽可能不要利用渲染来实现,像Combustion、PS、AE、Nuke、Fusion等业余的后期合成软件对你帮忙很大。16、当你在同一个场景中重复应用同样的设置的时候,发光贴图和灯光缓存信息是可能不会反复计算的。须要留神!17、在给场景赋材质之前,首先应用全局笼罩材质来测试下看场景模型是否齐全没有问题,也不便你能够分明的晓得场景外面都有哪些材质类型和可能须要的渲染工夫。18、灯光数量太多也会导致渲染速度太慢。19、我更喜爱准蒙特卡罗(Adaptive DMC)而不是自适应细分(Adaptive Subdivision)。20、渲染一些小的区域或者序列来查看下Raycast参数。(不晓得是么东东,也可能是翻译了解谬误。)21、如果你应用Vray Displacement,请用2D mapping.22、应用64bit Max。23、缩小物体数量,9000个10000个面的物体会比200000个1000个面的物体的运行速度快很多,附加所有的零部件(场景中零散的小物体),极个别有动画的物体的运行速度和灵活性也会好很多。24、几何体代理,它是一个几何设计负载以至于在像Vray这样特定的渲染引擎里更无效的进行渲染。25、位图代理,位图代理是将一个场景随机耗费的内存减到起码的一个极好的方法。26、随时在本地增量保留文件,因为当你保留到网络共享盘的时候,可能会因为一些问题导致你文件损坏。27、如果你用的是双核处理器,你可能要查看下多过程选项。28、区域渲染,渲染你想要渲染的中央,不断地查看材质。疾速失去一个渲染后果便于验证一些小的差别。29、少增加光泽(Glossy)成果,除非你的场景真的做的很好。30、几何体-场景物体或者三角面数量太多会须要大量的内存来进行渲染。这里有几个还不错的方法来尽可能减少你的内存应用数量:在零碎卷展栏调整光线追踪参数。(缩小Max.Levels,减少Min.Leaf size,Face/level,开启默认动态到动静几何体).31、置换贴图-被转换的物体应用2D置换模式可能会须要大量的外在来进行渲染,特地是较大的置换贴图。另外,在同一个案例中,如果你有很多个置换修改器并应用同样的置换贴图,最好是用一个修改器应于于所有必要的物体(实例复制修改器)。即便它们有着同样的贴图,但修改器仍是独立计算的!32、位图过滤器:Summed-area会比Pramidal filting应用更多的内存,Summed-area仅应用于一些像素很低的贴图。33、暗影贴图:这些也可能会占用大量的内存。此外,3ds max和Vray也没有间接管制它们的内存应用状况。34、图像缓冲区:输入高分辨率的渲染成图,贮存的时候也会破费大量的内存,额定的G-Buffer通道数量减少。这里有几个办法来缩小这些数量:如果你应用3ds max默认的帧缓冲区能够应用3ds max pager,如果是Vray帧缓冲的话能够勾选Render to V-Ray raw image file选项而后应用V-Ray raw image file viewer转换成其它的格局即可。35、图像采样:VRay的图像采样算法须要肯定数量的内存来保留所有的数据采样图像。依据所选的采样率来缩小这些数量:应用不同的图像采样器,应用准蒙特卡洛就要比自适应细分耗费内存少得多。36、即使是你应用VrayVFB用来输入成图,默认的帧缓冲区依然会创立图像并耗费额定的内存,如果你想缩小内存耗费的话,就必须敞开get resulution from max选项。将max的输入尺寸设置的很低例如100×100而后在VrayVFB中设置你真正想要输入的成图尺寸。37、整顿场景看是否有多余的多边形、相机视图不可见的模型以及材质编辑器中用不到的材质。我的意思是,很多工夫我总是会认为是因为渲染参数设置的问题导致节约了很多工夫,其时只有你仔细检查我下面提到的这些因素会省很多事儿。38、有时候咱们的模型是从AutoCAD中导入进来的,然而它离坐标轴原点太远。这个事件时有发生,一旦用这样的场景来进行渲染的时候也会破费很多渲染工夫。解决办法,把模型归零即可。39、模型重面或者面与面之间离得很近这也会破费很长的渲染工夫,你势必会开很高的参数来解决一些渲染造成的躁点。40、渲染大图:作为一个整体渲染输入一个大的图像也须要破费很长的工夫,咱们能够用一些渲染插件或者分层渲染的形式来进行。在一个场景中,渲染的时候会分成一个个Bucket升高内存的需要,最初合并成一个图像!(Bucket能够了解为渲染进行时的渲染格子。最初一句也能够了解为分布式渲染,都差不多,意思表白到就行。)

August 30, 2022 · 1 min · jiezi

关于深度学习:香港澳门台湾品牌在抖音小红书微信营销推广机制是怎样的代运营网红KOL达人怎么服务

【本篇由言同数字科技有限公司原创】新生产时代下,当国外品牌商在中国推广时面对互联网各不相同的营销推广平台抉择时,进一步的理解其平台的推广机制利用是最根底的一步,这可助于品牌营销推广策略定位起着决定性因素。 那么抖音小红书微信的经营推广机制是怎么的呢?这里抛开平台底层的算法流量散发机制不谈时,那么剩下的一句话就能够概括了,即基于平台社区内容分享和高精准度的用户流量聚合,造成了B2K2C的独特推广模式。 用人话翻译即是抖音小红书微信平台次要围绕大量博主作为品牌企业和消费者之间的纽带,通过博主所在的畛域进行分享和流传,助力品牌能更快的触达指标生产群体和影响生产决策作用。 同时平台生产用户的实在应用和体验反馈分享也会影响品牌产品在该平台的决策和营销策略,造成流传以及反馈双向互动的营销机制。 因而抖音小红书微信的品牌营销运作关系链次要是平台社区、用户、品牌方三者形成,那么在这三者中的流传环节,达人以及品牌官网账号就起到了十分重要的作用。 在整个营销过程中能够帮忙品牌加强信赖状背书,拉进与品牌用户间的触达间隔,同时亦可帮助品牌产品打磨卖点包装或劣势开掘,达到内容共创的联动将产品价值更好的传递用户实现品效合一的最终目标。 作为品牌方而言,抖音小红书微信是能够通过购物指南分享从而影响用户生产决策的内容生态社区。 另一方面,随着当下挪动互联网流量红利未然见顶,以及传播媒介多元化和去中心化等环境下,同时生产群体也在一直的发生变化,持续单纯以流量驱动的传统营销伎俩略显乏力。 那么对于当下互联网品牌市场最热门的销售模式的其中一角——内容营销,联合抖音小红书微信社区人造属性及定位,是刚好能够满足品牌作为内容营销的新土壤之选的。 数字营销计划-言同数字科技有限公司,透过绩效导向的整合数字营销解决方案,提供翻新科技的营销策略及行业洞察为品牌带来长期价值。 别放心,咱们作您弱小的后盾!咱们的跨平台数字营销计划和参谋团队随时候命。社交媒体营销内容营销网红营销视频营销 为您的数字营销策略增值无论您有什么指标和打算,咱们都能利用综合数字营销策略,让您博得消费者的心,并且在市场上站稳脚步。 垂直行业数字营销计划把握行业信息和洞察,咱们坚信每个行业都须要独立不同的数字营销策略和推广计划。 教育产业数字营销咱们的业余团队策动执行过上百场教育产业之数字营销流动,蕴含大学资讯日、招生报名、高等教育课程推广等。咱们帮忙您吸引中国乃至寰球的本地及国内学生。与各出名大学的长期单干关系就是能力的最好证实。 银行与金融產業数字营销不少银行与金融机构至今依然局限于传统的市场营销,但精明的您应已察觉到金融数字营销对晋升顾客赢取率和升高每转换老本的重要性,这可从咱们为客户策动的保险、贷款或IPO等数字营销的高效成绩看得出来。 美妆产业数字营销现今消费者在做出购买决策之前,已习惯依赖网路评论和美妆KOL倡议。言同数字独家网红资源联合深度数据分析,为品牌筛选适合的意见首领。咱们提供的全方位美妆数字营销策略,已胜利帮助不少知名医美机构、美妆及保养品品牌取得惊人投资回报。 疾速消费品数字营销疾速消费品市场竞争特地强烈,目不暇接的抉择总让消费者容易扭转情意。咱们的疾速消费品数字营销策略使您的商品怀才不遇,藉由进步互动强化与消费者的互动,将品牌深植在消费者心中,让好感度与忠诚度双倍加乘。 零售业数字营销消费者总会在购物前先在线上比拟产品。言同数字的批发数字营销服务在多个数字接触点加强品牌网路形象,一直与您的受众进行无效的沟通互动,建设品牌忠诚度并促成销售。 电商数字营销凭借咱们对于电子商务数字营销的实战力,加上科技化的数据驱动洞悉和受众锁定策略,把握电商消费者行为,帮忙品牌精准定位潜在客户,并在竞争的同业中怀才不遇,替您将业务扩大到中国乃至于寰球,取得更多流量和订单。 酒店及旅游业数字营销言同数字针对酒店及旅游业所实用的数字营销服务,来推动从寰球各地或中国而来的饭店、航空公司、线上游览分销商(OAT) 和名胜景点带来指标地区旅客的关注、流量和预订,从咱们的绩效解决方案组合获得最佳功效。 汽车产业数字营销汽车品牌有各式丰盛的推广流动,蕴含试驾注册、新车发表、车展宣传等。别放心,无论你有什么指标,言同数字全方位数字营销服务能实现所有工作!最特地的是,能为品牌的独特需求量身定制解决方案,进一步推动销售并找出潜在客户。 言同数字领有先进的数字营销大数据和杰出的广告服务,致力让品牌客户在数字营销旅程中实现业务指标,透过新媒体平台、媒体网站及网红推广渠道等,帮忙品牌取得、维持和增长客户。咱们的首要任务就是使用全方位对外数字营销策略,帮助国内公司进入中国市场。

August 29, 2022 · 1 min · jiezi

关于深度学习:为什么基于树的模型在表格数据上仍然优于深度学习

在这篇文章中,我将具体解释这篇论文《Why do tree-based models still outperform deep learning on tabular data》这篇论文解释了一个被世界各地的机器学习从业者在各种畛域察看到的景象——基于树的模型在剖析表格数据方面比深度学习/神经网络好得多。 论文的注意事项这篇论文进行了大量的预处理。例如像删除失落的数据会妨碍树的性能,然而随机森林非常适合短少数据的状况,如果你的数据十分芜杂:蕴含大量的特色和维度。RF的鲁棒性和长处使其优于更“先进”的解决方案,因为后者很容易呈现问题。 其余的大部分工作都很规范。我集体不太喜爱利用太多的预处理技术,因为这可能会导致失去数据集的许多细微差别,但论文中所采取的步骤基本上会产生雷同的数据集。然而须要阐明的是,在评估最终后果时要应用雷同的解决办法。 论文还应用随机搜寻来进行超参数调优。这也是行业标准,但依据我的教训,贝叶斯搜寻更适宜在更宽泛的搜寻空间中进行搜寻。 理解了这些就能够深刻咱们的次要问题了——为什么基于树的办法胜过深度学习? 1、神经网络偏差过于平滑的解决方案这是作者分享深度学习神经网络无奈与随机森林竞争的第一个起因。简而言之,当波及到非平滑函数/决策边界时,神经网络很难创立最适宜的函数。随机森林在怪异/锯齿/不规则模式下做得更好。 如果我来猜想起因的话,可能是在神经网络中应用了梯度,而梯度依赖于可微的搜寻空间,依据定义这些空间是平滑的,所以无奈辨别尖利点和一些随机函数。所以我举荐学习诸如进化算法、传统搜寻等更根本的概念等 AI 概念,因为这些概念能够在 NN 失败时的各种状况下获得很好的后果。 无关基于树的办法(RandomForests)和深度学习者之间决策边界差别的更具体示例,请查看下图 - 在附录中,作者对上述可视化进行了上面阐明: 在这一部分中,咱们能够看到 RandomForest 可能学习 MLP 无奈学习的 x 轴(对应日期特色)上的不规则模式。咱们展现了默认超参数的这种差别,这是神经网络的典型行为,然而实际上很难(只管并非不可能)找到胜利学习这些模式的超参数。 2、无信息个性会影响相似mlp的神经网络另一个重要因素,特地是对于那些同时编码多个关系的大型数据集的状况。如果向神经网络输出不相干的特色后果会很蹩脚(而且你会节约更多的资源训练你的模型)。这就是为什么花大量工夫在EDA/畛域摸索上是如此重要。这将有助于了解个性,并确保一切顺利运行。 论文的作者测试了模型在增加随机和删除无用个性时的性能。基于他们的后果,发现了2个很乏味的后果 删除大量个性缩小了模型之间的性能差距。这分明地表明,树型模型的一大劣势是它们可能判断特色是否有用并且可能防止无用特色的影响。与基于树的办法相比,向数据集增加随机特色表明神经网络的消退要重大得多。ResNet尤其受到这些无用个性的影响。transformer的晋升可能是因为其中的注意力机制在肯定水平上会有一些帮忙。 对这种景象的一种可能解释是决策树的设计形式。任何学习过 AI 课程的人都会晓得决策树中的信息增益和熵的概念。这使得决策树可能通过比拟剩下的个性来抉择最佳的门路。 回到正题,在表格数据方面,还有最初一件事使 RF 比 NN 体现更好。那就是旋转不变性。 3、NNs 是旋转不变性的,然而理论数据却不是神经网络是旋转不变的。这意味着如果对数据集进行旋转操作,它不会扭转它们的性能。旋转数据集后,不同模型的性能和排名产生了很大的变动,尽管ResNets始终是最差的, 然而旋转后放弃原来的体现,而所有其余模型的变动却很大。 这很景象十分乏味:旋转数据集到底意味着什么?整个论文中也没有具体的细节阐明(我曾经分割了作者,并将持续跟进这个景象)。如果有任何想法,也请在评论中分享。 然而这个操作让咱们看到为什么旋转方差很重要。依据作者的说法,采纳特色的线性组合(这就是使ResNets不变的起因)实际上可能会谬误地示意特色及其关系。 通过对原始数据的编码获得最佳的数据偏差,这些最佳的偏差可能会混合具备十分不同的统计个性的特色并且不能通过旋转不变的模型来复原,会为模型提供更好的性能。 总结这是一篇十分乏味的论文,尽管深度学习在文本和图像数据集上获得了巨大进步,但它在表格数据上的根本没有劣势可言。论文应用了 45 个来自不同畛域的数据集进行测试,结果表明即便不思考其卓越的速度,基于树的模型在中等数据(~10K 样本)上依然是最先进的,如果你对表格数据感兴趣,倡议间接浏览: Why do tree-based models still outperform deep learning on tabular data https://avoid.overfit.cn/post/e4682d6810d7427caf9aae6f6d1f3734 作者:Devansh ...

August 29, 2022 · 1 min · jiezi

关于深度学习:蓝凌生态OA重新定义中大型企业数字化办公

组织协同突飞猛进,去年蓝凌联合21年数字化办公服务教训,降级生态OA,实现多云多端、全程在线、生态协同。 蓝凌生态OA,全面提效大型组织数字化办公蓝凌生态OA领有微服务基座、可撑持多样化生态组织、多场景生态协同、多部门业务协同;低代码平台让利用轻松拓展;新智能流程审批、公文、会议、制度、人事、合同等模块全面数字化,“流版签”去控件化、适配信创支流根底软、硬件、“云商城”助力新交付……集“生态化、数字化、平台化、智能化”于一体的的蓝凌EKP V16,将全面提效中大型组织数字化办公。生态组织、生态协同,从新定义办公平台EKP V16生态OA撑持构建网状多维连贯的生态组织,通过整合生态能力,让所有成员在一个平台上高效合作。以6大生态协同场景为先导,蓝凌EKP将基于低代码平台,构建更多生态化协同场景。PS:点击下列小标,可理解具体计划与视频。   生态化洽购治理供应商扫码退出生态组织,全周期、集中化治理;拉通洽购立项、投标评标、合同签订、履约等流程;采供一体,全程在线,全面晋升供应链效率。   生态化客户治理潜在客户扫码退出生态组织,与销售人员实时沟通;拉通线索、商机、客户跟踪、合同签订、收款开票等流程;巧获客、快签单,销售效率更高。   生态化招聘治理面试者扫码退出生态组织,与企业随时随地沟通;拉通招聘申请、告诉面试、在线应聘、入职、合同签订等流程;让人才“选、面、签”更简略。   生态化搭档治理将搭档纳入生态组织治理,反对渠道招募、单干签约、政策公布、搭档培训、商机共享、招标打单等全周期治理,让渠道招募快、搭档更胜利!   生态化访客治理客户来访提前预约、扫码退出生态组织,接待工作在线调配、对齐到人,智能门禁、用车治理、会议治理等智能高效,让客户全程称心。   生态化项目管理反对甲乙方项目经理、我的项目成员在一个“工作空间”里沟通与合作,拉通我的项目立项、工作分派、进度、验收等治理,全程合作通明、危险可控。100+数字化利用,落地办公协同、业务协同  数字化工作门户工作信息、待办对立推送,集中处理,10+角色工作台,让新人、领导、财务等工作更高效。  数字化流程治理笼罩流程全生命周期治理,反对自在流程、子流程等多种流转形式、多审批形式,灵便高效。   数字化行政治理笼罩制度、访客、证照、印章、用车、用品、固资等数字化利用场景,让行政服务精简高效。 数字化合同治理笼罩相对方治理、合同比对、审核、签订、履约等全周期治理,让合同治理更合规、高效。    数字化人事管理一站式提供招聘、入职、培训、考勤、绩效等职业全周期治理服务,助力人才 “选育用留”。  数字化财务管理一站式提供报销费控、智能记账、财务仪表盘等综合解决方案,实现财务工作数字化。   数字化常识治理集中存贮企业各类常识,在线提供课件、考试、培训,激发员工自主学习,赋能业务与治理。数字化洽购治理撑持生态化的供应商内外协同、多种洽购寻源(竞价、投标、邀标等)让洽购工作阳光高效。全新智能审批…体验更高效、便捷的办公流程业务受权、智能查看助手、流程汇总审批、流程预审受权等,让审批智能化程度大幅晋升,联合EKP既有智能门户、智能搜寻、智能写作、智能问答、智能入库、智能硬件等能力,让效智能办公更高效。   流程业务受权基于规定引擎和矩阵组织构建,简化流程,让业流程与权限拆散。智能查看助手基于规定引擎构建,用户在进行表单填写和在表单审批时,辅助用户进行业务判断和决策。程汇总审批定时汇总待办/邮件,发送审批摘要,反对批量解决流程,缩小信息烦扰,工作专一高效。 流程预审受权通过预审受权给秘书或相干人员,帮忙领导从日常繁琐事务当中抽离进去。微服务、低代码…新平台提能力、扩利用EKP V16在云开发平台、集成平台、外围运行平台、衰弱运维平台、主数据管理平台的根底 上,交融微服务基座、低代码平台,让数字化办公领有更弱小的平台撑持。   微服务基座,打造新一代平台EKP V16微服务基座,前端架构采纳React技术,带来极速体验,对立前端框架和对立用户交互,用户操作无差别;微服务架构,部署可拆可合,适配不同部署机构,对所有子服务进行疾速扩容,更高撑持须要高吞吐的服务;贴合以后市场趋势,客户零碎建设诉求;全线产品全面交融,全面满足用户平台、利用要求;高性能、高易用、高扩大。   低代码平台,让利用有限拓展-门槛低,上手快,一键配置所见即所得,让非技术背景的业务人员也能搭建本人的利用;-在建模根底上可减少JS代码、机器人、SQL、事件,更灵便实现业务扩大;-丰盛的视图模板(看板视图、甘特图、日历视图、思维导图等),满足各种业务利用和治理;-平台已在100+我的项目胜利应用,配置出工程治理、开店治理、租赁治理、订餐治理等利用。云商城平台,海量模板一键连贯丰盛的表单模板、利用模板、登录页、主题包、门户部件、门户利用、建模利用等,撑持蓝凌20年国企、金融、制作等行业教训复用,一键利用,简略快捷。全面信创适配、去控件化,办公平安高效通过“流、版、签”全面去控件化、降级全面平安日志管控、适配信创支流根底软、硬件,实现泛滥厂商产品互相认证,让数字化办公更平安、高效。   流版签去控件化,体验效率降级引入WPS、E签宝等,丰盛“流版签”以及转换场景,适配常识、合同、公文等业务诉求。 全面平安日志管控,让办公更牢靠新增表单模板、流程模板、接口调用、表单留痕、附件日志等,让业务更平安。 全面信创适配,与50+厂商相互认证目前,蓝凌曾经和华为鲲鹏、龙芯、飞腾、成都海光、神通、达梦、南大通用、华为高斯、中标麒麟、河汉麒麟、湖南麒麟、统信、西方通、中创软件、金蝶、金山、数科、金格等厂商产品实现相互认证,构建了业内当先的信开办公生态。蓝凌生态OA基于华为云技术底座,以“一个基座,双轮驱动”理念,通过MK基座产品,以EKP办公协同和EOP业务协同两大产品线为能源引擎,双轮驱动生态搭档一起疾速协同,进而进步企业办公和业务协同效率。

August 25, 2022 · 1 min · jiezi

关于深度学习:中国建筑业竞争力百强中化二建如何做知识管理

中化二建团体有限公司(下称“中化二建”)隶属于国务院国资委治理的中国化学工程团体有限公司,是中国化学工程股份有限公司的全资子公司。公司成立于1953年,是国家石油化工工程建设的大型骨干企业,年施工生产能力达200亿元。公司取得中国建筑业竞争力百强企业、山西省百强企业等多项荣誉。 60多年倒退历程中,中化二建积攒了大量的常识成绩、我的项目教训,如何将这些常识资产更好地存储、利用,进而撑持业务的翻新倒退,是中化二建始终在思考的议题。2021年,中化二建携手蓝凌打造了全新的常识管理系统,咱们有幸邀请到中化二建常识治理部门相干负责人王晓钟分享相干的我的项目建设教训及其在常识治理畛域的远见卓识。 历经60余年倒退,“知产”如何变“资产” Q1:您如何对待常识治理对于企业的重要性?A:咱们常说当初是知识经济时代,常识是企业贵重的无形资产,陈春花传授也提出,“常识自身就是生产力”。建筑工程企业是技术、常识密集型企业,无效的常识治理更显得弥足重要。常识治理的作用能够简要概括为8个字:一是“蓄能”,通过常识治理能够增强组织记忆,让教训更好地传承;二是“用能”,让企业对本身的事务进行全面的理解,不犯反复的谬误;三是“提能”,让新员工、一线员工可能疾速把握岗位常识;四是“创能”,聚合众人智慧解决问题,发明价值。 Q2:贵司缘何会发展常识治理我的项目的建设?面临哪些难题?A:公司从1953年成立至今,未然倒退了60多年,期间积攒了大量的常识成绩、我的项目教训、经典案例等,咱们心愿进一步增强对这些常识资产的利用,晋升咱们的常识创新力,进而晋升市场外围竞争力。过后面临的难题次要包含:l 我的项目材料较为扩散:各项目标过程材料扩散在不同的我的项目成员手中,没有造成体系,可能会造成材料的散失;l 我的项目成绩无奈及时存档:我的项目材料、技术成绩无奈实现网络存储,影响复用效率;l 学习效率有待晋升:不足挪动学习平台,员工心愿可能进行网络学习、挪动学习、碎片化学习;l 数据共享艰难:各我的项目过程材料及公司常识成绩无奈及时地互联互通,不利于整体常识的对立治理。鉴于所面临的上述难题,咱们决定启动常识治理我的项目的建设,通过打造一套全新的常识管理系统,助力常识积淀、共享、学习、利用、翻新的全周期治理。 借力常识治理,赋能我的项目经营、员工成长 Q3:为什么抉择与蓝凌独特单干?次要基于哪几个因素?A:咱们考查了几家支流的常识治理厂商,最终抉择与蓝凌携手进行我的项目的建设,次要基于以下几个起因:● 20余年业余积淀:蓝凌在常识治理畛域历经了20多年积淀,是常识治理国家标准参加制订单位,与很多500强、行业百强企业有过胜利的单干实际;● 业余的常识治理平台:领有业余的平台KMS,并且通过市场的测验,具备先进性、可靠性、可扩展性、易维护性、安全性、规范性等多重劣势;● 成熟的咨询服务体系:联合泛滥国内常识治理方法论,蓝凌可为企业提供残缺的咨询服务。综合考量,咱们认为蓝凌具备服务中化二建团体以公司管控为核心的公司、二级单位、我的项目等多层级常识管理体系的能力,所以抉择与蓝凌携手。我的项目单干下来,也证实咱们的抉择是正确的。 Q4:本次我的项目建设次要包含哪些场景性能?不同的场景性能别离为贵司带来了哪些价值?A:通过建设全新的常识管理系统,公司能够更好地积攒、积淀常识资产,防止常识的散失,促成常识共享、学习、利用和翻新,无效升高组织经营老本,加强企业外围竞争力。具体来说,包含以下一些性能和价值: ▲常识门户一是在常识起源方面,针对工法、技术类流程、技术创新类流程、知识产权这四大模块,实现了“流程推送到知识库”的性能,即我的项目人员提交流程并被审批通过后,零碎主动将文档推送至常识仓库、我的项目档案库,进行常识存储。二是在常识积淀方面,咱们搭建了常识仓库、我的项目档案库、规范图集、常识专辑、我的项目资料库,对现有的常识进行积淀,不便大家随时学习。Ø 常识仓库:依据业务类型造成了模板样例库、精品工程库、科技翻新库等10 大知识库,各知识库归属对应组织架构,别离梳理实现知识库分类;明确了浏览、上传、编辑、下载权限,常识属性及文档审批流程,保障常识资产平安可控。截至目前各部门上传总计超10000份常识文档。Ø 我的项目档案库:次要寄存我的项目的课题、工法、知识产权、论文、施工组织设计、施工计划、技术交底、工程技术治理总结等我的项目过程资产。Ø 规范图集:建设规范图集模块,实现从内部网站主动抓取图集至零碎,不便员工随时查阅、在线预览,员工无需再去外网查找图集,节俭大量工夫。截至目前,共从内部网站采集回约40000份常识文档。Ø 常识专辑:将常识仓库中典型的文档抓取,造成典型案例,展现在常识门户“常识专辑”栏目中,便于员工学习。 ▲常识专辑Ø 我的项目资料库:我的项目人员寄存我的项目材料的云盘,避免文件失落。三是在常识分享、交换方面,搭建了常识搜寻、专家治理、常识问答、常识论坛模块,让员工可能疾速查常识、找专家、问问题、话点子,造成对立的常识分享、交换的平台,晋升工作效率,增强企业的凝聚力。 ▲专家网络四是在常识成绩方面,构建了常识统计、积分治理利用,帮忙咱们对平台运行状况、常识资产状况以及专家库、人员学习状况等进行无效剖析。 Q5:总体而言,通过此次我的项目建设,贵司的常识治理呈现出哪些变动,获得了哪些成绩?A:1. 通过信息化治理晋升了组织能力:构建对立的常识、问答、常识专辑、常识论坛根底平台,实现员工上传常识、在线发问、发帖子、查看专辑等信息化治理,晋升组织能力。2. 建设上千人在线常识学习体系:零碎全面撑持起整个团体的在线常识学习体系,包含16个职能治理部门、22个二级单位、200余个我的项目,充沛促成外部常识共享以及数据的联通,有利于常识的对立治理;搭建10大知识库以及规范图集库,便于员工随时学习常识。3. 进步学习效率,赋能员工成长:将挪动端和企业微信集成,实现网络学习、挪动学习及碎片化学习,升高学习老本,全面赋能员工学习、成长。 ▲挪动学习界面4.“我的项目档案库”无效治理:搭建我的项目档案库,寄存我的项目过程资产,实现项目管理的标准化、规范化、科学化和系统化,并以此来标准我的项目施行行为,晋升工作品质。 进一步推广常识治理,打造学习型组织 Q6:将来,贵司的常识管理工作还会有哪些新的部署,重点工作方向是什么?A:常识管理系统上线以来,公司多个职能部门、二级单位、我的项目人员都实实在在地感触到了常识管理所带来的便当及价值,将来咱们会将常识治理推广到更多的部门、二级单位及相干我的项目中去,致力打造学习型、知识型企业。而从常识治理的利用上,咱们将来也会关注到常识地图、常识图谱等更多利用,逐渐降级常识管理系统,更好地为咱们的企业、员工赋能。 将来,蓝凌将施展与泛滥企业单干的常识治理实践经验,踊跃推动常识治理的深入利用,全方位为员工、团队、组织、业务赋能。蓝凌常识治理平台,以华为云为能源引擎,携手合作伙伴,共建协同生态,赋能企业常识治理,助推业务翻新倒退。 “828 B2B企业节”炽热开启,蓝凌软件正从新定义新时代的常识治理,为企业的翻新倒退发明更多价值。连忙戳链接,理解详情吧!https://marketplace.huaweiclo...想理解更多华为云产品相干信息,请分割咱们,电话:950808按0转1

August 25, 2022 · 1 min · jiezi

关于深度学习:逆向工程揭示Google-Colab未公开的秘密

起源|Open Source Data Science Tools翻译|程浩源 Google Colaboratory,简称 “Colab” ,是一个收费的Jupyter notebook云平台。Colab 不仅能够为用户提供 Python 和 R notebooks 的运行环境,而且还容许用户收费共享局部 GPU 和 TPU 资源。 对于负责在 Jupyter Notebook 编程的数据科学家来说,Colab早已成为了默认的运行环境。然而,将 Colab 的算力使用到除 Jupter Notebooks 以外的其余利用,则是一件极其艰难的事。 对于那些想生产模型,并将其带出Notebook阶段的机器学习工程师而言,这样的问题尤为显著。尽管 Notebooks 非常适合用来摸索,但将它与训练过程编入正式流水线的高级MLOps工具一起应用时,成果不佳。 在遇到相似问题后,我决定不让 Colab 的局限性扭转我的工作流程,而是尝试围绕我的工作流程去扭转 Colab! 出于这个起因,明天咱们将探索 Google Colab 的内部结构,并尝试略微扭转 Colab 的内置规定。须要提前申明的是,咱们只是想探索 Colab,不会对 Colab 自身或者它的用户造成任何影响。 1 揭开幕后的机密Colab 的机密在于它的后端:谷歌服务器为 Colab 提供基础设施反对,让用户能够轻松运行代码。因而,咱们第一步先剖析 Colab 的 API,最简略的办法是查看 Colab 在失常运行期间进行的 API 调用。 首先关上谷歌开发者工具,找到网络(Network)选项,而后运行一段代码,开发者工具开始记录 Colab 收回的每个申请,而后咱们发现了一些乏味的货色。 看上去这个URL(/tun/m/<id>/socket.io)是近程机器上运行的 Jupyter socket 的代理。 如果咱们从 Colab 界面的左窗格关上 Files 窗格(默认显示 /content 目录),就会发现另一个乏味的申请: ...

August 25, 2022 · 2 min · jiezi

关于深度学习:租金物业费的催收困境如何解决

租金、物业费作为园区经营方的次要支出起源之一,一旦有企业或租户拖欠费用,将会影响园区的整体收缴率和企业的资金回笼,对企业的经营利润和园区的失常运行造成不良后果。而传统上门催要的形式,不仅占用大量的人力和工夫,还不足无效的触达客户伎俩,效率并不高,同时,对于入驻企业、商户来说,没有便捷、多样的缴费形式,一样也会耽搁费用的缴纳。有时尽管应用了智能催缴平台,但告诉是否发送到了账单联系人手上,客户收到信息后是否关上并浏览了,这些数据和客户行为很多平台都无奈统计,导致企业不能及时调整策略,催缴工作功效甚微。针对这些痛点,左邻智慧免费管理系统依靠华为云底座的能力,进行零碎性能的进一步降级翻新,全面助力园区方进步回款率。欠缺的回款机制,明确账单联系人在回款制度不欠缺的状况下,当产生欠款时,便会导致没有相干负责人对事件承担责任和进行解决,从而耽搁了回款进度。因而,园区经营企业在后期就要制订欠缺的回款机制,建设清晰的责任链条,明确业务不同阶段的账单联系人。通过智慧免费管理系统,园区经营方能够进行账单联系人设置,明确相干责任人,同时,零碎还会主动筛选出没有联系人的账单,并及时揭示管理人员尽快进行关联设置。 零碎主动催缴,全面晋升效率通过对“主动催缴规定”进行设置,实现每月按时发送催缴信息到客户手上,辞别以往上门送单的传统催缴形式,解放员工双手,节俭人力和工夫,极大进步工作效率。同时,零碎还具备“揭示内部人员催缴”的性能,通过提前设定揭示对象和工夫,当账单逾期未缴的状况时,指定责任人便会收到揭示告诉,有利于强化监督,缩小欠款事件的产生。多种告诉伎俩,360°全笼罩利用高效的缴费通知伎俩,及时、无效地告诉缴费、催收欠款。通过批量发送短信、APP音讯、邮件等多种客户罕用的通信工具触达客户,确保第一工夫让客户接管到缴费、催费告诉,以可群发、高触达的形式来回收资金,进步收缴率。账单触达率可视化,实时统计后果线上账单触达率可视化的性能为业内独有,分类统计各个渠道的音讯签收状态,帮忙园区经营企业实时理解催缴告诉的触达状况,让园区经营企业能依据催缴成果统计及时剖析起因,调整催缴策略。多种缴费形式,让缴费更便捷除了银行线下转账外,零碎还为客户提供银联POS收款、支付宝领取、微信领取等多种缴费形式,买通费用缴纳的“最初一公里”,让客户缴费更不便、更疾速。如果您想晓得更多对于零碎的信息,能够返回华为云云商店官网搜寻“左邻智慧园区经营治理平台”,并点击“免费零碎”理解详情,在“828 B2B企业节”期间下单,还可享受相应折扣。而且华为云商店领有对立的准入规范、端到端的交易服务、联营Kit集成等劣势,始终秉承“优中选优,精当选精”的理念,截至2022年6月15日,与云商店单干的搭档数已达6400+家,商品种类涵盖了SaaS 、License 、 API等9大类,数量达7400+个,SKU数量超65000个,年度交易次数42+万,销售额超千万商家有31家,在产品质量和售后服务上领有相对保障。

August 24, 2022 · 1 min · jiezi

关于深度学习:打破数字化盐碱地传统型企业如何踏稳数字化转型第一步

导语:在汽车到来前的时代,人们谋求更快的马车,殊不知要的是一辆汽车,而在数字化未然来临的当代,局部企业寄希望于更新治理理念、组织构造等实现效益的一直攀升,殊不知须要的是一次内外部联合的数字因素降级与重组。企业生产每时每刻都产生大量数据,如何把握数据这一新时代资源,是传统企业与古代企业的重要分野。以传统企业为例:手工流程形式是信息传递的次要载体,纸质数据单据满天飞,信息传递靠人工飞“书”是生产中常见画面,订单来袭更是如临大敌,须要紧急人工盘点产能与计算交期,沉重的流程和数据的扩散让企业竞争力大打折扣。数字化企业:数字化企业则更具应答不确定时代的能力,以疫情为例,面对疫情引发的“信息流、资金流、物流”三重杀,数字化企业更具备灵敏性,在供应商对接、物料盘点及排程上,已有数据高深莫测,便于弹性布局生产,将损失升高到最小值。在政策号召与技术成熟倒退迭代的以后,数字化改革成为一种时代风雷激电的号召,搅动着数以亿计的制作企业。但真正的扭转并非平顺,“不敢转型,不会转型,0信息化根底如何无痛转型适度成为大多数未迈动脚步的企业放心的问题。”鼎捷软件资深参谋依据调访经验总结到。数字化尚存一片盐碱地,须要撬动的是制造业企业及从业者对于数字化的认知与把握。 数字化假相:转型的阵痛在转型前!依据制作企业理论转型状况划分,鼎捷软件将企业数字化转型次要分为可视化、透明化、预测化、自适应等四个等级,次要辨别维度在于对数据的使用水平。从1982年起,鼎捷软件先后携手超50,000家企业胜利转型数字化畛域,在中国制造业企业数字化过程中,扮演着动摇的推动者角色。调研显示,在企业数字化路上最大的影响因素顺次为领导高层关注、组织数字化基因及人员素质。数字化并非上线零碎繁多动作,使用者是否灵便应用则是其中的一大变量。因此在传统型企业数字化转型中,如何将常识系统性传递则是一个问题。“深刻到客户工厂,真正和处于转型焦灼期的客户对谈后,才发现真正的难点在于企业管理者对于数字化器重水平及内部人员素养。”鼎捷软件参谋示意。鼎捷软件将实现客户利用价值分为四个阶段,别离为需要感知期、计划导入期、治理精进期与经营优化期。在不同的周期,鼎捷软件通过提供相应的培训分享、指标布建、治理改善以及转型撑持等程序与伎俩,帮忙企业经营者、管理层与应用人员体验价值服务,并晋升各阶段不同的利用价值。“每一家企业都须要走访屡次,培训与调研是辅导施行的重要局部”,鼎捷软件参谋总结道。通过这样的“数字化突击班”,在人员意识与心态就绪后,实现企业料帐统一,将物理物料状态与理论账务匹配对应,是将数据汇编搜罗在零碎的关键步骤,也将正式迈步数字化企业行列,后续聚焦策略层、经营层、账务层等多维度治理问题的革新也行将拉开帷幕。品质良率达到95%,传统铸造企业的数字化“变装”之旅数字化对于传统企业的颠覆将如何产生?在华北一家从事铸造生产的工厂内,部门沟通解脱了原先单据“点对点”线下沟通,信息传递跑断腿的画面不再呈现,员工在线上动动手指发动单据,通过零碎即可疾速告诉相干部门,销售、生产、财务等部门有机相连。扭转背地来源于鼎捷E10 ERP零碎的撑持,这是一款以企业经营为视角,以实现客户利用效益为指标,可量化施行成果的ERP。针对企业不同的竞争力,不同的经营关注点,关联到不同的经营治理能力,并将每项要害能力合成到流程中,赋予到每一个作业。那么零碎上线后带来的具体扭转是什么?首先管理者不必死守生产线,坐在办公室里通过微信即可接管产线紧急问题,一张面板成为治理的“电子地图”,各个部门数据整体出现,同时数据和数据之间强化关联,生产流程正不失常、有何危险、如何最优,所有都通过数据来优化。(数字大屏)回顾首次访问客户现场的经验,参谋示意:以后铸造畛域数字化整体程度不高,这家铸造工厂更是典型的传统型企业,采纳手工记账形式,一次订单下来可能波及的纸质单据有厚厚一打,对于数据信息的共享与剖析而言,无疑是初始阶段。在订单跟进和品质管控上,管理者更是无奈利用数据“掌舵”。 (原始手工单据)这家传统铸造企业生产治理上最为直观的变动全面诠释数字化带来的改善。鼎捷软件助力这座数字化0根底企业疾速实现数字转型,通过业余的外部流程梳理拆解出要害治理指标和改善点,从员工意识、流程机制、要害改善等多个维度,调试出实用企业现状的零碎,更培训出一批具备系统化思维的使用者。最终实现了品质良率达到95%,在同行业畛域中遥遥领先。以成品产品为例,消失模工艺铸件生产流程蕴含发泡、铸白膜、翻砂等较长链路。过来生产制作流程中,工人生产执行机械水平很高,一到现场就开始加工,做合格的产品就流到下一步骤,不达标就间接报废,不足对不良品产生起因的剖析与后续优化流程,造成生产节约增多。零碎导入后:利用不良品治理性能,现场实时回馈不仅让管理者能够更分明生产情况外,又能依据不良起因收集,后续剖析不良品产生起因,提前预防晋升品质治理能力。“零碎让原先被吞没的数据都现身了”,企业管理者对咱们说:“本来该企业现场治理是手写日报表,信息提早时有发生。零碎让生产进度透明化,管理者实时掌控良品数量、生产工时及竣工比率,现场情况更能实时回馈。一张生产看板囊括生产情况信息,以理解停滞或短缺,对于生产追踪与实时工作分派有相当帮忙。每个生产动作都产生数据,而数据则通过零碎收集成为企业资产,是企业后续决策的重要数据支撑点。”赋能千行百业 助力数字化转型40年来,鼎捷软件聚焦印刷包装、机械装备、汽车工业、半导体等多个细分畛域,笼罩国内制造业多个行业大类,以贴合制作生产属性的计划推动制造业转型的步调。在印刷包装畛域,鼎捷软件助劳仕贯通制作全流程数据,实现外部互联、虚实互联、内外互联;在汽车工业畛域,助力更大团体建设更残缺的准确、全面的产品质量追溯零碎,建制全新的整车厂供应链体系;在电子畛域,鼎捷参谋团队助力裕元电子胜利进步老本管控能力和搭建高效供应链……数据的利用与应用是企业迈步数字大门的第一步,也是鼎捷软件全生命周期服务的第一环。将来鼎捷软件将继续以本身之力,借由丰盛的数字化实际,推动中国制造业数字化减速迈进!

August 24, 2022 · 1 min · jiezi

关于深度学习:英伟达首席科学家深度学习硬件的过去现在和未来

作者|Bill Dally翻译|胡燕君、沈佳丽、贾川 过来十年是深度学习的“黄金十年”,它彻底改变了人类的工作和娱乐形式,并且广泛应用到医疗、教育、产品设计等各行各业,而这所有离不开计算硬件的提高,特地是GPU的变革。 深度学习技术的胜利实现取决于三大因素:第一是算法。20世纪80年代甚至更早就提出了大多数深度学习算法如深度神经网络、卷积神经网络、反向流传算法和随机梯度降落等。 第二是数据集。训练神经网络的数据集必须足够大,能力使神经网络的性能优于其余技术。直至21世纪初,诸如Pascal和ImageNet等大数据集才得以现世。 第三是硬件。只有硬件倒退成熟,能力将大型数据集训练大型神经网络的所需工夫管制在正当的范畴内。业内普遍认为:比拟“正当”的训练工夫大略是两周。至此,深度学习畛域燃起了燎原之火。 如果把算法和数据集看作是深度学习的混合燃料,那么GPU就是点燃它们的火花,当弱小的GPU可用来训练网络时,深度学习技术才变得实用。 尔后,深度学习取代了其余算法,被广泛应用在图像分类、图像检测、语音辨认、自然语言解决、时序剖析等畛域,甚至在围棋和国际象棋方面也能看到它的身影。随着深度学习潜入人类生存的方方面面,模型训练和推理对硬件的要求也越来越高。 从2012年AlexNet呈现到2016年ResNet问世,图像神经网络的训练算力耗费(以petaflop/s-day为单位)增长了将近2个数量级,而从2018年的BERT到近年的GPT-3,训练算力耗费减少了近4个数量级。在此期间,得益于某些技术的提高,神经网络的训练效率显著晋升,由此节俭了不少算力,否则算力耗费的增长还会更夸大。 钻研人员想用更大的无监督语言数据集训练更大的语言模型,然而,只管他们曾经领有4000个节点的GPU集群,但在正当训练工夫内能解决的运算还是十分无限。这就意味着,深度学习技术的倒退有多快,取决于硬件倒退有多快。 现在,深度学习模型岂但越来越简单,而且利用范畴越来越宽泛。因而,还须要继续晋升深度学习的性能。 那么,深度学习硬件到底如何持续晋升?英伟达首席科学家Bill Dally无疑是答复这一问题的权威,在H100 GPU公布前,他在一次演讲中回顾了深度学习硬件的现状,并探讨摩尔定律生效的状况下继续晋升性能扩大的若干方向。OneFlow社区对此进行了编译。 1 GPU架构演进史从2012年的K20X到2020年的A100,GPU的推理性能进步到原来的317倍。这就是咱们所说的“黄氏定律”,这种倒退速度比“摩尔定律”快得多。 GPU的推理性能晋升 但不同于“摩尔定律”,在“黄氏定律”中,GPU的性能晋升不齐全依赖制程技术的提高。上图用黑、绿、蓝三色别离标注了这几种GPU,别离代表它们应用了三种不同的制程技术。晚期的K20X和M40应用的是28纳米制程;P100、V100和Q8000应用的是16纳米制程;A100应用的是7纳米制程。制程技术的提高大略只能让GPU的性能进步到原来的1.5或2倍。而总体317倍的性能晋升绝大部分归功于GPU架构和线路设计的欠缺。 2012年,英伟达推出了一款Kepler架构GPU,但它并不是专为深度学习设计的。英伟达在2010年才开始接触深度学习,过后还没有思考为深度学习量身定制GPU产品。 Kepler (2012) Kepler的指标应用场景是图像处理和高性能运算,但次要还是用于图像处理。因而,它的特点是高浮点运算能力,它的FP32计算(单精度浮点数计算)速度达到近4 TFLOPS,内存带宽达到250 GB/s。基于Kepler杰出的性能体现,英伟达也将它视为自家产品的基准线。 Pascal (2016) 起初,英伟达在2016年推出了Pascal架构,它的设计更适宜深度学习。英伟达通过一些钻研后发现,不少神经网络都能够用FP16(半精度浮点数计算)训练,因而Pascal架构的大部分型号都反对FP16计算。下图这款Pascal GPU的FP32计算速度可达10.6 TFLOPS,比前一款Kepler GPU高出不少,而它的FP16计算则更快,速度是FP32的两倍。 Pascal架构还反对更多简单指令,例如FDP4,这样就能够将获取指令、解码和获取操作数的开销摊派到8个算术运算中。相较于之前的交融乘加(Fuse Multiply-Add)指令只能将开销摊派到2个算术运算,Pascal架构能够缩小额定开销带来的能耗,转而将其用于数学运算。 Pascal架构还应用了HBM显存,带宽达到732 GB/s,是Kepler的3倍。之所以减少带宽,是因为内存带宽是深度学习性能晋升的次要瓶颈。此外,Pascal应用了NVLink,能够连贯更多机器和GPU集群,从而更好地实现大规模训练。英伟达为深度学习推出的DGX-1零碎就应用了8个基于Pascal架构的GPU。 Volta (2017) 2017年,英伟达推出了实用于深度学习的Volta架构,它的设计重点之一是能够更好地摊派指令开销。Volta架构中引入了Tensor Core,用于深度学习的减速。Tensor Core能够用指令的模式与GPU连贯,其中的要害指令是HMMA (Half Precision Matrix Multiply Accumulate,半精度矩阵乘积累加),它将2个4×4 FP16矩阵相乘,而后将后果加和到一个FP32矩阵中,这种运算在深度学习中很常见。通过HMMA指令,就能够将获取指令和解码的开销通过摊派升高到原来的10%到20%。 剩下的就是负载问题。如果想要超过Tensor Core的性能,那就应该在负载上下功夫。在Volta架构中,大量的能耗和空间都被用于深度学习减速,所以即便就义可编程性,也不能带来太多性能晋升。 Volta还降级了HBM显存,内存带宽达到900 GB/s,还应用了新版本的NVLink,能够让构建集群时的带宽减少到2倍。此外,Volta架构还引进了NVSwitch,能够连贯多个GPU,实践上NVSwitch最多能够连贯1024个GPU,构建一个大型共享内存机器。 Turing (2018) 2018年,英伟达推出了Turing架构。因为之前的Tensor Core大获胜利,所以英伟达又趁势推出了Integer Tensor Core。因为大部分的神经网络用FP16即可训练,做推理时也不须要太高的精度和太大的动静范畴,用Int8即可。所以,英伟达在Turing架构中引进了Integer Tensor Core,使性能进步到原来的2倍。 Turing架构还应用了GDDR显存,以反对那些有高带宽需要的NLP模型和举荐零碎。过后有人质疑称,Turing架构的能源效率比不上市面上的其余加速器。但如果认真计算,会发现其实Turing架构的能源效率更高,因为Turing用的是G5显存,而其余加速器用的是LPDDR内存。我认为,抉择G5显存是一个正确的决定,因为它能够反对同类产品没能反对的高带宽需要的模型。 我对Turing架构深感自豪的一点是,它还装备了反对光线追踪(Ray Tracing)的RT Core。英伟达在2013年才开始钻研RT Core,在短短5年后就正式推出了RT Core。 Ampere (2020) ...

August 24, 2022 · 2 min · jiezi

关于深度学习:PyTorch中的CUDA操作

 CUDA(Compute Unified Device Architecture)是NVIDIA推出的异构计算平台,PyTorch中有专门的模块torch.cuda来设置和运行CUDA相干操作。本地装置环境为Windows10,Python3.7.8和CUDA 11.6,装置PyTorch最新稳固版本1.12.1如下: pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116一.常见CPU和GPU操作命令1.查看PyTorch版本 print(torch.__version__)1.12.1+cu1162.查看GPU设施是否可用 print(torch.cuda.is_available())True3.PyTorch默认应用设施是CPU print("default device: {}".format(torch.Tensor([4,5,6]).device))default device: cpu4.查看所有可用的cpu设施的数量 print("available cpu devices: {}".format(torch.cuda.os.cpu_count()))available cpu devices: 20这里CPU设施数量指的是逻辑处理器的数量。 5.查看所有可用的gpu设施的数量 print("available gpu devices: {}".format(torch.cuda.device_count()))available gpu devices: 16.获取gpu设施的名称 print("gpu device name: {}".format(torch.cuda.get_device_name(torch.device("cuda:0"))))gpu device name: NVIDIA GeForce GTX 1080 Ti7.通过device="cpu:0"指定cpu:0设施 device = torch.Tensor([1,2,3], device="cpu:0").deviceprint("device type: {}".format(device))device type: cpu8.通过torch.device指定cpu:0设施 cpu1 = torch.device("cpu:0")print("cpu device: {}:{}".format(cpu1.type, cpu1.index))cpu device: cpu:09.应用索引的形式,默认应用CUDA设施 gpu = torch.device(0)print("gpu device: {}:{}".format(gpu.type, gpu.index))gpu device: cuda:010.通过torch.device("cuda:0)指定cuda:0设施 ...

August 24, 2022 · 2 min · jiezi

关于深度学习:活动回顾|8月中文社区面对面

  导语 8 月 18 号 Jina AI 举办了「中文社区面对面」流动,本文为分享回顾。 CLIP-as-service 比 CLIP 多了哪些更好用的性能?Finetuner 的介绍和示例社区明星我的项目的开发体验和心得没来得及参加本次中文社区面对面流动的小伙伴,观看下方视频,关注 Jina AI 公众号,后盾回复【OH】,获取残缺 PPT! CLIP-as-service CLIP-as-service 是提供 CLIP 模型推理服务的开源框架。低提早、易扩大,高可靠性的特点,使其能作为微服务轻松集成到神经搜寻解决方案中。 反对多语言的 CLIP 模型编码 100 余种语言的文本和图像反对多种来自 OpenCLIP,由 LAION-400M 数据集训练的 CLIP 模型反对 Finetuner 微调后的 CLIP 模型更多具体内容请戳:  Repo[1]  文档[2]  示例代码[3] Finetuner   Finetuner 是神经搜寻的后果调优器,以实现更好的搜寻成果。视频演示了用 Finetuner 对原神人物的跨模态搜索引擎的后果进行调优。  封装好了神经搜寻调优的最佳实际! 高效调优预训练模型,性能 SOTA!☁ 云端调配计算资源,高速调优!更多具体内容请戳:  Repo[4]  文档[5]  示例代码[6] 口红搜索引擎 Jina AI 资深社区用户,先思科技 CEO 西门良 应用 Jina 构建了一个口红搜索引擎,只须要上传照片,就能让 AI 返回给你最合适你女友的口红。 援用链接 [1] Repo: https://github.com/jina-ai/cl...[2] 文档: https://clip-as-service.jina.ai/[3] 示例代码: https://colab.research.google...[4] Repo: https://github.com/jina-ai/fi...[5] 文档: https://finetuner.jina.ai/[6] 示例代码:https://colab.research.google... 退出 J-Tech 交换群 官网:Jina.ai Jina AI小助手vx:jinaai01 社区:Slack.jina.ai 开源:Github.com/Jina-ai

August 22, 2022 · 1 min · jiezi

关于深度学习:使用Pytorch手写ViT-VisionTransformer

《The Attention is all you need》的论文彻底改变了自然语言解决的世界,基于Transformer的架构成为自然语言解决工作的的规范。 只管基于卷积的架构在图像分类工作中依然是最先进的技术,但论文《An image is worth 16x16 words: transformer for image recognition at scale》表明,计算机视觉中CNNs的依赖也不是必要的,间接对图像进行分块,而后应用序纯transformer能够很好地实现图像分类工作。 在ViT中,图像被宰割成小块,并将这些小块的线性嵌入序列作为Transformer的输出。对图像进行补丁解决形式与NLP应用程序中的标记(单词)雷同。 因为不足 CNN 固有的演绎偏差(如局部性),Transformers 在数据量有余的状况下不能很好地泛化。然而当在大型数据集上进行训练时,它在多个图像识别基准上的确达到或超过了最先进的程度。在深刻本文之前,如果你从未据说过 Transformer 架构,我强烈建议你查看 The Illustrated Transformer。 在开始实现之前,咱们先看看ViT架构 能够看到输出图像被分解成 16x16 的扁平化块,而后应用一般的全连贯层对这些块进行嵌入操作,并在它们后面蕴含非凡的 cls token 和地位嵌入。 线性投影的张量被传递给规范的 Transformer 编码器,最初传递给 MLP 头,用于分类目标。 首先咱们从导入库开始,一步一步实现论文中提到的ViT模型: import matplotlib.pyplot as plt from PIL import Image import torch import torch.nn.functional as F from torch import Tensor, nn from torchsummary import summary from torchvision.transforms import Compose, Resize, ToTensor from einops import rearrange, reduce, repeat from einops.layers.torch import Rearrange, Reduce为了调试咱们的模型,还须要一张图片来进行测试: ...

August 22, 2022 · 4 min · jiezi

关于深度学习:10个常用的损失函数解释以及Python代码实现

什么是损失函数?损失函数是一种掂量模型与数据吻合水平的算法。损失函数测量理论测量值和预测值之间差距的一种形式。损失函数的值越高预测就越谬误,损失函数值越低则预测越靠近实在值。对每个独自的观测(数据点)计算损失函数。将所有损失函数(loss function)的值取平均值的函数称为代价函数(cost function),更简略的了解就是损失函数是针对单个样本的,而代价函数是针对所有样本的。 损失函数与度量指标一些损失函数也能够被用作评估指标。然而损失函数和度量指标(metrics)有不同的目标。尽管度量指标用于评估最终模型并比拟不同模型的性能,但损失函数在模型构建阶段用作正在创立的模型的优化器。损失函数领导模型如何最小化误差。 也就是说损失函数是晓得模型如何训练的,而度量指标是阐明模型的体现的 为什么要用损失函数?因为损失函数测量的是预测值和理论值之间的差距,因而在训练模型时能够应用它们来领导模型的改良(通常的梯度降落法)。在构建模型的过程中,如果特色的权重产生了变动失去了更好或更差的预测,就须要利用损失函数来判断模型中特色的权重是否须要扭转,以及扭转的方向。 咱们能够在机器学习中应用各种各样的损失函数,这取决于咱们试图解决的问题的类型、数据品质和散布以及咱们应用的算法,下图为咱们整顿的10个常见的损失函数: 回归问题1、均方误差(MSE) 均方误差是指所有预测值和实在值之间的平方差,并将其平均值。罕用于回归问题。 def MSE (y, y_predicted): sq_error = (y_predicted - y) ** 2 sum_sq_error = np.sum(sq_error) mse = sum_sq_error/y.size return mse2、均匀绝对误差(MAE) 作为预测值和实在值之间的相对差的平均值来计算的。当数据有异样值时,这是比均方误差更好的测量方法。 def MAE (y, y_predicted): error = y_predicted - y absolute_error = np.absolute(error) total_absolute_error = np.sum(absolute_error) mae = total_absolute_error/y.size return mae3、均方根误差(RMSE) 这个损失函数是均方误差的平方根。如果咱们不想惩办更大的谬误,这是一个现实的办法。 def RMSE (y, y_predicted): sq_error = (y_predicted - y) ** 2 total_sq_error = np.sum(sq_error) mse = total_sq_error/y.size rmse = math.sqrt(mse) return rmse4、平均偏差误差(MBE) ...

August 19, 2022 · 3 min · jiezi

关于深度学习:深度学习快速上手基于-MegEngine-的-LeNet-快速训练与部署

|本文转载自知乎  @嘿呀嘿   集体 blog。 1. 前言Megengine 是旷视科技开发的一款训练推理一体化的深度学习框架,相似于 pytorch,tensorflow。 应用 Megengine 能够疾速实现常见的深度学习模型,本文将应用 Megengine 实现手写数字辨认,以实现深度学习的两大步骤:训练和预测。通过本文,读者对深度学习的最根本流程和 Megengine 框架的应用办法有大抵理解。 2. 环境装置在命令行输出下列语句即可装置 Megengine ,倡议应用 python 版本为 3.5 到 3.8 python3 -m pip install --upgrade pippython3 -m pip install megengine -f https://megengine.org.cn/whl/mge.html装置实现后能够在命令行测试是否装置胜利。 python3import megengineprint(megengine.__version__)3. 训练本局部训练代码来自 Megengine 官网教程,须要具体理解细节请返回 MegEngine 疾速上手 3.1 数据集筹备3.1.1 下载数据集深度学习的第一步为筹备数据集,通常会为数据集写一个接口来拜访数据集,并对数据进行预处理。 Megengine 中曾经实现了 MNIST 数据集的接口,咱们能够通过以下代码间接获取。如果想要制作或应用其余数据集,能够点击这里进行学习。 from megengine.data.dataset import MNISTDATA_PATH = "./datasets/MNIST"#第一次运行后,将 download 改为 Falsetrain_dataset = MNIST(DATA_PATH, train=True, download=True)test_dataset = MNIST(DATA_PATH, train=False, download=True)3.1.2 数据加载及预处理下面应用 MNIST()实现数据集的加载和 Dataset 的构建,接下来将对数据进行加载,批改数据。应用 DataLoader、Sampler 和 Transform 实现。 ...

August 18, 2022 · 4 min · jiezi

关于深度学习:动态尺寸模型优化实践之Shape-Constraint-IR-Part-I

在本系列分享中咱们将介绍BladeDISC在动静shape语义下做性能优化的一些实际和思考。本次分享的是咱们最近发展的无关shape constraint IR的工作,鉴于篇幅较长,为了晋升浏览体验,咱们将分享拆分为两个局部: Part I 中咱们将介绍问题的背景,面临的次要挑战和以及咱们做shape constraint IR的动机;Part II 中咱们将介绍shape constraint IR的设计,实现以及一些初步的试验后果;本篇是对于Part I的介绍,Part II的介绍将后续收回。 背景和挑战支流的AI模型在部署时个别都具备不同水平的动静shape问题,比方输出图片尺寸,batch size 或者序列长度的变动等。与动态shape语义下做优化相比,在动静shape语义下做优化因为短少具体的shape信息往往具备更大的难度,次要体现在以下几个方面: 挑战1:优化指标的转变。 在动态shape下,咱们的优化指标是心愿在给定的shape下,尽可能迫近实践下限的速度,针对不同的shape能够应用不同的优化伎俩,而在动静shape语义下,咱们优化指标是心愿应用一套办法晋升在整个shape散布上的均匀性能,更强调的是优化办法的跨shape可迁移性和稳定性。因而很多在动态shape下罕用的优化,比方profling驱动的策略,将不再简略可用。 挑战2:更少的无效信息。 优化AI模型时很多常见的伎俩都把一些shape关系的断言是否成立作为优化触发的前置条件。比方在计算图化简时打消冗余的broadcast op,须要依赖于判断输出和输入是否具备雷同的shape。在动态shape语义下,判断常量shape是否相等是显然的,而动静shape语义下,判断symbolic shape相等则艰难的多,而一旦咱们无奈无效判断这些前置的shape关系断言是否成立,后续优化都无奈进行,因此失落很多优化机会,拉大与动态shape状况下性能的差别。 挑战3:更简单的计算图。 在动静shape语义下,因为shape不再是编译(或者优化)期间的常量,整个计算图中混杂着计算shape的IR以及计算data的IR,使得整个计算图的剖析和优化都变得更简单,同时也会引入更多shape相干计算的开销。 下图中展现了一个反对numpy语义implicit broadcast (IB)的Add OP的例子以阐明计算图变简单的具体过程。在IB语义下,Add OP在运行时会依据输出shape之间的关系,隐式的插入broadcast运算,所以下图左侧中展现的三种可能输出都是非法的。在动态shape语义下咱们很容易在编译期就辨别开理论是那种状况,故而在编译时只须要对一种具体情况进行解决,而在动静shape语义下,因为编译期间无奈进行辨别,咱们须要确保编译的后果在三种状况下都能够工作,因此会在计算图中引入显示的shape 计算的IR以及broadcast操作(如下图右侧所示)。在这个例子中上层框架中一个一般的Add OP在动静shape语义下,也会被开展成一个简单的子图。 也正因为上述的这些挑战,目前成熟的优化工具(如TensorRT,XLA/TVM)对于动静shape反对都还比拟无限。BladeDISC是阿里云计算平台PAI团队自研的一款原生反对动静shape的AI编译器。在过往一段时间咱们开发BladeDISC优化动静shape模型的过程中,咱们发现只管不晓得shape的具体的数值,然而通过充沛挖掘和利用Tensor的shape之间的结构化关系或者Tensor shape本身的散布特点,能够无效的解决上述挑战。在这里咱们把Tensor的shape之间的结构化关系或者Tensor shape本身的散布统称为shape constraint。更进一步的,咱们发现通过将shape constraint作为第一等公民引入到IR中,能够最大化的施展shape constraint的效力。本文中咱们将介绍BladeDISC中shape constraint IR的定义以及如何利用它来辅助实现一系列动静shape语意下的优化以解决上述挑战,放大与动态shape之间的性能差别。 动机为什么抉择shape constraint?在上一章节中咱们剖析了在动静shape语义下给做优化所带来的一系列挑战。咱们发现应用shape constraint能够无效的解决这些优化上面临的艰难。以下咱们将别离介绍应用shape constraint如何无效解决上述的三个挑战。 应答挑战1:跨shape可迁移性在具体分析之前,咱们先看shape constraint在本文中的定义。假如一个tensor的rank是N,则该tensor的shape能够记为(d0, d1, ... dN-1),其中di示意的是该tensor在第i个轴上所具备的大小,也记为第i个轴的dimension size。文本中探讨的shape constraint能够分为以下两类: shape结构化束缚。该类束缚形容的是dimension size之间的相干关系,比方: dimension size相等关系:某一个tensor的di与另外一个tensor的dj具备雷同的大小,或者同一个tensor的di与dj具备雷同的大小;tensor元素个数相等:即一个tensor和另外一个tensor具备雷同数量的元素;dimension size乘积相等关系:比方reshape([a, b, c, d]) -> [ab, cd]shape散布束缚。该类束缚形容的是某个或某几个dimension size的(联结)散布,比方: di % 4 = 0,di != 0, di * dj=10;likely values: 即形容某个dimension size更大概率可能取到的值;value range:即形容某个dimension size可能的取值区间;由上述定义自身咱们能够立即失去一个论断:因为无论是shape结构化束缚还是散布束缚都不依赖于具体的shape值,因而基于shape constraint而构建的优化策略人造具备跨shape可迁移性。 ...

August 18, 2022 · 1 min · jiezi

关于深度学习:ICDAR-比赛技术分享

一 背景ICDAR 2021(International Conference on Document Analysis and Recognition)于2021年9月5-10日在瑞士召开。ICDAR会议是文档剖析与辨认畛域国内顶级会议,每两年举办一次,涵盖了文档剖析与辨认畛域的最新学术成绩和前沿利用发展趋势,吸引了该畛域寰球顶尖的研发团队和专家学者的加入。该会议上举办的算法比赛是文字辨认(OCR)畛域的顶级赛事。汽车之家经销商技术部在其中的Competition on Time-Quality Document Image Binarization(DIB)图像二值化算法比赛的两个子工作下荣获第二名。图1 比赛结果和证书 二 赛题介绍ICDAR2021的DIB较量赛题是对历史文档图像进行二值化,将文字从背景中分离出来。评估指标采纳PSNR、DRDM、F-Measure (FM)、pseudoFMeasure (Fps)以及Cohen’s Kappa的综合加权值。较量难点在于历史文档图像的背景非常复杂,存在各种各样的进化因素,导致现有算法难以获得较好的成果,比方页面污渍挡住字迹,字符褪色,导致和背景太过类似,墨迹浸润,导致反面的文字浸润到侧面,但实在的标签又须要把他分到背景里,以及折叠印痕,色彩较深,可能和文字弄混等。图2 历史文档图像数据集的各种进化样例 三 技术计划图像二值化的传统办法次要分为全局阈值法、部分阈值法以及两者相结合的一些办法。全局阈值法间接采纳固定的阈值将文档图像宰割为文本前景和背景两局部,如经典的OTSU算法。部分阈值法依据图像中的部分邻域窗口计算动静的部分阈值实现对该像素分类为前景文本或背景。传统办法在文档图像背景不是很简单时能够获得较好的精度,然而当背景图像存在多种降质情景时(如页面污渍、反面字迹浸透、光照不均等状况),成果较差。联合深度学习的办法具备更强的鲁棒性,在简单背景下也能体现较好。基于深度学习的办法将文档图像二值化看作图像宰割的工作,通过卷积神经网络对每个像素点进行二分类,最终失去整个文档图像的宰割图,分为前景文本和背景区域,从而实现二值化[1]。然而对于此次较量,每张历史文档图像的分辨率较大(往往在宽度或高度方向有3000像素),思考到GPU显存的限度,往往在神经网络办法中,输出是从整张图像中裁剪失去的图像块(例如128×128的尺寸),而不是将整张图像输出网络结构中。然而这种裁剪策略失落了整个文档图像的全局空间信息,特地在有反面字迹浸透状况时,此时反面的字迹和实在的前景文本很难辨别,会被误认为是前景文本,导致二值化精度升高。因而咱们设计了一套联合全局信息和部分信息的文档图像二值化办法,在较量中获得了较好的问题,示意图如下:图3 联合全局信息和部分信息的二值化办法咱们提出的架构由三个U-Net的分支模块交融而成:两个输出图像尺寸别离为128 × 128和256 × 256的部分U-net,以及一个输出图像尺寸为512×512的全局U-Net。先将两个部分U-net失去的二值化图像交融,再和全局U-Net失去的二值化图像进行取交运算,失去最终的二值化图像。部分U-net:采纳128×128尺寸的滑窗对原始图像进行裁剪,失去部分分块,并采纳U-Net卷积神经网络[2]失去分类概率图后再将分块的图像拼接为残缺图像。U-Net是一种基于深度学习的图像宰割模型,咱们采纳经典的U-Net网络结构,由编码器和解码器形成,编码器由4个反复的模块组成,每个模块包含2层3×3的卷积层和1层2×2的池化层,每层卷积层后接批标准化层(Batch Normalization)及线性修改单元的激活函数层(RELU),沿着编码器的下采样门路,特色图的高度和宽度减半,而通道数量加倍。解码器的网络结构与编码器的构造正好相同,特色图的高度和宽度加倍,而通道数量减半。U-Net构造在编码器和解码器之间存在跳层连贯(Skip-connection)以改善宰割精度。因为图像二值化工作是为了将输出图像的每个像素点的值映射为0或1,因而U-Net网络结构最初一层采纳Softmax激活函数,从而可将每个图像分块转化为同样尺寸大小的分类概率图。通常地,会给个激活阈值,将分类概率图间接转为0或1的二值化图,因为概率图的每个像素点大小在[0, 1]的区间里, 例如取激活阈值0.5,则概率图里大于等于0.5的值都被转换为1,而小于0.5的值都被转换为0。为了进步精度,因而在提取部分信息时采纳了多级尺度的模型交融办法,即交融128×128和256×256两种部分分块的信息。全局U-net:因为部分分块尺寸相比原始残缺图像小得多,失去的是基于部分信息的分类概率图。而要兼顾全局的空间上下文信息以及模型容量的限度,比拟间接的一种办法是将原始图像(例如3000×3000的尺寸)通过降采样的形式缩小成某一固定的较低分辨率的尺寸(例如512×512的尺寸)。然而这种办法有两个毛病:一是不同的文档图像有不同的高宽比,对立放大为512×512会造成高宽比畸变,引入误差;二是相比图像分块的形式训练模型时缩小了可训练样本的数量。基于此,咱们采纳512×512固定尺寸的滑窗对原始文档图像降采样后的图像进行裁剪,失去图像分块,而此时的图像分块能够蕴含足够的背景和前景文本,蕴含了全局的空间上下文信息。交融:先对两个部分U-net的后果进行交融,128 × 128和256 × 256尺寸失去的分类概率图是通过具备不同感触区域大小的U-Net图像宰割模型失去,将二者取均匀后失去和原始文档图像尺寸大小统一的分类概率图,给定激活阈值0.5,可将分类概率图转换为二值化图,此时的二值化图是基于部分信息的交融的图像宰割模型失去。再将其与全局U-net的后果做取交运算,失去最终二值化图像。图 4 样例的二值化后果图4给出了采纳本模型在较量数据集的印刷文档图像上二值化后果的一个例子。能够看出,当只思考部分信息时,即采纳部分分块失去二值化图像时,容易将历史文档图像中背景区域的文字谬误地预测为前景文本。而联合了全局和部分信息后,能够更好地区分背景区域和前景文字区域,容易获得更好的成果。 四 总结此次较量中,汽车之家经销商技术部提出了一种联合整体和部分特色的图像二值化办法,构建了多级尺度的卷积神经网络提取图像特色,通过部分通道以准确刻画文本轮廓,再联合整体通道以更好地拆散简单背景和文本前景,最终大大提高了文本图像的二值化成果。图像二值化是图像处理至关重要的预处理步骤,二值化的成果对后续的OCR(字符识别)精度有很大影响。此次的研究成果无效晋升了二值化的成果,为后续的图像OCR、图像主动审核等业务场景提供了贵重的教训。经销商技术部在图像OCR和图像主动审核方面有丰盛的落地教训,全年辨认各类票证超过千万张,节约公司洽购内部OCR辨认服务费用的同时,更好的保障了公司客户和用户的个人信息数据安全。此外,经销商技术部使用自然语言解决技术研发的电话机器人、IM对话机器人、智能质检等技术成绩广泛应用在智慧系产品、营销流动及车商汇相干产品中,节约大量线索荡涤、流动邀约、线索转化等的人工成本,同时利用于商业产品售卖,为减少公司营收发挥作用。 参考文献:[1] Jorge Calvo-Zaragoza and Antonio-Javier Gallego. A selectional autoencoder approach for document image binarization. Pattern Recognition, 86:37{47, 2019.[2] Olaf Ronneberger, Philipp Fischer, and Thomas Brox. U-net: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention, pages 234{241. Springer, 2015.  ...

August 18, 2022 · 1 min · jiezi

关于深度学习:预约直播-基于预训练模型的自然语言处理及EasyNLP算法框架

一、分享议题:基于预训练模型的自然语言解决及EasyNLP算法框架二、直播工夫:2022年08月24日(周三)18:00-18:30 三、 议题介绍:此次分享将深刻介绍预训练语言模型的研究进展以及各种上游自然语言了解的利用;为了解决大模型落地难问题,重点展现多种常识蒸馏、基于Prompt的小样本学习等前沿自然语言解决技术。此外,在构建预训练语言模型根底上,咱们进一步介绍融入多模态常识的预训练模型,用于各种文图了解和生成工作。基于上述内容,将会介绍开源算法框架EasyNLP,从黑盒化的AppZoo模式和白盒化的Python模式别离展示EasyNLP的应用形式和性能。四、讲师介绍汪诚愚,阿里巴巴高级算法工程师在阿里云机器学习平台(PAI)从事深度学习算法的研发,次要钻研趣味包含自然语言解决、多模态信息处理、迁徙学习、小样本学习等,在ACL、KDD、SIGIR、WWW、AAAI、TKDE、CIKM、SDM、EMNLP等国内会议和期刊上发表钻研论文60余篇。 欢送扫描二维码进群,预约参加观看直播,同技术大牛、同行小伙伴们一起交换分享心得!

August 18, 2022 · 1 min · jiezi

关于深度学习:使用PyTorch和Keras实现-pix2pix-GAN

比照两个框架实现同一个模型到底有什么区别? 第一步,咱们对数据集进行图像预处理。咱们在这里抉择 Facades 数据集,咱们将 2 张图像合并为一张,以便在训练过程中进行一些加强。 Pytorch: def __getitem__(self, index):img = Image.open(self.files[index % len(self.files)]) w, h = img.size img_A = img.crop((0, 0, w / 2, h)) img_B = img.crop((w / 2, 0, w, h))if np.random.random() < 0.5: img_A = Image.fromarray(np.array(img_A)[:, ::-1, :], "RGB") img_B = Image.fromarray(np.array(img_B)[:, ::-1, :], "RGB")img_A = self.transform(img_A) img_B = self.transform(img_B)return {"A": img_A, "B": img_B}Keras: def load_batch(self, batch_size=1, is_testing=False): data_type = "train" if not is_testing else "val" path = glob('./datasets/%s/%s/*' % (self.dataset_name, data_type))self.n_batches = int(len(path) / batch_size)for i in range(self.n_batches-1): batch = path[i*batch_size:(i+1)*batch_size] imgs_A, imgs_B = [], [] for img in batch: img = self.imread(img) h, w, _ = img.shape half_w = int(w/2) img_A = img[:, :half_w, :] img_B = img[:, half_w:, :]img_A = resize(img_A, self.img_res) img_B = resize(img_B, self.img_res)if not is_testing and np.random.random() > 0.5: img_A = np.fliplr(img_A) img_B = np.fliplr(img_B)imgs_A.append(img_A) imgs_B.append(img_B)imgs_A = np.array(imgs_A)/127.5 - 1. imgs_B = np.array(imgs_B)/127.5 - 1.yield imgs_A, imgs_B模型在论文中提到应用的模型是 U-Net,所以须要应用层间的跳跃连贯(恒等函数)。应用上采样和下采样卷积制作自编码器生成和判断模型。 ...

August 18, 2022 · 4 min · jiezi

关于深度学习:渲染与云渲染渲染行业的新趋势

可能很多人想不到,即便到了当初,CGI(电脑三维动画)设计师们有时仍可能须要期待近1个月的工夫实现一秒钟视频的渲染,或者用24小时来等一张动态图片的渲染。尽管CGI渲染在工业设计、电脑游戏、修建和电影等各个方面位置重要,CGI设计师们依然面临重大的提早问题,这次要是因为渲染切实太消耗计算资源了。 一、渲染与云渲染渲染是指建筑设计、动画制作等利用3DS MAX、MAYA等软件制作好模型和动画帧之后,将所设计内容利用软件自身或者辅助软件(lightscape、vray等)制作成最终效果图或者动画的过程。它本质上是对大量数据的解决,所以渲染这项工作对电脑硬件的要求十分高。随着影视、游戏、动画等产业的倒退,无论是观众还是制作者,对图形品质的要求也越来越高,其倒退速度对设计行业来说并不敌对,集体要接受频繁更新硬件的老本,企业也须要更多的更新和保护开销。 近几年,越来越热的云计算技术所产生的“云渲染”为这个行业开拓出了一条新路。简略来说,就是用户能够从手机、pad、PC等各种终端上传资源,在云端做好渲染,而后取得渲染后果。有的渲染公司抉择本人搭建超大公有星散群来提供超大计算力。这样做会有几个显著的毛病: 1.硬件投入老本大,还须要承当硬件损耗的费用。2.会产生资源节约,如果不能保障始终有大量的渲染工作排期就会呈现机器静置进而产生节约。3.当呈现突发性的短暂但海量的业务需要,导致超过自身集群规模能提供的算力反对时,只能抉择购入新的GPU硬件来扩充集群。4.须要承当超大集群的运维工作。这里不只蕴含GPU集群的调度运维,还蕴含与之配套的文件服务零碎运维。5.有地区和设施的依赖。有的渲染公司抉择将本人的局部,甚至全副计算集群移至私有云。长期来看,将计算集群移至私有云会是渲染行业将来的发展趋势。 因为除了防止了以上的种种缺点之外,还具备如下的益处:1.能够享受弹性服务,按需购买GPU集群,缩小资源节约。2.能够享受私有云平台提供的高性能高可用运维解决方案,享受到私有云供应商的百人以上业余技术团队提供的24小时不间断技术服务。3.能够享受私有云平台提供的额定配套服务。例如文件服务,平安防护等等,无需放心兼容性的问题。4.能够追随私有云平台技术解决方案的降级而一直失去服务降级,甚至能享受到云平台新技术的加持。 二、渲染行业须要什么样的云?要答复这个问题,须要首先剖析出渲染行业面临的次要问题: 1.算力有余,须要超大GPU集群来满足其一直增长的业务需要。2.一般的文件服务零碎难以撑持其高频的文件读写和多节点资源共享的需要。3.老本高,弹性服务的粒度不够细,不能做到细粒度的用多少买多少,还会有肯定的节约景象存在。4.单个计算节点的启动速度过慢,在分钟级别。5.还是须要有本人的运维团队来保护整个工作集群。云渲染也能够说是属于一种视觉行业,随着时代的倒退,云渲染平台越来越多,它所波及的行业也是越来越多,可能咱们比拟可见的是云渲染用于影视动画、修建动画、视效、修建可视化、游戏类工作室等等。 能够设想成付费租用了一台云电脑,将本地的3D文件上传到这台云端虚构电脑上让它帮你进行渲染。云渲染始终出现着微小的可能性,但直到最近才开始实现其真正的后劲。最后用于可视化简略的对象,如驰名的犹他州茶壶,云渲染很快发现它的目标在美国国防,美国宇航局,和其余机构和行业。云渲染的利用正在扩充,越来越多的行业发现自己急需可视化服务。房地产竞争强烈的房地产行业曾经发现云渲染软件的极好用处-帮助销售过程。在渲染软件的帮忙下,代理商能够扩大其受众,并提供他们领有的出租或发售的每个房产的简略虚构旅行。代理商能够开发一个真切虚构游览,使与会者可能看到每个角落和缝隙,并查看每个房间,而不是浪费时间和金钱安顿集体客户和带他们进行实物游览。 云渲染也有助于分期家庭。空荡荡的房产不须要真正的家具、电器和装饰品来展现其真面目。 3D 艺术家只须要几张空间的照片,他们能够用任何必要的便当设施的真切的图像来舞台。修建云渲染可能只是修建可视化中最有用的。现在,开发任何住宅和修建的 云渲染已成为规范做法,在施工阶段开始之前,准确描述每一个细节。 创立手绘草图或模型已成过来。通过 云渲染和先进的 3D 打印,每个型号都能够在录制工夫内实现。 3D 设计是建筑师与客户之间清晰沟通思想的完满解决方案。它们打消了任何潜在的语言障碍或误会,并让参加我的项目的每个人都理解状况。他们能够帮忙每个利益相关者在施工前将已实现的我的项目可视化。云渲染可能会转移对任何潜在问题、危险或波及问题的注意力,从而在为时已晚(或老本过高)之前轻松纠正错误。室内设计很少有其余行业像室内设计那样重大依赖 云渲染软件。两人明天齐头并进。 与建筑师一样,室内设计师常常会遇到与客户沟通的问题,这些问题能够通过翻译设计师想法的真切渲染来轻松解决。通过 云渲染软件,设计师能够实现不同样式、色彩、纹理和照明,并向客户展现后果。云渲染软件提供杰出的精度和准确的测量,确保渲染中的每一件家具或装璜都像在现实生活中一样适宜。它能够展现不同的装璜如何影响房间的情绪,不同的窗帘或墙壁油漆如何扭转外部的整个外观,等等。医疗医疗保健行业是 云渲染软件市场胜利的重要贡献者。云渲染服务能够援救和进步寰球数百万人的生存品质。应用 3D 打印机,云渲染软件已被证实是贵重的医疗保健设施一次又一次。2020年初,意大利用于冠状病毒患者的3D打印呼吸机阀门,解救了数百人的生命。 3D 打印机一直用于定制假肢,使佩戴者更舒服。云渲染软件通常用于开发定制医疗设施和设施,可用于简单的手术和医疗程序,用于修复受损器官的部件,等等。虚拟现实中的云渲染可用于培训医务人员,在不将患者置于危险之中的状况下练习操作技术,发明新的教育内容。医疗保健行业只会持续越来越依赖 云渲染服务。娱乐大多数人立刻将"3D"与计算机图形成像(或CGI)和动画分割起来,这是有充沛理由的。娱乐行业负责晚期采纳 3D 技术,而正是这个行业使命 3D 出现宽泛提供给公众。《玩具总动员》、《阿凡达》和《史莱克》等电影激发了公众对云渲染软件及其性能的趣味。游戏行业重大依赖 云渲染和 CGI 使游戏更加身临其境。在电影行业,云渲染和 CGI 可用于从拍摄中去除不须要的元素(如中世纪电影中的飞机照片炸弹)到创立空想人、生物和中央的真切的图像(如《指环王》中的高卢)。 三、云渲染受欢迎的四大起因: 云渲染速度很快与一般的本地计算机配置不同,云渲染服务器通常关注线程数。云渲染服务器个别只负责关上max场景和渲染。与本地计算机不同,它还须要解决各种聊天软件、游戏、网页等,所以云渲染服务器的32线程/ 48线程远远高于本地计算机的4线程/ 8线程。线程越多,渲染速度就越快。绝对于本地计算机无法在线渲染的限度,云渲染服务器能够自在在线渲染。96个线程、240个线程和480个线程同时渲染一张图片。尽管渲染老本会更高,但渲染速度的确进步了。云渲染有批量渲染这个性能云渲染的批量渲染与部分渲染只能一一渲染相比,具备显著的多级渲染,大大提高了渲染效率。一组图像通常是4-6张图像。假如本地计算机的配置是统一的与云渲染服务器,和一个图像的渲染工夫是1小时,出现部分须要4到6个小时,而只须要1小时的云渲染平台出现4 - 6图像在同一时间呈现。须要渲染的图片越多,云渲染平台批量渲染的劣势就越大。因而,10秒300帧的动画渲染等我的项目必须交给云渲染平台。3.云渲染解放了本地计算机置信很多人会在本地渲染时玩游戏。这是因为渲染时本地计算机的CPU占用率十分高,而计算机本身又不能做其余事件,所以很容易卡住。应用云渲染能够解放本地计算机。提交工作后,渲染与本地计算机无关,从而实现真正的离线渲染。 4、按需付费云渲染的免费规范是依照使用者抉择的计算资源多少、时长来计算的。你应用的计算资源越多,渲染速度越快,其费用价格天然越高。渲巨匠是一个比拟亲民的GPU算力平台,具备自建渲染农场,总 GPU 数量2000+,提供香港及中国边疆的渲染农场,反对渲染及深度学习应用场景,配套支流的软件,模板,集群性能,疾速晋升算力。渲巨匠GPU算力平台能够减速您的AI深度学习、高性能计算、渲染测绘、云游戏、元宇宙等利用。高性价比,高稳定性,疾速部署,弹性租用,7x24技术支持,满足您所需。减速您的AI深度。!

August 17, 2022 · 1 min · jiezi

关于深度学习:基于深度学习的细粒度分类研究及应用

本文次要介绍深度学习图像分类的经典网络结构及倒退历程,就细粒度图像分类中的注意力机制进行了综述,最初给出了汽车之家团队加入CVPR2022细粒度分类比赛所应用的模型及相干算法、参赛教训等,同时介绍了该模型在汽车之家车系辨认业务中的利用。对于想理解图像分类工作、相干较量技巧及业务利用的读者有肯定借鉴意义。 基于深度学习的图像分类神经网络自AlexNet[1]横空出世,在ImageNet[2]比赛中获得62.5%的top-1准确率,超过SIFT+FVs[3]类传统算法8.2%之后,深度神经网络就成为了图像分类畛域的次要算法,先后呈现了VGG[4]、ResNet[5]、Inception[6]、DenseNet[7]等。2019年,谷歌提出的EfficientNet[8]更是将网络结构设计由人工推向了主动搜寻时代。RegNet,2020年,谷歌提出的Vision Transformer(ViT)[9],将自然语言解决畛域的Transformer构造引入图像分类,将图像分类带入了Transformer时代。 VGG[4]由谷歌Deepmind和英国牛津大学的钻研人员联合开发,应用多个级联的3x3小卷积核代替了7x7的大卷积核,在保障感触野的根底上大大降低了网络的参数量。VGG[4]的另外一个奉献是通过加深网络结构晋升了分类精度,在ImageNet[2]数据集上应用19层网络,top-1分类准确率达到了74.5%。 2015年,过后还在微软从事钻研的何凯明、孙剑等人提出了ResNet[5],通过引入图1的残差构造,无效解决了深层神经网络训练过程中的梯度隐没和梯度爆炸问题,同时解决了随着网络加深,分类精度越来越差的“进化”问题。首次在ImageNet[2]数据集上应用152层的超深网络取得了较好的分类精度,top-1准确率达到了78.57%,取得了2015年ImageNet[2]比赛分类赛道的第一名。 图1 残差模块 在以何凯明为代表的一些钻研人员通过加深网络深度晋升分类成果的同时,谷歌的一些钻研人员在网络宽度上也获得了较大停顿,先后在2014~2016年提出了InceptionV1~V4网络结构。InceptionV1[5]网络的设计思路次要是应用浓密组件(dense components)近似网络中的稠密构造,为此,谷歌的钻研人员剔除了图2所示的Inception根本构造。这种构造应用了多个并行的卷积和最大池化,在近似稠密构造的同时,还引入了多尺度个性。InceptionV2[6]在借鉴VGG[4]等论文,应用多个级联3x3卷积代替5x5卷积的根底上,还退出了Batch Normalization(BN)对数据进行归一化,top-1准确率达到了74.8%。InceptionV3[6]提出了一种可无效升高网络参数量的办法,即非对称合成(Asymmetric Factorization),非对称合成就是将nxn卷积合成为1xn和nx1的级联模式,top-1准确率达到了78.8%。InceptionV4则将ResNet[5]中应用的残差构造融入Inception模块,极大放慢了训练速度,,top-1准确率达到了80.10%。 图2 Inception 模块 在网络深度和宽度的钻研获得长足进步之后,一些钻研人员开始思考通过网络特色的重用,晋升网络的分类成果,比拟典型的就是2017年CVPR的最佳论文DenseNet[9]。ResNet[5]证实了残差短连贯能无效解决梯度隐没和网络进化问题,如图3所示DenseNet借鉴了这一思维,将短连贯应用在了所有层之间,对于一个L层的网络的第N层,前N-1层的特色在第N层实现了特色交融,同时,第N层的特色也提供给后边L-N层进行特色交融。特色重用防止了有效特色的反复提取,在晋升网络的分类精度的同时,也无效升高了网络的参数量。DenseNet[9]在ImageNet[2]数据集上的top-1准确率达到了79.2% 至此,人工设计网络结构的相干工作开始进入了百花齐放的时代,与此同时,谷歌大脑(Google Brain)的钻研人员于2018年提出了神经网络构造搜寻(Neural Architecture Search)。尔后,神经网络设计进入了自动化时代。因为NAS须要的计算资源较大,因而晚期NAS都是在一个小数据集上,如CIFAR-10,搜寻出一个根底卷积结构单元(Cell),之后再通过复制这些根底卷积结构单元,“迁徙”到如ImageNet[2]这样的大数据集上。如图4所示,网络搜寻过程由一个RNN网络管制,根底卷积结构单元接管”hidden state”列表里前两个状态hi和hi-1或列表里的两个状态的输入(图4中的灰色方框),之后从图5所示的操作中抉择2个(图4中的黄色方框),作用在选出的两个状态上,最初再应用加法(add)或叠加(concat)(图4中的绿色方框)的交融办法进行交融,一直迭代减少新的根底卷积结构单元,直到根底卷积结构单元的数量达到预设的N。应用这种网络搜索算法,搜出的NASNet[10]在ImageNet[2]数据集上的top-1准确率达到了82.7%,达到和超过了人工设计的网络结构。 NASNet[10]开启了神经网络搜寻时代,实现了网络结构的设计的自动化,但其缺点也比拟显著。NASNet[10]的搜寻空间依然是人为设定的,是一种基于给定搜寻空间的网络结构搜索算法。针对这一问题,FAIR何凯明团队2020年提出了用于设计搜寻空间的办法,RegNet[12]论文中将网络结构搜寻空间也作为网络结构设计的一部分。如图6所示,通过一直优化网络搜寻空间,同时取得了最佳的搜寻空间和该搜寻空间中的最佳网络结构。 2020年,谷歌提出ViT(Vision Transformer)[13],将NLP(Natural Language Processing)畛域应用的Transformer引入视觉畛域,将图像分为分辨率雷同的若干子块,每一个子块作为NLP畛域的一个字符(token)进行解决。Transformer自注意力机制的引入,极大进步了网络的分类成果,在ImageNet[2]数据集上的top-1准确率达到了88.55%。 图3 DenseNet 图4 RNN控制器 图5 NASNet根底卷积结构单元 图6 基于深度学习的图像细粒度分类 在过来的十年,深度学习推动图像分类获得了长足进步,但常见的图像分类数据集,如ImageNet[2],中的类别的粒度依然较粗。比方,狗这个类别下,还能够细分为拉布拉多、金毛寻回犬、边陲牧羊犬等细分类别。粗粒度的分类曾经越来越无奈满足理论生产生存的须要,学术界及工业界迫切希望深度学习能在细粒度分类工作中施展重要作用。与粗粒度分类不同,细粒度分类更加关注物体细节之间的差别,须要模型更加留神一些细节,因而,学术界提出了“注意力”机制。 近年来,注意力机制被宽泛引入细粒度分类畛域,呈现了如SE[14]、GE[15]、CBAM[16]、SK[17]等注意力模块,这些模块被融入各种网络结构中,无效地晋升了分类成果。 SE模块提出绝对较早,2017年由Momenta提出,由SE模块构建的SENet也成为了2017年末代ImageNet[2]分类比赛的冠军网络。卷积神经网络(CNN)同时交融空间和通道信息,SE模块则更加关注通道信息的交融。如图7所示,对Feature Map U首先进行Squeeze操作,失去一个通道形容子,该形容子次要用来形容各通道的响应散布。紧接着对该形容子进行excitation操作,失去各通道权值向量,并应用该权值向量对Feature Map的各通道进行加权,增强权值较大的通道,克制权值较低的通道,通过这种形式实现了通道注意力机制。 应用SE[14]模块实现通道注意力机制之后,Momenta又在2018年提出了空间注意力模块GE[15]。如图8所示,GE[15]应用自定义的Gather和Excite模块实现了空间感触野区域的注意力机制。 2018年,还呈现了另一个同时交融通道、空间注意力的注意力模块,即CBAM[16]。如图9所示,对于任意一个Feature Map,CBAM模块先后提取通道和空间注意力信息,并别离跟相应的Feature Map进行加权,同时实现了通道和空间注意力。 通道、空间注意力被相继引入之后,SK[17]模块又将多尺度特色这一计算机视觉畛域罕用的办法引入了注意力机制。如图10所示,SK模块首先应用两个不同大小的卷积核解决Feature Map,再将后果相加,再通过一系列操作,失去了每一路的权值a和b,应用a和b对每一路Feature Map加权后,失去最终的Feature Map。 图7 SE(Squeeze & Excitation)模块 图8 GE(Gather & Excite)模块 图9 CBAM模块 图10 SK模块 基于深度学习的图像细粒度分类算法在CVPR较量中的利用6月19日,CVPR 2022在美国举办,CVPR作为寰球计算机视觉三大顶级会议之一,被誉为计算机视觉畛域的“奥斯卡”。汽车之家团队在作为大会研讨会内容之一的,在Kaggle上举办的CVPR 2022 Sorghum-100 Cultivar Identification-FGVC 9(高粱品种鉴定细粒度图像分类)挑战赛中获得了第二名的问题,实现了公司历史上的冲破。 细粒度图像分类始终是计算机视觉畛域的钻研热点,次要难点在于细粒度标注图像的类间间隔小,类内间隔大导致局部图像的类别靠人眼都很难分辨,比方,此次FGVC9的较量中,高粱品种鉴定和动物标本辨认比赛的数据须要很强的专业知识能力断定图像所属类别。如图11所示,两个圈内的同样色彩的样本之间的间隔称为类内距,不同色彩的样本之间的间隔称为类间距。 图11 类内距和类间距 ...

August 16, 2022 · 1 min · jiezi

关于深度学习:预约直播-深度学习编译器技术趋势与阿里云BladeDISC的编译器实践

一、分享议题:深度学习编译器技术趋势与BladeDISC的编译器实际 二、直播工夫:2022年08月17日(周三)18:00-18:30 三、 议题介绍:对深度学习编译器的钻研能够进步模型训练和推理的速度、施展硬件最大算力,是深度学习在生产中落地的重要课题。 深度学习的倒退使得很多模型呈现出了动静Tensor Shape的个性,传统优化伎俩(如计算图优化)和以TensorFlow XLA、Apache TVM为代表的一批深度学习编译器不能很好地适应这种场景,因而咱们须要思考如何提供具备「动态性」反对的深度编译器。BladeDISC是阿里云自主研发的具备动态性反对的深度学习编译器。 四、听众收益 BladeDISC起源如何基于开源社区的设施构建反对动态性的深度学习编译器BladeDISC技术细节

August 15, 2022 · 1 min · jiezi

关于深度学习:EasyNLP集成KBERT算法借助知识图谱实现更优Finetune

作者:汪诚愚 张涛林 黄俊 导读常识图谱(Knowledge Graph)的概念⾸次呈现2012年,由Google提出,它作为⼀种⼤规模语义⽹络, 精确地形容了实体以及实体之间的关系。常识图谱最早应⽤于搜索引擎,⽤于筹备返回⽤户所需的常识。随着预训练语⾔模型的一直倒退,将常识图谱中的常识三元组融⼊预训练模型,对晋升模型的成果有重要的作⽤。经典的常识注⼊算法间接将常识图谱中实体的词嵌⼊向量注⼊预训练模型的词嵌⼊向量中;然⽽,常识图谱中实体的词嵌⼊向量和预训练模型的词嵌⼊向量的向量空间不⼀致,⽽且容易引起常识噪⾳(Knowledge Noise)的问题。K-BERT算法提出利⽤Visible Matrix在BERT模型中引⼊内部常识,具备较好的成果。 因而,咱们在EasyNLP这⼀算法框架中集成了K-BERT算法,使⽤户在具备常识图谱的状况下,获得更好的模型Finetune成果。 EasyNLP(https://github.com/alibaba/Ea...)是阿⾥云机器学习PAI 团队基于 PyTorch 开发的易⽤且丰盛的中⽂NLP算法框架,⽀持常⽤的中⽂预训练模型和⼤模型落地技术,并且提供了从训练到部署的⼀站式 NLP 开发体验。EasyNLP 提供了简洁的接⼝供⽤户开发 NLP 模型,包含NLP应⽤ AppZoo 和预训练 ModelZoo,同时提供技术帮忙⽤户⾼效的落地超⼤预训练模型到业务。因为跨模态了解需要的一直减少,EasyNLP也⽀持各种跨模态模型,特地是中⽂畛域的跨模态模型,推向开源社区,心愿可能服务更多的 NLP 和多模态算法开发者和研 究者,也心愿和社区⼀起推动 NLP /多模态技术的倒退和模型落地。 本⽂简要介绍K-BERT的技术解读,以及如何在EasyNLP框架中使⽤K-BERT模型。 K-BERT模型详解BERT等预训练语言模型从大规模语料库中捕捉文本语言示意,但不足畛域特定的常识。而领域专家在浏览畛域文本时,会利用相干常识进行推理。为了实现这一性能,K-BERT提出了面向常识图谱的常识加强语言模型,将三元组作为畛域常识注入到句子中。然而,过多的常识融入会导致常识乐音,使句子偏离其正确的含意。为了克服常识乐音, K-BERT引入了Soft-position和Visibel Matrix来限度常识的影响。因为K-BERT可能从预训练的BERT中加载模型参数,因而通过装备KG,能够很容易地将畛域常识注入到模型中,而不须要对模型进行预训练。K-BERT的模型架构和常识注入的利用示例如下所示:特地地,在模型的输出层,K-BERT表征层通过地位索引将语句树转换为句子,结构三种表征形式:Token表征、Soft-position表征和Segment表征。其中Soft-position表征作为地位嵌入,为重排的序列提供句子构造信息。此外,通过Visible Matrix来笼罩不应该看到的Token,防止了常识噪声问题。如下图所示,以Beijing为例,给定常识三元组(Beijing,capital,China),K-BERT通过Visible Matrix限度只有Beijing能“看到”其相干的关系词和宾语,别离为“capital”和“China”。与之相同,一个常识无关的词now则无奈“看到”“capital”和“China”。从作者论文中咱们也能够看到K-BERT中的Attention Matrix的计算过程:其中,M即为Visible Matrix,为了示意K-BERT输出Token序列是否相互“看见”,定义M如下:因而,当两个Token相互能够“看见”,M矩阵对应的元素值为0,因而Attention Matrix的计算过程和一般BERT雷同。反之,当两个Token不能相互“看见”,M矩阵对应的元素值为负无穷,对应SoftMax函数后的权重则会趋于0,这使得这两个Token在Self-Attention计算过程中互无影响。这就在计算过程中,大大缓解了常识图谱加强过程的常识噪声问题。 K-BERT模型的实现与成果在EasyNLP框架中,咱们在模型层构建了K-BERT模型的Backbone,其核⼼代码如下所示: self.kbert = KBertModel(config, add_pooling_layer=False)self.cls = KBertOnlyMLMHead(config)outputs = self.kbert( input_ids, attention_mask=attention_mask, token_type_ids=token_type_ids, position_ids=position_ids, head_mask=head_mask, inputs_embeds=inputs_embeds, encoder_hidden_states=encoder_hidden_states, encoder_attention_mask=encoder_attention_mask, output_attentions=output_attentions, output_hidden_states=output_hidden_states, return_dict=return_dict,)sequence_output = outputs[0]prediction_scores = self.cls(sequence_output)loss_fct = CrossEntropyLoss()masked_lm_loss = loss_fct(prediction_scores.view(-1, self.config.vocab_size), labels.view(-1))其中,在K-BERT中,模型Backbone的Attention Mask由两个Matrix加和而成,别离为一般的Attention Mask和Visible Matrix,实现外围代码如下: extended_attention_mask = self.get_extended_attention_mask(attention_mask, input_shape, device) + self.get_extended_attention_mask(visible_matrix, input_shape, device)在数据预处理过程中,咱们须要取得以后样本的输出文本和常识三元组,从而计算出Visible ` ...

August 15, 2022 · 2 min · jiezi

关于深度学习:一块GPU训练TB级推荐模型不是梦OneEmbedding性能一骑绝尘

起源 | 机器之心 个性化举荐已成为人们获取信息的次要模式。以往,人们更多通过被动搜查本人感兴趣的信息,而当初,基于算法举荐技术的信息散发平台会自动识别用户趣味,疾速筛选信息,推送用户所感兴趣的信息。 一方面,举荐零碎大幅晋升了用户体验,另一方面,个性化散发信息更精准、高效,能够帮忙平台更精确地匹配用户和信息,大大提高流量变现效率,基于举荐技术的流量变现引擎甚至成就了万亿市值的宏大商业帝国。 从短视频信息流举荐、广告搜寻到线上购物,这些利用都构筑于精准的举荐零碎之上,背地的外围功臣就是深度学习模型。 不过,随着海量数据的积攒以及更加频繁的用户数据迭代,底层零碎可扩展性和训练速度面临严厉的挑战。人们发现,通用深度学习框架都不能间接满足工业级举荐零碎的需要,而是必须基于通用深度学习框架做深度定制,甚至于要开发专门的零碎才行。 针对古代举荐零碎的种种痛点,OneFlow 团队推出了一款高性能、可扩大、灵便度高的举荐零碎组件 OneEmbedding。它的应用形式和通用深度学习框架一样简略,性能却远超通用框架,甚至超过了 NVIDIA HugeCTR 这样为举荐场景定制开发的零碎。 具体而言,在 DCN、DeepFM 两个模型上,无论是 FP32 还是混合精度(automatic mixed-precision, AMP)训练,OneEmbedding 的性能大幅超过 HugeCTR,而在 HugeCTR 深度优化以至于有点 “过拟合” 的 DLRM 模型上,OneEmbedding 性能与 HugeCTR 根本持平。 (以上测试环境均为:CPU Intel(R) Xeon(R) Platinum 8336C CPU @ 2.30GHz 2;CPU Memory 1920GB;GPU NVIDIA A100-SXM-80GB 8;SSD Intel SSD D7P5510 Series 3.84TB 4)* 当用户应用 OneFlow 搭建举荐模型时,只需应用以下数行代码对 Embedding 词表进行配置即可训练含有 TB 级别词表的举荐模型: # self.embedding = nn.Embedding(vocab_size, embedding_vec_size)self.embedding = flow.one_embedding.MultiTableEmbedding( "sparse_embedding", embedding_dim=embedding_vec_size, dtype=flow.float, key_type=flow.int64, tables=tables, store_options=store_options, )基于 OneEmbedding 搭建的常见搜寻举荐广告模型案例地址:https://github.com/Oneflow-In... ...

August 12, 2022 · 4 min · jiezi

关于深度学习:课程作业经验基于MIndSpore疫苗接种数据预测

基于mindspore实现疫苗接种数据预测基于机器学习实际课程实现的相干应用mindspore深度学习框架实现的工作,写一些分享心得。数据导入与筹备数据下载链接:https://pan.baidu.com/s/10npL... 提取码:23vb疫苗接种数据集蕴含1983年-2016年疫苗接种数据,其模式如下图所示:读取数据并进行训练集、测试集宰割:df = pd.read_csv("vaccine.csv")features = df["Year"]target = df["Values"]split_num = int(len(features)*0.7) X_train = features[:split_num]y_train = target[:split_num] X_test = features[split_num:]y_test = target[split_num:] 创立数据X_train,X_test = poly_transform(X_train,X_test,degree=1)ds_train=create_dataset(X_train,y_train,batch_number,repeat_number)复制构建多项式特色:def poly_transform(X_train,X_test,degree=2): '''多项式特色'''poly_features_2 = PolynomialFeatures(degree = degree, include_bias=False)poly_X_train_2 = poly_features_2.fit_transform(X_train.values.reshape(len(X_train),1))poly_X_test_2 = poly_features_2.fit_transform(X_test.values.reshape(len(X_test),1))return poly_X_train_2,poly_X_test_2复制全连贯网络模型建设构建一层1->1的网络,比较简单:class LinearNet(nn.Cell): def __init__(self,n=1): super(LinearNet,self).__init__() # 定义一个线形层,同时初始化权重和偏置 self.fc=nn.Dense(n,1,Normal(0.02),Normal(0.02),has_bias=True) def construct(self,x): x=self.fc(x) return x复制设定优化器以及其余参数在这里咱们采纳MSEloss函数,以及Momentum优化器,感兴趣的话能够探索其余参数。# 初始化超参数batch_number=1repeat_number=1epoch = 1000 创立模型net=LinearNet(n=1)net_loss=nn.loss.MSELoss()opt=nn.Momentum(net.trainable_params(),learning_rate=1e-7,momentum=0.01)复制模型训练Mindspore实现的模型训练较为简单,封装的很好。model=Model(net,net_loss,opt)model.train(epoch, ds_train, dataset_sink_mode=False)复制测试后果残缺代码import numpy as npimport pandas as pdfrom mindspore import Model, Tensorfrom mindspore import dataset as dsfrom mindspore import nnfrom mindspore.common.initializer import Normalfrom sklearn.preprocessing import PolynomialFeatures ...

August 12, 2022 · 1 min · jiezi

关于深度学习:实时云渲染让元宇宙从科幻走入现实

元宇宙概念继续升温,各大科技巨头纷纷入局。风口的宇宙世界,如何从科幻走入事实?在元宇宙世界中,真切且实时出现的视觉效果分外重要,栩栩如生的人物、鬼斧神工的场景、一个又一个精美的世界离不开大计算量的渲染技术加持。弱小的实时云渲染技术将成为宇宙基础设施重要的组成部分。元宇宙的入口元宇宙(Metaverse)是整合多种新技术而产生的新型虚实相融的互联网利用和社会形态,它基于扩大事实技术提供沉迷式体验,基于数字孪生技术生成事实世界的镜像,基于区块链技术搭建经济体系,将虚拟世界与事实世界在经济零碎、社交零碎、身份零碎上亲密交融,并且容许每个用户进行内容生产和世界编辑。在这个虚拟世界里,商业、娱乐、教育等大量的社会关系都能够从新构建。北京大学陈刚传授、董浩宇博士认为:“元宇宙是利用科技伎俩进行链接与发明的,与事实世界映射与交互的虚拟世界,具备新型社会体系的数字生活空间。”元宇宙作为一个在扩大事实(XR)、区块链、云计算、数字孪生等新技术下具化的概念,其既有事实世界的数字化复制物,也有虚拟世界的创造物。电影《头等玩家》为咱们描述了将来世界的场景:一个个戴着XR设施的玩家在虚构网络世界中漫游。这样的场景使得元宇宙的高实时性、高互动性和高沉迷感对于终端设备的算力要求非常刻薄,为了冲破算力限度,云渲染技术的采纳将必不可少。计算与渲染成为元宇宙至关重要的基础设施。实时云渲染发明了什么在谈云渲染之前,要先理解云渲染。渲染是电脑制图(CG)的最初一步,是指通过软件由模型生成图像的过程,包含几何、视点、纹理、照明和暗影等的解决。影视、动画、游戏、室内设计、产品设计、迷信模仿等泛滥畛域都须要渲染技术。真切的渲染不仅须要弱小的技术,更须要微小的计算量。在出名电影《变形金刚3》中,“钻探兽捣毁摩天大楼”这一场景的制作超级简单,波及超过20万整机,每帧画面渲染时长288小时,几十秒镜头须要超过20万小时的渲染,如果用一台机器不停渲染,要工作23年能力实现。”一部优质的电影必然是将场景构建、人物刻画,乃至在不起眼的配饰、道具上都做到极致。这就意味着元宇宙的搭建将须要渲染更多帧数、消耗更长时间,且对硬件各项运算能力、绘图能力以及存储性能的要求更高。元宇宙是一个空间维度上虚构,但工夫维度上实在的数字世界。它将平行于事实世界运行,与内部世界既严密相连,又高度独立,在这里,人与人之间的交互体验,不仅须要超高清晰度(8k+),同样须要极低时延,以模仿最实在的体验。长续航、轻量化的终端决定了只能通过分布式云进行简单计算和实时渲染,以实时送达到用户端。这是一个艺术难题,也是一个技术难题。分布式云的云渲染凭借海量计算和弹性应用的个性,为渲染周期的缩短提供了最优解,减速了元宇宙的到来。当下云渲染技术次要从以下两个方面进行赋能:(1)云渲染公有化构造--“云计算”云计算波及的概念比拟多,比如说云计算、雾计算、边缘计算等。咱们所说的云计算,个别指的是私有云计算。云渲染公有化构造是指三维利用云渲染服务,以自研云流送技术为外围,利用云端海量GPU算力资源解决沉重的图像渲染计算,并串流同步输入到终端设备从而实现终端设备的轻量化,满足客户随时随地跨终端、可交互、超高清、沉迷式拜访三维利用的需要(2)云渲染私有化部署--“雾计算”雾计算,是元宇宙现阶段的落地之路。雾计算,可了解为本地化的云计算。在元宇宙的巨大框架下,人们能够先构建一些“雾滴”,这些“雾滴”能够保障在现有技术条件下人们可能以较好的体验感进入元宇宙。目前,对于对成果及安全性要求较高的公有单位,比如说军事院校等,云渲染能够提供公有云方面的服务,实现私有化部署。云渲染私有化部署计划将三维内容部署在公有云上,利用公有云进行实时渲染,克服终端运行艰难的瓶颈。通过局域网形式拜访相应资源,实现私有化部署。云渲染私有化计划适宜对画质要求高、平安要求高、稳固要求高的用户,在局域网环境下,私有化计划可能最大限度施展实时渲染的平台劣势,让用户体验最好的成果。想要理解更多相干信息,欢送拜访渲巨匠官网:w.xuandashi.com/

August 11, 2022 · 1 min · jiezi