自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 论文泛读:GPT-1

对 Transformer Decoder 模型的探索在在很大程度上是由 OpenAI 带头进行的,通过使用更大的数据集进行预训练,以及将模型的规模扩大,纯 Decoder 模型的性能也在不断提高。GPT:GPT-1是于2018年发布的第一个版本,它使用了12个Transformer编码器层和1.5亿个参数。GPT-1的训练数据包括了互联网上的大量文本。

2023-11-28 18:52:57 845

原创 深度学习必学Pytorch基础

Pytorch 提供自动计算梯度的功能,可以自动计算一个函数关于一个变量在某一取值下的导数,从而基于梯度对参数进行优化,这就是机器学习中的训练过程。张量 (Tensor) 是深度学习的基础,例如常见的 0 维张量称为标量 (scalar)、1 维张量称为向量 (vector)、2 维张量称为矩阵 (matrix)。在有些情况下,即使两个张量形状不同,也可以通过广播机制 (broadcasting mechanism) 对其中一个或者同时对两个张量的元素进行复制,使得它们形状相同,然后再执行按元素计算。

2023-11-25 11:04:57 880 1

原创 Transformer介绍与应用

Transformer模型完全基于注意力机制,没有任何卷积层或循环神经网络层。Transformer的编码器和解码器是基于自注意力的模块叠加而成的,源(输入)序列和目标(输出)序列的嵌入(embedding)表示将加上位置编码(positional encoding),再分别输入到编码器和解码器中。尽管Transformer最初是应用于在文本数据上的序列到序列学习,但现在已经推广到各种现代的深度学习中,例如语言、视觉、语音和强化学习领域。

2023-11-23 21:14:43 1022

原创 loss函数中,reduction参数的作用

当输入样本是一个批次(batch)的数据时,通常希望对整个批次的样本计算一个单一的损失值,以便进行梯度计算和参数更新。其中,reduction=‘none’ 表示不进行降维,即返回每个样本的损失值,而不对它们进行求和或平均。可以得到整个批次样本的平均损失,适用于对损失进行汇总,并用于指导整体模型的训练和优化。在 PyTorch 的损失函数中,reduction 参数用于指定损失的降维方式。可以得到整个批次样本的总和损失,适用于需要获得整个批次的总体损失值的情况。是常用的降维方式,在计算损失函数时使用。

2023-11-14 12:41:06 650

原创 关于自然语言处理(NLP)论文的检索合集

收录的论文中,上下文学习、微调、思维链、LLM推理能力研究、知识增强是几个主要的研究热点,分别都有10-15篇相关的论文。此外还有开放领域QA、信息检索、多模态、预训练模型、机器翻译、LLM生成数据、长度外推、上下文窗口大小、代码生成(还有一些不一一列出了)等课题的研究,但是论文数量相对少一点。(Association for Computational Linguistics)是自然语言处理领域的顶级学术会议,成立于1962年,每年举办一次,是NLP领域内最具影响力的学术会议之一。

2023-11-13 12:00:19 109

原创 大模型LLM相关综述(持续更新)

定义:当模型生成的文本不遵循原文(Faithfulness)或者不符合事实(Factualness),我们就可以认为模型出现了幻觉的问题。

2023-11-13 11:33:53 70

原创 cuda编程的一些基础知识

在CUDA编程中,const关键字用于声明一个常量,这意味着该变量的值不能被修改。在CUDA中,使用常量可以提高程序的性能,因为编泽去可以在代码中进行常量折叠,从而消除了在代码中使用变量的开销。此外,常量在内存中有其专用的存储区域,这意味着它们可以具有更快的访问速度。在CUDA中,常量通常用于存储不变的值。例如数学常数或程序参数。可以使用__constant__修饰符将常量定义为CUDA全局内存中的常量,这样它们就可以在设备代码中使用。

2023-11-12 13:49:42 54 1

原创 CUDA编程存储体冲突问题,以及避免方式

在某些GPU架构中,共享内存(Shared Memory)可能被划分为多个存储体(Banks),其中每个存储体有固定的大小(通常为32位或64位)。这种划分是为了提高内存访问的并行性和效率。当多个线程同时访问共享内存时,如果它们访问的内存地址在不同的存储体中,那么访问可以并行进行,不会出现冲突。然而,如果多个线程同时访问了同一个存储体中的不同地址,就会发生存储体冲突(Bank Conflict)。存储体冲突会导致并行访问的性能下降,因为同时只能有一个线程能够访问同一个存储体。

2023-11-12 13:34:32 417 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除