首页 > 其他分享 >Deep Learning入门

Deep Learning入门

时间:2023-10-03 15:55:06浏览次数:32  
标签:精读 入门 Question 并行 Deep Megatron zero Learning DP

深度学习入门(更新中)

概述

前置知识:

  • 线性代数
  • 微积分
  • 概率论
  • python基础语法(包含面向对象的知识)
  • 深度学习框架pytorch的基本api调用

学习资料:

后续学习

矩阵乘法

ResNet残差神经网络学习

SGD和Adam优化器

Transformer结构

墙裂推荐

补充资料

Question

  • 什么是embding层?

  • 以点积注意力机制为例,说明Q,K,V如何计算?

  • 多头注意力机制中,是如何处理各个注意力机制的计算结果的?

  • 机器翻译实例:在transformer架构中,给定一个句子"I have a cat"。阐述transformer是如何将其翻译为"我有一只猫"

Gpipe

Question

  • 什么是mini-batch?什么是micro-batch?
  • Gpipe的性能评价(bubble)

DP or DDP

Question

  • 为什么要数据并行?什么是数据并行,具体举一个例子?DP瓶颈在哪里?

  • 什么是异步梯度更新?

  • 分布式数据并行(DDP)和数据并行区别是什么?

  • Ring-AllReduce是什么,具体举个例子?

task

  • 查看pytorch提供的DP的源码

Zero(Deepspeed)

Question

  • Zero提出的目的是什么?

  • zero-1,zero-2,zero-3分别干了什么事情?,在一次epoch中具体是如何计算的?

  • zero-R具体干了什么事情

  • 什么是zero-offload?

Megatron-LM

Question

  • Megatron 对mlp层,self-attention, 以及embeding层时如何切割和计算的?
  • Megatron 对比 DP (通讯量,存储开销)

task

  • 阅读Megatron-LM 源码

后续学习

Colossal Ai

阅读手册并部署

Flash Attention

Lora微调技术

LOMO

标签:精读,入门,Question,并行,Deep,Megatron,zero,Learning,DP
From: https://www.cnblogs.com/psz-github/p/17741212.html

相关文章

  • 【VMware】2-VMware虚拟化篇-Dell服务器的入门
    第1章 前言本文主要介绍Dell服务器如何使用DelliDRAC、做磁盘Raid。1.   IntegratedDellRemoteAccessController(iDRAC)用于提高系统管理员的工作效率,并改善戴尔系统的整体可用性。该iDRAC会向管理员提醒系统问题,允许远程系统管理,减少对系统的物理访问需求。2.   Re......
  • 【C语言入门】第三天
    【例题1】面试题16.07.最大数值-力扣(LeetCode)intmaximum(inta,intb){returna>b?a:b;}【例题2】2413.最小偶倍数-力扣(LeetCode)intsmallestEvenMultiple(intn){inta=n>2?n:2;intb=n>2?2:n;intmul=a*b;while(b!=0){if(a......
  • deepin DTK(Development ToolKit)已正式适配 Qt6!
    导读近日,深度deepin宣布 deepinDTK(Development ToolKit)已正式适配Qt6(6.4.2),实现全面升级。DTK作为deepin基于Qt开发的一整套简单且实用的通用开发框架,处于deepin操作系统中的核心位置,此次成功适配意味着deepin操作系统后续将充分利用Qt6版本的新特性......
  • 三个Java入门项目
    Java实现简单计算器参考链接......
  • TypeScript入门到精通——类型系统基础——类型检查
    TypeScript类型系统基础——类型检查  类型检查是检查程序中类型约束是否正确的过程。类型检查既可以在程序编译时进行,即静态类型检查;也可以在程序运行时进行,即动态类型检查。TypeScript支持静态类型检查,JavaScript支持动态类型检查。 为了满足不同用户的需求,TypeScript......
  • C++ STL快速入门方法
    在数月之前的机试中第一次体验到STL的威力,因为自己本来一直在用C语言做开发,很多数据结构都是自己造的,比如链表、队列等,第一次接触C++STL后发现这些数据结构都已经给我提供好了,我直接拿去调用就好了,真是超级方便。最近的项目中也遇到了STL一些容器,所以现在自己好好总结一下STL中......
  • BapBap 新手入门
    这是一款免费游玩的MOBA大逃杀游戏,你要与其他玩家组成三人小队,搜集资源、规划成长路线、与敌人交战,最终夺得桂冠。首先把网址挂出来哈(^人^)BapBap点开网址后,它会先加载,等它加载完后,会进入这样的一个界面(如下图)设置部分看到这个图标没?点开后会出现1个小黑框,自上而......
  • 十四天学会C++之第一天(入门和基本语法)
    C++的起源和历史C++诞生于20世纪80年代初,它的创造者是计算机科学家BjarneStroustrup。当时,Stroustrup在贝尔实验室工作,他希望为C语言添加一些功能,以便更好地支持系统开发。这个愿望促使他创建了C++。C++的名字来源于它的基因,其中的"C"代表了C语言,而"++"表示C语言的一个增强版本。......
  • Mybatis入门 下
    2.JDBC介绍(了解)2.1介绍通过Mybatis的快速入门,我们明白了,通过Mybatis可以很方便的进行数据库的访问操作。但是大家要明白,其实java语言操作数据库呢,只能通过一种方式:使用sun公司提供的JDBC规范。Mybatis框架,就是对原始的JDBC程序的封装。那到底什么是JDBC呢,接下来,我们就来介......
  • 【C语言入门】第二天
    【例题1】2235.两整数相加-力扣(LeetCode)intsum(intnum1,intnum2){returnnum1+num2;}【例题2】1812.判断国际象棋棋盘中一个格子的颜色-力扣(LeetCode)boolsquareIsWhite(char*coordinates){switch(coordinates[0]){case'a':case'c':case'e......