1. 前言
大家好,我是何睿智。我现在在做大语言模型相关工作,我用业余时间写一个专栏,给大家讲讲如何从零开始实现大语言模型。
从零开始实现大语言模型是了解其原理及领域大语言模型实现路径的最好方法,没有之一。已有研究证明,为特定任务定制或使用领域数据训练的大语言模型能在领域相关的评价指标上超过ChatGPT这样的通用大语言模型。
本专栏将从零开始讲解大语言模型理论原理step-by-step,提供一整套工业级文本数据处理,大语言模型构建、预训练、监督微调及指令微调,并行计算与分布式训练代码,并且从零开始解释实现代码line-by-line。
欢迎大家订阅从零开始实现大语言模型系列专栏,大语言模型技术交流群:757729210。
2. 大语言模型的模型结构
2017年,文章Attention is all you need提出了一种用于机器翻译的sequence-to-sequence架构模型Transformer。Transformer包含一个编码器(encoder)和一个解码器(decoder),编码器提取输入文本中的上下文信息,将其转变成多个向量,并传递给解码器。解码器接收编码器生成的向量,生成输出序列。
2018年,文章BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding使用 [MASK] 单词预测任务和句子前后顺序预测任务预训练Transformer模型的编码器,预训练后的模型被称为BERT(Bidirectional Encoder Representations from Transformers)。BERT模型的编码器架构及训练策略,使其非常擅长情感预测、文档分类等文本分类任务。
句子前后顺序预测任务,最初是预测两句话是否在原始预训练语料中相邻,后续改进为原始预训练语料中的两个相邻句子是否被交换顺序。
同年,OpenAI的文章Improving Language Understanding by Generative Pre-Training通过生成式预训练任务(根据一段话的前文预测后文)训练Transformer模型的解码器,预训练后的模型被称为GPT(Generative Pret