大模型学习第三期(都给我来看!!)

小白怎么用?

先下载ollama这种模型工具(Hugging face的Gradio也可以实现可视化,可视化可以不要),然后去下载ollama的模型,

还有对应ollama的模型,这里我花了一整天测试模型与数据集不适配的情况,尝试用hugging face的transformor接口去调用ollama的模型,完全不行,然后不要尝试调模型到适配数据集,你会发现调试完系统也不认识你,因为调用的时候会访问云端接口,所以修正模型大概率无法成功,所以只能去修改你对应的数据集,去适配你ollama的模型,然后你下载的大概率会是基础模型,类似qwen,gemini这种,这个偏差值和丢失率很高,一样的数据集在精度很高的垂直模型跑出来丢失率差太多。

好像很高级的知识蒸馏是什么?

知识蒸馏:和较大模型是数据去喂给小模型这个本质上应该是数据迁移,在大型模型中完成剪枝,量化和压缩等各种之后去迁移到小模型上面,这样小模型可以通过不断更新检测调取优化实现上面大模型的效果,现在说的老师教学学生这个比喻应该是不恰当的。

Embedding请问是什么?

就是说把符号转化为向量在我们模型之中要认识他就必须放到向量模型里面,可以去调整维度,这方面是基础,同时你这里会涉及到概率论的东西,具体的我这里不细讲,里面大概会有矩阵重组,分解,梯度转换等知识,可以不用管,这个时代初级程序员会被ai替代,就算你一行代码都看不懂也可以做出好看的网页和一些小demo,然后就算要不要用,按我说这玩意最好用,你的模型会得到极大的提升。

模型优化前的一般步骤:

增量预训练(PT):在预训练模型上拿一些数据区训练设计策略和还有测评通用能力,实际上就是预加载(把模型那过来之后试他一下),在正常训练中作为第一步。

有监督微调(SFT)和无监督微调(NFT):

这个SFT就是在预训练模型上面给标注好的数据,实现精度垂直,而NFT就是随便给些数据,通过自监督学习类似java的泛型自适应。

训练集和测试集:训练集就是拿来练的,然后测试集就是拿来最后测试用的,在分开后能大幅降低过拟合。同时能防止数据泄露和评判这个模型在相同的数据划分之下保证公平。

在进行微调之后就初步成型。

然后采取强化训练。

模型微调:

参数高效微调(PEFT):调试小部分参数(可添加小部分或者冻结大部分)保持全参数性能,

有LoRA(可添加训练矩阵,可减少90%作用参数当下的LLM还有扩散模型使用的较多(扩散模型暂时不讲,由浅入深)),Adapter Tuning(AT),Prompt Tuning,等方法。

高效微调(EFT):

混合精度训练,梯度累积(多个小批次然后前向传播在不断增加批次),知识蒸馏,分布式训练(多GPU或者分层次训练,可以去学习并联机房或者网吧电脑实现分布式训练,理论上十几台机房电脑可以实现较好的训练(要看你们机房配置如何,同时机房会自动更新,这个要注意处理)),量化训练(QAT):就是模拟低精度去适应量化误差。

至于你要怎么选用那种微调的,这个问ai,配置每个人都不一样,而且两种方法同时用很正常,例如LoRA+梯度累计,然后设置。。。

模型优化:

RLHF强化监督学习:在上述微调训练之后才能用,本质上是人类设置的,对于模型而言就是设置PPO等算法给出不断提升评分迭代。然后一般都是在训练完一次之后才开始,如果给出错误那么等于这次训练时间浪费了。尽量把这个活给其他人做。

DPO(偏好训练):我们的DPO可以视为上面RLHF的简单轻量化实现,但是RLHF是训练奖励模型,然后再去训练,而DPO则是直接开始训练,其本质上不一样。在DPO内涉及到大量prompt提示去快速迭代,相较于RLHF用更少的资源换取更高的效率同时会因为没有奖励模型而损失精度。这个现在并不能完全替代RLHF,后期估计会有能替代的思路。

ORPO(机率比偏好优化):优化机率比,这个东西是涉及底层算法,可以作为DPO的垂直专门替代(类似精准的医疗客服)

GRPO(分组相对偏好优化):等于DPO加上分组进行训练,可以配合搜广推等算法实现精准到年龄,性别喜好获取其喜欢的回答

#牛客激励计划#
全部评论

相关推荐

评论
1
4
分享

创作者周榜

更多
牛客网
牛客企业服务