码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【AI系统内容推荐第26期】更新一下我对深度学习编译器和框架的认识;OpenPPL 中的卷积优化技巧;机器学习访存密集计算编译优化框架AStitch


    1、更新一下我对深度学习编译器和框架的认识

    深度学习基础软件里最hard core的问题有两个,一个是微观层次的auto codegen,即用领域特定语言 DSL 描述一个算法的逻辑,自动生成在各种后端上最高效的代码;另一个是宏观层次的自动分布式并行,也就是用户面向单卡写一个神经网络模型,框架自动生成在特定拓扑结构连接的多机多卡上运行的分布式代码。OneFlow团队和世界上其它同行最近做的一些工作,给我越来越强的信号,这些问题,无论是微观层次,还是宏观层次,都快要被解决了。

    链接:袁进辉:更新一下我对深度学习编译器和框架的认识

    2、机器学习访存密集计算编译优化框架AStitch,大幅提升任务执行效率

    AStitch通过编译优化的手段来自动化地提高机器学习任务的执行效率, 提出了一种大粒度计算融合的编译优化手段,通过计算图的依赖关系特性、GPU多层次存储架构上的数据局部性、以及不同数据尺寸之下的线程并发性等三个方面的联合考虑,自动化地为大粒度的复杂访存密集算子子图生成高效的GPU代码,从而大幅减少GPU kernel调用及框架层算子调度的额外开销,避免了不必要的重复计算。大幅减少片外访存的同时,可适配各种数据尺寸以得到最佳并行效率。对比XLA[1],AStitch最高可以取得2.73倍的性能加速。

    链接:阿里灵杰:【ASPLOS 2022】机器学习访存密集计算编译优化框架AStitch,大幅提升任务执行效率

    3、一文轻松掌握深度学习框架中的einsum

    本文主要介绍了如何理解 PyTorch 中的爱因斯坦求和 (einsum) ,并结合实际例子讲解和 PyTorch C++实现代码解读,希望读者看完本文后掌握 einsum 的基本用法。

    链接:一文轻松掌握深度学习框架中的einsum

    4、一文理解深度学习框架中的InstanceNorm

    本文主要推导 InstanceNorm 关于输入和参数的梯度公式,同时还会结合 PyTorch 和 MXNet 里的 InstanceNorm 代码来分析。

    链接:一文理解深度学习框架中的InstanceNorm

    5、CUDA GEMM 理论性能分析与 kernel 优化

    GEMM(General Matrix Multiplication,通用矩阵乘法)是并行计算中经典的计算密集型应用,也是入门计算密集型 CUDA 程序优化非常好的例子,本文从 CUDA GEMM 实现方案的理论性能分析和 kernel 代码优化技巧两个方面分享如何将 GEMM 性能优化到接近设备理论算力。

    链接:李少侠:[施工中] CUDA GEMM 理论性能分析与 kernel 优化

    6、OpenPPL 中的卷积优化技巧

    本文将介绍 OpenPPL 目前开源的卷积算子实现方法,从算法层面介绍 OpenPPL 在 Tensor Core 上的设计方法和优化经验。不涉及 mma 指令、ldmatrix 指令等的使用技巧,比如 conflict-free 的数据搬运、shared memory 的数据排布等,相关知识可以参考 ptx 手册及英伟达官方的教程。

    链接:OpenPPL:OpenPPL 中的卷积优化技巧

    7、GPU在外卖场景精排模型预估中的应用实践

    GPU等专用芯片以较低的成本提供海量算力,已经成为机器学习领域的核心利器,在人工智能时代发挥着越来越重要的作用。如何利用GPU这一利器赋能业务场景,是很多技术研发者都要面临的问题。本文分享了美团外卖搜索/推荐业务中模型预估的GPU架构设计及落地的过程,希望能对从事相关应用研发的同学有所帮助或启发。

    链接:GPU在外卖场景精排模型预估中的应用实践

    8、机器内存不够怎么办?梯度累积算法快速帮你解决

    在深度学习训练的时候,数据的batch size大小受到GPU内存限制,batch size大小会影响模型最终的准确性和训练过程的性能。在GPU内存不变的情况下,模型越来越大,那么这就意味着数据的batch size智能缩小,这个时候,梯度累积(Gradient Accumulation)可以作为一种简单的解决方案来解决这个问题。

    链接:机器内存不够怎么办?简易好用的梯度累积算法快速帮你解决!

    9、强化学习算法成功控制核聚变;元宇宙里的AI玩出新花样

    近期业内发布了这些有趣且重要的AI应用:Nature重磅,DeepMind利用强化学习算法成功控制核聚变装置;突破原有技术应用形态,Meta元宇宙这样玩AI;告别渣画质动漫视频,B站开源动漫超分辨率模型;2D图片生成3D新模型,NeROIC让你的手办更精致

    链接:强化学习算法成功控制核聚变;元宇宙里的AI玩出新花样

    其他人都在看

    • OneFlow实习岗位热招

    • 计算机架构的新黄金时代

    • 那些在开源世界顶半边天的女同胞们

    • 一文理解深度学习框架中的InstanceNorm

    • 计算机史最疯狂一幕:“蓝色巨人”奋身一跃

    • 30年做成三家独角兽公司,AI芯片创业的底层逻辑

    欢迎下载体验OneFlow新一代开源深度学习框架:

    https://github.com/Oneflow-Inc/oneflowicon-default.png?t=M276https://github.com/Oneflow-Inc/oneflow

  • 相关阅读:
    【云原生】Secret敏感信息存储
    开放科学背景下的科学数据开放共享:国家青藏高原科学数据中心的实践
    基于Java+SpringBoot+Thymeleaf+Mysql企业网站公司网站系统设计实现
    Angular-03:组件模板
    CMU15445 (Fall 2019) 之 Project#4 - Logging & Recovery 详解
    每日五道java面试题之springMVC篇(一)
    找到一个超级神奇,百试百灵的解决 ModuleNotFoundError: No module named xxx 的方法
    Linux驱动开发——(一)设备树的基本属性及其应用
    提高Python并发性能 - asyncio/aiohttp介绍
    什么是虚拟化技术,如虚拟机和容器的特点和应用场景
  • 原文地址:https://blog.csdn.net/OneFlow_Official/article/details/123418587
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号