THU 【通览一百个大模型】GLM

订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干货资料大礼包 , 近200篇论文 , 300份博主亲自撰写的笔记 , 近100个大模型资料卡 , 助力NLP科研、学习和求职 。
一、GLM原理GLM大模型基本资料卡 序号大模型名称归属推出时间规模预训练语料评测基准模型与训练方法开源论文模型地址相关资料
13
GLM
清华NLP
2022-05
、等13GB英文语料;
中文版本模型预训练语料为.0
、CNN/、XSum
(1)预训练任务为自回归填充任务 。通过进行统一训练 。输入部分含有mask片段的文本(蓝色) , 所有token的全部可见;输出部分为自回归式依次生成被mask的各个片段的文本(黄绿色) , 片段顺序是被打乱的(黄绿色先后顺序是随机的) , 矩阵被mask , 每个片段生成起始终止符号为[S]和[E] 。
(2)多任务训练:文档级别和句子级别的填充任务;
(3)Fine-:所有NLG和NLU转换为生成式任务 。
GLM
glm-10b
查看
GLM模型架构及预训练目标如下所示:
GLM相关开源项目:
模型架构: -only 模型
预训练任务:输入一个含有 token的文本[MASK](蓝色) , 按照目标生成 token对应的文本(黄色和绿色) 。预训练时生成的 token先后顺序是随机的 , 同时每一个 span都有两个特殊标记[START]和[END];
下游微调&推理:
目前开放的GLM系列模型如下表所示:
fig
GLM-Base
110M
Wiki+Book
Token
glm-base-blank.tar.bz2
.sh
GLM-Large
335M
Wiki+Book
Token
glm-large-blank.tar.bz2
.sh
GLM-Large-
335M
Token+Sent+Doc
glm-large-.tar.bz2
.sh
GLM-Doc
335M
Wiki+Book
Token+Doc
glm-large-.tar.bz2
.sh
GLM-410M
410M
Wiki+Book
Token+Doc
glm-1.25-.tar.bz2
..sh
GLM-515M
515M
Wiki+Book
Token+Doc
glm-1.5-.tar.bz2
..sh
GLM-
335M
Token
glm--large-blank.tar.bz2
.sh
GLM-2B
2B
Pile
Token+Sent+Doc
glm-2b.tar.bz2
.sh
GLM-10B
10B
Pile
Token+Sent+Doc
.sh
GLM-10B-
10B
Token+Sent+Doc
inese.sh
GLM仓库:
使用GLM进行文本生成任务 , 例如:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLMtokenizer = AutoTokenizer.from_pretrained("THUDM/glm-10b", trust_remote_code=True)model = AutoModelForSeq2SeqLM.from_pretrained("THUDM/glm-10b", trust_remote_code=True)model = model.half().cuda()model.eval()# Inferenceinputs = tokenizer("Ng is an adjunct professor at [MASK] (formerly associate professor and Director of its Stanford AI Lab or SAIL ). Also a pioneer in online education, Ng co-founded Coursera and deeplearning.ai.", return_tensors="pt")inputs = tokenizer.build_inputs_for_generation(inputs, max_gen_length=512)inputs = inputs.to('cuda')outputs = model.generate(**inputs, max_length=512, eos_token_id=tokenizer.eop_token_id)print(tokenizer.decode(outputs[0].tolist()))# Traininginputs = tokenizer(["Tsinghua University is located in [MASK].", "One minus one equals zero, is it correct? Answer: [MASK]"],return_tensors="pt", padding=True)inputs = tokenizer.build_inputs_for_generation(inputs, targets=["Beijing", "No"], max_gen_length=8, padding=False)inputs = inputs.to('cuda')outputs = model(**inputs)loss = outputs.losslogits = outputs.logits
二、-6B
-6B 是一个开源的、支持中英双语的对话语言模型 , 基于Model (GLM) 架构 , 具有 62 亿参数 。结合模型量化技术 , 用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存) 。-6B 使用了和相似的技术 , 针对中文问答和对话进行了优化 。经过约 1T 标识符的中英双语训练 , 辅以监督微调、反馈自助、人类反馈强化学习等技术的加持 , 62 亿参数的 -6B 已经能生成相当符合人类偏好的回答 ,