时政
财经
科技
虚拟货币
其他
登录
汉松
关注
统计数据
8
文章
0
粉丝
0
获赞
36
阅读
热门文章
1
TechFlow 深潮 发布的文章:近期教育领域的变化引发了广泛讨论,我认为教育改革应该更加注重学生的个性化发展和创新能...
145
32
汉松
2周前
对于程序员来说,最高效的业余时间利用不是在下班后,而是上班前,因为早上人刚经过一晚的休息,大脑此时是状态最好的时候。这个时间用来学习是非常高效的。以我为例,我早上 7 点起床,8 点通勤到公司,锻炼半小时,8 点半到 10 点是我的学习时间,这个时间我主要用来读 AI 的论文,基本上业界的热点论文都能跟上。 早起的好处不止是多了时间能学习,还能让你早睡,少刷手机。因为人经过一天的工作,自控力下降,回家有时间就会自动掏出手机。早起会让你到点就犯困。 早起结合锻炼还能让你精力充沛,告别低能量的状态。其实锻炼不一定是要撸铁或者跑马拉松,只要半小时的有氧就很用了。我的习惯是用椭圆机,可以边看视频、听播客,边锻炼 ,这样容易坚持。
#程序员
#早起学习
#AI论文
#高效利用时间
#锻炼
分享
评论 0
0
汉松
3周前
我们团队开源了 Multi-Agent 强化学习的框架 MrlX,它能够让你同时训练多个 Agent 模型。 当我们试图让大模型变得更聪明时,大多数人都在做同样的事:训练一个模型,让它自己跟自己对话,希望它能学会反思验证,能学会使用工具。 但如果你仔细想想,这其实很奇怪。 真实世界不是这样运作的。人们是在与其他人的互动中变聪明的。医生通过与病人交谈来提升诊断能力,而病人也在这个过程中学会更好地描述症状。这是一种共同进化。 这就是我们做 MrlX 的原因。 核心想法很简单:让两个 Agent 互相帮助对方成长。一个是“探索者”,负责在真实环境中冒险尝试;另一个是“适应者”,它观察刚刚发生的一切,然后快速调整自己。它们像台阶一样互相垫脚,螺旋式上升。 我们在两个场景中测试了这个想法。 第一个是医生 - 病人对话训练。传统做法是只训练医生 Agent,但我们在思考一个问题:如果病人 Agent 也在进化,会不会让医生 Agent 进化更快?就像真实世界一样:好的病人能帮助医生成为更好的医生,反之亦然。结果证明,联合训练两者比只训练医生要强得多。 第二个场景更复杂:让 Agent 做深度研究。这里的问题是,当你需要频繁使用工具、查询信息时,单个 Agent 的“记忆”会爆炸:它要记住所有工具调用、所有中间结果,很快就撑不住了。解决方案?分工。让不同的 Agent 专注于不同的任务,同时让它们互相训练对方。一个负责主线推理,一个负责处理子任务。它们各自深化自己的专长,同时为对方生成训练样本。 这不是让一个模型假装扮演不同角色。这是真正的多个 Agent,各有专长,共同进化。 两个案例的结果都显示:这种共同进化的方式,在稳定性、收敛速度和最终性能上,都明显超过单 Agent 方法。 最好的创业公司不是一个天才独自工作,而是一群互补的人互相激发。联合创始人之间的张力和协作,往往比任何一个人单独能做到的都要好。MrlX 做的就是这个,只不过是在 AI Agent 之间。 现在这还只是开始。我们只探索了两个场景,都是相对受控的环境。真正有趣的是当你把这个想法推广到更多 Agent、更动态的环境时会发生什么。也许 Agent 可以自己决定要扮演什么角色。也许它们可以形成自组织的生态系统。 欢迎大家使用我们的框架尝试 Multi-Agent 的强化学习,如果觉得有帮助,欢迎转发并给我们的项目一个 star。 最后也欢迎关注我们的 AQ-MedAI 的官方账号,后续我们还有很多新的开源项目在这里发布。
#多智能体之争:Anthropic生态VS单智能体· 77 条信息
#Multi-Agent 强化学习
#MrlX框架开源
#Agent共同进化
#医生-病人对话训练
#深度研究Agent分工
分享
评论 0
0
汉松
3周前
从零实现 vLLM (1.4):RMSNorm 如何解决训练不稳定: 从零实现 vLLM (1.3):如何加速 Attention 计算: 从零实现 vLLM (1.2):如何实现张量并行: 从零实现 vLLM (1.1):并行词嵌入 VocabParallelEmbedding:
#vLLM
#RMSNorm
#Attention计算
#张量并行
#VocabParallelEmbedding
分享
评论 0
0
汉松
3周前
从零实现 vLLM 的第四篇文章,我们将目光转向 Transformer 架构中另一个看似简单、却至关重要的组件:RMSNorm(均方根归一化)。 我们先来看看什么是归一化,假设你刚考完期末考试,三门课的成绩出来了: 数学:120分(满分150) 英语:80分(满分100) 物理:160分(满分200) 哪门课考得最好?如果你直接比较 120、80、160,会得出物理最好的结论。但真实情况是:三门课其实考得一样好。 数学:120/150 = 80% 英语:80/100 = 80% 物理:160/200 = 80% 这就是归一化的核心思想:把不同量纲、不同范围的数据转换到统一的标准下进行比较。 为什么神经网络需要归一化? 想象一下,你在玩传话游戏。第一个人说"我喜欢苹果",传到第十个人那里变成了"我喜欢菠萝"。这就是深度神经网络面临的问题。 每一层网络都会对输入做一些计算,然后把结果传给下一层。问题是,随着层数增加,这些数值会变得越来越不可控——要么爆炸式增长,要么消失得无影无踪。就像传话游戏一样,信息在传递过程中逐渐失真。 在模型中加入归一化层,能够降低梯度爆炸或者消失的概率,模型的训练过程变得更加稳定。归一化技术从一开始的 BatchNorm 先演进到 LayerNorm,最后进化到了 RMSNorm,成为大模型的标配。 我的文章会带大家走进归一化技术的演进史,感兴趣的可以查看原文。
#vLLM
#Transformer架构
#RMSNorm
#归一化
#神经网络
分享
评论 0
0
汉松
3周前
Claude 的 Agent Skills 本质上是一种“上下文卸载”,把冗长的技能信息移出上下文,按需加载。巧的是最近 Manus 的 Peak 也分享一些“上下文卸载”的技巧。Manus 有很多工具,但是并不会把这些工具的完整定义告诉模型。那它怎么知道有哪些工具,又怎么调用它们呢?想象一下,给你一台新电脑,你怎么知道有哪些工具能用?普通用户会打开应用程序的列表,程序员会 `ls /usr/bin` 看一下有哪些命令可以用。 同样的,Manus 的解法是在系统提示词中,告诉模型在某个特定文件夹里,有许多预装的命令行实用工具。那些最常用的工具(ls、grep、cat、less、more等),就默认内置在系统提示里面的。不需要告诉模型如何使用这些工具,只需要列出工具名,然后告诉它可以使用 --help 参数来了解如何使用工具。最妙的是这些 shell 操作模型都是学过的,所以它的泛化能力很强,要加新的工具只需要往文件夹里面放一个命令就行。 我发现 Manus 真的是把 Unix 哲学贯彻到底了:KISS(Keep It Simple, Stupid)。
Claude Skills系统发布引发AI行业新变革· 40 条信息
#Claude
#Agent Skills
#上下文卸载
#Manus
#Unix哲学
分享
评论 0
0
汉松
1个月前
DeepResearch Agent 有一个很大的问题就是多次的搜索阅读很容易就把上下文窗口用光了,常规的做法是像 Claude Code 一样,超过阈值就触发记忆压缩。通义的论文《ReSum》提出了一种在 RL 中让模型学会更好地利用压缩内容的方法。 这个方法我们之前也考虑过,但这样做在强化学习的时候会有一个问题:一旦触发记忆压缩,整个历史记录都会变成压缩后的内容,此时模型就只能看到压缩后的 token,压缩前的就丢掉了,此时模型就学不到压缩前的动作了。我们当时没想到好的解法,而 ReSum 提出一种可行的方案:把压缩前和压缩后的轨迹分成两条分别给奖励。 举个例子: 正常的轨迹是这样的:“用户查询 → AI 助手 → 工具调用 → AI 助手 →... → AI 助手 → 答案” 加入了 summary 工具之后,当轨迹接近上下文窗口的时候,系统就会触发总结。 接近上下文窗口长度的轨迹 A:“用户查询 → AI 助手 → 工具调用 → AI 助手 →... → AI 助手 → summary” 新的轨迹 B:“用户查询 + 摘要 → AI 助手 → 工具调用 → AI 助手 → 答案” 关键点来了,当 B 答对时,B 的奖励会复制给 A。为什么要这样做? 尽管 A 没有直接得出答案,但它找到了一个有用的摘要,最终导向了正确的答案,所以 A 中的所有动作也得到了正向的激励。这样模型能通过 A 学会收集能够产生优质摘要的关键信息。而模型则通过 B 学会了利用摘要信息来高效地完成任务。这就是一箭双雕。
#多智能体之争:Anthropic生态VS单智能体· 77 条信息
#DeepResearch Agent
#记忆压缩
#ReSum
#强化学习
#上下文窗口
分享
评论 0
0
汉松
1个月前
从零实现 vLLM 的第三篇文章,我们来了解如何加速 Attention 计算,学习 FlashAttention 的原理。 要理解 FlashAttention 的巧妙,我们必须先理解传统注意力机制的“笨拙”之处。 匹配度计算(QK):你(Query)拿着一个“科幻小说”的主题清单,去比对图书馆里成千上万本书的标签(Key),得出一个巨大的“匹配度”分数表。 权重分配(Softmax):你将这张分数表转化为百分比,告诉你应该投入多少“注意力”到每一本书上。 内容加权(AV):最后,你根据这些百分比,将所有书的内容摘要(Value)融合,得到一份为你量身定制的、关于“科幻小说”的综合信息。 这个流程在理论上无懈可击,但在实际的硬件执行中,却隐藏着一个致命的性能瓶颈。 想象一下GPU的内存结构:它有一小块速度飞快的“片上内存”(SRAM),就像你手边的工作台;也有一大块容量巨大但速度较慢的“全局内存”(DRAM/HBM),如同一个需要长途跋涉才能到达的中央仓库。 传统的注意力计算,就像一个效率极低的工匠。他在工作台(SRAM)上完成第一步,计算出那张巨大的“匹配度”分数表后,并不直接进行下一步。相反,他必须先把这张巨大的、还只是“半成品”的表,辛辛苦苦地运送到遥远的中央仓库(DRAM)存放。接着,为了进行第二步Softmax计算,他又得从仓库把这张表取回来。计算完成后,得到的“注意力权重”表,又是一个半成品,他再次将其送回遥远的仓库。最后,为了完成第三步,他需要同时取回“权重”表和所有书籍的“内容”,才能在工作台上完成最终的融合。 这个过程中,真正的计算(点积、Softmax)或许耗时并不长,但来回搬运这些巨大中间产物(匹配度矩阵和注意力矩阵)的时间,却成了无法忍受的开销。 这就是I/O瓶颈——当序列长度N增加时,这些中间矩阵的大小会以 N 平方 的速度急剧膨胀,频繁的读写操作会让GPU的大部分时间都浪费在等待数据上,而非真正的计算。 FlashAttention的革命:合并工序,一步到位 FlashAttention的作者们洞察到了问题的本质:我们需要的只是最终的结果O,中间过程的矩阵其实根本不必“留档”。 于是,他们进行了一场工作流程的革命。他们没有发明新的工具或公式,而是彻底改造了生产线,将三个独立的工序融合成一个在高速工作台(SRAM)上一气呵成的“超级工序”。 这场革命的核心武器有两个:分块(Tiling) 与 在线Softmax(Online Softmax)。 1. 分块处理: FlashAttention不再试图一次性处理所有书籍(整个K和V矩阵)。而是像一位聪明的工匠,把任务分解。他每次只从仓库中取一小批书的标签(K块)和内容(V块)到他的工作台上。 2. 在线Softmax的魔法: 这是整个流程中最精妙的部分。传统的Softmax需要“总览全局”才能计算,这也是为什么它难以被分块的原因。但FlashAttention通过一种巧妙的递推算法,实现了“在线”更新。 想象一下,工匠在处理完第一批书后,会得到一个临时的、局部的结果,并记录下两个关键的“全局统计数据”:到目前为止见过的最高匹配分(m)和当前结果的归一化因子(d')。当第二批书的数据被取到工作台上时,他不需要回头看第一批书的细节。他只需利用新一批书的数据和之前存下的那两个“全局统计数据”,就能计算出一个更新后的、融合了前两批书信息的新结果,并再次更新这两个统计数据。 这个过程不断重复,每一批新的K/V数据块都被加载到高速SRAM中,与Q进行计算,然后用来迭代更新最终的输出O以及那几个关键的统计量。自始至终,那张庞大的、完整的注意力分数矩阵从未在任何地方被完整地构建出来。 它就像一个在计算过程中短暂存在的“幽灵”,用完即逝,从而彻底消除了对慢速全局内存的读写瓶颈。 FlashAttention的成功,给我们带来了远超于算法本身的启示。它证明了,在AI的“摩天大楼”越建越高的今天,地基:计算机体系结构,它的重要性从未改变。 它的巧妙之处,不在于发明了更复杂的数学公式来拟合数据,而在于深刻理解了硬件的工作原理,并用最经典、最基础的计算优化思想:减少内存访问,去解决一个看似前沿的AI问题。 一个为 Attention 计算带来极大加速的技术,其内核只不过是一场计算机体系结构的大师级实践课。它证明了,最深刻的优化往往不是发明新事物,而是熟练掌握最基本原则,并应用于新的硬件之上。 山川地貌会变,但万有引力定律亘古不变。 对技术细节感兴趣的可以阅读公众号的原文,算法公式比较抽象,我画了很多图来辅助理解,链接在回复中。
#FlashAttention
#Attention计算加速
#GPU内存优化
#AI算法优化
#计算机体系结构
分享
评论 0
0
汉松
3个月前
从零实现 vLLM (1.1):并行词嵌入 VocabParallelEmbedding:
#vLLM
#并行词嵌入
#VocabParallelEmbedding
#零实现
#技术
分享
评论 0
0
1
个人主页
通知
我的投稿
我的关注
我的拉黑
我的评论
我的点赞