分类目录归档:未分类
The Building Blocks of Transformers
Transformer完全改变了2017年后NLP领域的模型方向, 从某种意义上说,Bert,GPT等模型都是Transformer模型的变体, 虽然模型结构有各种改变, 但是其中的一些基本计算单元则变化较小.
Transformer几乎就是为了改善计算性能而专门设计的模型.
- 完全没有RNN之类的循环计算需求, 这就极大降低了计算过程中的顺序依赖, 可以极大提高并行性.
- 大量使用矩阵乘, 不使用卷积这种计算强度不够大的算子
正是由于Transformer使用到的基本计算单元非常简单, 几乎就只有 gemm, +-*/, layernorm, softmax, 也没有奇怪的计算流程, 所以原文的作者将其称为一个"简单"的模型是很有道理的.
本文就是简单记录Transfomer中使用到的基本计算单元.
Basics
… Read MoreA Strory of Mixin
Mixin
Mixin是一种设计思想, 主要内容是: Mix some MixinClass into a CoreClass, so the CoreClass can get some new feature, or get enhanced.… Read More
Tablegen Language Tutorial
Lit and FileCheck
Lit And FileCheck
Lit
和 FileCheck
是 LLVM 测试中常用的工具, 尽管二者功能上是完全独立的,但是搭配起来使用会显得更加方便.
Lit
Lit
总的来说仅仅是一个 test-launcher, 它的主要功能就是发现测试,执行测试,收集结果.
"发现测试"主要依赖于lit.cfg
(或lit.site.cfg
)文件标记来实现. … Read More
比较运算符, Min, Max, Sort 和 Order
惭愧,突然发现又是没有blog的一年。这一年不断在尝试搞大新闻,写点大东西,到现在也没憋出来。倒是又在学习新东西的过程中看到了一些零碎的小知识,很有意思.
很巧,这个也是和比较运算符相关的,和一年前的blog竟然有所重合。
还是先上结论: 当需要为类型T定义比较运算符时,所有运算符最好保证语义整体一致
* 一般来说,这很容易达到,我们只需要实现operator<(lhs,rhs)
,即可引申定义出其余几个比较运算符.
* 定义operator<=
为 !(rhs < lhs)
* 定义operator>
为 rhs
… Read More
Time Was
世界,你好!
欢迎使用WordPress。这是系统自动生成的演示文章。编辑或者删除它,然后开始您的博客!… Read More