Open wangqiangneu opened 5 years ago
Marian团队参加的WNMT 2018的报告。做速度的优化,方法包括:
interpolated seq-kd
beam=1
16bit
8bit
32bit float
X 2^10
signed integer
int16
B^T
float32
auto-tuning
seq-kd
简介
Marian团队参加的WNMT 2018的报告。做速度的优化,方法包括:
interpolated seq-kd
。Teacher是4个transformer-big ensemble -> 翻译train set -> 8-best -> oracle作为训练数据,于是student可以用beam=1
解码。16bit
或8bit
的整数矩阵乘法代替原始的32bit float
16bit
时,方案参照这篇,只需简单的把输入和参数X 2^10
再转成signed integer
。int16
比较安全,没有overflow的危险8bit
时,得先把activation和parameter clip到[-2, 2],再算,然后把结果线性缩放到[-127, 127]B^T
量化好,避免每次重复量化float32
和int16
在不同的条件下谁好谁坏不一定,因此可以在提前试,不同的地方用谁好,文章里叫auto-tuning
论文信息
总结
seq-kd
很牛