自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 人工智能该如何学习?详细的AI学习路线与资料推荐

AI因你而升温,记得加星标哦!大家好,我是泰哥。本文可谓是千呼万唤使出来,很多同学问我,AI方向的知识多而杂,哪些该重点学习?学习路径又是怎么样的呢?今天,我将自己的学习路径及我所参考的资料全部免费分享出来,愿大家的AI学习进阶之路上多一些“温度”。学习途径在我学习人工智能的过程中,主要有以下两个途径:首先是B站。我将所有知识点所推荐的视频链接直接贴设为了超链接,点击可直达教程。第二是书籍。视频的讲解难免会不全面,很多时候我们需要翻阅书籍对知识进行查漏补缺、透彻理解。本文提及所有书籍在文.

2021-11-25 16:37:30 98066 28

原创 从DeepSeek发布的4篇论文来看DeepSeek的发展过程

这篇按顺序梳理DeepseekMoE、Deepseek-V2、Deepseek-V3到Deepseek R1这4篇论文。Deepseek的模型都采用了MoE架构的,因此开始具体论文分析之前,先分析一下MoE架构稀疏型模型和传统的密集型模型区别。

2025-02-07 15:40:25 1585

原创 在推荐、RAG等业务中,如何完成亿级向量的快速检索?

AI因你而升温,记得加个星标哦!在推荐、RAG等业务中都需要用到ANN(Approximate Nearest Neighbor),最常用的方法就是用户Query向量与向量库中的每个向量遍历检索得到答案,俗称暴力计算,这样做精度最高,但效率也最低。同时还有个非常严重的问题,那就是存储,假设一个向量用1024维的float32(4字节)来表示,即一个向量所占的内存就是4Byte∗1024,那么一千万个向量所占空间就是1000w∗4Byte∗102438G。

2024-12-11 20:20:11 710

原创 对于相同问题大模型的生成为什么会不同?

AI因你而升温,记得加个星标哦!:直接选择概率最高的单词。这种方法简单高效,但是可能会导致生成的文本过于单调和重复。:是对贪心策略一个改进。思路也很简单,就是稍微放宽一些考察的范围。在每一个时间步,不再只保留当前分数最高的1个输出,而是保留num_beams个。当num_beams=1时集束搜索就退化成了贪心搜索。:按照概率分布随机选择一个单词。这种方法可以增加生成的多样性,但是可能会导致生成的文本不连贯和无意义。在具体应用中,主要衍生出了如下几种方法搭配使用。

2024-12-11 20:19:25 2275

原创 详解大模型推理训练占用的显存

AI因你而升温,记得加个星标哦!在当前开源大模型中,我们可以观察到一个普遍的现象:开源可下载模型的参数规模都集中在7B、13B、65B等特定的数值上,那这种现象背后有着怎样的原因呢?

2024-12-11 20:17:53 1815 1

原创 图解大模型分布式训练:ZeRO系列方法

AI因你而升温,记得加个星标哦!

2024-12-11 20:15:59 805

原创 图解大模型分布式训练:张量并行Megatron-LM方法

AI因你而升温,记得加个星标哦!随着大模型参数量的爆炸性增长,其所需内存也呈爆炸性增长,最现实的问题就是单块显卡装不下模型,所以我们需要进行分布式训练。

2024-12-11 20:15:27 561

原创 图解大模型分布式训练:流水线并行

GPipe需要等所有的microbatch前向传播完成后,才会开始反向传播。PipeDream则是当一个microbatch的前向传播完成后,立即进入反向传播阶段。理论上,反向传播完成后就可以丢弃掉对应microbatch缓存的激活。由于PipeDream的反向传播完成的要比GPipe早,因此也会减少显存的需求。GPipe与PipeDream主要差别是在梯度更新上,Gpipe是最后同步一次更新的,而PipeDream是异步的。异步方法更进一步降低了GPU的空转时间比。

2024-12-11 20:14:10 1220

原创 图解大模型分布式训练:数据并行

在DP中,每个GPU上都拷贝一份完整的模型,每个GPU上处理batch的一部分数据,所有GPU算出来的梯度传到master进行累加后,再传回各GPU用于更新参数DDP通过定义网络环拓扑的方式,将通讯压力均衡地分到每个GPU上,使得跨机器的数据并行(DDP)得以高效实现DP和DDP的总通讯量相同,但因负载不均的原因,DP需要耗费更多的时间搬运数据最后请大家记住Ring-AllReduce的方法,因为在之后的ZeRO、Megatron-LM中,它将频繁地出现,是分布式训练系统中重要的算子。

2024-10-24 11:24:18 425

原创 又一次升级:字节在用大模型在做推荐啦!

字节前几天2024年9年19日公开发布的论文《HLLM:通过分层大型语言模型增强基于物品和用户模型的序列推荐效果》。文字、图片、音频、视频这四大类信息载体,在生产端都已被AI生成赋能助力,再往前一步,一定需要一个更强势的、更有效率的推荐分发机制。因为只有分发到位,才会激发更多的供给生产…

2024-10-24 11:22:52 761

原创 MapReduce:大模型分布式训练必备知识

Map的核心是分解。想象一下有一辆红色的轿车,一队工人合力将它拆解成单个零件,这个过程我们就称之为Map。Reduce的核心是组合。比如我们拥有一堆汽车零件,以及众多不同种类的装置零件,将这些零件巧妙地组装起来,最终形成了一个变形金刚,这就是Reduce的过程。Input:假设你拥有一大批各式各样的食材,包括蔬菜、水果和面包Split:有一群厨师主动领取这些食材Map:每位厨师对不同的食材进行切割处理Shuffle:切割完成后,将这些食材分配到不同的冷藏设备中。

2024-10-24 11:21:46 451

原创 Flash Attention是怎么做到又快又省显存的?

Flash Attention的动机是尽可能避免大尺寸的注意力权重矩阵在 HBM 和 SRAM 之间的换入换出。论文中具体方法包含两个部分:tiling 和 recomputation。tiling 的基本思路:不直接对整个输入序列计算注意力,而是将其分为多个较小的块,逐个对这些块进行计算,增量式地进行 softmax 的规约。规约过程中只需要更新某些中间变量,不需要计算整个注意力权重矩阵,就是以上介绍的将三部合并成两步的过程。

2024-09-26 09:39:38 1289

原创 KV Cache:图解大模型推理加速方法

KV Cache 是大模型推理性能优化的一个常用技术,该技术可以在不影响任何计算精度的前提下,,提高推理性能。

2024-09-03 15:22:42 1945

原创 代码与原理:混合精度训练详解

为了解决梯度过小数据下溢的问题,对前向计算出来的Loss值进行放大操作,也就是把FP32的参数乘以某一个因子系数后,把可能溢出的小数位数据往前移,平移到FP16能表示的数据范围内。float16和float32相比内存占用更少**,**通用的模型 fp16 占用的内存只需原来的一半,就意味着训练的时候可以用更大的batchsize,且在多卡训练时数据通信量大幅减少等待时间,还能加快计算节省模型的训练时间。在反向传播之前将梯度的值放大,然后在权重更新之后将放大的梯度缩放回来,在计算梯度后,使用。

2024-08-27 10:48:12 1134

原创 大模型长文本阅读能力如何评估?

目前大模型上下文的阅读理解能力提升迅速,各大厂也都在积极整理数据集,类似LongBench的长文本测评数据集还有InfiniteBench、RULER等。第二类思路就是大海捞针,在没有标准验证集的情况下可以自己造数据集,因为可以自己找不相关文本并根据自己插入的文本生成相应问题。原文链接。

2024-08-15 09:17:16 983

原创 实战:手把手教你Prompt到底该怎么写

因为如果系统提示自带指令,那么这些系统提示就会与聊天中的每个新提示一起被自动考虑,就能确保LLM在聊天过程中一直可以接收这些提示,无论聊天时间多长。XML标签文本和问题中使用的名词,与系统提示中使用的名词相对应,这样LLM就能理解标签与系统提示指令之间的关系。我们的最新创新产品不仅仅是一款吹风机,它还是一个承诺,为那些热爱生活的人提供快速、轻柔、可靠的头发造型。因此,我们用作分隔符的XML标签是、<POLICY_SUMMARY>,确保LLM理解你的指令与用作分隔符的XML标签之间的关系。

2024-08-06 11:35:59 783

原创 LLaMA3:开源战胜闭源意味着什么?

LLaMA3-405B的模型效果已经赶上目前最好的闭源模型GPT-4o和Claude-3.5,这可能是未来大模型开源与闭源的拐点,这里就LLaMA3的模型结构、训练过程与未来影响等方面说说我的看法。

2024-07-30 09:59:42 796

原创 手把手带你从零推导旋转位置编码RoPE

RNN每个step的隐状态都取决于上一个step的输出,这种连续的状态转移方式使得RNN天然带有位置信息。而Transformer仅依靠Attention机制来关注序列中不同token之间的相关性,如果只使用token embedding就无法获得句子中字与字之间的位置信息,也就是说如果没有位置编码,输入“我不爱你”与“不我爱你”的效果是相同的,因此我们要在里面额外引入位置信息。下面我就为大家介绍位置编码的发展过程。

2024-07-26 09:14:44 1714

原创 Pytorch使用教学10-张量操作方法大总结

Tensor是一个多维数组,它是标量、向量、矩阵的高维拓展。

2024-07-25 09:34:04 770

原创 Pytorch使用教学9-张量的线性代数运算

在机器学习建模过程中,经常会使用矩阵运算以提升效率,在深度学习中,往往会涉及矩阵的集合运算,就是三维或四维数据的计算。?本文首先介绍矩阵的构造,然后详解矩阵的运算与本质意义。

2024-07-25 09:31:23 1128

原创 Pytorch使用教学8-张量的科学运算

在介绍完PyTorch中的广播运算后,继续为大家介绍PyTorchPyTorch。

2024-07-25 09:29:03 1431 1

原创 Pytorch使用教学7-张量的广播

维度相同时,如果对应分量不同,但有一个为1,就可以广播。

2024-07-25 09:27:19 1001

原创 Pytorch使用教学6-张量的分割与合并

在使用PyTorch时,对张量的分割与合并是不可避免的操作,本节就带大家深刻理解张量的分割与合并。

2024-07-25 09:25:10 1043

原创 Pytorch使用教学5-视图view与reshape的区别

有同学后台留言问为什么view有时可对张量进行形变操作,有时就会报错?另外它和reshape功能好像一致,有什么区别呢?本文就带你了解PyTorch中视图的概念。在PyTorch中对张量进行形变操作时,很多同学也会使用view方法,但是经过一系列变化后,你可能会发现你的张量错乱了,而且不能继续形变。或者你可能都不知道你的张量发生了变化,一直在处理错误数据…

2024-07-25 09:21:52 1010

原创 Pytorch使用教学4-张量的索引

张量也是有序序列,我们可以根据每个元素在系统内的顺序位置,来找出特定的元素,也就是索引。

2024-07-25 09:18:49 706

原创 Pytorch使用教学3-特殊张量的创建与类型转化

与numpy类似,PyTorch中的张量也有很多特殊创建的形式。zeros。

2024-07-25 09:17:43 603

原创 Pytorch使用教学2-Tensor的维度

一般我们最常使用的就是flatten()与reshape()。仔细思考的同学们肯定也可以发现,reshape()也可以实现flatten()的功能,reshape()所需的参数就是张量中的元素数。Tensor是一个多维数组,它是标量、向量、矩阵的高维拓展。

2024-07-24 19:41:07 858

原创 Pytorch使用教学1-Tensor的创建

在我们不知道什么是深度学习计算框架时,我们可以把PyTorch看做是Python的第三方库,在PyTorch中定义了适用于深度学习的张量Tensor,以及张量的各类计算。就相当于NumPy中定义的Array和对应的科学计算方法,正是这些基本数据类型和对应的方法函数,为我们进一步在PyTorch上进行深度学习建模提供了基本对象和基本工具。因此,我们需要熟练掌握PyTorch中张量的基本操作方法。是一种包含单一数据类型元素的多维矩阵。

2024-07-24 19:39:57 915 1

原创 大模型常用评测基准汇总

在评测集维度,OpenAI和Google会直接使用Chatbot Arena的结果,在对大模型进行评估时,较为简单、高效、易操作的方式是关注Chatbot Arena的leaderboard。从榜单上可以看出中文大模型的效果还是差于国外大模型,这种落后不能单一归结为某一个原因,我们需要认识到在算力、算法、数据中的各种不足。征途漫漫,惟有奋斗。

2024-07-24 09:36:46 2298

原创 详解大模型PPO、DPO的训练过程

AI因你而升温,记得加个星标哦!大家好,我是泰哥。距离上次写技术贴已经1年有余,这一年当中算法技术的发展可以说是日新月异。今天和大家聊聊大模型的训练的三个阶段,分别为有监督学习(SFT)、奖励模型训练(RW)与强化学习(PPO)阶段,我对以上的训练过程会加上一些自己的理解。GPT使用Transformer decoder部分作为语言模型的框架,并将decoder中的Multi-head Attention层删除,其结构和计算过程如上图。

2024-07-10 15:51:19 10987 2

原创 Mysql经典面试题20道

SQL语句在工作与面试时都必不可少,下面我整理了20道题目供大家练习,常见的使用方法和开窗函数都有考察,来测测你的sql技能是否过关。

2023-05-05 15:06:59 4600 1

原创 神经网络为什么可以(理论上)拟合任何函数?

你知道y=kx+b,你就知道了为什么神经网络可以(理论上)拟合任何函数。

2023-03-13 14:03:06 3104 1

原创 RNN、LSTM、GRU序列模型对比

AI有温度立志将每一个知识点讲精讲细,帮助您利用碎片时间快速学习、查漏补缺,成为您的AI口袋学习书。

2023-03-03 09:26:35 1888

转载 过拟合与欠拟合

过拟合和欠拟合的原因及解决方法

2022-08-30 17:20:18 324

原创 python异常处理

5分钟彻底搞定python异常处理

2022-08-02 10:37:39 4927

原创 向量相似度评估方法

向量相似度评估方法

2022-07-25 17:27:37 8935

原创 Batch Normalization究竟学到了数据的什么信息?

原文链接:Batch Normalization究竟学到了数据的什么信息?大家好,我是泰哥。上节为大家介绍了数据归一化的发展历程,本节就讲讲Batch Normalization的计算思路,看看它究竟强在哪里?为什么它可以使模型梯度保持平稳。1 归一化不会改变数据分布任何归一化的本质都是对数据进行平移和放缩。平移:数据集每一列数据统一加上或减去某一个数缩放:数据集每一列数据统一除以或乘以某一个数import torchimport matplotlib.pyplot as plt#

2022-04-25 09:38:24 4793

转载 再聊聊梯度消失与梯度爆炸

原文链接:再聊聊梯度消失与梯度爆炸随着神经网络的层数变多、结构越来越复杂,模型在训练过程中就会遇到梯度消失和梯度爆炸导致模型不能有效收敛。那么你知道该问题是如何解决的吗?1 梯度消失与梯度爆炸神经网络在进行反向传播的过程中,各参数层的梯度计算会涉及到激活函数的导函数取值。具体来说,假设现在有一个三层的神经网络,XXX为输入,www为神经网络参数,F(x)F(x)F(x)为激活函数:y^=F(F(X∗w1)∗w2)∗w3\hat y = F(F(X * w_1) * w_2) * w_3y^​=F(

2022-04-14 16:03:00 5208

转载 数据归一化

数据归一化的重要性

2022-04-14 15:57:45 10214

原创 NLP标注神器:可同时对文本与实体进行标注

原文链接:NLP标注神器-可同时对文本与实体进行标注我之前做实体标注项目使用过标注精灵、BRAT、YEDDA、DeepDive等标注工具,这些工具虽然可以满足实体标注需求,但安装过程复杂、英文界面、有时会有卡顿,对标注人员都很不友好。而我目前要做的任务需要能同时对数据进行实体标注和文本分类标注,以上提到的工具都很难满足,分开标注效率又太低。于是我找到了rasa-nlu-trainer标注工具,免费、无需安装、无需注册、操作快捷且能同时标注,真是神器!今天就分享给大家。1 进入标注工具地址:https

2021-12-14 09:16:38 13292 4

空空如也

空空如也

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

TA关注的人

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