筛选

卡片视图

//

给 tensorzero 提的第一个 PR:object_storage.endpoint 支持环境变量

tensorzero 是一个做 LLM 推理和优化的框架,配置里的 [object_storage] 用来管多模态推理时图片之类文件的存储。原来这个段的 endpoint 只能写死一个地址,我提的 PR 让它也能写成 env::SOME_ENV_VAR,启动的时候从环境变量里读。这样内网地址、测试和生产的存储端点就不用都摊在配置文件里了。 当时提的 PR 是…
//

从SGD到AdamW,优化器怎么发展过来的?

Adam = Momentum + RMSProp 本文可以省流成以下几句话: SGD往梯度下降的方向更新权重。 SGD+Momentum把梯度累积起来、得到了方向,一直同向就更新快一点,变向就慢一点。 AdaGrad把梯度的平方累积起来,让出现得频繁却梯度值很小的步长更大。 RMSProp给AdaGrad加了一个衰减系数,不看整个历史、只看近期历史,防止学习率消失。 Adam = Momentum +…
//

CS336 · Assignment 1 · 后半段:实验

已经搭建起了训练循环,接下来做一些实验。训得有多快?有多好? 之前的实现接口不是很好用,更进一步包装了一下,并麻烦GPT帮我优化了naive实现。 由于 test_tokenizerimport resource 这个库只能在linux中使用,决定将核心代码拷贝到linux环境下进行测试。 而为了保证实现的正确性,在原来的windows环境下利用gpt撰写了 test_tokenizer_windows.py
//

值得顺便掌握一下的那些linux指令

命令行能够即时地做很多事情,甚至代表一种简洁而切题的计算机哲学。 为了直接进入正题,省略诸如 cd 这样的广为人知的基础指令,直接看那些显著提升体验的东西。 用于查看磁盘空间。使用场景比如训模型会保存很多中间文件,可以这样看看需要清理哪些。 使用效果: 比如 fuse-overlayfs 是这个实例本身的存储, shared-nvme 是它的外接可持久化存储,使用率分别为 50%40% 。 至于要看哪几个文件最大,可以和 ncdu
//

WanDB基础使用教程总结

WanDB是一个python库/日志托管平台,帮我们详细记录并整理了训练过程中的各种参数和指标变化, 省去了需要自己详细记录日志绘制图表的麻烦,并且可以做超参数搜索等进阶用法。 整合入训练循环的最小模板: 在W&B quickstart中提到了两款产品,我们主要使用的是前者,用于记录acc、loss、运行环境和模型权重等日志信息,并且便于做简单的绘图。 wanDB最本源的使用方式是通过 wandb.log 函数,记录 epoch,…
//

数据结构与算法 · 04 · LeetCode HOT 100 in Python(前50)

哈希,双指针,滑动窗口,子串,数组,矩阵,链表,二叉树,图。 专题1 哈希 需要什么就哈希记录什么。 专题2 双指针 对双指针的理解是:两个指针向中间收缩的问题,收缩的一般是“不收缩的话,后续搜索得到的解均不符合题意”的那个指针。 专题3 滑动窗口 滑动窗口往往是把右边延长到满足条件,之后把左边收缩到差点不满足条件。 专题4 子串 专题5 数组 专题6 矩阵 专题7 链表 链表的一个重要工具是prev指针,用于指示前一个节点。 专题8 二叉树 专题9…