Jian's Note

It's better to burn out than fade away!

RL | 强化学习 -- 简介

1. 强化学习 Reinforcement Learning (RL): 强化学习 强化学习是人工智能(AI)和机器学习(ML)领域的一个重要子领域,不同于监督学习和无监督学习,强化学习通过智能体与环境的不断交互(即采取动作),进而获得奖励,从而不断优化自身动作策略,以期待最大化其长期收益(奖励之和)。强化学习特别适合序贯决策问题(涉及一系列有序的决策问题)

分布式训练 - 第5篇 - 分布式训练服务框架基本原理与架构解析

1. 概述 分布式训练服务框架与集合通信库的组合构成了分布式训练的整体服务软件栈,在第3篇、第4篇文章里已经剖析完集合通信的相关内容,而本文会以Horovod为例介绍数据并行下分布式训练服务框架的基本原理以及进行架构解析。当前,在分布式训练里分布式训练服务框架需要解决以下几个核心问题 : 计算与通信同步耦合问

分布式训练 – 第4篇 - 分布式训练常用的网络结构及集合通信拓扑算法

ref: [1]. https://www.changping.me/2022/04/10/ai-distributed-training-coll-topo/ 1. 概述 在深度学习的分布式训练里,Ring AllReduce拓扑算法奠定了数据并行训练的集合通信基础,但集合通信拓扑不只是仅有Ring Allreduce,经典的集合通信拓扑算法还有2D-Ring/Hierarchical Ring AllReduce,halving and doubling AllReduce,Butterfl

分布式训练 – 第3篇 - 集合通信及其通信原语

ref: [1]. https://zhuanlan.zhihu.com/p/493092647 概述 集合通信(Collective Communications)是一个进程组的所有进程都参与的全局通信操作,其最为基础的操作有 发送send、接收receive、复制copy、组内进程栅障同步Barrier以及节点间进程同步(signal+wait),这几个最基本的操作经过组合构成了一组通信模板

分布式训练 – 第2章 - 训练与系统评价指标

ref: [1]. https://zhuanlan.zhihu.com/p/492667659 前言 不同于教科书里讲的深度学习的评价指标,这里主要讲述生产训练中常用的评价指标。通常在分布式训练中对训练的过程与结果会进行评价,比如选择一个评价指标:准确率,即表明模型求解给定问题的准确度。而本文提到的评价指标主要分为两大类,即训练结果评价与训练系统评价。 训练指标 教科书里经常提到的深度学习的评

分布式训练 – 第1章 - 什么是分布式训练

ref: [1]. https://zhuanlan.zhihu.com/p/487945343 前言 深度学习软件工程具有一体两面性:单卡的功能完备性、质量、用户体验以及多卡大规模。多卡大规模的出现是为了解决这样一个主要矛盾,即:“日益增长的数据、模型训练的需求与当前单卡计算能力无法满足这个需求之间的矛盾”,而分布式训练可以通过扩展卡子的规模解决这个矛盾,因此,这就是分布式训练的价值。 然而

Horovod and Openmpi

Horovod 介绍 Horovod 是 Uber 开源的深度学习工具,它的发展吸取了Facebook “Training ImageNet In 1 Hour” 与百度 “Ring Allreduce” 的优点,在保证分布式训练性能的同时,兼顾了前端的简洁和对不同深度学习框架的支持,使用起来对开发人员比较的友好,算是分布式训练方向的标杆项目了。 集合通信库 集合通信库,这个词可能听起来会比较的陌生,不过如果我再提几个关键字

Process and Coroutine

进程和线程的区别 进程、线程、协程的概念 进程: 是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。 线程: 是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。 协程: 是一种比线程更加轻量级的存在。一个线程也可以拥

计算机操作系统

操作系统(一) 1.1 进程和线程的区别? 进程和线程都是操作系统中进行任务调度的基本单位,二者之间的主要区别如下: 资源占用:进程是操作系统资源分配的基本单位,一个进程可以拥有多个线程,而线程是进程中的执行单元,是CPU调度的基本单位。每个线程共享所属进程的资源,如代码段、数据段、打开的文件等。而进程之间互相

CUDA Introduction

[1] https://blog.csdn.net/Augusdi/article/details/12187291 CUDA编程 1.什么是CUDA CUDA(Compute Unified Device Architecture),统一计算架构,是NVidia推出的并行计算平台。NVidia官方对其的解释是:一个并行计算平台和简单(简洁)地使用图像处理单元(GPU)进行通用计算的编程模型。利用GPU的能力在计算性能上有惊人的提升。 简单地说CUDA是便于程序员利
0%