- 博客(54)
- 收藏
- 关注
原创 打破固有观念:归一化层并非必不可少!——何恺明与LeCun联手革新Transformer架构
然而,Meta、NYU、MIT、普林斯顿等机构的研究者们,在何恺明和Yann LeCun的带领下,提出了一种全新的Transformer架构——然而,归一化层的计算开销较大,尤其是在大规模模型训练中,归一化层的计算成本可能成为性能瓶颈。何恺明与LeCun等人的研究打破了深度学习领域对归一化层的固有观念,提出了一种简单而高效的替代方案——动态Tanh(DyT)。:在多个任务和领域中,DyT的表现与传统的归一化层相当甚至更优。与传统的归一化层不同,DyT无需计算输入数据的均值和方差,从而显著降低了计算开销。
2025-03-18 14:48:05
486
原创 Trae:由AI驱动的IDE,不能兼容沙盒?
也是好久没有在csdn这个平台输出内容了,过去这一年也是遇到很多事情,包括工作上面和学习上面。也培养了一些兴趣爱好,比如说摄影,要是有志趣相投的也可以讨论讨论摄影技巧。哈哈哈哈哈~接下来言归正传了。最近字节跳动发布的AI编程工具Trae在网上引发了热议,有很多的文章都在讨论自己使用的新的体验,也输出了一些使用技巧,所以我今天也是想着下载下来体验一下,但是我在公司环境下面遇到了一些问题,在网上也没有找到相应的答案,于是就有了这篇文章,也是分享一下我的案例,供大家思考讨论。
2025-03-04 15:23:17
750
1
原创 RAGFlow:引领OCR与文档解析技术革新的下一代RAG引擎
在人工智能的蓬勃发展浪潮中,检索增强生成(RAG)技术凭借其独特优势,迅速成为研究和应用的焦点。RAG技术巧妙地将大型语言模型(LLMs)的卓越生成能力与高效的信息检索系统相结合,为用户带来前所未有的交互体验。然而,随着技术的深入应用,一系列挑战也逐渐浮出水面。现有的RAG系统在处理海量数据时,常常面临效率和准确性的双重考验。尽管LLMs在生成流畅文本方面表现出色,但在面对复杂、非结构化的数据时,它们往往难以精准捕捉和提取关键信息。
2024-04-28 10:26:42
2579
原创 RAGFlow:安装与体验
这里囫囵吐糟的review了下相关代码,可以看到RAGFlow在工程方面做了较多的工作,和微调的模型结合产生了良好的化学反应,通过一些工程的优化解决模型的badcase,最终做出了体验较好的产品,这是RAG文档解析的光明大道。
2024-04-28 10:25:29
10405
3
原创 每日一坑(pymongo版本从3.*升到4.*)
在PyMongo 4.x版本中,URI选项和关键字参数的默认值从None变为了False。这一变化意味着PyMongo现在默认尝试自动发现副本集,而不再直接连接到单一的MongoDB服务器。因此,如果你希望与单个服务器建立直接连接,你需要明确地将设置为True,作为URI选项或关键字参数传递给。如果你在从PyMongo 3升级到4.x版本后遇到错误,那么很可能是因为自动发现副本集的默认行为导致的问题。在这种情况下,你需要在创建客户端时添加。
2024-04-19 15:13:18
768
1
原创 2024的新宠儿——Mamba(3):Mamba的三大创新
,在语言、音频、DNA序列模态上都实现SOTA,在最受关注的语言任务上,Mamba-3B超越同等规模的Transformer,与两倍大的Transformer匹敌,并且相关代码、预训练模型checkpoint都已开源简言之,Mamba是一种状态空间模型(SSM),建立在更现代的适用于深度学习的结构化SSM (简称S6)基础上,与经典架构RNN有相似之处。
2024-04-17 16:37:33
3146
原创 2024的新宠儿——Mamba(2):从SSM到S4的升级之路
我们已经知道 RNN 被诟病的一个点恰恰是 hidden state 的记忆能力有限(毕竟hidden state 的大小是固定的, 但是需要记忆的内容是随着 sequence length 增加的,用一个有限的容器去装源源不断的水流, 自然要有溢出)那怎么改善这个问题呢?或者怎么定义一个好的 hidden state 的记忆假设时刻我们看到了原始输入信号我们希望在一个memory budget来压缩前面这一段的原始input来学习特征,一个很容易想到的方法是用多项式去近似这段input。
2024-04-17 15:57:35
1525
原创 2024的新宠儿——Mamba(1):SSM
如本文开头所说,mamba论文的一作Albert Gu多年来一直在推动SSM的发展他在SSM的基础上,通过此篇论文《Efficiently Modeling Long Sequences with Structured State Spaces》首次提出了结构化状态空间S4(这里有关于S4的更多论文),但这篇论文的可读性比较差当然,作者在YouTube上有一个关于这篇S4论文的精彩解读,比S4论文的可读性提高很多,且本文中也应用了其中的部分PPT截图,但还可以更加通俗易懂。
2024-04-17 15:08:08
1601
原创 探索vLLM:释放超大规模语言模型的力量
本文介绍了大模型部署工具vLLM,并给出了其三种不同的部署方式,在文章最后,介绍了笔者对于vLLM的实战。后续,笔者将会对vLLM的推理效率进行深入的实验。
2024-03-21 10:53:19
2457
原创 ChatGPT量化分析
当今,随着深度学习模型规模的不断增大和计算资源的不断提升,大模型已经成为了人工智能领域的一项重要趋势。大模型在各种任务中展现出了卓越的性能,例如自然语言处理、计算机视觉、语音识别等领域。然而,随着模型规模的增加,模型的计算量和参数数量也随之增长,导致了对计算资源的巨大需求。因此,为了在有限的计算资源下使用大模型,模型量化技术变得至关重要。模型量化是指将深度学习模型的参数和计算过程转化为低比特位的表示形式,从而在减少计算资源消耗的同时尽可能地保持模型的性能和精度。
2024-03-20 22:15:48
1180
原创 Transformer面试题总结101道
通过最小化模型在训练集上的损失函数,模型会自动调整Feed Forward层中的权重和偏置,以使得模型能够更好地拟合训练数据,并且在未见过的数据上具有良好的泛化能力。常见的做法是将真实标签的值从1降低到一个较小的值(1 - ε),同时将其他类别的值都增加到一个较小的值(ε / (n - 1),其中n是类别的数量),从而形成一个更加平滑的标签分布。此外,更大的模型还可以通过更长时间的训练来获得更好的性能,因为它们具有更多的参数和更强大的表示能力,可以更好地利用数据集中的信息。
2024-03-16 15:22:47
3029
1
原创 Agent——记忆模块
在一系列的教育辅导对话中,学生可能会提出不同的数学问题或理解难题(如“我不太理解二次方程的求解方法”)。ConversationSummaryMemory 可以帮助 AI 总结之前的辅导内容和学生的疑问点,以便在随后的辅导中提供更针对性的解释和练习。
2024-03-08 14:57:35
1309
原创 大模型优化——重排序模型
重排序是信息检索系统中的一个重要步骤,它发挥着优化检索结果的关键作用。在初始检索阶段,系统根据某种标准(如相似度)返回一组文档。然而,由于初始排序可能并不总是能够准确反映文档与查询的真实相关性,因此需要进行重排序来提升检索结果的质量。不同的重排序方法使用检索模型进行二次检索:一种常见的重排序方法是使用检索模型进行二次检索。在初始检索后,通过利用更复杂的模型,例如基于嵌入的检索模型,可以再次检索相关文档。这有助于更精确地捕捉文档与查询之间的语义关系。
2024-03-08 14:33:34
2343
原创 RAG综述论文详解
论文地址:https://arxiv.org/pdf/2312.10997.pdf大型语言模型(LLMs)展示了强大的能力,但在实际应用中仍面临挑战,如幻觉现象、知识更新缓慢,以及在回答中缺乏透明度。检索增强生成(RAG)指的是在使用LLMs回答问题之前,从外部知识库中检索相关信息。RAG已被证明能显著提高答案的准确性,减少模型的幻觉现象,特别是对于知识密集型任务。通过引用来源,用户可以验证答案的准确性,并增加对模型输出的信任。它还促进了知识更新和特定领域知识的引入。RAG有效地结合了L
2024-03-08 11:02:56
1415
原创 大模型 RAG 技术概览
如果你已经熟悉检索增强生成(Retrieval Augmented Generation, RAG)的概念,请直接跳转到高级 RAG 部分。检索增强生成(Retrieval Augmented Generation, RAG)是一种技术,它通过从数据源中检索信息来辅助大语言模型(Large Language Model, LLM)生成答案。
2024-03-08 09:51:39
1044
原创 Chroma向量数据库使用案例
这只是一个简单的演示样例,方便大家进一步理解和操作Chroma数据库,也希望大家一起进步,有问题也可以评论相互学习!
2024-03-07 22:01:23
4333
1
原创 向量数据库Chroma教程
随着大模型的崛起,数据的海洋愈发浩渺无垠。受限于token的数量,无数的开发者们如同勇敢的航海家,开始在茫茫数据之海中探寻新的路径。他们选择了将浩如烟海的知识、新闻、文献、语料等,通过嵌入算法(embedding)的神秘力量,转化为向量数据,存储在神秘的Chroma向量数据库中。每当用户在大模型的界面上输入一个问题,这个问题也会如同被施了魔法一般,被转化为向量,然后在向量数据库中寻找与之最匹配的相关知识。这些知识如同宝藏一般,被精心组合成大模型的上下文,为其提供了丰富的思考背景。这种方式不仅削减了大模型的计
2024-03-05 21:24:53
1605
原创 NLP评价指标
1,2,3,4这四种评估指标是基础评估指标;5,6两种评估指标主要用来辨别一句话是否是人话的概率;7,8两种指标经常用于机器翻译、文章摘要评价任务指标;9,10两种指标经常应用于机器翻译任务指标。如果还有其他比较重要或者常用的指标也欢迎大家分享,相互学习!!!以上均为笔者在学习和研究过程中参考过的资料,并非原创,在此表明。笔者目前也正在学习和研究大模型对此领域还不太熟练,欢迎与我讨论,提出宝贵的意见和建议。
2024-03-04 18:16:07
2380
原创 Prompts(二)
在中,我们介绍并给出了如何赋能大语言模型的基本示例。在本节中,我们会提供更多示例,介绍如何使用提示词来完成不同的任务,并介绍其中涉及的重要概念。通常,学习概念的最佳方法是通过示例进行学习。下面,我们将通过示例介绍说明如何使用精细的提示词来执行不同类型的任务。
2024-03-04 16:13:33
951
原创 Prompts(一)
提示工程是一个较新的学科,应用于开发和优化提示词(Prompt),帮助用户有效地将语言模型用于各种应用场景和研究领域。掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。研究人员可利用提示工程来提高大语言模型处理复杂任务场景的能力,如问答和算术推理能力。开发人员可通过提示工程设计和研发出强大的技术,实现和大语言模型或其他生态工具的高效接轨。本指南介绍了提示词相关的基础知识,帮助用户了解如何通过提示词和大语言模型进行交互并提供指导建议。
2024-03-04 16:06:18
1238
原创 标题:深度探讨 Python 异步编程利器
是解决嵌套异步事件循环问题的得力工具,通过使用它,我们能够更加轻松地在异步环境中编写可靠的代码。希望通过本文的介绍,读者能够更好地理解的用法,并在实际项目中运用自如。让我们一同探索 Python 异步编程的奥秘!
2024-01-21 15:15:54
1567
1
原创 回顾单链表的五种排序
我们从数组中选择一个元素,我们把这个元素称之为中轴元素吧,然后把数组中所有小于中轴元素的元素放在其左边, 所有大于或等于中轴元素的元素放在其右边,显然,此时中轴元素所处的位置的是有序的。从中轴元素那里开始把大的数组切割成两个小的数组(两个数组都不包含中轴元素),接着我们通过递归的方式,让中轴元素 左边的数组和右边的数组也重复同样的操作,直到数组的大小为1,此时每个元素都处于有序的位置。我们对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样一趟比较交换下来之后,排在最右的元素就会 是最大的数。
2023-12-18 17:09:26
589
原创 Codeforces-1907C.Removal of Unattractive Pairs
2.设最长字符串(即一个字符出现的最多次数)为len,如果len<=n/2,则能全部消掉,但如果是奇数还会剩一个。2.如果在执行某个消除操作后遇到了与最长字符串同一字符,则更新最长字符串,情况又回到了1。答案是,只要其他字符的长度大于等于最长字符串的长度,就一定能把他消掉。3.执行多个2后,这道题就成了找一个字符出现的最多次数。1.该最长字符串一定和其他字符相连,则消除操作显然。3.如果2*len>n 则一定剩2*len-n个字符。1.如果n为奇数,至少剩一个字符。
2023-12-07 12:39:31
261
原创 深入了解C++虚基类:多继承的协调者
虚基类是C++中处理多继承二义性问题的有效工具。通过使用虚基类,我们能够在多继承的情况下,更加清晰地组织对象层次结构,避免二义性,确保代码的可维护性和可读性。在设计包含多继承的复杂层次结构时,虚基类的使用将成为一个有力的工具。
2023-12-04 22:03:53
331
原创 深入理解C++线程:状态与锁的探讨
多线程编程是现代软件开发中不可或缺的一部分,它允许程序同时执行多个任务,提高了程序的性能和响应能力。本文将深入介绍C++线程的状态以及常见的锁机制,帮助读者更好地理解和使用多线程。
2023-12-04 21:51:04
809
原创 深入探索STL:C++标准库的精华
STL是C++标准库中的一项强大的工具,为C++程序员提供了丰富的容器、算法和迭代器,大大简化了C++程序的开发。深入理解STL的组成部分和使用方式,有助于写出高效且易维护的代码。在实际项目中,充分利用STL可以提高开发效率,减少不必要的工作量,是现代C++编程中的重要一环。
2023-12-04 21:44:33
78
原创 深入理解C++中的锁:底层原理与机制解析
锁是多线程编程中确保线程安全的关键工具。深入理解锁的底层原理和机制,合理选择适用的锁类型,并正确使用锁的模式,将有助于编写高效且线程安全的代码。在实际开发中,根据具体场景选择不同的锁机制,并进行适当的锁粒度调整,是保证多线程程序正确运行的重要手段。
2023-12-04 21:22:24
2397
原创 深入理解C++右值引用:引领现代C++的前沿技术
右值引用是现代C++中的一项强大特性,为我们提供了更高效的内存管理和更灵活的编程方式。通过充分理解和利用右值引用,我们能够写出更具性能和可维护性的代码。在处理大数据量、动态资源等方面,右值引用的应用将变得尤为重要。
2023-12-04 17:15:15
188
原创 探索C++虚函数:面向对象的灵魂
虚函数是在基类中声明为虚拟的(virtual)函数的成员函数。通过将函数声明为虚函数,派生类可以覆盖(override)基类中的相同名称的函数,实现运行时的多态。
2023-12-04 16:37:51
64
原创 函数指针和指针函数用法和区别
指针函数,简单的来说,就是一个返回指针的函数,其本质是一个函数,而该函数的返回值是一个指针。声明格式为:*类型标识符函数名(参数表)这似乎并不难理解,再进一步描述一下。这种函数应该都很熟悉,其实就是一个函数,然后返回值是一个 int 类型,是一个数值。这和上面那个函数唯一的区别就是在函数名前面多了一个*号,而这个函数就是一个指针函数。其返回值是一个 int 类型的指针,是一个地址。
2023-12-04 15:56:26
58
原创 探索C++的多态机制
在运行时,系统会根据对象的实际类型调用正确的函数版本,这就是动态绑定的机制。考虑一个简单的动物园系统,有多种动物,如狗、猫和鸟,它们都能发出不同的声音。多态使得代码更具灵活性,因为可以使用基类类型的指针或引用来处理派生类的对象,而不必关心实际对象的类型。多态允许使用一致的接口来处理不同类型的对象,简化了代码结构,使得代码更易于理解和维护。新的派生类可以很容易地添加到系统中,而不会影响已有的代码,从而提高了系统的可扩展性。函数中,我们创建了一个动态数组,包含不同类型的动物对象,并通过基类指针调用虚函数。
2023-12-04 15:43:02
57
原创 探索C++中的友元函数:解锁访问之门
友元函数是在一个类的声明中使用friend关键字声明的非成员函数,它具有访问该类的私有成员的特权。这意味着即使不是类的成员,友元函数仍然可以访问类的私有数据。友元函数是C++中一项强大而灵活的特性,但也需要谨慎使用,以免破坏封装性。通过合理的设计和使用友元函数,我们能够更好地平衡封装和灵活性,使代码更加清晰和可维护。在实际开发中,友元函数可以成为我们解决特定问题的得力工具。
2023-12-04 15:38:53
392
原创 windows下Qt安装教程
Qt 的安装组件分为两部分:一部分是“Qt xxx.xxx”分类下的,该分类包含的是真正的 Qt 开发库组件;“Tools”分类下的开发组件(一般选择Qt Creator xxx 和MinGW xxxxx)Step2: 如果没有账号, 则选择skip,不过现在已经不允许skip了,必须先注册一个;“Qt xxx.xxx”组件说明:(一般选择MinGW xxx, Qt xxx就可以了)Step3: Qt设置欢迎界面, 选择下一步;Step5: 选择组件, 然后选择下一步;Step4: 选择安装路径;
2023-11-24 15:52:28
372
原创 论文笔记(13)Modelling Trust Dynamics in the Internet of Things
该方法将信任视为一种动态的、基于经验的概念,通过对信任的建模和演化来提高物联网的安全性和可靠性。评估的依据是节点的历史行为和信任度,通过对这些因素进行分析和计算,算法可以准确地评估节点之间的信任。评估的依据是节点的历史行为和信任度,通过对这些因素进行分析和计算,算法可以准确地评估节点之间的信任。在信任传递阶段,算法通过对节点之间的信任传递,来实现信任模型的演化和预测。有效解决了物联网中的信任问题。通过对信任的建模和演化,可以准确地评估和传递节点之间的信任,从而提高物联网的安全性和可靠性。
2023-09-27 15:26:31
96
1
原创 VMware虚拟机出现“正在使用中”如何解决?
不知道哪天关机的时候,没有把虚拟机关闭,出现虚拟机关机不正常的现象,导致vmware提示“虚拟机似乎正在使用”。2.我们打开存放虚拟机配置文件的目录会发现有一些.lck文件,选中所有.lck文件删除。3.再回到虚拟机,点击关闭虚拟机,重启虚拟机。
2023-09-16 15:21:50
1446
1
原创 论文笔记(12)Reputation-Driven Dynamic Node Consensus and ReliabilitySharding Model in IoT Blockchain
针对上述问题,本文提出了一种基于声誉驱动的区块链动态节点安全分片共识模型(RDSCM),该模型由声誉驱动的消除PBFT的节点(RE-PBFT)和声誉驱动的节点交叉重构分片方案(NCRS)两部分组成。但是本文的创新点有点老壶装新酒的感觉,创新的位置是该领域比较热门的地方,创新点也是该领域较为出名的点,想法不错,但是是否能在现实中起到理想中的作用还是要保有怀疑态度。此外,为了保证分片的可靠性,提出了信誉驱动的节点交叉重构分片方案(NCRS),并提出了排序分片和共识分片的概念,提高了分片后的共识速度。
2023-09-15 15:32:11
154
原创 论文笔记(11)Detection of Selfish Nodes Through Reputation Model In Mobile Adhoc Network - MANET
本文在对信誉模型进行建立时考虑的指标较为简单,我认为还可以增加吞吐量、抖动率等,还有就是算法也较为简单,没有一个严谨的算法建立。但是本文也是为数不多的采用NS2做实验的(从我个人阅读量来说),还是有值得学习和思考的地方。本文提出的SNRRM方案的平均信誉比为0.34,而传统GRTS方案的平均信誉比为0.23。为下一组路由过程进一步传输一定级别的数据包而保留在节点上的能量值称为剩余能量。基于声誉模型的移动自组网中自利节点检测。
2023-09-10 21:59:47
130
1
原创 手工安装Vmware tools方法
这种方法是通过Ubuntu的安装命令直接从网上进行安装,打开终端窗口直接执行下列命令即可,安装之前要保证虚拟机可以连接外网,要能连上软件更新服务器,该服务器有可能在国外(根据你自己的设置)。手工安装Vmware tools方法。
2023-09-07 11:18:22
139
1
原创 NS3仿真学习资料
NS3网上的学习资料以及教程、项目都比较少,所以在这也是介绍一下我掌握的学习资料供大家共同学习、共同进步。第一步:先看视频吧(本来视频资源就少),对NS3初步了解。(赞),需要最新版的可以尝试下载。第二集主要是安装ns-3,可以参考安装,第二步:好了,剩下的璐就该自己走了,可以按照。第二集主要是安装ns-3,可以参考安装,第二个视频资源声音有点小,比较练听力。以上视频学习,基本对NS3初步了解。(赞),需要最新版的可以尝试下载。看不懂没关系,我也看不懂,但是。该视频系列一共有三集。
2023-09-05 14:27:24
430
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人