位置编码
对于每一个词均构建head position encoding 和tail position encoding.
指标
QPS、TPS
Transformer
- relative position bias
Trick
作者:圆角骑士魔理沙
链接:https://www.zhihu.com/question/31034164/answer/553533545
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
比如说,学过计算机体系结构,明白dennard scaling死掉后单线程已经上不去,GPU等massively parallel architecture是未来,然后给neural network迁移上GPU(deep learning)。然后,会deep learning,发现这货给出的答案不一定是对的,但是可以当heuristic/hint,给传统方法加速(Alphago的MCTS(AI),Learn Indexed Structure中预测结果存在那(数据库),AutoTVM的快速评分(编译器),DeepCoder的降低搜索空间(Program Synthesis),Peloton的给数据库预测负载(数据库))又或者,会FPGA,知道GPU之上还有很多优化空间,于是直接把整个matrix multiply fuse成电路(TPU),又或者会quantization,去研究怎么给quantized NN做ASIC(Bit Fusion)。还有,会PL,发现Deep Learning的computation graph其实就是个first order PL,为了加入控制流(RNN/LSTM/TreeLSTM。。)以Lambda Cube为基础设计一个IR,再想办法在上面做反向传播,来做program optimization(TVM上的Relay)。除了理解力到位,试图把未知的新工具用上已知领域,还有个更简单粗暴的用法:降低/消除低效接口带来的额外开销。学了Memory Hierarchy以后,在用一个内存以前可以提前fetch,降低软件的memory access latency(prefetching)如果有FPGA,可以把一部分任务schedule并offload上硬件,提高性能(Hardware/Software codesign)有task要在docker里面跑?既然docker都有保护了,那还凭啥要跑一个有保护模式的OS,要多个address space并且不停在kernel/user上跑?Unikernel走起!把这套玩到炉火纯青,还能像Midori这样,大手一挥,重新设计整个Software Stack,把里面的各种多余的抽象(protection类型系统给了,就不需要OS上搞)整合掉,爽不?