M5 competition

M5 competition M5 competition项目是根据沃尔玛美国各个门店的销售数据(开放数据集),来对两个28天的时间段内的门店&商品的销售额进行预测 Github地址:https://github.com/Vincent-Yu-83/M5_competition Table of C

Vincent Vincent 发布于 2024-10-05

可视化BERT

可视化BERT 由于BERT 的复杂性,所以很难直观地了解其内部权重的含义。而且一般来说,深度学习模型也是饱受诟病的黑箱结构。所以大家开发了各种可视化工具来辅助理解。 可我却没有找到一个工具能够解释BERT 的注意力模式,来告诉我们它到底在学什么。幸运的是,Tensor2Tensor有一个很好的工具

Vincent Vincent 发布于 2024-10-02

一文读懂自注意力机制:8大步骤图解+代码

一文读懂自注意力机制:8大步骤图解+代码 BERT, RoBERTa, ALBERT, SpanBERT, DistilBERT, SesameBERT, SemBERT, MobileBERT, TinyBERT, CamemBERT……它们有什么共同之处呢?答案不是“它们都是BERT”🤭。

Vincent Vincent 发布于 2024-10-02

联邦学习(Federated Learning)详解以及示例代码

联邦学习(Federated Learning)详解以及示例代码 联邦学习也称为协同学习,它可以在产生数据的设备上进行大规模的训练,并且这些敏感数据

Vincent Vincent 发布于 2024-08-04

Awesome Privacy Computing

Awesome Privacy Computing 1 Secure Multiparty Computation (SMPC) 1.1 Primitive 1.1.1 Oblivious Transfer (OT) Precomputing Oblivious Transfer

Vincent Vincent 发布于 2024-08-04

联邦学习算法库PFLlib

联邦学习算法库PFLlib 论文标题: PFLlib: Personalized Federated Learning Algorithm Library 论文链接:

Vincent Vincent 发布于 2024-08-04

VFLAIR:面向科研的纵向联邦学习开源新框架

VFLAIR:面向科研的纵向联邦学习开源新框架 文章来源:ICLR2024 VFLAIR GitHub链接:

Vincent Vincent 发布于 2024-08-04

联邦学习(Federated Learning)

联邦学习(Federated Learning) I. 联邦学习简介 联邦学习(Federated Learning)是近年来兴起的一种加密的分布式机器学习新范式,可以让各参与方在数据不出本地的情况下进行AI协作,实现“知识共享而数据不共享”,提升各自的AI模型效果,是破解现阶段AI行业落地中的“数

Vincent Vincent 发布于 2024-08-04

Huggingface|Accelerate分布式训练加速

Huggingface|Accelerate分布式训练加速 PyTorch 很灵活。 它允许您根据需要自定义它。 这意味着您还必须处理所有低级硬件自定义,而在 95% 的项目中您实际上并不关心这些。 PyTorch 的主要痛点之一是使代码适应各种硬件配置(CPU/GPU/TPU)。 您必须维护大量用

Vincent Vincent 发布于 2024-08-03

图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(源码解读篇)

图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(源码解读篇) 一、DeepSpeed MoE

Vincent Vincent 发布于 2024-08-03

图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(原理篇)

图解大模型训练系列之:DeepSpeed-Megatron MoE并行训练(原理篇) 一、为什么选择DeepSpeed-Megatron

Vincent Vincent 发布于 2024-08-03

图解大模型训练系列之:Megatron源码解读3,分布式混合精度训练

图解大模型训练系列之:Megatron源码解读3,分布式混合精度训练 一、谁在占用存储 <

Vincent Vincent 发布于 2024-08-03

图解大模型训练之:Megatron源码解读2,模型并行

图解大模型训练之:Megatron源码解读2,模型并行 一、模型概述 前文说过,用Megatron做分布式训练的开源大模型有很多,我们选用的是THUDM开源的CodeGeeX(代码生成式大模型,类比于openAI Codex)。选用它的原因是“完全开源”与“清晰的模型架构和预训练配置图”,能帮助我们

Vincent Vincent 发布于 2024-08-03

图解大模型系列之:Megatron源码解读1,分布式环境初始化

图解大模型系列之:Megatron源码解读1,分布式环境初始化 一、CodeGeeX模型简述 使用Megatron来训练gpt类大模型的项目有很多。在这个系列里,我选择了由THUDM开发的CodeGeeX项目,它是gpt在代码生成方向上的应用,对标于op

Vincent Vincent 发布于 2024-08-03

图解大模型训练之:数据并行下篇( DeepSpeed ZeRO,零冗余优化)

图解大模型训练之:数据并行下篇( DeepSpeed ZeRO,零冗余优化) 一、存储消耗

Vincent Vincent 发布于 2024-08-03

图解大模型训练之:流水线并行(Pipeline Parallelism),以Gpipe为例

图解大模型训练之:流水线并行(Pipeline Parallelism),以Gpipe为例 一、优化目标 当你从单卡穷人变成多卡富翁时,你做分布式训练的总体目标是什么呢?(虽然

Vincent Vincent 发布于 2024-08-03

图解大模型训练之:数据并行上篇(DP, DDP与ZeRO)

图解大模型训练之:数据并行上篇(DP, DDP与ZeRO) 一、切分权重 设输入数据为X,参数为W。X的维度 = (b, s, h),W的维度 = (h, h')。其中: b:batch_size,表示批量大小 <

Vincent Vincent 发布于 2024-08-03

数据并行 - DP/DDP/ZeRO

数据并行 - DP/DDP/ZeRO 数据并行DP DP - 梯度同步更新 数据并行的核心思想是:在各个GPU上都拷贝一份完整模型,各自吃一份数据,算一份梯度,最后对梯度进行累加来更新整体模型。理念不复杂,但到了大模型场景,巨大的存储和GPU间的通讯量,就是系统设计要考虑的重点了。在本文中,我们将递

Vincent Vincent 发布于 2024-08-03

Pytorch Train

Pytorch Train pytorch单精度、半精度、混合精度、单卡、多卡(DP / DDP)、FSDP、DeepSpeed模型训练、模型保存、模型推理、onnx导出、onnxruntime推理等示例代码,并对比不同方法的训练速度以及GPU内存的使用。 Github地址:https://gith

Vincent Vincent 发布于 2024-08-03

PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解

PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解 Nvidia 在 Volta 架构中引入 Tensor Core 单元,来支持 FP32 和 FP16 混合精度计算。也在 2018 年提出一个 PyTorch 拓展 apex,来支持模型参数自动混合精度训练。自动混合精度

Vincent Vincent 发布于 2024-08-03

浮点数的数据格式

浮点数的数据格式 根据 IEEE754 的标准定义:浮点数的数据格式可以分为最常见的单精度(32位)和双精度(64位)格式,以及半精度(16位)、四精度(128位)和扩展精度格式。 单精度浮点数(Single-Precision Floating-Point):在计算机编程中常用float表示: 通

Vincent Vincent 发布于 2024-08-03

NCCL详解

NCCL详解 linux查询nccl版本号: python -c “import torch; print(torch.cuda.nccl.version())” NCCL是一个实现多GPU的collective communication通信库,做了很多的优化,以在PCle,Nvlink,Infi

Vincent Vincent 发布于 2024-08-03

torch.distributed.init_process_group()详细说明(RANK/WORLD_SIZE)

torch.distributed.init_process_group()详细说明(RANK/WORLD_SIZE) 一、torch.distributed.init_process_group函数定义 torch.distributed.init_process_group( back

Vincent Vincent 发布于 2024-08-03

业界| 详解Horovod:Uber开源的TensorFlow分布式深度学习框架

业界| 详解Horovod:Uber开源的TensorFlow分布式深度学习框架 选自Uber Github地址:https://github.com/horovod/horovod

Vincent Vincent 发布于 2024-08-03

NCCL、OpenMPI、Gloo对比

NCCL、OpenMPI、Gloo对比 Open MPI 的Allreduce 算法实现比较丰富,并且与 MPI 接口完全一致,比较适合做 MPI 研究的同学 NCCL 可以轻松与 MPI结合使用。将MPI用于CPU到CPU的通信,将NCCL用于GPU到GPU的通信 NCCL 因为是硬件厂商英伟达针

Vincent Vincent 发布于 2024-08-03

Windows安装CUDA、Pytorch、TensorFlow

Windows安装CUDA、Pytorch、TensorFlow 1、查询当前显卡算力是否支持CUDA https://developer.nvidia.cn/cuda-gpus

Vincent Vincent 发布于 2024-08-02

Agent设计模式综述

Agent设计模式综述 引言 尽管当前研究者在AI Agent领域投入了巨大努力,但从业者在构建和实施基于基础模型(Foundational Model,FM)的Agent方面面临着陡峭的学习曲线。文章注意到存在一系列可重用的解决方案,这些解决方案可以归纳为模式,以解决设计基于FM的Agent的多样

Vincent Vincent 发布于 2024-07-28

【Agent论文解读】AIOS:LLM智能体操作系统

【Agent论文解读】AIOS:LLM智能体操作系统 原文链接 本篇文章将会对论文《AIOS:LLM Agent Operating System》进行分享。在这篇文章中,主要介绍了AIOS及其技术架构和实现。AIOS是一种LLM智能体操作系统,将大型语言模型嵌入操作系统(OS)作为OS的大脑,实现

Vincent Vincent 发布于 2024-07-28

从AI Agent到Agentic Workflow,25篇论文全面了解智能体工作流

从AI Agent到Agentic Workflow,25篇论文全面了解智能体工作流 著名AI学者、斯坦福大学教授吴恩达提出了AI Agent的四种设计方式后,Agentic Workflow(智能体工作流)立即火爆全球,多个行业都在实践智能体工作流的应用,并推动了新的Agentic AI探索热潮。

Vincent Vincent 发布于 2024-07-28

【AI Agent技术论文】《AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation》

【AI Agent技术论文】《AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation》 原文链接 2024年5月,微软AutoGen的技术论文《AutoGen: Enabling Next-Gen LL

Vincent Vincent 发布于 2024-07-28

Auto-Encoding Variational Bayes

Auto-Encoding Variational Bayes 原文链接 变分自动编码器(Variational autoEncoder,VAE)是生成模型的一种。这些方法的主要目标是从对象的学习分布中生成新的采样数据。2014 年,K

Vincent Vincent 发布于 2024-07-28

虚拟化教程 (6) : 安装部署篇丨NVIDIA vGPU 驱动下载与安装

虚拟化教程 (6) : 安装部署篇丨NVIDIA vGPU 驱动下载与安装 众所周知,GPU 驱动至关重要,直接关系着是否能正常使用 NVIDIA GPU 显示或者是加速运算等工作,在带来更高稳定性和性能的同时,还能够优化其他应用程序的表现。在第一章节中 NVIDIA vGPU 方案架构中有提到,v

Vincent Vincent 发布于 2024-07-28

虚拟化教程 (5) : NVIDIA vGPU 许可申请、账号注册绑定及购买

虚拟化教程 (5) : NVIDIA vGPU 许可申请、账号注册绑定及购买 无论企业员工在家里、办公室内、路上或其他地点,都可以通过远程访问虚拟机来使用专为虚拟桌面打造的 NVIDIA vGPU,轻松管理复杂的图形和可视化工作流。 如果想要体验 NVIDIA vGPU 赋能虚拟桌面带来的强大功能,

Vincent Vincent 发布于 2024-07-28

虚拟化教程 (4) : NVIDIA vGPU 软硬件选型指南

虚拟化教程 (4) : NVIDIA vGPU 软硬件选型指南 NVIDIA vGPU 解决方案能够将 NVIDIA GPU 的强大功能带入虚拟桌面、应用程序和工作站,加速图形和计算,使在家办公或在任何地方工作的创意和技术专业人员能够访问虚拟化工作空间。 完整的 NVIDIA vGPU 方案包含 G

Vincent Vincent 发布于 2024-07-28

虚拟化教程(3):NVIDIA vGPU 软件之 vPC、vApps

虚拟化教程(3):NVIDIA vGPU 软件之 vPC、vApps 各行各业的企业都在探索数字化转型,寻求最佳的线上线下协作方式。IT 管理者需要建立一个面向未来的数字工作空间,使员工无论身在何处都能保持最高的工作效率。 未来的数字工作空间需要灵活的工作方式,使员工能够随时随地无缝地展开协作。远程

Vincent Vincent 发布于 2024-07-28

虚拟化教程(2):NVIDIA vGPU 软件之 vWS

虚拟化教程(2):NVIDIA vGPU 软件之 vWS 对于创作者而言,沉浸式可视化工具可助力实现交互式设计流程,渲染逼真图像,实现数字艺术创作。传统上,这些先进的工作流程往往仅限于高性能工作站,然而,在当今数字化的浪潮下,远程办公、实时协作的需求越来越多,同时还要满足不同工作负载的不同要求,借助

Vincent Vincent 发布于 2024-07-28

Generative Adversarial Nets

Generative Adversarial Nets 原文链接 李沐精读论文: </if

Vincent Vincent 发布于 2024-07-28

虚拟化教程(1):NVIDIA vGPU 概述

虚拟化教程(1):NVIDIA vGPU 概述 什么是虚拟 GPU? 虚拟 GPU,也称为 vGPU,是通过将数据中心 GPU 进行虚拟化,用户可在多个虚拟机中共享该 GPU。 NVIDIA vGPU 技术利用 NVIDIA GPU 和虚拟 GPU 软件产品的强大功能,使每个虚拟机(VM)都能像物理

Vincent Vincent 发布于 2024-07-28

AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE 原文链接 源码地

Vincent Vincent 发布于 2024-07-28

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 原文链接 Bert 取名来自 Bidirectional Encoder Representations from Transformer

Vincent Vincent 发布于 2024-07-28

Attention Is All You Need - 1706.03762v7

Attention Is All You Need - 1706.03762v7 原文链接 01 算法介绍前的说明

Vincent Vincent 发布于 2024-07-28

Relation Aware Coins

Relation Aware Coins Relation Aware Coins项目是作者和作者团队开发的基于投资组合选择(PS)通过操作虚拟币交易实现财富的长期回报最大化的项目。 本项目在transformer的基础之上,构建用于投资组合中的长期序列模型,以便捕捉价格序列的局部序列模式以及资产之

Vincent Vincent 发布于 2024-07-28

Kaggle Projects

Kaggle Projects Kaggle Projects项目是作者和作者团队参加竞赛和对过往竞赛的优秀源码的总结和分析。 竞赛类别包括Kaggle竞赛、阿里云天弛大模型竞赛、狗熊会竞赛等。 github地址 Table of Contents kaggle Getting Started $

Vincent Vincent 发布于 2024-07-28

Neural Network

Neural Network github地址 Neural Network项目是以学习、交流神经网络基础知识为目的的开源项目。该项目结合了《Neural Network and Deep Learning》《动手学深度学习》《Deedp Learning》等书籍或教程所讲的知识和源代码,加上作者在

Vincent Vincent 发布于 2024-07-28

详解Transformer

详解Transformer Transformers 亮相以来彻底改变了深度学习模型。 今天,我们将揭示 Transformers 背后的核心概念:注意力机制、编码器-解码器架构、多头注意力等等。 通过 Python 代码片段,让你深入了解其原理。 一、理解注意力机制<

Vincent Vincent 发布于 2024-07-27

GLUE基准数据集介绍及下载

GLUE基准数据集介绍及下载 一、简介 自然语言处理(NLP)主要自然语言理解(NLU)和自然语言生成(NLG)。为了让NLU任务发挥最大的作用,来自纽约大学、华盛顿大学等机构创建了一个多任务的自然语言理解基准和分析平台,也就是GLUE(General Language Understanding

Vincent Vincent 发布于 2024-07-27

【BERT】详解BERT

【BERT】详解BERT 一、为什么要提出BERT? 传统的RNN类模型,包括LSTM,GRU以及其他各种变体,最大的问题在于提取能力不足。在《Why Self-Attention? A Targeted Evaluation of Neural Machine Translation Archit

Vincent Vincent 发布于 2024-07-27

文本 Embedding 基本概念和应用实现原理

文本 Embedding 基本概念和应用实现原理 大语言模型之上的应用层面有三项技术需要理解:提示词工程(Prompt Engineering);嵌入(Embedding);微调(Fine-tuning)。其中 Embedding 作为大语言模型理解文本语义的重要技术,在搜索引擎、构建私有知识问答系

Vincent Vincent 发布于 2024-07-26

Self-Attention与谷歌的Transformer架构

Self-Attention与谷歌的Transformer架构 本文翻译自一篇非常赞的解释Transformer的文章,

Vincent Vincent 发布于 2024-07-26

The Illustrated Transformer

The Illustrated Transformer @JayAlammar Reprinted from

Vincent Vincent 发布于 2024-07-26

GPU虚拟化

GPU虚拟化 随着AI、加密货币等技术的发展,GPU在市场上“一卡难求”,这也导致GPU售价非常昂贵,而且供货周期也不稳定。 对于有GPU需求的企业用户,不但需要思考GPU卡的选型,同时需要考虑怎样尽可能高效利用GPU资源。为了提高GPU资源利用率,很多人选择对GPU进行虚拟化。

Vincent Vincent 发布于 2024-07-23

信息熵、交叉熵、相对熵

前言 信息论在1948年由香农提出,此后在各个工程技术领域都有广泛应用。 在机器学习领域,当然也包括自然语言处理领域,信息论是一个基础内容。离开信息论想要讨论清楚NLP是非常困难的。 因此,本文主要是为了给下一步的自然语言处理做理论基础铺垫,尽量不涉及公式,而是从直观的角度来理清信息论的直觉逻辑,这

Vincent Vincent 发布于 2024-07-07

常用损失函数

一、基本概念 在我们开始讨论损失函数之前,首先需要理解什么是损失函数,以及为什么我们需要它。 1.1 什么是损失函数 损失函数,也被称为代价函数或误差函数,是一个用来估计模型预测与真实值之间差异的函数。换句话说,损失函数可以帮助我们理解模型的预测结果有多糟糕。损失函数的值越小,说明模型的预测结果与真

Vincent Vincent 发布于 2024-07-07

数学基本概念

1.众数 出现频率最高的数 2.中位数 把样本值排序,分布在最中间的值; 样本总数为奇数时,中位数为第(n+1)/2个值; 样本总数为偶数时,中位数是第n/2个,第(n/2)+1个值的平均数。 3.平均数 所有数的总和除以样本数量; 现在大家接触最多的概念应该是平均数,

Vincent Vincent 发布于 2024-07-07

广播机制

本文默认你已知晓Numpy中的数组类ndarray来生成多维数组 提醒:不动手实践可不行噢,热热身且还不会出汗不挺好嘛 一、与数字运算 第一步:咱们来创建一个多维数组x1,简单点就来个3行3列的吧 # 导入包 import numpy as np # 使用np.array方法创建多维数组,数组中的

Vincent Vincent 发布于 2024-07-07

Xavier初始化

一、简介 网络训练的过程中, 容易出现梯度消失(梯度特别的接近0)和梯度爆炸(梯度特别的大)的情况,导致大部分反向传播得到的梯度不起作用或者起反作用. 研究人员希望能够有一种好的权重初始化方法: 让网络前向传播或者反向传播的时候, 卷积的输出和前传的梯度比较稳定. 合理的方差既保证了数值一定的不同,

Vincent Vincent 发布于 2024-05-16

权重衰减(Weight Decay)

Weight Decay是一个正则化技术,作用是抑制模型的过拟合,以此来提高模型的泛化性。 目前网上对于Weight Decay的讲解都比较泛,都是短短的几句话,但对于其原理、实现方式大多就没有讲解清楚,本文将会逐步解释weight decay机制。 1. 什么

Vincent Vincent 发布于 2024-05-14

激活函数实现类

1. Sigmoid Sigmoid 函数的图像看起来像一个 S 形曲线。 公式:

Vincent Vincent 发布于 2024-04-30

Pytorch中文文档

Vincent Vincent 发布于 2024-04-28

deep_learning 花书

Vincent Vincent 发布于 2024-04-28

NumPy reference

Vincent Vincent 发布于 2024-04-24

Matplotlib interfaces

Vincent Vincent 发布于 2024-04-24

Trigonometric functions 三角函数|Algebra 代数|Math 数学|Khan Academy 可汗学院

Trigonometric functions 三角函数|Algebra 代数|Math 数学|Khan Academy 可汗学院 转自Bilibili - 3Blue1Brown 合集地址:

Vincent Vincent 发布于 2024-04-13

深入浅出、直观明了地分享数学之美 - 3Blue1Brown

几何 转自Bilibili - 3Blue1Brown 合集地址:几何

Vincent Vincent 发布于 2024-04-13

概率论 - 可汗学院

转自Bilibili - 婆婆町 合集地址:-UP主汉语配音-【概率】合集-转载于可汗学院公开课

Vincent Vincent 发布于 2024-04-13

深度学习 - 反向传播 - 3Blue1Brown

直观理解反向传播 反向传播的微积分原理

Vincent Vincent 发布于 2024-04-13

概率论 - 3Blue1Brown

贝叶斯定理,使概率论直觉化 贝叶斯定理的简洁证明

Vincent Vincent 发布于 2024-04-13

微积分的本质(7-12)

极限 积分与微积分的基本定理 面积

Vincent Vincent 发布于 2024-04-13

微积分的本质(1-6)

概论 导数的悖论 用几何来求导

Vincent Vincent 发布于 2024-04-13

线性代数的本质(11-15)

叉积的标准介绍 以线性变换的眼光看叉积

Vincent Vincent 发布于 2024-04-13

线性代数的本质(6-10)

三维空间的线性变换 行列式

Vincent Vincent 发布于 2024-04-13

线性代数的本质(1-5)

序言 向量的本质 线性组合、张成的空间与基<

Vincent Vincent 发布于 2024-04-13

符号对照表

Vincent Vincent 发布于 2024-04-12

Numpy

NumPy - 简介 NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。 Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功

Vincent Vincent 发布于 2024-04-10

选择服务器和GPU

选择服务器和GPU 深度学习训练通常需要大量的计算。目前,GPU是深度学习最具成本效益的硬件加速器。与CPU相比,GPU更便宜,性能更高,通常超过一个数量级。此外,一台服务器可以支持多个GPU,高端服务器最多支持8个GPU。更典型的数字是工程工作站最多4个GPU,这是因为热量、冷却和电源需求会迅速增

Vincent Vincent 发布于 2024-04-07

使用Amazon EC2实例

使用Amazon EC2实例 本节将展示如何在原始Linux机器上安装所有库。回想一下,讨论了如何使用Amazon SageMaker,而在云上自己构建实例的成本更低。本演示包括三个步骤。 从AWS EC2请求GPU Linux实例。 安装CUDA(或使用预装CUDA的Amazon机器映像)。 安装

Vincent Vincent 发布于 2024-04-07

使用Amazon SageMaker

使用Amazon SageMaker 深度学习程序可能需要很多计算资源,这很容易超出你的本地计算机所能提供的范围。云计算服务允许你使用功能更强大的计算机更轻松地运行本书的GPU密集型代码。本节将介绍如何使用Amazon SageMaker运行本书的代码。 注册 首先,我们需要在注册一个帐户https

Vincent Vincent 发布于 2024-04-07

使用Jupyter Notebook

使用Jupyter Notebook 本节介绍如何使用Jupyter Notebook编辑和运行本书各章中的代码。确保你已按照 安装中的说明安装了Jupyter并下载了代码。如果你想了解更多关于Jupyter的信息,请参阅其

Vincent Vincent 发布于 2024-04-07

自然语言推断:微调BERT

自然语言推断:微调BERT 在本章的前面几节中,我们已经为SNLI数据集上的自然语言推断任务设计了一个基于注意力的结构。现在,我们通过微调BERT来重新审视这项任务。正如讨论的那样,自然语言推断是一个序列级别的文本对分类问题,而微调BERT只需要一个额外的基于多层感知机的架构,如所示。

Vincent Vincent 发布于 2024-04-07

针对序列级和词元级应用微调BERT

针对序列级和词元级应用微调BERT 在本章的前几节中,我们为自然语言处理应用设计了不同的模型,例如基于循环神经网络、卷积神经网络、注意力和多层感知机。这些模型在有空间或时间限制的情况下是有帮助的,但是,为每个自然语言处理任务精心设计一个特定的模型实际上是不可行的。在

Vincent Vincent 发布于 2024-04-07

自然语言推断:使用注意力

自然语言推断:使用注意力 我们介绍了自然语言推断任务和SNLI数据集。鉴于许多模型都是基于复杂而深度的架构,Parikh等人提出用注意力机制解决自然语言推断问题,并称之为“可分解注意力模型” (Parikh et al., 2016)。这使得模型没有循环层或卷积层,在SNLI数据集

Vincent Vincent 发布于 2024-04-07

自然语言推断与数据集

自然语言推断与数据集 我们讨论了情感分析问题。这个任务的目的是将单个文本序列分类到预定义的类别中,例如一组情感极性中。然而,当需要决定一个句子是否可以从另一个句子推断出来,或者需要通过识别语义等价的句子来消除句子间冗余时,知道如何对一个文本序列进行分类是不够的。相反,我们需要能够对成对的文本序列进行

Vincent Vincent 发布于 2024-04-07

情感分析:使用卷积神经网络

情感分析:使用卷积神经网络 我们探讨了使用二维卷积神经网络处理二维图像数据的机制,并将其应用于局部特征,如相邻像素。虽然卷积神经网络最初是为计算机视觉设计的,但它也被广泛用于自然语言处理。简单地说,只要将任何文本序列想象成一维图像即可。通过这种方式,一维卷积神经网络可以处理文本中的局部特征,例如�元

Vincent Vincent 发布于 2024-04-07

情感分析:使用循环神经网络

情感分析:使用循环神经网络 与词相似度和类比任务一样,我们也可以将预先训练的词向量应用于情感分析。由于IMDb评论数据集不是很大,使用在大规模语料库上预训练的文本表示可以减少模型的过拟合。作为所示的具体示例,我们将使用预训练的GloVe模型来表示每个词元,并将这些词元表示送入多层双向循环神经网络以获

Vincent Vincent 发布于 2024-04-07

情感分析及数据集

情感分析及数据集 随着在线社交媒体和评论平台的快速发展,大量评论的数据被记录下来。这些数据具有支持决策过程的巨大潜力。 情感分析(sentiment analysis)研究人们在文本中 (如产品评论、博客评论和论坛讨论等)“隐藏”的情绪。 它在广泛应用于政治(如公众对政策的情绪分析)、 金融(如市场

Vincent Vincent 发布于 2024-04-07

预训练BERT

预训练BERT 利用实现的BERT模型和从WikiText-2数据集生成的预训练样本,我们将在本节中在WikiText-2数据集上对BERT进行预训练。 from mxnet import autograd, gluon, init, np, npx from d2l import mxnet as

Vincent Vincent 发布于 2024-04-07

用于预训练BERT的数据集

用于预训练BERT的数据集 为了预训练实现的BERT模型,我们需要以理想的格式生成数据集,以便于两个预训练任务:遮蔽语言模型和下一句预测。一方面,最初的BERT模型是在两个庞大的图书语料库和英语维基百科的合集上预训练的,但它很难吸引这本书的大多数读者。另一方面,现成的预训练BERT模型可能不适合医学

Vincent Vincent 发布于 2024-04-07

来自Transformers的双向编码器表示(BERT)

来自Transformers的双向编码器表示(BERT) 我们已经介绍了几种用于自然语言理解的词嵌入模型。在预训练之后,输出可以被认为是一个矩阵,其中每一行都是一个表示预定义词表中词的向量。事实上,这些词嵌入模型都是与上下文无关的。让我们先来说明这个性质。 从上下文无关到上下文敏感

Vincent Vincent 发布于 2024-04-07

词的相似性和类比任务

词的相似性和类比任务 我们在一个小的数据集上训练了一个word2vec模型,并使用它为一个输入词寻找语义相似的词。实际上,在大型语料库上预先训练的词向量可以应用于下游的自然语言处理任务,这将在后面讨论。为了直观地演示大型语料库中预训练词向量的语义,让我们将预训练词向量应用到词的相似性和类比任务中。

Vincent Vincent 发布于 2024-04-07

子词嵌入

子词嵌入 在英语中,“helps”“helped”和“helping”等单词都是同一个词“help”的变形形式。“dog”和“dogs”之间的关系与“cat”和“cats”之间的关系相同,“boy”和“boyfriend”之间的关系与“girl”和“girlfriend”之间的关系相同。在法语和西班

Vincent Vincent 发布于 2024-04-07

全局向量的词嵌入(GloVe)

全局向量的词嵌入(GloVe) 上下文窗口内的词共现可以携带丰富的语义信息。例如,在一个大型语料库中,“固体”比“气体”更有可能与“冰”共现,但“气体”一词与“蒸汽”的共现频率可能比与“冰”的共现频率更高。此外,可以预先计算此类共现的全局语料库统计数据:这可以提高训练效率。为了利用整个语料库中的统计

Vincent Vincent 发布于 2024-04-07

预训练word2vec

预训练word2vec 我们继续实现定义的跳元语法模型。然后,我们将在PTB数据集上使用负采样预训练word2vec。首先,让我们通过调用d2l.load_data_ptb函数来获得该数据集的数据迭代器和词表,该函数在进行了描述。 import math from mxnet import auto

Vincent Vincent 发布于 2024-04-07

用于预训练词嵌入的数据集

用于预训练词嵌入的数据集 现在我们已经了解了word2vec模型的技术细节和大致的训练方法,让我们来看看它们的实现。具体地说,我们将以 跳元模型和负采样为例。本节从用于预训练词嵌入模型的数据集开始:数据的原始格式将被转换为可以在训练期间迭代的小批量。 import math import os im

Vincent Vincent 发布于 2024-04-07

近似训练

近似训练 回想一下我们的讨论。跳元模型的主要思想是使用softmax运算来计算基于给定的中心词��生成上下文字��的条件概率),对应的对数损失在给出。 由于softmax操作的性质,上下文词可以是词表�中的任意项,包含与整个词表大小一样多的项的求和。因此, 中跳元模型的梯度计算和 中的连续词袋模型的

Vincent Vincent 发布于 2024-04-07

词嵌入(word2vec)

词嵌入(word2vec) 自然语言是用来表达人脑思维的复杂系统。 在这个系统中,词是意义的基本单元。顾名思义, 词向量是用于表示单词意义的向量, 并且还可以被认为是单词的特征向量或表示。 将单词映射到实向量的技术称为词嵌入。 近年来,词嵌入逐渐成为自然语言处理的基础知识。 为何独热向量是一个糟糕的

Vincent Vincent 发布于 2024-04-07

实战Kaggle比赛:狗的品种识别(ImageNet Dogs)

实战Kaggle比赛:狗的品种识别(ImageNet Dogs) 本节我们将在Kaggle上实战狗品种识别问题。 本次比赛网址是https://www.kaggle.com/c/dog-breed-identification。显示了鉴定比赛网页上的信息。 需要一个Kaggle账户才能提交结果。 在

Vincent Vincent 发布于 2024-04-07

实战 Kaggle 比赛:图像分类 (CIFAR-10)

实战 Kaggle 比赛:图像分类 (CIFAR-10) 之前几节中,我们一直在使用深度学习框架的高级API直接获取张量格式的图像数据集。 但是在实践中,图像数据集通常以图像文件的形式出现。 本节将从原始图像文件开始,然后逐步组织、读取并将它们转换为张量格式。 我们对CIFAR-10数据集做了一个实

Vincent Vincent 发布于 2024-04-07