1021
当接受到第一个左括号时,就开始处理后面的字符,直到遇到对应的右括号,然后将内部的数据加入到res当中
智乃的36倍数(normal version)
如果要枚举,首先第二个数必须得是偶数
但ai的范围非常大,枚举也不好枚举
AI题解
“(ai×10k)mod36=(36−ajmod36)mod36”为什么成立?最么推导的?10^k怎么没的,36-aj又是怎么来的?
这个等式的意义是什么?
深度学习相关
MLP
FFN
Moe
moe基础
MOE中,各专家的权重该如何训练,才能体现出不同?才能训练出有效的MOE?以及每个专家都是全连接层吗?以及路由器该怎么知道对于不同的token,该选哪些专家呢?
moe中的all-to-all
bsp
存在的问题
ALL-TO-ALL
对于all-to-all,是否有一个总结点0?比如是0收到所有数据后,将其分为P段,然后分发给P个rank?然后每个rank在处理完自己的一段数据后,再将其分发给其它的rank,同时接受其它rank分发的数据?
还是说没有总结点,每个rank上都从不知道哪里收到的一份数据,处理完后分成P段,完成分发,同时收到其它的数据?
原token流程
AIV
EPCL
UBEP:面向生产级 Superpod 的专家并行通信库重构
文章背景
文章主线
AIV部分
对于AIV,如果理解AIV是NPU内部的执行计算单元,那么原来所有AIV按照完全相同的阶段顺序执行,和拆成不同组去执行不同的任务,首先,不同任务之间不会存在逻辑顺序关系吗,又或者根本不会同时发生?这该怎么办呢?以及如果原来的任务在多个AIV执行时可能时间短,然后现在只有部分执行了,任务执行不会变长吗?
任务再理解
对于Token-sending,是发送方发送,然后接受方接受,Token,
TokenCnt-sending,传输的是Token数量
对于传输任务的细分,是发生在发送方的NPU,还是接收方的NPU?
以及calcum,根据token count计算目标地址,就是发送方在发送时,不断计算下一个发送token的地址?那肯定是发生在发送方的NPU rank上吧,并且与下一个的token-sending之间有明显的逻辑关系吧,即必须知道地址才能发送?
token-reoredring就是接收方在不断接受到各处NPU rank发来的token,然后整理一下token顺序?发生在接收方?
数学部分
拓扑感知分层token调度算法
Data-as-Flag同步机制
TFF
DC
SP
对于SP机制,什么叫把目标缓冲区初始化为某个特殊值?如果要写的1024个字节,缓冲区是1024字节大小的,那怎么初始化为特殊值?每个位置都是这个特殊值吗?那怎么检查呢?逐个检查缓冲区的每个值是否都是这个特殊值吗?
因此,一个 dispatch 不只是“把数据发过去”,还包括:
因此,一个 dispatch 不只是“把数据发过去”,还包括: token 路由 -> token 发送 -> token count 传输 -> offset 计算 -> token 重排