[源码分析] Facebook如何训练超大模型---(1) 目录 [源码分析] Facebook如何训练超大模型---(1) 0x00 摘要 0x01 简介 1.1 FAIR & FSDP 1.2 大规模训练计算能力需求 0x02 FSDP 如何工作 2.1 全参数分片 2.2 比对 2.3 梳理 2.3.1 思路 2.3.2 流程步骤 0x03 How to use FSDP 3.1 在语言模型中使用FSDP 3.2 在计算机视觉模型之中使用FSDP 3.3 在PyTorch Lightnin…
[源码分析] Facebook如何训练超大模型 --- (2) 目录 [源码分析] Facebook如何训练超大模型 --- (2) 0x00 摘要 0x01 回顾 1.1 ZeRO 1.1.1 ZeRO-1 1.1.2 ZeRO-2 1.1.3 ZeRO-3 1.2 DDP VS FSDP 0x02 总体逻辑 2.1 FSDP 2.2 原始ZeRO 1.2.1 初始化 1.2.2 前向传播 1.2.3 反向传播 2.3 FSDP代码 2.3.1 初始化 2.3.2 前向传播 2.3.3 分层优…
[源码分析] Facebook如何训练超大模型 --- (3) 目录 [源码分析] Facebook如何训练超大模型 --- (3) 0x00 摘要 0x01 ZeRO-Offload 1.1 设计原则 1.2 ZeRO 0x02 卸载策略 2.1 数据流图 2.2 限制CPU计算 2.3 最小化计算量 2.4 最大化内存节约 2.5 唯一最优化策略 2.6 ZeRO-Offload Schedule 2.6.1 单机计划 2.6.2 多节点计划 0x03 FairScale Offload 使…
Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练 目录 Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练 0x00 摘要 0x01 前文回顾 1.1 上文总体流程图 1.2 回顾霍夫曼树 1.2.1 变量定义 1.2.2 为何要引入霍夫曼树 0x02 训练 2.1 训练流程 2.2 生成训练模型 2.3 初始化词典&缓冲 2.4 更新模型UpdateModel 2.5 计算更新 2.5.1 sigmoid函数值近似计算 2.5.2 窗口及上下文 2.5.3 训练…
title: quartz源码分析--执行引擎和线程模型 date: 2017-09-09 23:14:48 categories: quartz tags: [quartz, 源码分析] --- --- [TOC] 软件版本:quartz-2.2.3 序 上一篇介绍了quartz的启动过程,这篇主要介绍quartz的执线程模型,众所周知,quartz并没有采用定时器去完成定时任务,而是通过线程去完成.为了简化对quartz线程模型的理解,就暂用下理解方式吧 类名 SimpleThreadPoo…
[源码分析] 分布式任务队列 Celery 多线程模型 之 子进程 目录 [源码分析] 分布式任务队列 Celery 多线程模型 之 子进程 0x00 摘要 0x01 前文回顾 1.1 基类作用 1.2 子进程抽象 1.3 Fork过程 0x02 预先准备 2.1 总体准备流程 2.2 获取命令 2.3 调用 windows 系统方法 2.4 传递父进程信息 0x03 子进程启动 3.1 从命令行进入 3.2 _main 读取父进程关键信息 3.3 SpawnProcess 启动 3.3.1 _…
SOFABolt 是一个轻量级.高性能.易用的远程通信框架,基于netty4.1,由蚂蚁金服开源. 本系列博客会分析 SOFABolt 的使用姿势,设计方案及详细的源码解析.后续还会分析 SOFABolt 的最佳实践 SOFARPC 的设计和实现 SOFABolt 源码分析1 - 最简使用姿势SOFABolt 源码分析2 - RpcServer 服务端启动设计SOFABolt 源码分析3 - RpcClient 客户端启动设计SOFABolt 源码分析4 - Sync 同步通信方式设计SOFAB…
继上篇<Spark源码分析之Job的调度模型与运行反馈>之后,我们继续来看第二阶段--Stage划分. Stage划分的大体流程如下图所示: 前面提到,对于JobSubmitted事件,我们通过调用DAGScheduler的handleJobSubmitted()方法来处理.那么我们先来看下代码: // 处理Job提交的函数 private[scheduler] def handleJobSubmitted(jobId: Int, finalRDD: RDD[_], func: (TaskCo…
[源码分析] 并行分布式任务队列 Celery 之 Timer & Heartbeat 目录 [源码分析] 并行分布式任务队列 Celery 之 Timer & Heartbeat 0x00 摘要 0x01 Blueprint 0x02 Timer Step 2.1 Transport 2.2 Thread-less VS Thread-based 0x03 Timer in Pool 3.1 gevent 和 eventlet 3.2 BasePool 0x04 kombu.Timer…
1. 前言 近些年来,随着以卷积神经网络(CNN)为代表的深度学习在图像识别领域的突破,越来越多的图像识别算法不断涌现.在去年,我们初步成功尝试了图像识别在测试领域的应用:将网站样式错乱问题.无线领域机型适配问题转换为"特定场景下的正常图片和异常图片的二分类问题",并借助Goolge开源的Inception V3网络进行迁移学习,重训练出对应场景下的图片分类模型,问题图片的准确率达到95%以上. 过去一年,我们在图片智能识别做的主要工作包括: 模型的落地和参数调优 模型的服务化 模型服…