- 博客(1073)
- 资源 (42)
- 收藏
- 关注
转载 Facebook如何训练超大模型系列
我们在前文介绍过,微软 ZeRO 可以对一个万亿参数模型可以使用 8 路模型并行、64 路管道并行和 8 路数据并行在 4,096 个 NVIDIA A100 GPU 上进行扩展。而FSDP(Fully Sharded Data Parallel)是Facebook 深度借鉴微软ZeRO之后提出的PyTorch DDP升级版本,可以认为是对标微软 ZeRO,其本质是 parameter sharding。Parameter sharding 就是把模型参数等切分到各个GPU之上。
2023-06-21 15:31:24
85
转载 大模型训练框架Megatron原理系列转载
NVIDIA Megatron 是一个基于 PyTorch 的分布式训练框架,用来训练超大Transformer语言模型,其通过综合应用了数据并行,Tensor并行和Pipeline并行来复现 GPT3,值得我们深入分析其背后机理。本系列大概有6~7篇文章,通过论文和源码和大家一起学习研究。本文把 Megatron 的两篇论文/一篇官方PPT 选取部分内容,糅合在一起进行翻译分析,希望大家可以通过本文对 Megatron 思路有一个基本了解。
2023-06-20 11:34:03
560
原创 linkname, soname and realname
As you may already know, the linker1 option should be used to specify the name of the library which is needed by your application when it was compiled. For example, if we write a program which utilize libjpeg, we should specify explicitly when we compile
2023-05-22 13:26:11
527
原创 通过例子深入了解c++/c的构建系统
C/C++ is the mother of many popular programming languages out there today, all the fancy programming languages we use today like Python, JavaScript are built using C/C++. For example, the standard python interpreter is built using C and the most popular J
2023-04-25 13:37:04
1561
4
原创 PixelShuffle上采样原理
PixelShuffle是目前通用上采样upsample技术中性能最好的。PixelShuffle现已广泛应用在如图像分割等计算机视觉问题上,和。一起成为了神经网络中最常用的两种上采样技术。
2023-04-12 11:36:45
82
原创 @contextmanager 和yield 的结合使用法
上面这个例子,我们可以把print('1') 和 print('3')看成是try和except,要执行代码的部分就是他们中间的部分,进行以下更改。先执行commit(),遇到yield后,跳出来执行sql1,sql2,然后再进入commit()执行上一次跳出来的位置。所以要引用装饰器@contextmanager,它需要与with语法结合使用。但是每次都这样try...except...就会显得很重复。
2023-04-06 17:45:34
216
原创 Understanding Diffusion Probabilistic Models (DPMs) 扩散模型,最好资料
diffusion model step by step
2023-03-28 17:59:32
403
1
原创 RLHF知识
然而,对生成结果的评估是主观和依赖上下文的,这些结果难以用现有的基于规则的文本生成指标 (如 BLUE 和 ROUGE) 来衡量。除了评估指标,现有的模型通常以预测下一个单词的方式和简单的损失函数 (如交叉熵) 来建模,没有显式地引入人的偏好和主观意见。因此,训练阶段,如果直接用人的偏好(或者说人的反馈)来对模型整体的输出结果计算reward或loss,显然是要比上面传统的“给定上下文,预测下一个词”的损失函数合理的多。:即使用强化学习的方法,利用人类反馈信号直接优化语言模型。
2023-03-24 11:39:07
954
原创 Linux 编译链接动态库版本号
无论程序是否按libxxx.so.a.b.c格式命名,但Linux上差点儿全部动态库在编译时都指定了-soname,我们能够通过readelf工具查看soname,比方文章开头列举的两个动态库。这时候发现,生成了新的链接libhello.so.1,而main程序还是使用的libhello.so.0,所以无法使用新版动态库的功能,须要又一次编译才行。执行可执行文件时保证libxxx.so.a.b.c文件存在,通过ldconfig生成libxxx.so.a链接指向libxxx.so.a.b.c。
2023-01-31 11:32:44
560
原创 Changing input size of pre-trained models in Keras
https://ckyrkou.medium.com/changing-input-size-of-pre-trained-models-in-keras-3dfbe3ca3091
2023-01-19 16:06:34
104
原创 Neural Turing Machines-NTM系列
NTM是一种使用Neural Network为基础来实现传统图灵机的理论计算模型。利用该模型,可以通过训练的方式让系统“学会”具有时序关联的任务流。论文:http://arxiv.org/abs/1410.5401中文翻译:http://www.dengfanxin.cn/?p=60ppt:http://llcao.net/cu-deeplearning15/presentati
2022-11-03 09:30:45
229
原创 TensorRT概述
深度学习模型研发的生命周期包括五步:目标确认、任务建模、数据采集与标注、模型训练、模型部署。作为炼丹师,接触得最多的是前面四步,但是模型部署也是非常重要的一环,它是模型落地前的临门一脚。
2022-11-02 13:40:19
133
原创 Python Machine Learning Cookbook
import numpy as npfrom sklearn import preprocessingdata = np.array([[ 3, -1.5, 2, -5.4], [ 0, 4, -0.3, 2.1], [ 1, 3.3, -1.9, -4.3]])# mean removaldata_standardized ...
2022-11-02 09:39:13
120
原创 spark能传递外部命名参数给main函数吗?
查了资料好像都没有办法。只能通过: def main(args: Array[String]): Unit = { // 读取参数 var city = args(0) var input = args(1) var date = args(2)下标来获取。不过不确定,去stackoverflow发帖问下。https://stackoverflow.com/que...
2022-11-02 09:36:55
97
原创 Huber Loss function
Huber loss是为了增强平方误差损失函数(squared loss function)对噪声(或叫离群点,outliers)的鲁棒性提出的。DefinitionLδ(a)={12a2,δ⋅(|a|−12δ),for|a|≤δ,otherwise.Lδ(a)={12a2,for|a|≤δ,δ⋅(|a|−12δ),otherwise.参数aa通常表示residuals...
2022-11-02 09:35:34
82
转载 AI编译优化--总纲
随着AI模型结构的快速演化,底层计算硬件的层出不穷,用户使用习惯的推陈出新,单纯基于手工优化来解决AI模型的性能和效率问题越来越容易出现瓶颈。为了应对这些问题,AI编译优化技术已经成为一个获得广泛关注的技术方向。这两年来,这个领域也异常地活跃,包括老牌一些的、、、,以及最近呼声很高的,能够看到不同的公司、社区在这个领域进行着大量的探索和推进。本篇会先做一下整体介绍以及行业现状的分析。
2022-09-02 17:46:05
514
原创 如何在深度学习中使用自动混合精度训练
DL中的混合精度训练是同时使用单精度(32位)和半精度(16位)表示的过程。这是通过模型在FP32中为需要精度的计算保留一些训练来实现的,而在FP16中对精度不那么重要的其他计算进行训练。回归DL的基本训练原理,复习基础技术,可以缓解神经网络训练阶段的压力,优化GPU的使用。在本指南中,我们将更深入地探讨混合精度训练和自动混合精度训练,以及它如何保持神经网络训练阶段的准确性,同时减少训练所花费的时间。这里没有太多需要调整的地方,但这将是你的代码中支持混合精度训练的部分,所以要特别小心并仔细检查你的工作。..
2022-08-31 21:38:42
618
原创 大规模模型训练tricks集锦
大规模模型训练其实就是在和计算、存储和通信玩的过程,所以我列一下跟这些相关的文章。一. 大规模模型并行策略先来介绍一下几种经典的并行范式,以及他们对应的经典文章。
2022-08-31 21:08:20
702
1
原创 千亿参数“一口闷”?大模型训练必备四种策略
AI领域的许多最新进展都围绕大规模神经网络展开,但训练大规模神经网络是一项艰巨的工程和研究挑战,需要协调GPU集群来执行单个同步计算。随着集群数和模型规模的增长,机器学习从业者开发了多项技术,在多个GPU上进行并行模型训练。乍一看,这些并行技术令人生畏,但只需对计算结构进行一些假设,这些技术就会变得清晰——在这一点上,就像数据包在网络交换机之间传递一样,那也只是从A到B传递并不透明的位(bits)。三层模型中的并行策略。每种颜色代表一层,虚线分隔不同的 GPU。训练神经网络是一个迭代的过程。...
2022-08-31 21:06:33
420
原创 megatron学习总结
[细读经典]Megatron论文和代码详细分析(5)-T5-part 1-启动环境-data/tensor/pipeline并行 - 知乎[细读经典]Megatron论文和代码详细分析(2) - 知乎 megatron学习总结 - 知乎
2022-08-31 21:04:36
596
转载 Extreme-scale model training
我们于今年 2 月份。这是一个开源深度学习训练优化库,其中包含的一个新的显存优化技术—— ZeRO(零冗余优化器),通过扩大规模,提升速度,控制成本,提升可用性,极大地推进了大模型训练能力。DeepSpeed 已经帮助研究人员开发了图灵自然语言生成模型(),其在发表时为世界上最大的语言模型(拥有 170 亿参数),并有着最佳的精度。我们在 5 月份——支持有着 2000 亿参数的模型训练,与最新技术相比,训练速度可达 10 倍——以及一系列计算、IO 和收敛优化功能,从而助力最快速的 BERT 训练。...
2022-08-31 18:15:06
614
原创 Deep Learning compilation
Machine Learning CompilationMachine Learning Compilation — Machine Learing Compilation 0.0.1 documentation
2022-08-31 16:40:29
43
Pro Go The Complete Guide -go语言学习最新书籍
2023-06-19
Advanced_Programming_in_the_UNIX_Environment,_3rd
2018-11-30
Deep_Learning_Quick_Reference
2018-09-01
Convex Optimization Algorithms
2018-09-01
Guide.to.Medical.Image.Analysis.Methods.and.Algorithms
2018-09-01
Hands-On Data Science and Python Machine Learning py
2018-03-27
Python Machine Learning Machine Learning and Deep Learning
2018-03-27
Data Structures and Algorithms Using Python and C++
2018-03-27
R_for_Data_Science
2018-03-27
Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow
2018-03-17
Approximate.Dynamic.Programming.2011
2018-01-17
Swarm Intelligence Principles Advances and Applications
2018-01-13
Neural_Network_Methods_in_Natural_Language_Processing
2017-12-25
Reinforcement Learning With Open A TensorFlow and Keras Using Python.pdf
2017-12-18
Fundamentals of Deep Learning完整非扫描版本2017
2017-12-16
Text Mining in Practice with R 2017.12
2017-12-13
Text_Mining-From_Ontology_Learning_to_Automated_Text_Processing_Applications
2017-12-13
Tensorflow 机器学习参考手册2007
2017-11-22
Spark大数据处理技术 带标签 完整版
2017-11-12
模式分类11
2016-11-07
集体编程智慧
2016-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人