M5 competition M5 competition项目是根据沃尔玛美国各个门店的销售数据(开放数据集),来对两个28天的时间段内的门店&商品的销售额进行预测 Github地址:https://github.com/Vincent-Yu-83/M5_competition Table of C
一文读懂自注意力机制:8大步骤图解+代码 BERT, RoBERTa, ALBERT, SpanBERT, DistilBERT, SesameBERT, SemBERT, MobileBERT, TinyBERT, CamemBERT……它们有什么共同之处呢?答案不是“它们都是BERT”🤭。
联邦学习(Federated Learning)详解以及示例代码 联邦学习也称为协同学习,它可以在产生数据的设备上进行大规模的训练,并且这些敏感数据
Awesome Privacy Computing 1 Secure Multiparty Computation (SMPC) 1.1 Primitive 1.1.1 Oblivious Transfer (OT) Precomputing Oblivious Transfer
联邦学习算法库PFLlib 论文标题: PFLlib: Personalized Federated Learning Algorithm Library 论文链接:
VFLAIR:面向科研的纵向联邦学习开源新框架 文章来源:ICLR2024 VFLAIR GitHub链接:
联邦学习(Federated Learning) I. 联邦学习简介 联邦学习(Federated Learning)是近年来兴起的一种加密的分布式机器学习新范式,可以让各参与方在数据不出本地的情况下进行AI协作,实现“知识共享而数据不共享”,提升各自的AI模型效果,是破解现阶段AI行业落地中的“数
Huggingface|Accelerate分布式训练加速 PyTorch 很灵活。 它允许您根据需要自定义它。 这意味着您还必须处理所有低级硬件自定义,而在 95% 的项目中您实际上并不关心这些。 PyTorch 的主要痛点之一是使代码适应各种硬件配置(CPU/GPU/TPU)。 您必须维护大量用
图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(源码解读篇) 一、DeepSpeed MoE
图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(原理篇) 一、为什么选择DeepSpeed-Megatron
图解大模型训练系列之:Megatron源码解读3,分布式混合精度训练 一、谁在占用存储 <
图解大模型训练之:Megatron源码解读2,模型并行 一、模型概述 前文说过,用Megatron做分布式训练的开源大模型有很多,我们选用的是THUDM开源的CodeGeeX(代码生成式大模型,类比于openAI Codex)。选用它的原因是“完全开源”与“清晰的模型架构和预训练配置图”,能帮助我们
图解大模型系列之:Megatron源码解读1,分布式环境初始化 一、CodeGeeX模型简述 使用Megatron来训练gpt类大模型的项目有很多。在这个系列里,我选择了由THUDM开发的CodeGeeX项目,它是gpt在代码生成方向上的应用,对标于op
图解大模型训练之:数据并行下篇( DeepSpeed ZeRO,零冗余优化) 一、存储消耗
图解大模型训练之:流水线并行(Pipeline Parallelism),以Gpipe为例 一、优化目标 当你从单卡穷人变成多卡富翁时,你做分布式训练的总体目标是什么呢?(虽然
图解大模型训练之:数据并行上篇(DP, DDP与ZeRO) 一、切分权重 设输入数据为X,参数为W。X的维度 = (b, s, h),W的维度 = (h, h')。其中: b:batch_size,表示批量大小 <
数据并行 - DP/DDP/ZeRO 数据并行DP DP - 梯度同步更新 数据并行的核心思想是:在各个GPU上都拷贝一份完整模型,各自吃一份数据,算一份梯度,最后对梯度进行累加来更新整体模型。理念不复杂,但到了大模型场景,巨大的存储和GPU间的通讯量,就是系统设计要考虑的重点了。在本文中,我们将递
Pytorch Train pytorch单精度、半精度、混合精度、单卡、多卡(DP / DDP)、FSDP、DeepSpeed模型训练、模型保存、模型推理、onnx导出、onnxruntime推理等示例代码,并对比不同方法的训练速度以及GPU内存的使用。 Github地址:https://gith
PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解 Nvidia 在 Volta 架构中引入 Tensor Core 单元,来支持 FP32 和 FP16 混合精度计算。也在 2018 年提出一个 PyTorch 拓展 apex,来支持模型参数自动混合精度训练。自动混合精度
torch.distributed.init_process_group()详细说明(RANK/WORLD_SIZE) 一、torch.distributed.init_process_group函数定义 torch.distributed.init_process_group( back
业界| 详解Horovod:Uber开源的TensorFlow分布式深度学习框架 选自Uber Github地址:https://github.com/horovod/horovod
NCCL、OpenMPI、Gloo对比 Open MPI 的Allreduce 算法实现比较丰富,并且与 MPI 接口完全一致,比较适合做 MPI 研究的同学 NCCL 可以轻松与 MPI结合使用。将MPI用于CPU到CPU的通信,将NCCL用于GPU到GPU的通信 NCCL 因为是硬件厂商英伟达针
Windows安装CUDA、Pytorch、TensorFlow 1、查询当前显卡算力是否支持CUDA https://developer.nvidia.cn/cuda-gpus
Agent设计模式综述 引言 尽管当前研究者在AI Agent领域投入了巨大努力,但从业者在构建和实施基于基础模型(Foundational Model,FM)的Agent方面面临着陡峭的学习曲线。文章注意到存在一系列可重用的解决方案,这些解决方案可以归纳为模式,以解决设计基于FM的Agent的多样
【Agent论文解读】AIOS:LLM智能体操作系统 原文链接 本篇文章将会对论文《AIOS:LLM Agent Operating System》进行分享。在这篇文章中,主要介绍了AIOS及其技术架构和实现。AIOS是一种LLM智能体操作系统,将大型语言模型嵌入操作系统(OS)作为OS的大脑,实现
从AI Agent到Agentic Workflow,25篇论文全面了解智能体工作流 著名AI学者、斯坦福大学教授吴恩达提出了AI Agent的四种设计方式后,Agentic Workflow(智能体工作流)立即火爆全球,多个行业都在实践智能体工作流的应用,并推动了新的Agentic AI探索热潮。
【AI Agent技术论文】《AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation》 原文链接 2024年5月,微软AutoGen的技术论文《AutoGen: Enabling Next-Gen LL
Auto-Encoding Variational Bayes 原文链接 变分自动编码器(Variational autoEncoder,VAE)是生成模型的一种。这些方法的主要目标是从对象的学习分布中生成新的采样数据。2014 年,K
虚拟化教程 (6) : 安装部署篇丨NVIDIA vGPU 驱动下载与安装 众所周知,GPU 驱动至关重要,直接关系着是否能正常使用 NVIDIA GPU 显示或者是加速运算等工作,在带来更高稳定性和性能的同时,还能够优化其他应用程序的表现。在第一章节中 NVIDIA vGPU 方案架构中有提到,v
虚拟化教程 (5) : NVIDIA vGPU 许可申请、账号注册绑定及购买 无论企业员工在家里、办公室内、路上或其他地点,都可以通过远程访问虚拟机来使用专为虚拟桌面打造的 NVIDIA vGPU,轻松管理复杂的图形和可视化工作流。 如果想要体验 NVIDIA vGPU 赋能虚拟桌面带来的强大功能,
虚拟化教程 (4) : NVIDIA vGPU 软硬件选型指南 NVIDIA vGPU 解决方案能够将 NVIDIA GPU 的强大功能带入虚拟桌面、应用程序和工作站,加速图形和计算,使在家办公或在任何地方工作的创意和技术专业人员能够访问虚拟化工作空间。 完整的 NVIDIA vGPU 方案包含 G
虚拟化教程(3):NVIDIA vGPU 软件之 vPC、vApps 各行各业的企业都在探索数字化转型,寻求最佳的线上线下协作方式。IT 管理者需要建立一个面向未来的数字工作空间,使员工无论身在何处都能保持最高的工作效率。 未来的数字工作空间需要灵活的工作方式,使员工能够随时随地无缝地展开协作。远程
虚拟化教程(2):NVIDIA vGPU 软件之 vWS 对于创作者而言,沉浸式可视化工具可助力实现交互式设计流程,渲染逼真图像,实现数字艺术创作。传统上,这些先进的工作流程往往仅限于高性能工作站,然而,在当今数字化的浪潮下,远程办公、实时协作的需求越来越多,同时还要满足不同工作负载的不同要求,借助
虚拟化教程(1):NVIDIA vGPU 概述 什么是虚拟 GPU? 虚拟 GPU,也称为 vGPU,是通过将数据中心 GPU 进行虚拟化,用户可在多个虚拟机中共享该 GPU。 NVIDIA vGPU 技术利用 NVIDIA GPU 和虚拟 GPU 软件产品的强大功能,使每个虚拟机(VM)都能像物理
AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE 原文链接 源码地
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 原文链接 Bert 取名来自 Bidirectional Encoder Representations from Transformer
Attention Is All You Need - 1706.03762v7 原文链接 01 算法介绍前的说明
Relation Aware Coins Relation Aware Coins项目是作者和作者团队开发的基于投资组合选择(PS)通过操作虚拟币交易实现财富的长期回报最大化的项目。 本项目在transformer的基础之上,构建用于投资组合中的长期序列模型,以便捕捉价格序列的局部序列模式以及资产之
Kaggle Projects Kaggle Projects项目是作者和作者团队参加竞赛和对过往竞赛的优秀源码的总结和分析。 竞赛类别包括Kaggle竞赛、阿里云天弛大模型竞赛、狗熊会竞赛等。 github地址 Table of Contents kaggle Getting Started $
Neural Network github地址 Neural Network项目是以学习、交流神经网络基础知识为目的的开源项目。该项目结合了《Neural Network and Deep Learning》《动手学深度学习》《Deedp Learning》等书籍或教程所讲的知识和源代码,加上作者在
详解Transformer Transformers 亮相以来彻底改变了深度学习模型。 今天,我们将揭示 Transformers 背后的核心概念:注意力机制、编码器-解码器架构、多头注意力等等。 通过 Python 代码片段,让你深入了解其原理。 一、理解注意力机制<
GLUE基准数据集介绍及下载 一、简介 自然语言处理(NLP)主要自然语言理解(NLU)和自然语言生成(NLG)。为了让NLU任务发挥最大的作用,来自纽约大学、华盛顿大学等机构创建了一个多任务的自然语言理解基准和分析平台,也就是GLUE(General Language Understanding
【BERT】详解BERT 一、为什么要提出BERT? 传统的RNN类模型,包括LSTM,GRU以及其他各种变体,最大的问题在于提取能力不足。在《Why Self-Attention? A Targeted Evaluation of Neural Machine Translation Archit
文本 Embedding 基本概念和应用实现原理 大语言模型之上的应用层面有三项技术需要理解:提示词工程(Prompt Engineering);嵌入(Embedding);微调(Fine-tuning)。其中 Embedding 作为大语言模型理解文本语义的重要技术,在搜索引擎、构建私有知识问答系
Self-Attention与谷歌的Transformer架构 本文翻译自一篇非常赞的解释Transformer的文章,
The Illustrated Transformer @JayAlammar Reprinted from
前言 信息论在1948年由香农提出,此后在各个工程技术领域都有广泛应用。 在机器学习领域,当然也包括自然语言处理领域,信息论是一个基础内容。离开信息论想要讨论清楚NLP是非常困难的。 因此,本文主要是为了给下一步的自然语言处理做理论基础铺垫,尽量不涉及公式,而是从直观的角度来理清信息论的直觉逻辑,这
Weight Decay是一个正则化技术,作用是抑制模型的过拟合,以此来提高模型的泛化性。 目前网上对于Weight Decay的讲解都比较泛,都是短短的几句话,但对于其原理、实现方式大多就没有讲解清楚,本文将会逐步解释weight decay机制。 1. 什么
Trigonometric functions 三角函数|Algebra 代数|Math 数学|Khan Academy 可汗学院 转自Bilibili - 3Blue1Brown 合集地址:
使用Amazon EC2实例 本节将展示如何在原始Linux机器上安装所有库。回想一下,讨论了如何使用Amazon SageMaker,而在云上自己构建实例的成本更低。本演示包括三个步骤。 从AWS EC2请求GPU Linux实例。 安装CUDA(或使用预装CUDA的Amazon机器映像)。 安装
使用Amazon SageMaker 深度学习程序可能需要很多计算资源,这很容易超出你的本地计算机所能提供的范围。云计算服务允许你使用功能更强大的计算机更轻松地运行本书的GPU密集型代码。本节将介绍如何使用Amazon SageMaker运行本书的代码。 注册 首先,我们需要在注册一个帐户https
使用Jupyter Notebook 本节介绍如何使用Jupyter Notebook编辑和运行本书各章中的代码。确保你已按照 安装中的说明安装了Jupyter并下载了代码。如果你想了解更多关于Jupyter的信息,请参阅其
自然语言推断:微调BERT 在本章的前面几节中,我们已经为SNLI数据集上的自然语言推断任务设计了一个基于注意力的结构。现在,我们通过微调BERT来重新审视这项任务。正如讨论的那样,自然语言推断是一个序列级别的文本对分类问题,而微调BERT只需要一个额外的基于多层感知机的架构,如所示。
针对序列级和词元级应用微调BERT 在本章的前几节中,我们为自然语言处理应用设计了不同的模型,例如基于循环神经网络、卷积神经网络、注意力和多层感知机。这些模型在有空间或时间限制的情况下是有帮助的,但是,为每个自然语言处理任务精心设计一个特定的模型实际上是不可行的。在
自然语言推断:使用注意力 我们介绍了自然语言推断任务和SNLI数据集。鉴于许多模型都是基于复杂而深度的架构,Parikh等人提出用注意力机制解决自然语言推断问题,并称之为“可分解注意力模型” (Parikh et al., 2016)。这使得模型没有循环层或卷积层,在SNLI数据集
自然语言推断与数据集 我们讨论了情感分析问题。这个任务的目的是将单个文本序列分类到预定义的类别中,例如一组情感极性中。然而,当需要决定一个句子是否可以从另一个句子推断出来,或者需要通过识别语义等价的句子来消除句子间冗余时,知道如何对一个文本序列进行分类是不够的。相反,我们需要能够对成对的文本序列进行
情感分析:使用卷积神经网络 我们探讨了使用二维卷积神经网络处理二维图像数据的机制,并将其应用于局部特征,如相邻像素。虽然卷积神经网络最初是为计算机视觉设计的,但它也被广泛用于自然语言处理。简单地说,只要将任何文本序列想象成一维图像即可。通过这种方式,一维卷积神经网络可以处理文本中的局部特征,例如�元
情感分析:使用循环神经网络 与词相似度和类比任务一样,我们也可以将预先训练的词向量应用于情感分析。由于IMDb评论数据集不是很大,使用在大规模语料库上预训练的文本表示可以减少模型的过拟合。作为所示的具体示例,我们将使用预训练的GloVe模型来表示每个词元,并将这些词元表示送入多层双向循环神经网络以获
用于预训练BERT的数据集 为了预训练实现的BERT模型,我们需要以理想的格式生成数据集,以便于两个预训练任务:遮蔽语言模型和下一句预测。一方面,最初的BERT模型是在两个庞大的图书语料库和英语维基百科的合集上预训练的,但它很难吸引这本书的大多数读者。另一方面,现成的预训练BERT模型可能不适合医学
来自Transformers的双向编码器表示(BERT) 我们已经介绍了几种用于自然语言理解的词嵌入模型。在预训练之后,输出可以被认为是一个矩阵,其中每一行都是一个表示预定义词表中词的向量。事实上,这些词嵌入模型都是与上下文无关的。让我们先来说明这个性质。 从上下文无关到上下文敏感
词的相似性和类比任务 我们在一个小的数据集上训练了一个word2vec模型,并使用它为一个输入词寻找语义相似的词。实际上,在大型语料库上预先训练的词向量可以应用于下游的自然语言处理任务,这将在后面讨论。为了直观地演示大型语料库中预训练词向量的语义,让我们将预训练词向量应用到词的相似性和类比任务中。
全局向量的词嵌入(GloVe) 上下文窗口内的词共现可以携带丰富的语义信息。例如,在一个大型语料库中,“固体”比“气体”更有可能与“冰”共现,但“气体”一词与“蒸汽”的共现频率可能比与“冰”的共现频率更高。此外,可以预先计算此类共现的全局语料库统计数据:这可以提高训练效率。为了利用整个语料库中的统计
预训练word2vec 我们继续实现定义的跳元语法模型。然后,我们将在PTB数据集上使用负采样预训练word2vec。首先,让我们通过调用d2l.load_data_ptb函数来获得该数据集的数据迭代器和词表,该函数在进行了描述。 import math from mxnet import auto
用于预训练词嵌入的数据集 现在我们已经了解了word2vec模型的技术细节和大致的训练方法,让我们来看看它们的实现。具体地说,我们将以 跳元模型和负采样为例。本节从用于预训练词嵌入模型的数据集开始:数据的原始格式将被转换为可以在训练期间迭代的小批量。 import math import os im
词嵌入(word2vec) 自然语言是用来表达人脑思维的复杂系统。 在这个系统中,词是意义的基本单元。顾名思义, 词向量是用于表示单词意义的向量, 并且还可以被认为是单词的特征向量或表示。 将单词映射到实向量的技术称为词嵌入。 近年来,词嵌入逐渐成为自然语言处理的基础知识。 为何独热向量是一个糟糕的
实战Kaggle比赛:狗的品种识别(ImageNet Dogs) 本节我们将在Kaggle上实战狗品种识别问题。 本次比赛网址是https://www.kaggle.com/c/dog-breed-identification。显示了鉴定比赛网页上的信息。 需要一个Kaggle账户才能提交结果。 在
实战 Kaggle 比赛:图像分类 (CIFAR-10) 之前几节中,我们一直在使用深度学习框架的高级API直接获取张量格式的图像数据集。 但是在实践中,图像数据集通常以图像文件的形式出现。 本节将从原始图像文件开始,然后逐步组织、读取并将它们转换为张量格式。 我们对CIFAR-10数据集做了一个实