视频教学推荐阅读
代码:
参考Gpt,gpt2,gpt3,bert,roberta,t5模型区别分析可知,几种模型系列都是由Transformer架构改编而来,但相互之间最大的区别是架构是否有编码器、解码器。
参考独家 | 解析Tansformer模型—理解GPT-3, BERT和T5背后的模型(附链接)RNN的弱点是不能并行化(是吗?我记得能按batch并行的),很难处理冗长的文本序列,容易以往距离较远的上下文,且有梯度爆炸/消失的缺点。但transformer可以并行化,因而有能力训练大模型、大数据集。
Transformer有以下特点:
GPT-3并没有使用特制的结构,它其实只是用了有大量参数的Transformer,加上了大量的训练数据即可。在指标表现上,模型参数越多、训练数据越多,训练效果也会越好。
在经过预训练后,GPT-3在不用fine-tune梯度更新的条件下,可以同时胜任zero-shot、one-shot、few-shot任务。在各种A->B的语言翻译任务中,无监督的GPT-3的指标能够对有监督训练模型的指标进行追赶。在语言理解问题中,few-shot BERT能够与基于fine-tune的模型不分上下(虽然仍然弱于SOTA)。
阅读Guide to fine-tuning Text Generation models: GPT-2, GPT-Neo and T5,该文给出了代码片段,教学如何微调GPT-2和T2模型,使其用于情感分析任务。
项目的完整代码可见于Finetuning GPT-2 (for sentiment classification)、T5 finetuning,该代码基于hugginface实现的transformers提供的模型接口开发。
参考How you can use GPT-J,该项目由Eleuther AI公司训练,为了打破GPT-3的垄断而出现的。该项目是开源的、参数相对较少的(6B),效果却优于没有开源、参数更多(175B)的GPT-3。项目已开源上传至hugginface,详见EleutherAI/gpt-j-6B。
GPT-4chan是一个脏话回帖机器人,由著名的油管主播yk编写,在某reddit频道的大量帖子与回复上训练。可观看油管视频GPT-4chan: This is the worst AI ever进行了解。
可阅读gpt-4chan 运行笔记。