简历业务提问
78e13f382aa82b893c3e62088c30762222ece41ef9b2c5903c87e89ea3bda8e6ffd4995087121b6a424e94ca61f55228d631f6e53e8ac709a90f461305b36728b78bc3fe3abb91cffd7efb56318db38579f53343a15039421135716ec27ede8d351d36c0194056456543f4b4c7046e35a4c1615057e0be6e843e5a3e12d724d6e2bad6f3560f76a6967a705fcfb5dbd57ab23dc38baf1076cf58c13774c95349075c088144b14c9764d7e43556e12e5decd34f13e4c0c3129f2e6d2985957ec9e04d5deef9ebd6d2b4ab63d6dc4a4a6e4b62c95a6ccecce8a3155dbf6940bc0ebb9a88ffffd450a26d0677889ac4703158e2a572492b1e956 ...
AI DEBUG 目录渲染异常
记一次 Hexo 加密插件与 Butterfly 目录冲突的 Debug 历程。
一直以来,我的博客(Hexo + Butterfly 主题)在使用 hexo-blog-encrypt 插件给文章加密后,侧边栏目录 (TOC) 总会出现匪夷所思的渲染问题:输入密码解密后,目录要么只剩第一级标题,要么层级缩进全无,以及一些严重的像素偏移,看着非常难受。
今天终于有空(其实是重要的事装死看不见)把这个陈年老 bug 修一修,由于不通前端,只能借助 gemini 帮忙。
这里 gemini 的用法是网页端对话(中古 ai 用法),gemini 在这里不能接管我的代码,也不能接管浏览器,思路很容易跑偏,基本上是我在纠偏。
过程起初,我认为是 Markdown 渲染器的问题,但在不破坏现有依赖环境的前提下,我决定从前端切入。
第一步,理清逻辑:Butterfly 主题默认使用 tocbot.js 生成动态目录。但在加密状态下,页面初次 onload 时文章是隐藏的,tocbot 抓取不到正确的 DOM 树,直接罢工。而解密完成后,主题又不会自动去重新唤醒它。
于是,我尝试通过监听插件自带的前端事 ...
k 阶斐波那契
理论题目:
K 阶斐波那契数列,f(n) = f(n-1) + f(n-2) + … + f(n-k),f(0) = f(1) = … = f(k-1) = 1, q 个询问,每次询问一个数 x,求 f(x) 的值,结果对 1000000007 取模。
针对这道题,通常有以下两个方向的解法,取决于具体的输入规模。
方案 1:数学推导优化 DP (滑动窗口法)适用场景:$x$ 的最大值在内存和时间允许的范围内(例如 $\max(x) \le 10^7$)。
朴素 DP 分析:如果直接按公式 $f(n) = \sum_{i=1}^{k} f(n-i)$ 计算,计算一个状态需要 $O(k)$ 的时间,总时间复杂度是 $O(x \cdot k)$,这在 $x$ 和 $k$ 都比较大时必然会超时。
优化推导($O(1)$ 状态转移):我们可以写出相邻两项的展开式:
f(n) = f(n-1) + f(n-2) + \dots + f(n-k)f(n-1) = f(n-2) + f(n-3) + \dots + f(n-k-1)将两式相减:
f(n) - f(n-1) = f(n-1) - f ...
秋招八股准备
不得不向八股文低头了喵。本文应该会持续更新一段时间。
PythonPython 如果函数没有使用 return 语句,则返回的是如果一个 Python 函数没有显式地使用 return 语句,或者执行到了函数的末尾也没有遇到 return 语句,那么函数将默认返回 None。
Python 的 passpass 不做任何事情,一般用做占位语句。pass 的唯一作用就是作为占位符。当你定义一个函数、类、循环或条件语句的结构,但暂时还没想好具体实现时,可以使用 pass 来保证程序语法正确,可以正常运行。
Python 的 yieldyield 关键字的主要作用是将一个普通的函数转变为一个“生成器”(Generator)。一个包含 yield 的函数在被调用时,不会立即执行,而是返回一个生成器对象。这个生成器是一个可以迭代的对象,它“懒惰地”计算值,只有在你请求时才生成下一个值。
当函数执行到 yield 时,它也会返回一个值,但函数会在此处暂停,并保存当前所有的状态(包括局部变量、执行位置等)。下次从这个生成器请求值时,函数会从它上次暂停的地方(上次 yield 语句的下一行代码处)无缝 ...
广西之行
先占坑。
知识管理的方法论
本文略记博主个人的知识管理体系。
首先,明确一点需求:除了隐性知识之外,我所有的知识,在接入互联网的情况下,都应该是可访问的。因此知识必须是电子化的。曾经的纸质笔记可以扫描为 pdf 电子化。
接下来,我们定义何为隐性知识,之后我们不会再讨论它。隐性知识是指那些不宜公开的知识,或者不值得记录的知识。例如,在公司获得的业务经验,或根据保密条款之义务,不能公开但被确实掌握的知识,这些属于不宜公开的知识。再如,一些非常基础的知识,例如义务教育阶段知识、基础的微积分等已经“固化”到脑子里的知识,再花时间记录有些不值当,这些属于不值得记录的知识。
剩下的知识虽然可以公开,但为管理之方便,分为两类:public, private. Public 的知识所有人可以访问,Private 的知识只有我本人可以访问。截至文章写作时,我把它们分为五大类:Blog, Github, Zotero, Baidu Pan, Chrome Bookmarks.
最直观的,Blog,也就是这个博客。可以看到,里面有非常多的笔记,内容较为详实,以下举例:TRPO 笔记、深度学习小记、数据分析业务、工程数学。这种组织形 ...
论文阅读 A Deep Reinforcement Learning Framework for Optimizing Congestion Control in Data Centers
paper: A Deep Reinforcement Learning Framework for Optimizing Congestion Control in Data Centers
这篇论文提出了一个将拥塞控制与强化学习结合在一起的框架。
摘要研究痛点:传统的拥塞控制协议针对特定网络环境设计,其静态参数无法适应现代数据中心极度动态的流量变化 。虽然纯在线强化学习(Online Learning)被寄予厚望,但数据中心的拥塞控制周期在微秒级别,机器无法在如此严苛的时间尺度内收敛并做出准确的控制动作 。
核心创新:提出了一种混合架构。在微秒级的底层控制上,依然依赖专家设计的传统协议;而在秒/小时级别的高层控制上,利用多智能体强化学习(MARL)来动态调整传统协议的关键参数 。
实验结果:以 BBR 算法作为案例(调整其 RTT 和带宽的采样窗口),该系统能显著减少静态参数带来的性能惩罚,将收敛时间缩短了 2.7 倍,并将往返时间(RTT)降低了 40% 。
背景与相关工作传统方案的局限:随着网络带宽延迟乘积(BDP)的增加,从早期的 NewReno 到后来的 BIC 和 CU ...
TRPO 笔记
请注意,《工程数学》中的某些内容是本文的前置知识。
代码实践https://github.com/boyu-ai/Hands-on-RL/blob/main/%E7%AC%AC11%E7%AB%A0-TRPO%E7%AE%97%E6%B3%95.ipynb
我们以车杆(CartPole)环境为例。
view(-1) 和 cat在数学推导中,我们通常把神经网络的所有参数 $\theta$ 当作一个超大的、一维的列向量。例如公式里的梯度 $g$ 和海森向量积 $H \cdot v$,这里的 $v$ 和 $g$ 都是一维向量。
但是,在 PyTorch 的底层实现中,神经网络的参数是以多个不同形状的张量(Tensor)构成的列表。比如:
第一层权重矩阵可能是 [64, 3] 的矩阵
第一层偏置可能是 [64] 的向量
第二层权重矩阵可能是 [2, 64] 的矩阵
1234kl_grad = torch.autograd.grad(kl, self.actor.parameters(), ...
乙巳年记
const_list = {F, M, B, Z, zd, zr, wc, qz}
本博客的年度总结从太阳历换成月亮历了,望周知,主要是实在太忙,只有过年才能得闲。在时间跨度上,这个文章也会记载丙午新年期间的事。
弃我去者
昨日之日不可留
乱我心者
今日之日多烦忧
书、影视乙巳年并没有看多少书,太忙了。
踏切时间
还行,挺有意思的。
唐探1900
低自尊水平的控诉是廉价的。
辉夜姬物语
最重要的两个主旨是,一,人要知道自己想要什么;二,不要假定别人的幸福。 辉夜姬不明白自己想要什么,辉夜姬的养父假定了辉夜姬的幸福。另一点,作为月宫神明的孩子,辉夜姬可以称为纯洁无垢之物。幼稚纯洁对一个孩子或许是赞美,但在成长的过程中会渐渐成为一种危险的特质,只是行走在光明中,没有见过黑暗,就会不知道边界在哪里,作为一种谶言,无垢之子几乎一定会滑落到可悲可叹的境地。
东京残响
还行。
...
RDMA 杂记
本文旨在厘清一些概念上的细节,尽管更高抽象层次上的工作内容无此要求,但当我们深入到仿真代码中试图 debug 或者研究 rdma 的其他内容时,这是必要的。
什么是“流”在 RDMA 中,什么是“流”?这个概念为何提出?有没有对应的物理实体,还是仅仅是方便理解的抽象概念?在普通的 TCP/IP 网络中,有没有类似的“流”的概念?
在 RDMA 中,什么是“流” (Flow)在 RDMA(特别是目前数据中心主流的 RoCEv2)语境下,“流”通常指的是一对 Queue Pair (QP) 之间的通信连接。
更具体地说,一个 RDMA 流由以下特征定义:
五元组 (5-tuple):由于 RoCEv2 封装在 UDP/IP 之上,网络设备(交换机)看到的“流”是由 Source IP, Dest IP, Protocol (UDP), Src Port, Dst Port 决定的。
注意:在 RoCEv2 中,Dst Port 通常固定为 4791 (RoCEv2),而 Src Port 通常由硬件根据流的特征(如 QP Number)计算哈希值生成,专门用于让交换机做 ECMP(等价多 ...










