OpenAI发布了一系列基于GPT模型的产品,在不同领域取得了很高的成就。但是作为LLM领域绝对的领头羊,OpenAI没有按照其最初的初衷行事。无论是ChatGPT早期采用的GPT3,还是后来推出的GPT3.5和GPT4模型,OpenAI都因为担心被滥用而拒绝对模型进行开源,选择了订阅付费模式。

对于大型科技公司来说,自研LLM模型几乎是不可避免的,无论是为了展示实力还是出于商业竞争的目的。然而,对于缺乏计算能力和资金的中小企业以及希望基于LLM开发衍生产品的开发者来说,选择开源显然是更理想的选择。

在众多开源的LLMs中,清华大学和智谱AI的GLM系列由于其出色的效果,引起了广大关注。在2022年11月,斯坦福大学的大模型中心对全球范围内的30个重要大模型进行了深度评估。GLM-130B是唯一被选中的亚洲模型,在评价指标上也展现出了与GPT-3 175B相当的表现。

GLM系列的模型众多,大部分都是对标GPT系列的模型,如下图所示。

https://gitmind.cn/app/docs/fffmbuao

  1. GLM:由清华大学、北京智源人工智能研究院等联合发布的百亿模型,使用自回归填空目标进行预训练,并可以在各种自然语言理解和生成任务上进行微调。
  2. GLM-130B:由清华智谱AI于2022年8月开源,是基于GLM继续开发的,在归一化、激活函数、掩码机制等方面进行了优化,打造的高精度千亿规模中英双语语言模型。
  3. CodeGeeX:CodeGeeX是一个具有130亿参数的多编程语言代码生成预训练模型,但它并不是基于GLM架构的,而是一个单纯的从左到右的自回归Transformer解码器。CodeGeeX使用华为MindSpore框架实现,在20多种编程语言的代码语料库(总计超过8500亿Token)上进行了两个月预训练。CodeGeeX支持Python、C++、Java、JavaScript和Go等多种主流编程语言的代码生成,能够在不同编程语言之间进行准确的代码翻译转换。CodeGeeX2则是基于ChatGLM2-6B开发的。
  4. ChatGLM:ChatGLM是基于GLM-130B进行指令微调得到的千亿对话模型,解决了GLM-130B在处理复杂问题、动态知识和人类可理解场景方面的限制和不足。ChatGLM-6B是在相同技术训练后开源的小规模参数量版本,方便开发者进行学习和二次开发。

GLM 百亿模型

论文:https://arxiv.org/abs/2103.10360

代码仓库:https://github.com/THUDM/GLM

背景

预训练模型主要有3种架构,自回归模型GPT、自编码模型BERT和编码-解码模型T5。

Untitled

方法

GLM的模型架构使用了单一的Transformer,采用了自回归填空任务进行训练,通过双向注意力对masked字段进行自回归预测。

自回归填空任务,就是通过先破坏(mask)原始文本的部分,然后再对mask的部分进行预测重建。例如,输入一个句子,然后随机连续的掩盖一段文本区间,之后通过自回归预测来还原这些被mask的部分。与其它任务不同的是,GLM在mask的输入部分使用了和BERT相同的双向注意力,在生成预测的一侧则使用了自回归的单向注意力。

如下图所示,对于输入“Like a complete unknown, like a rolling stone”,首先会随机mask掉一些单词或句子,例如图中的“complete unknown”,然后在编码器阶段,可以使用双向注意力学习掩码处的特征,最后在解码器生成文本时,使用单项注意力通过自回归的方式依次生成被mask的单词。

Untitled