自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 【AI编译器原理】系列来啦!我们要从入门到放弃!

AI编译器】深度学习的编译与优化就是将当前的深度学习计算任务通过一层或多层中间表达进行翻译和优化,最终转化成目标硬件上的可执行代码的过程。本系列将围绕现有【AI编译器】中的编译和优化工作的内容展开介绍。

2023-01-16 17:44:31 18

原创 【AI框架核心技术】系列来啦!从入门到放弃!

【AI框架核心技术】这个系列,主要是跟大家一起探讨和学习人工智能、深度学习的计算机系统设计,而整个系统是围绕着我在工作之余所积累、梳理、构建关于AI框架的一些核心技术内容。

2023-01-12 23:49:53 18

原创 CLIP:多模态领域革命者

OpenAI 财大气粗力大砖飞搞出了 CLIP,在400M的图像-文本对数据上,用最朴素的对比损失训练双塔网络,利用text信息监督视觉任务自训练,对齐了两个模态的特征空间,本质就是将分类任务化成了图文匹配任务,效果可与全监督方法相当。在近 30 个数据集上 zero-shot 达到或超越主流监督学习性能。Let's dive in!...

2022-08-18 19:34:15 702

原创 Diffusion Models:生成扩散模型

扩散模型(Diffusion Models)发表以来其实并没有收到太多的关注,因为他不像 GAN 那样简单粗暴好理解。不过最近这几年正在生成模型领域异军突起,当前最先进的两个文本生成图像——OpenAI 的 DALL·E 2和 Google 的 Imagen,都是基于扩散模型来完成的。...

2022-08-04 00:31:45 4413 1

原创 【自动微分实现】反向OO实现自动微分(Pytroch核心机制)

这里记录一下使用操作符重载(OO)编程方式的自动微分,其中数学实现模式则是使用反向模式(Reverse Mode),综合起来就叫做反向OO实现AD啦。

2022-07-31 13:44:31 438 1

原创 EfficientFormer:轻量化ViT Backbone

MobileViT 结构上基本基于 MobileNet V2 而改进增加了 MobileViT block,但是同样能够实现一个不错的精度表现,文章实验部分大量的对比了 MobileViT 跟 CNN 和 ViT 模型的参数量和模型大小,不过值得一提的是在端侧除了模型大小以外,更加重视模型的性能,只能说这篇文章经典之处是开创了 CNN 融合 ViT 在端侧的研究。...

2022-07-22 16:54:51 637

原创 MobileViT:挑战MobileNet端侧霸主

MobileViT 结构上基本基于 MobileNet V2 而改进增加了 MobileViT block,但是同样能够实现一个不错的精度表现,文章实验部分大量的对比了 MobileViT 跟 CNN 和 ViT 模型的参数量和模型大小,不过值得一提的是在端侧除了模型大小以外,更加重视模型的性能,只能说这篇文章经典之处是开创了 CNN 融合 ViT 在端侧的研究。...

2022-07-21 00:11:48 697 1

原创 DeiT:注意力Attention也能蒸馏

DeiT 是一个全 Transformer 的架构。其核心是提出了针对 ViT 的教师-学生蒸馏训练策略,并提出了 token-based distillation 方法,使得 Transformer 在视觉领域训练得又快又好。

2022-07-20 00:21:27 462

原创 MoCo V3:视觉自监督迎来Transformer

今天介绍 MoCo 系列第三版,MoCo v1 和 v2 是针对 CNN 设计的,而 MoCo v3 是针对 Transformer 结构设计的,反映了 MoCo 系列对视觉模型的普适性。

2022-07-18 22:28:34 1109

原创 MoCo V2:MoCo系列再升级

今天介绍 MoCo 系列第二版 MoCo v2 就是在 SimCLR 发表后结合了 SimCLR 优点的图像自监督学习方法,MoCo v1 和 v2 是针对 CNN 设计的,而 MoCo v3 是针对 Transformer 结构设计的,反映了 MoCo 系列对视觉模型的普适性。...

2022-07-18 22:26:37 541

原创 MoCo V1:视觉领域也能自监督啦

何凯明从 CVPR 2020 上发表的 MoCo V1(Momentum Contrast for Unsupervised Visual Representation Learning),到前几天挂在arxiv上面的 MoCo V3(An Empirical Study of Training Self-Supervised Visual Transformers),MoCo一共走过了三个版本。...

2022-07-18 22:22:38 388

原创 MindSpore Python编程规范

本规范以[PEP8](https://www.python.org/dev/peps/pep-0008/)为基础,参考华为Python通用编码规范、安全编程规范,并结合业界共识整理而成,参与MindSpore社区开发需要首先遵循本规范内容(与PEP8冲突部分),其余遵循PEP8规范。...

2022-06-22 23:37:00 132

原创 【自动微分实现】前向操作符重载AD

在这篇文章里,ZOMI会介绍是怎么实现自动微分的,因为代码量非常小,也许你也可以写一个玩玩。前面的文章当中,已经把自动微分的原理深入浅出的讲了一下,也引用了非常多的论文。有兴趣的可以顺着综述A survey这篇深扒一下。

2022-05-26 20:00:37 68

原创 【自动微分原理】具体实现方式

第一篇自动微分原理文章中我们大概初步谈了谈从手动微分到自动微分的过程,第二篇自动微分正反模式中深入了自动微分的正反向模式具体公式和推导。实际上第二章了解到正反向模式只是自动微分的原理模式,在实际代码实现的过程,正方向模式只是提供一个原理性的指导,在真正编码过程会有很多细节需要打开,例如如何解析表达式,如何记录反向求导表达式的操作等等。这一篇文章中,ZOMI希望通过介绍目前比较热门的方法给大家普及一下自动微分的具体实现。【自动微分原理】01. 原理介绍 【自动微分原理】02. 正反模式 【自动微分

2022-05-26 09:30:43 404

原创 【自动微分原理】02. 自动微分的正反模式

本章将深入介绍AI框架离不开的核心功能自动微分,而自动微分则是分为前向微分和后向微分两种实现模式,不同的实现模式有不同的机制和计算逻辑,而无论哪种模式都离不开雅克比矩阵,所以我们也会深入了解一下雅克比矩阵的原理。

2022-05-22 20:31:36 382 2

原创 【自动微分原理】01. 自动微分的原理介绍

自动微分(Automatic Differentiation,AD)是一种对计算机程序进行高效准确求导的技术,一直被广泛应用于计算流体力学、大气科学、工业设计仿真优化等领域。而近年来,机器学习技术的兴起也驱动着对自动微分技术的研究进入一个新的阶段。随着自动微分和其他微分技术研究的深入,其与编程语言、计算框架、编译器等领域的联系愈发紧密,从而衍生扩展出更通用的可微编程概念。本章将从常见的微分方法开始介绍,然后深入自动微分基本概念。

2022-05-22 15:06:51 376

原创 Vision Transformer图像分类(MindSpore实现)

Vision Transformer进行图像分类Vision Transformer(ViT)简介近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大的促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩展性,它已经能够训练具有超过100B参数的空前规模的模型。ViT则是自然语言处理和计算机视觉两个领域的融合结晶。在不依赖卷积操作的情况下,依然可以在图像分类任务上达到很好的效果。模型结构ViT模型的主体结构是基于

2022-05-13 13:26:20 1001 1

原创 分布式训练的通讯原语

在深度学习框架中,分布式训练的通讯原语和通讯实现方式对AI框架分布式训练起着非常重要的作用,如果想要训练大模型(Foundation Model)肯定离不开进行通讯操作,下面橙色标签的是分布式训练中通讯原语在AI框架中的的位置。

2022-02-10 23:13:47 1382

原创 模型压缩:剪枝算法

过参数化主要是指在训练阶段,在数学上需要进行大量的微分求解,去捕抓数据中的微小变化信息,一旦完成迭代式的训练之后,网络模型推理的时候就不需要这么多参数。而剪枝算法正是基于过参数化的理论基础而提出的。

2022-01-26 19:16:26 1161

原创 模型压缩明珠:二值化网络

相比于全精度(FP32)表示的神经网络,二值化可以用XNOR(逻辑电路中的异或非门)或者是简单的计数操作(pop Count),极其简单的组合来代替FP32的乘和累加等复杂的运算来实现卷积操作,从而节省了大量的内存和计算,大大方便了模型在资源受限设备上的部署。

2022-01-14 09:26:50 1838

原创 机器学习和深度学习的区别

机器学习和深度学习算法流程 终于考上人工智能的研究僧啦,不知道机器学习和深度学习有啥区别,感觉一切都是深度学习 挖槽,听说学长已经调了10个月的参数准备发有2000亿参数的T9开天霹雳模型,我要调参发T10准备拿个Best Paper 现在搞传统机器学习相关的研究论文确实占比不太高,有的人吐槽深度学习就是个系统工程而已,没有数学含金量。但是无可否认的是深度学习是在太好用啦,极大地简化了传统机器学习的整体算法分析和学习流程,更重要的是在一些通用的领域任务刷新了传统机器学习算法达..

2022-01-10 19:51:27 275

原创 AI系统——梯度累积算法

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

2022-01-08 21:16:30 478

原创 全网最全-网络模型低比特量化

随着深度学习的发展,神经网络被广泛应用于各种领域,模型性能的提高同时也引入了巨大的参数量和计算量。模型量化是一种将浮点计算转成低比特定点计算的技术,可以有效的降低模型计算强度、参数大小和内存消耗,但往往带来巨大的精度损失。尤其是在极低比特(<4bit)、二值网络(1bit)、甚至将梯度进行量化时,带来的精度挑战更大。这篇文章比较详细,所以下面这个图是这篇文章的一个整体目录。当然啦,除了非常多的文字,这篇文章塞了59个公式,涉及到量化在推理和训练的内容。虽然可能看得很辛苦,但是也希望可以多多支持ZOMI酱

2022-01-07 00:53:13 2095

原创 全网最全-超大模型+分布式训练架构和经典论文

全网最全的超大模型和分布式训练架构梳理,并附上经典论文简介。

2021-12-28 16:48:58 2813

原创 全网最全-神经网络混合精度训练原理

如图所示在网络模型训练阶段, 激活函数的梯度分布式中,有67%的精度小于2^24,直接使用FP16进行表示会截断下溢的数据,这些梯度值都会变为0。通常我们训练神经网络模型的时候默认使用的数据类型为单精度FP32。近年来,为了加快训练时间、减少网络训练时候所占用的内存,并且保存训练出来的模型精度持平的条件下,业界提出越来越多的混合精度训练的方法。这里的混合精度训练是指在训练的过程中,同时使用单精度(FP32)和半精度(FP16)。

2021-12-06 00:24:01 797 3

原创 大模型的发展与解决的问题

目前Foundation Model或者是大模型,特别地火,接下来介绍什么是大模型,大模型的基本概念;接着看看大模型的实际作用,然后基于这些实际作用,我们简单展开几个应用场景。最后就是介绍支持大模型训练的AI框架。在往下看之前,想抛出几个问题,希望引起大家的一个思考:1)为什么预训练网络模型变得越来越重要?2)预训练大模型的未来的发展趋势,仍然是以模型参数量继续增大吗?3)如何预训练一个百亿规模的大模型?Foundation Model2021年8月份,李飞飞和100多位学者联名发表

2021-11-13 12:09:16 2851

原创 从分布式训练到大模型训练

要了解大模型训练难,我们得先看看从传统的分布式训练,到大模型的出现,需要大规模分布式训练的原因。接着第二点去了解下大规模训练的挑战。从分布式训练到大规模训练常见的训练方式是单机单卡,也就是一台服务器配置1块AI芯片,这是最简单的训练方式。随着数据量的增加,希望加快模型的训练速度,于是出现了单机多卡,多块AI芯片并行,以一台机器上配置8块AI芯片为例,把数据切分成8份,分别在8块AI芯片上都跑一次BP算法,计算出梯度,然后所有AI芯片上计算出的梯度进行平均,更新模型参数。这样的话,以前一次BP只能训练

2021-11-12 09:35:56 3108

原创 所谓的AI芯片到底指什么?

进入公司AI产业快有3个年头,AI芯片和传统芯片,甚至AI芯片和GPU,还有AI芯片的发展历史,面向未来场景的挑战都有很多话题,下面我们一起来聊聊AI芯片和传统芯片的区别哈。芯片是半导体元件产品的统称,而集成电路,缩写是IC,就是将电路小型化,通过电子学和光学,将电路制造在半导体晶圆上面。我们会分为4个小点进行介绍AI芯片前言解读。首先是AI芯片从CPU、GPU、到XPU的发展情况总体介绍,接着是AI芯片都有哪些系统架构,基于不同的系统架构,又引申出不同的AI芯片。第三部分来整体看看,AI芯片的产业

2021-11-05 23:31:04 789

原创 深度学习框架的发展历程

现在深度学习框架已经这么多了,为什么还有这么多人不断推出新的深度学习框架?这个问题问的非常好,想要看看目前为什么这么多深度学习框架的出现,还真的不得不回头看看深度学习框架出现的历史趋势,然后去理解目前深度学习发展,给框架带来的要求,就会明白除了政治因素之外,新的深度学习框架推出原因。首先我们来看看AI框架具体有什么用呢?AI在现实生活中发挥的作用越来越多,不知不觉我们用的越来越多的产品都内嵌了AI功能,包括我现在给你们录制视频的字幕,都是纯AI算法进行识别和时间轴对齐的。就好像,不提自.

2021-10-25 12:57:19 880

【AI框架基础】系列第四篇!最后一篇啦,函数式编程和声明式编程有什么区别?AI到底应该用什么编程范式?

【AI框架基础】系列第四篇!最后一篇啦,函数式编程和声明式编程有什么区别?AI到底应该用什么编程范式?希望跟大家一起学习探讨完,能够把AI框架的编程模式搞清楚!

2022-10-09

【AI框架基础】系列第三篇!AI框架之争!都2022年,还在为用什么AI框架发愁?

【AI框架基础】系列第三篇!AI框架之争!都2022年,还在为用什么AI框架发愁?来了解下AI框架的发展过程,看看未来AI框架将会朝哪个方向演进吧!

2022-10-09

【AI框架基础】系列第二篇!AI框架有什么用?没有AI框架开发算法会遇到什么难题?

【AI框架基础】系列第二篇!介绍开发AI程序遇到的问题,为了解决这些问题所以出现了AI框架,深入一起了解AI框架的具体作用和目的。

2022-10-09

【AI框架基础】系列第一篇!介绍分享内容!AI框架基础、AI框架之争、AI编程范式!

【AI框架基础】系列第一篇!介绍分享内容!AI框架基础、AI框架之争、AI编程范式!

2022-10-09

【自动微分】系列第七篇!自动微分挑战和未来!自动微分易用性和性能应该如何兼容?可微编程是否未来?

【自动微分】系列第七篇!自动微分挑战和未来!自动微分易用性和性能应该如何兼容?可微编程是否未来?

2022-10-09

【自动微分】系列第六篇!手把手实现一个PyTorch!实现PyTorch核心自动微分!

【自动微分】系列第六篇!一起手把手实现一个PyTorch,了解实现PyTorch核心自动微分机制!通过这个视频,可以了解到PyTorch自动微分是如何实现的,其具体的Tape原理和反向操作。

2022-10-09

【自动微分】系列第五篇!使用Python的高级语言特性,亲自实现一个正向自动微分框架!

【自动微分】系列第五篇!使用Python的高级语言特性,亲自实现一个正向自动微分框架!

2022-10-09

【自动微分】系列第四篇!自动微分的实现方式!基于库实现、基于操作符重载实现、基于源码转换实现!

【自动微分】系列第四篇!自动微分的实现方式!基于库实现、基于操作符重载实现、基于源码转换实现!

2022-10-09

【自动微分】系列第三篇!微分的两种模式!前向微分和正向微分!对应反向传播!

【自动微分】系列第三篇!微分主要分为两种模式:前向微分和正向微分!前向微分就是高等数学学习求导的微分方式,而反响微分就是对应机器学习中反向传播的原理!

2022-10-09

【自动微分】系列第二篇!符号微分/数值微分/自动微分的区别是什么?

【自动微分】系列第二篇!符号微分/数值微分/自动微分的区别是什么?计算机中微分有什么用?自动微分系列更新啦!介绍什么是微分,微分分为符号微分、数值微分、自动微分三种!来简单了解下各种微分方式的优缺点!

2022-10-09

【自动微分】系列第一篇!自动微分小内容的介绍!

想要了解AI框架的核心功能【自动微分】吗?一起学习讨论,到底什么是自动微分、自动微分怎么实现的吧!

2022-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除