NLP模型与硬件加速:原理、效率与优化策略
1. NLP模型介绍
1.1 BERT模型
BERT模型由Google发明,其基础组件是Transformer。Transformer采用了与ELMo双向训练类似的思想,并通过引入自注意力机制进一步拓展。在自注意力机制中,以计算输出 $o_1$ 为例,它会定义输入 $x_1$ 与所有输入令牌(如 $x_1$、$x_2$、$x_3$)的相关性,具体分两步:
1. 将相关性视为权重矩阵,如 $w_1$、$w_2$、$w_3$。
2. 结合相关性矩阵和每个输入生成的值(如 $v_1$、$v_2$、$v_3$)计算输出 $o_1$,公式为 $o_1 = w_1 * v_1 + w_2 * v_2 + w_3 * v_3$。
与双向RNN不同,双向RNN中一个输入令牌的隐藏状态仅依赖于其前一个或后一个输入状态,而自注意力机制中一个输入令牌的中间表示依赖于所有输入令牌。实际中,Transformer使用多头注意力机制,为每个输入计算多个注意力输出值。BERT借鉴双向Transformer概念,将多个双向Transformer层堆叠在一起。
1.2 GPT模型
GPT模型由OpenAI开发,也是基于Transformer的NLP模型,目前流行的有GPT - 2和GPT - 3,它们都是大型模型,常用版本无法装入单个GPU内存。与BERT相比,GPT模型采用略有不同的Transformer作为基础组件,其Transformer层中每个输入的注意力值仅依赖于其前一个输入令牌,被称为单向Transformer或前向Transformer,而BERT中的Transformer为双向Trans
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



