flash怎么做网站,敦化网站开发,海报设计思路,六安网站制作公司排名大模型是怎么被训练出来的具有人类智慧的 阶段一训练-自我学习-具备知识训练资料self-supervised learning#xff08;自督导式学习#xff09; 阶段二-怎么让模型具备人的智慧supervised learning 督导式学习预训练pretrain为什么要用预训练的模型#xff1f;Adapter逆向工… 大模型是怎么被训练出来的具有人类智慧的 阶段一训练-自我学习-具备知识训练资料self-supervised learning自督导式学习 阶段二-怎么让模型具备人的智慧supervised learning 督导式学习预训练pretrain为什么要用预训练的模型Adapter逆向工程开源的Pre-train参数 参考 一个语言模型是怎么训练出来的呢它是怎么具备人类智慧的呢 它被训练的过程中到底有些什么困难 阶段一训练-自我学习-具备知识
我们之前就已经讲过实际上我们要做的就是寻找一个函数来实现一个文字接龙的功能 它的做法它会寻找要给函数
输入中国最高的山是输出珠输入中国最高的山是珠输出穆…输入中国最高的山是朗玛峰输出结束符
现在我们知道要实现这个功能我们使用的是一个类神经网络这个网络有上亿个参数来实现这样的功能。这上亿个参数是怎么得到的呢就是通过大量的资料学习到的就像是人的大脑一样很难解释每个神经元是怎么作用的但他们确实可以和谐办公。接下来的要给问题就是到底需要多少的资料才能学会人类的语言呢又是怎么获取这些资料的呢
训练资料
要让一个语言模型学会对话必须具备文法知识以及世界知识学会文法知识才会知道“这是一个”这样的表达后面跟的是个名词而仅仅只有文法知识还是不够的所以还需要知道一些世界知识比如体重的衡量是用公斤数温度使用摄氏度不同压力下水的沸点不一样等等。 这篇论文里面可以看得出来知道文法知识1亿个参数足够了但是了解世界知识至少需要300亿个以上那这么多的资料是怎么喂给大模型的呢
self-supervised learning自督导式学习
实际上资料的获取并不复杂因为网络上的资料足够了但是怎么喂给大模型呢。通常情况下我们需要的资料是这样的 输入今天天气很好 输出情感正面 也就是说这些数据是带有标签的但是现在这么多数据我们是无法进行人工标注的。所以今天我们用的技术就是self-supervised learning自督导式学习。我们使用网络上爬到的资料不需要人工标注处理成如下格式 比如我们搜到的是中国最高的山是珠穆朗玛峰我们可以简单的写一个函数把这个句子处理成
输入中国最高的山是输出珠输入中国最高的山是珠输出穆…输入中国最高的山是朗玛峰输出结束符
这种不需要人工标注的方式我们就称为自督导式学习。
阶段二-怎么让模型具备人的智慧
学习了那么多资料真的就可以有很好的答案了么 答案是否定的。在GPT-3学习了580G的资料参数有1750亿但是答案依然是很难尽如人意你问它一个问题它甚至有可能会反问你一个问题完全没有人类的智慧跟现在的GPT-4是完全没法比。 其实我们想想也可以知道从网络上爬来的资料本身就没有告诉模型怎么样的回答才是符合人类回复的。
supervised learning 督导式学习
为了让模型具备人类回答的智慧必须要收集人类对话进行资料标注来教会模型该怎么回答。 这种人类标注的训练方法我们就叫做督导式学习这个过程就叫做Instructing Fine-tuning 比如从人类收集到的资料 对于模型来说的输入输出就是 那你可以说我们完全使用人力标注的资料那不是更好么答案确实是但是人力能够标注的资料有限的有限的资料训练出来的参数结果可能就会很奇怪。比如你问模型中国最高的山是什么 它很有可能告诉你是姚明。为什么会出现这样奇怪的答案呢很有可能是因为资料太少它只看过这样一个资料。篮球队里最高的人是姚明。
预训练pretrain
那我们有没有更好的方式既能有大量的知识又能够接受人类的智慧呢 那就是pretrain我们使用第一阶段自督导式学习得到的参数在这个基础上再使用人类标注的数据进行督导式学习对参数进行微调。
为什么要用预训练的模型
因为经过预训练的模型具备很强的能力它甚至能够达到举一反三的效果 BERT模型上如果它看过104种语言的资料如果我们只用英文做Fine-tune模型竟然可以做中文的QA正确率可以达到78.7
但还是有一个问题参数这么多微调一次也很费时间另外微调过程种参数不会被修改太多导致失去这些已经学会的知识了呢Adapter技术就是来解决这个问题的。
Adapter
Adapter就是字面的意思我在原模型的基础上我还要再加上一个适配器适配器的参数比原来的参数要少很多微调的过程就会变的很快且不会影响原来的参数。整个模型的输出就是在原来模型参数的基础上又加上了少量Adapter的参数 LoRA就是一种Adapter技术Adapter其实包括了很多种可以在https://arxiv.org/abs/2210.06175上找到很多种实现 LLAMA在它的论文中曾指出自己只需要2万多笔资料就可以训练好一个模型了,但是还有一个问题有了它就能训练好一个大模型了么 答案是不能。因为我们依然还是需要优质的微调资料。
逆向工程
显然不是随便标注就可以得到这些微调需要的优质资料因为我们不知道用户会怎么问问题那么怎么获取这部分数据呢现在有种方法就叫做逆向工程反问GPT让他帮忙想问题想答案用反向生成出来的内容来微调模型。当GPT是不太喜欢这样的。 有了微调的资料那参数也是很大的训练成本呀别着急有开源的参数
开源的Pre-train参数
Meta 23年开源了LLaMA的参数我们可以用它来初始化自己的模型。由这个开源的参数迅速衍生出了一系列的模型可以说事半功倍
参考
李宏毅-生成式人工智能导论