zoukankan      html  css  js  c++  java
  • 《浅谈AI模型如何加速训练?》

    浅谈AI模型如何加速训练?

     
     

    本文浅要总结了一些模型加速的重点思路,主要适用于深度模型和一小部分传统AI。内容分为如下几个层级展开:

    1. 做科研,如何在算法层加速。
    2. 做科研,如何用小技巧加速。(所谓tricks)
    3. 做科研,如何在工程上加速。
    4. 做工程,如何在编码层面加速。
    5. 做工程,如何在机器层面加速。

     

    下面咱们挨个说。

     

    做科研想在算法上加速,优化器可以用Nesterov从数学上加速下降、用selu达成数学形式的精简、规定lipschiz性质、为目标设置松弛变量、做boosting、根据较新研究成果所示减小batchsize、找上下界寻求近似解、权重稀疏化低秩化、数据做低秩表达

     

    做科研加速训练的小技巧有:数据降维、归一化、正则化、初始化参数(重点)、调超参(重点,磨刀不误砍柴工)、权重量子化

     

    做科研的工程方法:数据全放到内存里!显卡cuda大显存!集群spark!帮老板招募本科生!吃好喝好...

     

    做工程编码:首选速度快的编译型静态语言,比如c、cpp。不要在源代码里瞎写乱七八糟的邪门招式什么协程内联嵌入汇编,写的玩意费时间不说,还不如老老实实一句O3好使。要大循环在内小循环在外、一定要减少jmp、避免清空流水线、用英特尔性能分析工具、openmp。小任务不要多线程大任务再多线程

     

    做工程在机器层面加速:买,别寻思。有你寻思的功夫,新一代u都面世了。

     

     

    最后,早点到实验室,加速效果比啥都好。

  • 相关阅读:
    app缓存设计-文件缓存
    设计模式-模板方式
    设计模式-观察者模式
    java 类加载顺序
    Java项目添加log4j日志文件错误记录
    如何在eclipse中配置反编译工具JadClipse
    eclipse反编译插件jadClipse安装使用教程
    StringUtils工具类的isBlank()方法使用说明
    SLF4J: Failed to load class的问题及解决
    GitHub的Fork 是什么意思
  • 原文地址:https://www.cnblogs.com/cx2016/p/12868556.html
Copyright © 2011-2022 走看看