以下是大模型入门学习的教程:
一、什么是大模型
通俗来讲,大模型就是输入大量语料,让计算机获得类似人类的“思考”能力,能够理解自然语言,进行文本生成、推理问答、对话、文档摘要等工作。
可以用“上学参加工作”这件事来类比大模型的训练、使用过程:
1. 找学校:训练大模型需要大量的计算,因此 GPU 更合适,只有购买得起大量 GPU 的才有资本训练自己的大模型。
2. 确定教材:大模型需要的数据量特别多,几千亿序列(Token)的输入基本是标配。
3. 找老师:即用合适的算法讲述“书本”中的内容,让大模型能够更好理解 Token 之间的关系。
4. 就业指导:学完书本中的知识后,为了让大模型能够更好胜任某一行业,需要进行微调(fine tuning)指导。
5. 搬砖:就业指导完成后,就要正式干活了,比如进行一次翻译、问答等,在大模型里称之为推导(infer)。
在大模型中,Token 被视为模型处理和生成的文本单位。它们可以代表单个字符、单词、子单词,甚至更大的语言单位,具体取决于所使用的分词方法(Tokenization)。Token 是原始文本数据与大模型可以使用的数字表示之间的桥梁。在将输入进行分词时,会对其进行数字化,形成一个词汇表。
二、数字化与 Embedding
数字化便于计算机处理,但为了让计算机理解 Token 之间的联系,还需要把 Token 表示成稠密矩阵向量,这个过程称之为 Embedding。常见的算法有:
1. 基于统计:
Word2Vec,通过上下文统计信息学习词向量。
GloVe,基于词共现统计信息学习词向量。
2. 基于深度网络:
CNN,使用卷积网络获得图像或文本向量。
RNN/LSTM,利用序列模型获得文本向量。
3. 基于神经网络:
BERT,基于 Transformer 和掩码语言建模(Masked LM)进行词向量预训练。
Doc2Vec,使用神经网络获得文本序列的向量。
以 Transform 为代表的大模型采用自注意力(Selfattention)机制来学习不同 token 之间的依赖关系,生成高质量 embedding。
大模型的“大”,指的是用于表达 token 之间关系的参数多,主要是指模型中的权重(weight)与偏置(bias),例如 GPT3 拥有 1750 亿参数,其中权重数量达到了这一量级,而词汇表 token 数只有 5 万左右。
2024-12-02