抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

如何将梯度下降算法变成分布式的梯度下降算法

如何将梯度下降算法变成分布式的梯度下降算法 Scaling Distributed Machine Learning with the Parameter Server scheduler 通知所有worker加载数据, LoadData() 通知worker启动并分批处理小批量的数据, WorkerIteration(t) worker LoadData 读取对应块的数据 从ser...

自动微分简记

自动微分 https://www.bilibili.com/video/BV1zD4y117bL/?spm_id_from=pageDriver&vd_source=fa5227c06f0a0c9f870b406f10be1d31 automatic differentiation in Machine Learning: a Survey 两种模式 前向 后向 都用雅各比矩阵...

如何实现一个高性能LRU

如何实现一个高性能LRU 本质是分桶降低map锁的影响范围,然后使用单独的一个worker线程逐一处理链表的更新操作。 一个基本的实现就是一个lru链表,然后元素访问的时候移动到链表头,超出容量就淘汰链尾元素。 然后再看看怎么从链表中找到目标元素,方便我们移动。一个办法就是使用map做索引。这样就实现了O(1)的整删改查。 123456789--- Item1 ...

大模型训练优化

大模型训练优化大模型现状处理大模型的主要办法是数据切分,然后做数据并行, 模型并行和张量并行。原理略 总结一下数据并行和模型并行存在的资源利用率问题: 数据并行 多个GPU上需要存储相同的模型,导致模型资源占用放大 每次迭代最后都有不小的模型同步开销 模型并行: 流水线并行 + 张量并行 大模型训练的流水线需要等待执行结果,无法多发射,导致资源闲置和利用率低 流水线各个阶段的负载不均匀...

Redis赏析

Abstract主要记录Redis整体架构及其巧妙的设计。 主要结构体 sds(simple dynamic string) dict set: TODO zset list 其他: zmalloc TODO: 主要lib(抽象) redis object ae 主要亮点 epoll实现的异步库 渐进式rehash 流式read, write redis Redissd...

锁锁速查

Cheat sheet 枚举各种情况 普通自旋锁 缓存与不可扩展 MCS锁(排队锁) 可扩展但开销更高 QSpinLock spinlock + MCS lock 以上都没考虑numa的影响 Delegation Lock(代理锁) 同类临界区操作都发送同一个NUMA中执行 解决了NUMA带来的不同性能问题 以上都没考虑异构核的影响 LibASL可扩展锁(乱序重排锁) 不...

Arch Linux 坑坑速查表

Arch Linux 坑坑速查表.Xauthority lock timeout用strace xauth list可以看到操作具体流程, 主要就是.Xauthority可能是root用户所有了, 及其.Xauthority-*的冲突 删掉.Xauthority-*, 把.Xauthority改成本用户。删掉.Xauthority也可以试试 N卡驱动 装完可以使用mkinitcpio -P手...

一些奇妙的bit操作

一些奇妙的bit操作学习过程中看到 + 推理出的一些奇妙的位运算相关的操作。顺序尽量有一定推理逻辑, 尽量分组写在一起 听说”hacker’s delight”这本书专门讲这些, 但我还没时间看 assert 默认从右往左是从低位到高位, aka 右边的末尾 +1的效果: 从右到左第一个0, 按位取反(不够加要一直进位) -1的效果: 从右到左第一个1, 按位取反(不够减要一直...

通过例子理解CUDA driver api和CUDA PTX

通过例子理解CUDA driver api和CUDA PTXcuda程序经过编译器编译后后添加很多对cuda driver api的调用, 这样用户就不用关心gpu module管理, context管理, kernel管理等的细节了。 不过我们就是想要知道细节, 所以这篇文章通过直接使用cuda driver api加载cuda ptx执行的方式体会其中的细节。 我们的目标是将下面这个cu...

通过javascript体会函数式编程

Abstract 虽然像递归, 但是你要用functional的眼观看待 对js做7点限制, 从而体会函数式 no loops no if single return no side-effects to outside world no assignments in functinos no arrays only 0 or 1 argument Pure function, ...