/images/avatar.jpg

lilfry's library

🤖 记录LLM,agent,算法与leetcode,还有一些随想。

一个小小的互联网自留地

读 YaRN:长上下文扩展,核心不是硬拉窗口,而是别把 RoPE 拉坏了

如果只把 YaRN 看成“又一个把上下文从 4k 拉到 64k/128k 的技巧”,其实有点可惜。

它真正碰到的,是一个比“扩窗”更本质的几何问题:

模型原本已经习惯了一套位置相位系统。现在你强行把长度拉大,怎样才能让这套系统在更长范围内继续工作,同时尽量不丢掉近距离的位置分辨率?

这个问题一旦说清楚,YaRN 的设计就会显得非常自然。

读《Reasoning with Sampling》:RL 没让模型变聪明,它只是在重分配推理能力

这篇论文真正危险的地方,不是它提出了一个新采样器,而是它在追问一个更深的解释问题:

reasoning model 的进步,到底是模型学会了新能力,还是我们终于学会了怎么从旧能力里采样?

如果这个问题问对了,很多关于 RL for reasoning 的叙事都得重写。

读 OLMo 3:真正重要的不是新架构,而是训练信号

最近读 OLMo 3,我最大的感受不是“开源社区又做出了一个更强的模型”,而是它把一件经常被说得很模糊的事情讲清楚了:

一个大模型最终会长成什么样,核心不是由几处架构微调决定,而是由它在每个阶段反复接收到什么训练信号决定。

这句话听起来很朴素,但如果真把它想透,很多关于 LLM 的问题都会变得更清楚。为什么有些模型底座不差,后训练却拉不上去?为什么有些模型上下文窗口变长了,却还是不会真正利用长上下文?为什么有些 RL recipe 看起来很先进,最后却没有明显收益?答案往往不在“结构又改了什么”,而在“梯度到底从哪里来”。

深度学习优化算法

深度学习优化算法:SGD, RMSProp, AdaGrad, Adam 详解

在深度学习的训练过程中,优化算法扮演着至关重要的角色。它们决定了模型参数如何根据损失函数的梯度进行更新,从而影响着模型的收敛速度和最终性能。本文将深入介绍几种最常用和最基础的优化算法:SGD、RMSProp、AdaGrad 和 Adam,并分析它们的公式、优缺点。

字母异位词分组

题目描述

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

示例 1:

输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]

输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]

解释:

在 strs 中没有字符串可以通过重新排列来形成 “bat”。 字符串 “nat” 和 “tan” 是字母异位词,因为它们可以重新排列以形成彼此。 字符串 “ate” ,“eat” 和 “tea” 是字母异位词,因为它们可以重新排列以形成彼此。 示例 2:

寻找重复子树

题目描述

给你一棵二叉树的根节点 root ,返回所有 重复的子树 。

对于同一类的重复子树,你只需要返回其中任意 一棵 的根结点即可。

如果两棵树具有 相同的结构 和 相同的结点值 ,则认为二者是 重复 的。