自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RAG 2.0架构详解:构建端到端检索增强生成系统

简单来说,RAG可以为我们的大型语言模型(LLM)提供额外的上下文,以生成更好、更具体的回应。LLM是在公开可用的数据上训练的,它们本身是非常智能的系统,但它们无法回答具体问题,因为它们缺乏回答这些问题的上下文。所以RAG可以向LLM插入新知识或能力,尽管这种知识插入并不是永久的。而另一种常用向LLM添加新知识或能力的方法是通过对我们特定数据进行微调LLM。通过微调添加新知识相当困难,昂贵,但是却是永久性。通过微调添加新能力甚至会影响它以前拥有的知识。

2024-04-19 11:50:22 814

原创 PyTorch小技巧:使用Hook可视化网络层激活(各层输出)

通过可视化不同的层,可以评估早期层是否捕获边缘和纹理等基本特征,而较深的层是否捕获更复杂的特征。利用 PyTorch 钩子函数来可视化网络中的激活是一种很好的方式,尤其是想要理解不同层如何响应不同输入的情况下。在这个过程中,我们可以捕捉到网络各层的输出,并将其可视化以获得直观的理解。可视化激活,即模型内各层的输出,对于理解深度神经网络如何处理视觉信息至关重要,这有助于诊断模型行为并激发改进。然后我们加载一个预训练的ResNet模型,并在特定的层上设置钩子函数,以在向前传递期间捕获激活。

2024-04-17 09:45:40 3455

原创 时空图神经网络ST-GNN的概念以及Pytorch实现

我的理解是未来的股票价格不能通过单纯的历史价值自回归来预测,因为股票是由现实世界的事件决定的,这并没有体现在历史价值中。这也就是我们在前面说的不建议在股市预测中使用ST-GNN,我们使用这个数据集只是因为它容易获取。最后不要忘集我们本篇文章的目的,学习ST-GNN的基本概念,以及通过Pytorch代码实现来了解ST-GNN的工作原理。作者:Najib Sharifi。

2024-04-15 09:56:37 8792 5

原创 Moirai:Salesforce的时间序列预测基础模型

在本文中,介绍了 Moirai并且与Chronos 和 TimeGPT进行了对比。并且通过实验表明,Moirai 在与 TiDE 和 Chronos 的比较中未能表现出更优的性能。当比较 Moirai 和 Chronos 的性能时,我们预期 Moirai 由于能够通过动态协变量访问外部信息,并且是一个能够从不同序列间的交叉关系中受益的多变量时间序列模型,应有相当甚至更优的表现。但得到的结果却相反,这可能是因为模型过拟合了训练数据。

2024-04-14 11:15:16 3955

原创 PiSSA :将模型原始权重进行奇异值分解的一种新的微调方法

这种方法通过将模型中的矩阵表示为两个可训练矩阵的乘积,辅以一个用于错误校正的残差矩阵,优化了紧凑的参数空间。在LLaMA 2-7B、Mistral-7B-v0.1和Gemma-7B模型的多个任务的比较实验中,PiSSA凭借卓越的表现脱颖而出。以主奇异值和向量初始化的微调适配器产生了更好的结果。但是与LoRA不同,使用PiSSA进行微调的过程与完整模型过程相似,会避免无效的梯度步骤和次优结果。PiSSA展示了加速的收敛速度、与训练数据的稳健对齐,并在类似的可训练参数配置下胜过LoRA。

2024-04-12 10:05:22 3412

原创 10个大型语言模型(LLM)常见面试问题和答案解析

今天我们来总结以下大型语言模型面试中常问的问题。

2024-04-11 10:22:22 4409

原创 推测解码:在不降低准确性的情况下将LLM推理速度提高2 - 3倍

我们看到,推理的速度的还真是有2倍的提升,并且还可以看到我们的草稿模型要比目标模型小了10倍左右(1.4B和160M)Deepmind论文中提到的2 - 2.5倍的加速比也可能适用于70B目标模型和7B草稿模型,所以如果多卡的话可以加载2个大语言模型来提供加速。以下是推测解码的论文。

2024-04-10 09:56:44 3554

原创 ​5种常用于LLM的令牌遮蔽技术介绍以及Pytorch的实现

本文介绍了讨论了训练语言模型的不同的令牌掩码。虽然这些都是比较常见的方法,但是大多数模型只使用了Token Masking。对于短文本序列来说,Sentence Permutation 和Document Rotation技术可能没有帮助甚至会降低准确率。而Token Masking、Token Deletion和Text Infilling 在短文本和长文本序列中都可以使用。作者:Fabio Yáñez Romero。

2024-04-09 11:28:52 885

原创 为什么大型语言模型都在使用 SwiGLU 作为激活函数?

如果你一直在关注大型语言模型的架构,你可能会在最新的模型和研究论文中看到“SwiGLU”这个词。SwiGLU可以说是在大语言模型中最常用到的激活函数,我们本篇文章就来对他进行详细的介绍。SwiGLU其实是2020年谷歌提出的激活函数,它结合了SWISH和GLU两者的特点。

2024-04-08 10:03:12 4242 1

原创 归一化技术比较研究:Batch Norm, Layer Norm, Group Norm

在这些规范化技术的实际应用中,必须考虑任务的具体要求和约束。BatchNorm在大规模批处理可行且需要稳定性时更可取。LayerNorm在rnn和具有动态或小批量大小的任务的背景下可以发挥作用。GroupNorm提供了一个中间选项,在不同的批处理大小上提供一致的性能,在cnn中特别有用。归一化层是现代神经网络设计的基石,通过了解BatchNorm、LayerNorm和GroupNorm的操作特征和实际含义,根据任务需求选择特定的技术,可以在深度学习中实现最佳性能。

2024-04-07 09:50:06 3615

原创 大模型中常用的注意力机制GQA详解以及Pytorch代码实现

分组查询注意力 (Grouped Query Attention) 是一种在大型语言模型中的多查询注意力 (MQA) 和多头注意力 (MHA) 之间进行插值的方法,它的目标是在保持 MQA 速度的同时实现 MHA 的质量。这篇文章中,我们将解释GQA的思想以及如何将其转化为代码。

2024-04-03 10:06:46 3689

原创 大语言模型中常用的旋转位置编码RoPE详解:为什么它比绝对或相对位置编码更好?

旋转位置嵌入代表了 Transformer 架构的范式转变,提供了一种更稳健、直观和可扩展的位置信息编码方式。RoPE不仅解决了LLM context过长之后引起的上下文无法关联问题,并且还提高了训练和推理的速度。这一进步不仅增强了当前的语言模型,还为 NLP 的未来创新奠定了基础。随着我们不断解开语言和人工智能的复杂性,像 RoPE 这样的方法将有助于构建更先进、更准确、更类人的语言处理系统。

2024-04-01 10:18:19 4423

原创 SiMBA:基于Mamba的跨图像和多元时间序列的预测模型

包括最新的时间序列域的最新方法,如FourierGNN, CrossGNN,TiDE, SciNet, FreTS,PatchTST,以下结果是基于所有数据集大小为96的查找窗口。SiMBA解决了稳定性问题,同时在不同的指标上提供卓越的性能,为处理复杂的数据任务提供了无与伦比的能力,同时将一个模型应用在图像识别和时间序列中,这个研究还是很有意思。这是3月26日新发的的论文,微软的研究人员简化的基于mamba的体系结构,并且将其同时应用在图像和时间序列中并且取得了良好的成绩。

2024-03-31 10:16:25 3685

原创 Quiet-STaR:让语言模型在“说话”前思考

Quiet-STaR代表了LLM发展的重大进步。通过使它们能够生成理由并经过与文本生成相关的步骤进行推理,Quiet-STaR为更可靠、准确并且能够处理复杂任务的LLM铺平了道路。目前的研究侧重于文本理由。未来的工作可以探索将其他形式的理由纳入其中,例如视觉或符号表示。将理由生成与可解释AI技术结合可以使LLM不仅能够生成理由,还能够向用户解释其推理过程,增进信任和透明度。Quiet-STaR可以通过将领域特定的知识源纳入到理由生成过程中来进一步针对特定任务进行定制。

2024-03-30 19:29:34 844

原创 使用MergeKit创建自己的专家混合模型:将多个模型组合成单个MoE

在本文中,我们介绍了混合专家体系结构。与从零开始训练的传统moe不同,MergeKit通过整合专家来促进moe的创建,提供了一种提高模型性能和效率的创新方法。我们还详细介绍了使用MergeKit创建MoE的过程,以下是本文的一些代码作者:Maxime Labonne。

2024-03-29 11:50:45 3916

原创 如何开始定制你自己的大型语言模型

虽然深度学习的感念抽象的,并且数学的原理学习起来非常的复杂,但是已经有现成的库、方法和框架,将这些概念汇总和抽象出来,我们只要会一些python的开发就可以直接拿来使用。如果你想深入的学习,也可以从最顶层最抽象的部分开始,然后往下一步一步进行学习,这样就不会因为底层的概念太过复杂而放弃。当然最后所有的基础是你需要有一块能够工作的GPU。作者:Jesse Nerio。

2024-03-28 10:59:36 4509 2

原创 Chronos: 将时间序列作为一种语言进行学习

这是一篇非常有意思的论文,它将时间序列分块并作为语言模型中的一个token来进行学习,并且得到了很好的效果。Chronos是一个对时间序列数据的概率模型进行预训练的框架,它将这些值标记为与基于transformer的模型(如T5)一起使用。模型将序列的值缩放和量化到一个固定的词汇表,并在通过高斯过程创建的公共和合成数据集上进行训练。Chronos模型的参数范围从20M到710M不等,在已知数据集上优于传统和深度学习模型,在新数据集上表现出具有竞争力的零样本性能。

2024-03-27 10:49:10 4359

原创 使用GaLore在本地GPU进行高效的LLM调优

GaLore可以节省VRAM,允许在消费级GPU上训练7B模型,但是速度较慢,比微调和LoRA的时间要长差不多两倍的时间。作者:Geronimo。

2024-03-25 09:46:35 5089 9

原创 8个常见的数据可视化错误以及如何避免它们

掌握数据可视化意味着将复杂的数据转化为令人信服的、真实的叙述。我们优先考虑每个图表的清晰度、准确性和洞察力,确保这些数据和图表可以为我们的决策提供准确的支持。正确的可视化不仅讲述了一个故事,而且还赋予了决策权力。

2024-03-24 10:03:15 4008

原创 BurstAttention:可对非常长的序列进行高效的分布式注意力计算

然后这些片段在设备之间循环,计算本地注意力得分,并将其汇总为全局注意力得分。提高llm中注意力机制效率的努力主要集中在两种方法上:优化单设备计算和存储能力,如FlashAttention,以及利用多设备的分布式系统,如RingAttention。在他们的实验中,表明BurstAttention减少了40%的通信开销,并将8×A100 gpu上128K长度序列的训练速度提高了一倍。BurstAttention是一个创新的框架,它优化了跨设备的计算和通信,增强了内存使用,最小化了通信开销,提高了缓存效率。

2024-03-23 11:11:05 3541

原创 文生图的基石CLIP模型的发展综述

OpenAI的CLIP模型显著地改变了我们处理多模态数据的方式。但是CLIP只是一个开始。从预训练数据到训练方法和对比损失函数的细节,CLIP家族在过去几年中取得了令人难以置信的进步。ALIGN缩放噪声文本,K-LITE增强外部知识,OpenCLIP研究缩放定律,MetaCLIP优化数据管理,DFN增强数据质量。这些模型加深了我们对CLIP在多模态人工智能发展中的作用的理解,展示了在连接图像和文本方面的进步。作者:Jacob Marks, Ph.D。

2024-03-22 11:17:28 4831

原创 Moment:又一个开源的时间序列基础模型

论文的研究方法和设计在几个关键方面具有创新性。其中包括开发一套预训练时间序列模型的开源方法,创建“时间序列堆”以解决数据稀缺问题,多数据集预训练方法,以及在资源有限的情况下评估性能的基准框架。这些方法允许在各种时间序列分析任务(如预测、分类、异常检测和输入)之间有效地利用最小数据和特定于任务的微调。论文强调对时间序列数据进行大规模、多数据集的预训练,对隐含的时间序列特征(如趋势和频率)进行编码,并展示了这种方法的好处。

2024-03-21 10:04:48 3788 2

原创 多项式朴素贝叶斯分类器

多项分布是一种重要的概率分布,适用于描述多类别、多次试验的情况,是概率论和统计学中的基础之一。它表示实验可以有N个不同的输出,重复M次。可以把它看作投掷硬币的二项分布的概括,就像反复计算掷骰子的每面一样。多项式朴素贝叶斯分类器的总体思想与高斯朴素贝叶斯分类器非常相似,只是在拟合和预测计算上有所不同。为了学习每个类别的多项概率参数,可以简单地将训练集沿特征求和,并将结果除以该向量的和。这提供了对概率的估计。使用一个平滑的技巧可以处理在训练中未出现的特征。

2024-03-20 10:38:27 1012

原创 在16G的GPU上微调Mixtral-8x7B

AQLM已经被PEFT和Transformers很好地支持。正如我们在本文中看到的,对AQLM模型进行微调既快速又节省内存。由于我只对几个训练步骤进行了微调,所以我没有使用基准测试来评估经过微调的适配器,但是查看在100个微调步骤之后所达到的困惑(或验证损失)是有很不错的。这种方法的一个缺点是,由于模型已经量子化了,所以不能合并微调的适配器。并且由于使用AQLM量化llm的成本非常高,因此AQLM模型并不是很多。作者:Benjamin Marie。

2024-03-19 09:31:51 4030 1

原创 2024年3月的计算机视觉论文推荐

从去年开始,针对LLM的研究成为了大家关注的焦点。但是其实针对于计算机视觉的研究领域也在快速的发展。每周都有计算机视觉领域的创新研究,包括图像识别、视觉模型优化、生成对抗网络(gan)、图像分割、视频分析等。我们今天来总结一下2024年3月上半月份发表的最重要的论文,无论您是研究人员、从业者还是爱好者,本文都将提供有关计算机视觉中最先进的技术和工具重要信息。

2024-03-18 18:05:00 809

原创 时间序列预测的零样本学习是未来还是炒作:TimeGPT和TiDE的综合比较

在本文中,我们探讨了时间序列预测的最新创新之一——基础模型的发展。这些模型的目标是为缺乏内部开发SOTA模型所需的专业知识的组织提供对算法的使用。这种方式很有希望,但我们验证结果表明,它仍然无法提供准确的预测,也就是说目前来TimeGPT作为基础模型还是不够好。另外还需要说明的是这里为了简单对比所以我们没有进行人工的特征工程和使用XGB等提升树的模型进行计算。

2024-03-17 10:55:50 5084 9

原创 微调大型语言模型进行命名实体识别

自回归模型(像大多数llm一样)被训练来正确预测“下一个令牌”。给定我们刚刚创建的训练数据样本和微调训练设置,模型将学习预测文本所有部分的下一个标记,即任务描述、实体列表、样本示例、会话历史中硬编码的模型思维链等。这将使模型除了学习预测正确的结果外,还学习任务描述中的令牌分布。这使得我们的学习任务有点繁琐。我们对LLM进行微调的主要目标是为给定的输入字符串生成结构良好且正确的检测。因此,我们应该只计算输出字符串中令牌的损失。所以在我们的示例训练数据中,模型应该只计算以下令牌的损失Hi!

2024-03-17 10:51:46 1006

原创 LoRA及其变体概述:LoRA, DoRA, AdaLoRA, Delta-LoRA

LoRA及其相关方法的研究领域是一个非常活跃的研究领域,每天都有新的贡献。本文解释一些方法的核心思想。如果你对这些方法感兴趣请查看论文:作者:Dorian Drost。

2024-03-15 11:46:19 5107 4

原创 MADQN:多代理合作强化学习

虽然MADQN的所有3种方法都是有效的模型,但它们在多代理合作方面的性能有所不同。CTDE MADQN比其他2个MADQN模型显示出更好的结果,这可能是因为通过集中训练,模型从所有4个代理的经验中学习。对于iMADQN,虽然每个代理都知道另一个代理的活动,但每个代理在训练中可能没有利用合作知识。每个代理可能表现得更“自私”。而CTCE MADQN方法,训练过程可能会受到阻碍,因为在每个时间步,只有一组状态、动作和奖励元组被推入回放缓冲区,而CTDE MADQN实现则有4组。

2024-03-14 11:29:17 3909

原创 2024年3月最新的深度学习论文推荐

现在已经是3月中旬了,我们这次推荐一些2月和3月发布的论文。

2024-03-13 10:23:19 3864

原创 傅里叶变换算法和Python代码实现

最后,如果你对机器学习的基础计算和算法比较感兴趣,可以多多关注Numpy和SK-learn的文档(还有scipy但是这个更复杂),这两个库不仅有很多方法的实现,还有这些方法的详细解释,这对于我们学习是非常有帮助的。在 n 个不同且均匀间隔的点 xₘ = x₀ + m Δx 处对 x 进行采样,其中 m 的范围从 0 到 n-1,x₀ 是任意选择的最左侧点。这些积分进行数值计算是可行的,但通常是棘手的——特别是在更高维度上。例如本文的一些数学的公式和概念就是来自于Numpy的文档,有兴趣的可以直接看看。

2024-03-12 10:03:31 3891

原创 从16-bit 到 1.58-bit :大模型内存效率和准确性之间的最佳权衡

模型量化是深度学习领域一个重要的研究方向,它不仅可以帮助减小模型的存储和计算开销,还可以使得深度学习模型更容易在资源有限的设备上部署,推动了深度学习技术在边缘计算和物联网等领域的应用。但是目前4位的量化是目前研究的极限了,如果再缩小精度,会导致准确率大幅降低。但是1.58位llm的出现标志着人工智能技术发展又出现了一个新的方向。这些模型具有令人印象深刻的性能指标、更低的硬件要求,虽然这种方法还无法应用到现有的模型上,我想以后如果有什么方法能将其应用到现有的模型上那么对于人工智能来说将是一个巨大的飞跃。

2024-03-11 10:56:45 4547 1

原创 Nomic Embed:能够复现的SOTA开源嵌入模型

很高兴能够看到有关文本嵌入的最新论文,这篇论文也说明了在模型很小的情况下还是可以得到更好的测试结果,这对我们应用来说非常重要,另外就是现在嵌入的研究方向变为了动态维度表示,但是我个人认为目前这方面还可以有更大的发展。作者:Ritvik Rastogi。

2024-03-10 10:18:20 4500

原创 使用Tokeniser估算GPT和LLM服务的查询成本

Tokeniser包为开发人员提供了一种实用而有效的方法来估计GPT和LLM查询令牌数,这对于管理和预测使用成本至关重要。通过将简单的令牌计数合并到成本估算过程中,可以确保项目更有效的预算管理。作者:Eugene Evstafev。

2024-03-09 09:38:26 4646 3

原创 StarCoder 2:GitHub Copilot本地开源LLM替代方案

StarCoder2模型有三种不同大小可供选择,包括3B、7B和15B参数,并且支持广泛的编程语言。每个模型都是在The Stack v2上进行训练的,这是当前最广泛的用于LLM预训练的开源代码数据集。3B(由ServiceNow提供)、7B(由Hugging Face提供)和15B参数版本(由NVIDIA使用NVIDIA NeMo)所有模型使用分组查询注意力(Grouped Query Attention)上下文窗口为16,384个标记,滑动窗口注意力为4,096个标记。

2024-03-08 10:49:19 5587 4

原创 LLM 加速技巧:Muti Query Attention

MQA是在2019年提出的,当时的应用还没有那么广泛。这是因为以前的模型不需要关心这些方面,例如,LSTM只需要维护一个状态,而不需要保留任何缓存。当transformer最初被提出时,它主要用于Seq2Seq任务,特别是在Encoder-Decoder模型中。由于模型的规模不是很大,也并且没有太多的实际需求,所以MQA并没有引起太多的关注。直到近年来(尤其是2023年开始)基于transformer的大型语言模型(如GPT)得到广泛应用后,推理的瓶颈才被人们重视。

2024-03-07 09:39:47 4301 7

原创 RNN又行了!DeepMind新发布的Griffin可以与同级别的LLM性能相当

Griffin: Mixing Gated Linear Recurrences with Local Attention for Efficient Language Models是一个非常有意思的研究,想想Transformer 就是17年google发布的,现在又看是研究回状态空间和循环了,也许这个方向是LLM的下一个突破也不一定,有兴趣的可以多关注下。代码目前我们看到,看看有什么后续吧作者:Andrew Lukyanenko。

2024-03-06 10:42:39 4220

原创 使用纹理对比度检测检测AI生成的图像

论文的结果已经达到了92%的验证精度,并且据说如果训练的更多还会有更好的结果,这是一个非常有意思的研究,我还找到了训练的代码,有兴趣的可以深入研究:作者:Hriday Keswani。

2024-03-05 10:22:08 5094 6

原创 Vision Transformers的注意力层概念解释和代码实现

在这篇文章中我们完成了ViT中注意力层。为了更详细的说明我们进行了手动的代码编写,如果要实际的应用,可以使用PyTorch中的torch.nn. multiheadeattention(),因为他的实现要快的多。最后参考文章:作者:Skylar Jean Callis。

2024-03-04 10:30:00 4252

原创 使用TensorRT-LLM进行生产环境的部署指南

在这篇文章中,我们演示了如何使用TensorRT LLM实现模型加速推理,文章内容涵盖了从编译LLM到在生产中部署模型的所有内容。虽然TensorRT LLM比其他推理优化器更复杂,但性能提高也是非常明显。虽然该框架仍处于早期阶段,但是可以提供目前最先进的LLM优化。并且它是完全开源的可以商业化,我相信TensorRT LLM以后还会有更大的发展,因为毕竟是NVIDIA自己的产品.作者:Het Trivedi。

2024-03-03 09:54:26 4473 2

空空如也

空空如也

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

TA关注的人

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