作者:王博文 | 旷视 MegEngine 架构师 一.背景 对于深度学习框架来说,网络的训练/推理时间是用户非常看中的.在实际生产条件下,用户设计的 NN 网络是千差万别,即使是同一类数学计算,参数也各不相同.如果没有针对性的优化,框架就完全丧失竞争力.因此,在一类数学计算中,开发者们会开发多种高效的算法,分别适用于不同的参数,以保证网络的性能.接下来开发者们需要解决一个新问题,当计算参数确定以后,如何让最快的算法执行该计算. 大部分框架靠先验的经验选择算法,MegEngine 亦总结有优秀的…
用户实践系列,将收录 MegEngine 用户在框架实践过程中的心得体会文章,希望能够帮助有同样使用场景的小伙伴,更好地了解和使用 MegEngine ~ 作者:王雷 | 旷视科技 研发工程师 背景 随着人工智能技术的发展及应用领域的不断扩大,算力较弱的移动设备成为模型推理的重要运算载体,优化其推理性能因此成为重要的工程问题.一般认为,让模型运行于 GPU 上会比运行于 CPU 上具有较大的优势,取得可观的性能提升.这通常是真实情况,但是,在工程实践中我们也发现,对于某些模型维度较小的模型,在移…
MegEngine推理性能优化 MegEngine「训练推理一体化」的独特范式,通过静态图优化保证模型精度与训练时一致,无缝导入推理侧,再借助工业验证的高效卷积优化技术,打造深度学习推理侧极致加速方案,实现当前业界最快运行速度.本文从推理侧的数据排布(Inference Layout)讲起,接着介绍MegEngine的Im2col+MatMul.Winograd.Fast-Run工程优化实践.经典的轻量卷积神经网络实验表明,经过MegEngine加速,ResNet18和ResNet50最高加速比…
作者:王博文 | 旷视 MegEngine 架构师 一.背景 对于深度学习框架来说,网络的训练/推理时间是用户非常看中的.在实际生产条件下,用户设计的 NN 网络是千差万别,即使是同一类数学计算,参数也各不相同.如果没有针对性的优化,框架就完全丧失竞争力.因此,在一类数学计算中,开发者们会开发多种高效的算法,分别适用于不同的参数,以保证网络的性能.接下来开发者们需要解决一个新问题,当计算参数确定以后,如何让最快的算法执行该计算. 大部分框架靠先验的经验选择算法,MegEngine 亦总结有优秀的…
本文翻译自 Yizhi Liu, Yao Wang, Ruofei Yu.. 的  "Optimizing CNN Model Inference on CPUs" 原文链接: https://arxiv.org/abs/1809.02697 翻译:coneypo,working in Intel for IoT 这篇文章介绍了基于 TVM 改进的 NeoCPU 方案,在 CPU 上进行 CNN 模型推理优化: 与之对比是 Intel 的 OpenVINO 版本(2018.5 ,最新的…
引言 天猫精灵(TmallGenie)是阿里巴巴人工智能实验室(Alibaba A.I.Labs)于2017年7月5日发布的AI智能语音终端设备.天猫精灵目前是全球销量第三.中国销量第一的智能音箱品牌. 在天猫精灵业务系统中,大量使用了算法模型.如领域分类模型,意图分类模型,槽填充模型,多轮对话模型等.当前天猫精灵后台有上百个正在使用的算法模型. 在模型服务方面,有两个问题非常重要: 首先,为了保证服务能够得到快速响应,模型的 RT 必须尽可能的短. 其次,我们希望在硬件资源一定的情况下能够支持…
目录 1.调整模型参数来提高性能 1.1 创建简单的调整模型 2.2 定制调整参数 2.使用元学习来提高性能 2.1 集成学习(元学习)概述 2.2 bagging 2.3 boosting 2.4 随机森林 1)训练随机森林 2)评估随机森林性能 1.调整模型参数来提高性能 参数调整:调节模型合适的选项的过程,如股票C5.0决策树模型中的trials参数,神经网络中的调节节点.隐层数目,SVM中的核函数等等. caret包自动调整参数:train函数,为分类和回归的150种不同机器学习模型自动…
JVM内存模型和性能优化 JVM内存模型优点 内置基于内存的并发模型:      多线程机制 同步锁Synchronization 大量线程安全型库包支持 基于内存的并发机制,粒度灵活控制,灵活度高于数据库锁. 多核并行计算模型 基于线程的异步模型. JVM性能的人为问题 关键原因是:没有正确处理好对象的生命周期. 需要从需求中找出存在自然边界的业务对象,将其对应落实到内存中,成为内存模型In-memory Domain Model. 有大小边界限制的内存是缓存,没有永远使用不完的内存,缓存=“…
使用异步 I/O 大大提高应用程序的性能 学习何时以及如何使用 POSIX AIO API Linux® 中最常用的输入/输出(I/O)模型是同步 I/O.在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止.这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU).但是在某些情况中,I/O 请求可能需要与其他进程产生交叠.可移植操作系统接口(POSIX)异步 I/O(AIO)应用程序接口(API)就提供了这种功能.在本文中,我们将对这个…
NS2仿真实验报告3 实验名称:公交车移动周期模型及性能分析 实验日期:2015年3月16日~2015年3月21日 实验报告日期:2015年3月22日 一.实验环境(网络平台,操作系统,网络拓扑图) 运行平台:虚拟机VMwareWorkstation11.0 操作系统:Linux/CentOS6.5仿真分析工具:NS2.35中的仿真软件ns,图形界面工具nam,编译工具awk,图表编辑器xgraph 网络拓扑图: 二.  实验目的 建立简单回路城市公交模型,假定给回路中的每个公交车都配置一个数据…