GPT2(XL)有15亿个参数,使用16位精度,一个参数占用2个字节的内存,因此这些参数大约占用3GB的内存。按照如下超参数设置:优化器→Adam批量大小→32变换层数量→48序列长度→1000要想在单个GPU上训练GPT2,所需的最小内存大概是多少?答案可能会吓到你。在一个拥有32GB内存的单个GPU上,几乎无法训练一个3GB的GPT2模型。但这怎么可能呢?内存都去哪了?让我们来了解一下。模型在训练过程中有很多方面会持续占用内存。1)优化器...
尽管在本地(通过验证集和测试集)对机器学习模型进行了严格测试,但立即用新模型替换旧模型仍不是一个好想法。一种更可靠的策略是在生产环境中测试模型(基于真实的实时数据)。虽然这听起来有些冒险,但现实中经常这么做,而且并不复杂。下图展示了四种常见策略:●当前模型称为“旧模型”(legacymodel)。●新模型称为“候选模型”(candidatemodel)。1)AB测试●将传入的请求不均匀地分配给旧模型和候选模型。●故意限制...
如果数据是无标签的,我们很难构建一个监督学习系统。使用无监督技术是一种可行的解决方案,但它们能完成的任务类型有限。另一种可能的方法,是依赖自监督学习。自监督学习是指我们有一个无标签的数据集,但我们通过某种方式能够从中构建一个监督学习模型。这通常依赖于任务的固有属性。例如,ChatGPT自回归地基于当前词预测下一个单词。这样我们就可以简单地将文本左移一位在海量文本上构造训练数据集。输入:"Thecatsaton"标...
在线性回归中,通常使用均方误差作为损失函数。但你知道为什么用它吗?要知道,很多函数都能衡量预测值和真实值之间的不同,在所有候选者中,均方误差有什么特殊之处吗?据我所知,很多人都会回答:1.均方误差是可微的,所以才作为损失函数。>错2.与绝对误差相比,均方误差对大的误差惩罚更多>错很遗憾,上述回答都是错的。也许从概率视角出发,可以帮助我们更好理解,为什么均方误差更合适。在线性回归中,通过输入X预测目标变...
2024-11-04 16:32:12 194浏览 0点赞 0回复 0收藏
我们常说机器学习三大件:模型、损失函数、优化算法。模型:线性回归、逻辑回归、SVM、CNN、RNN、LSTM、Transformer等等。损失函数:均方误差、交叉熵、对比损失。优化算法:梯度下降、Adam、RMSProp、牛顿法等等。其中损失函数通过衡量模型预测值和真实值之间的距离来评估模型的好坏,并将结果反馈给优化算法来调整模型参数,以此来最小化损失函数。常见的距离衡量包括:欧氏距离、曼哈顿距离、余弦相似度、KL散度等。均方误差...
2024-10-23 10:27:45 275浏览 0点赞 0回复 0收藏
考虑下面这个连续概率分布的概率密度函数,它表示的是从A点到B点可能花费的时间。这是一个连续随机变量t取值区间为[1,5]的均匀分布,其概率密度函数可以表示成下面形式。那么,问题来了!Q)他从A点到达B点花费3分钟的概率P(T3)是多少?哇哦!上述答案都是错的,正确答案是:0。有的人可能会立马抗议,并表示为什么在掷色子中每个点的概率就是16呢?因为掷色子实验结果是离散的,离散随机变量的概率分布称为概率质量函数(PMF)...
2024-10-17 13:19:19 253浏览 0点赞 0回复 0收藏
构建模型通常是一个迭代过程,给定数据集:训练模型评估模型改进,直到满意为止你的改进策略不一定徒劳无功!如何评估模型是否进步了呢?通常会使用某些性能指标来评估改进策略的有效性。然而,在多分类问题中,当使用“Accuracy”指标评估改进策略有效性时,通常带有欺骗性。换句话,某些改进策略其实已经提升模型性能了,但通过“Accuracy”这个指标没有反映出来。“Accuracy”陷阱这里的“Accuracy”其实应该是“Top1Accurac...
2024-10-15 15:33:22 305浏览 0点赞 0回复 0收藏
前面图解了Transformer整体架构和编码器,今天图解解码器。先来个整体视角:再逐步分解开来:WHAT'STHEDECODER解码器是将编码输入和先前生成的标记转换为上下文感知输出的关键所在。可以把它想象成艺术家,从草图中绘制出最终的画作。🖌️STEP1PROCESSINGTHETARGETSEQUENCESTEP1.1TargetSequenceEmbedding解码器首先对需要处理的序列进行嵌入,将原始数据转换为其能够理解的格式。STEP1.2PositionalEncoding由于Transformers不...
2024-09-29 11:03:34 412浏览 0点赞 0回复 0收藏
前面图解了Transformer整体架构,今天图解编码器。先来个整体视角:再逐步分解开来:𝗪𝗛𝗔𝗧'𝗦𝗧𝗛𝗘𝗘𝗡𝗖𝗢𝗗𝗘𝗥编码器负责通过自注意力机制和前馈层处理输入的token,从而生成具有上下文感知的表示。👉它是NLP模型中理解序列的核心动力。𝗦𝗧𝗘𝗣1.1:𝗜𝗡𝗣𝗨𝗧𝗘𝗠𝗕𝗘𝗗𝗗𝗜𝗡𝗚🔎编码器的第一步是将每个输入的单词嵌入为一个大小为512的向量。⚠️这种嵌入过程只发生在最底层的编码器中。可以把它想象成把单词翻译成模...
2024-09-29 11:00:25 341浏览 0点赞 0回复 0收藏
前面我们图解了简单线性回归,也就是只有一个自变量,今天我们来看看自变量有多个的情况,也就是多重线性回归。先来个整体视角:再逐步分解开来:𝗗𝗔𝗧𝗔𝗚𝗔𝗧𝗛𝗘𝗥𝗜𝗡𝗚𝗣𝗛𝗔𝗦𝗘我们用体重作为因变量,身高作为自变量,并假设它们之间有某种线性关系。𝗗𝗔𝗧𝗔𝗘𝗫𝗣𝗟𝗢𝗥𝗔𝗧𝗜𝗢𝗡𝗧𝗜𝗠𝗘!要想得到一个好模型就必须先充分了解数据。在正式训练模型之前,先来探索分析数据。看,Gender居然也是个重要因素。当我们将身...
2024-09-29 10:54:15 381浏览 0点赞 0回复 0收藏
线性回归可谓是机器学习界的helloworld,在现实中也有广泛应用,今天我们以图表为主,用可视化方法重新审视下这个模型。先来个整体视角:再逐步分解开来:𝗦𝗜𝗠𝗣𝗟𝗘𝗟𝗜𝗡𝗘𝗔𝗥𝗥𝗘𝗚𝗥𝗘𝗦𝗦𝗜𝗢𝗡如果自变量只有一个,我们称为简单线性回归,虽然简单,但很强大,能用来发现数据中潜在的变化趋势。𝗛𝗢𝗪𝗗𝗢𝗘𝗦𝗜𝗧𝗪𝗢𝗥𝗞线性回归的目标是拟合一条直线,这条直线最能体现自变量和因变量之间的线性依赖关系。𝗛𝗢𝗪𝗗...
2024-09-29 10:49:32 426浏览 0点赞 0回复 0收藏
国外一美女程序员,在Github上通过检索gpt,llm,和generativeai等关键字,从数十万检索结果中得到900个500+star大模型开源项目。她将统计结果放到了网站上,并定期更新star数等信息,同时提供了排序,分组,过滤等工具,我们也可以拿她的统计结果来进行分析。https:huyenchip.comllamapolice接下来让我们看看她通过分析这些开源项目学到了什么。新的AI堆栈基础设施包括训练大模型的硬件资源,训练大模型需要大量的显卡,...
2024-09-19 14:02:00 349浏览 0点赞 0回复 0收藏
多模态学习可以看作是深度学习的一个细分领域,利用不同类型的神经网络来处理不同模态(如图像、文本、音频等)的数据。多模态任务大体可以分为理解和生成两大类,生成任务又分为文生图和图生文。CLIP是入门多模态的最佳选择,后续多模态模型基本上都延续了它的思想:分别用图像编码器和文本编码器将图像和文本编码到一个共享的特征空间中,然后通过多模态融合方法将配对的图像文本特征向量拉进。[CLIP]手书动画✍️[1]给定↳...
2024-08-20 09:07:19 481浏览 0点赞 0回复 0收藏
深度学习是机器学习的一个子领域,深度学习通过神经网络模拟人脑神经元的连接来进行复杂数据的学习与预测。其中,卷积神经网络(CNN)主要用于计算机视觉任务;循环神经网络(RNN)则适用于处理序列数据。今天介绍CV和NLP领域一些重要模型。[RNN]手书动画✍️0.初始化输入序列X:[3,4,5,6]参数矩阵:参数矩阵是通过训练得到的,图中虽然列了4个节点,但其实是同一个节点按照时间步展开的,这也是RNN经常被误解的地方。RNN隐状...
2024-08-14 08:55:13 601浏览 0点赞 0回复 0收藏
[SVM]手书动画✍️除了SVM,传统机器学习中还有很多其它分类、回归和聚类算法,例如逻辑回归,决策树,随机森林等集成学习方法;这里统称为模型,这些模型基本上可以通过明确的数学公式定义输入数据与输出结果之间的关系。在深度学习兴起之前,支持向量机(SVM)在机器学习领域占据主导地位。这个动画比较了线性SVM和RBFSVM。[1]给定:xi:六个训练向量(蓝色行🟦)yi:标签使用xi和yi,我们学习得到ai和b(红色边框):ai:每个训练向量i...
2024-08-13 10:41:45 574浏览 0点赞 0回复 0收藏
现在市面上的大模型越来越多,选择多了也可能成为一种幸福的烦恼。如何选择一个好模型?在机器学习中,通常会使用一些评估指标来选择模型,例如,用精度、召回率、F1等指标来评估一个分类模型的性能;使用IOU,AUC等指标评估目标检测和分割模型的性能。同理,大模型也有评估指标。质量:大模型的指令跟随以及推理能力,例如,通用推理能力,或者具有某一方面的编码、数学推理能力。性能:大模型的反应速度和记忆能力,例如,每...
2024-07-24 13:18:26 551浏览 0点赞 0回复 0收藏
传统RAGLLM预训练和微调一般都是基于公开的互联网数据,不可能包含公司内部私有数据,如果你问有关某公司的运营情况,直接基于模型参数生成的回答可能和胡说八道没什么两样。RAG(RetrievalAugmentedGeneration)的思想就是将私有数据作为参考信息传递给LLM。这些私有数据除了作为一种补充信息,也可以作为一种限制,能避免LLM产生幻觉。参考信息一般以文本、图片等非结构化形式存在。RAG的流程是:1.首先要将文本划分成片段,...
2024-07-17 07:04:18 756浏览 0点赞 0回复 0收藏
从零实现大模型BERT预训练从零实现大模型BERT微调我们在BERT微调那篇文章中提到,许多NLP任务(如情感分析和问答)都依赖于上下文理解能力。而像BERT这种双向模型具有较强的上下文理解能力,因此非常适合用于任务微调,即针对某个具体任务进行微调。从零实现大模型GPT2预训练从零实现大模型GPT2指令微调从零实现大模型GPT2RLHF而像GPT这种自回归模型,在预训练完成后会进行一个指令微...
2024-07-02 11:26:30 1001浏览 0点赞 0回复 0收藏
从零实现大模型多头注意力和Transformer从零实现大模型GPT2预训练从零实现大模型GPT2指令微调通过前面的预训练和指令微调,我们得到了既能续写文本,又能遵守指令的GPT2模型。但从GPT的演进路线来看,要达到ChatGPT的水平,除了增加模型参数、使用更多的数据预训练、更高质量的监督数据指令微调外,还需要一个重要的技术手段,那就是RLHF。(RLHF:ReinforcementLearningfromHumanFeedback):即基于人类...
2024-06-28 10:24:11 1394浏览 0点赞 0回复 0收藏
按照顺序,轮也该轮到BERT指令微调了吧!是微调,但不是指令微调!我们在之前的文章介绍过大模型的多种微调方法,指令微调只是其中一种,就像训犬一样,让它坐就坐,让它卧就卧,同理,你让LLM翻译,它不是去总结,你让它总结,它不是去情感分析。指令微调在像GPT这种自回归的模型中应用多一些。我们在前一篇文章中基于GPT2预训练模型进行了指令微调。除了指令微调,还有一种比较常用的是任务微调,预训练模型虽然具备一定的知...
2024-06-24 16:05:15 1010浏览 0点赞 0回复 0收藏