ChatGLMChatGLM2、ChatGLM3模型架构对比

简要概括:ChatGLM2与ChatGLM3在模型架构上保持了一致性,而相较于ChatGLM,它们的结构有所不同。因此,从模型架构层面来看,ChatGLM3并没有对ChatGLM2进行改进。

在ChatGLM2和ChatGLM3相较于ChatGLM的变化方面:

首先,它们显著缩小了词表的大小,从ChatGLM的150528个词项缩减至65024个词项。这一变化直观上反映在加载速度上,使得ChatGLM2和ChatGLM3的加载过程相较于ChatGLM更为迅速。

其次,位置编码的方式也进行了优化,从ChatGLM中每个GLMBlock一份提升至全局一份,提高了位置信息的利用效率。

此外,前馈网络在ChatGLM2和ChatGLM3中也存在差异。ChatGLM使用了GELU(高斯误差线性单元)作为激活函数,而ChatGLM2和ChatGLM3则采用了Swish-1。同时,ChatGLM2和ChatGLM3似乎修正了之前的一个bug,因为在GLU(门控线性单元)中,一半的输入用于门控控制,并不输出到下一层,因此ChatGLM2和ChatGLM3在维度上表现出的不一致性(27392->13696)反而是正确的。

通过打印各模型对象进行结构对比,我们可以清晰地观察到ChatGLM、ChatGLM2和ChatGLM3在模型结构上的差异。

0

全部评论 (0)

暂无评论