术语
技术名词(关键知识点)
简易图解语言模型算法的timelineLLM:175B、60B、540B等:如何使用VLLMprompt工程COT 思维链in-context learning ICL上下文学习AgentRAG训练LLM 从零开始训练:LLM 部署及优化技术:涌现:(Emergence)强化学习:(Reinforcement Learning)泛化:(Generalization)优化Fine-Tune 技术:微调:(FineTuning)指令微调:(Instruction FineTuning)监督微调(SFT)LoRA P-tuning v1 Freeze RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)近端策略优化(PPO)直接策略优化(DPO)温度系数Temperature
简易图解
语言模型算法的timeline
LLM:
大语言模型
一般指1亿以上参数的模型,但是这个标准一直在升级,目前万亿参数以上的模型也有了。大语言模型(Large Language Model,LLM)是针对语言的大模型。
175B、60B、540B等:
这些一般指参数的个数,B是Billion/十亿的意思,175B是1750亿参数,这是ChatGPT大约的参数规模。
如何使用
VLLM
视觉大语言模型
多模态大语言模型
通过 VIT 和 LLM 对齐来实现(token 算作 LLM 的 Image 的)
prompt工程
提示工程,涉及设计输入提示来引导模型生成特定的输出,提高模型的响应质量。
涉及设计和完善给LLM的Prompt,来得到最准确或最有用的Response。核心原则是通过精心设计的问题或陈述引导LLM生成所需的输出。它需要理解LM的能力和限制,并且通常涉及反复试验以找到最有效的提示。基本技术就是三件事:指令角色、精确表达、要求输出格式。
COT 思维链
思维链,一种策略,要求模型在给出答案前展示其推理过程,以提高答案的可靠性。
通过让大语言模型(LLM)将一个问题拆解为多个步骤,一步一步分析,逐步得出正确答案。需指出,针对复杂问题,LLM直接给出错误答案的概率比较高。思维链可以看成是一种指令微调。
in-context learning ICL上下文学习
交互式条件学习,指的是在与用户的交互中进行学习,以适应特定的条件或任务。
ICL 包含三种分类:
Few-shot learning,允许输入数条示例和一则任务说明;
One-shot learning,只允许输入一条示例和一则任务说明;
Zero-shot learning,不允许输入任何示例,只允许输入一则任务说明。
Agent
指的是能够执行特定任务的智能系统,它可以是一个经过微调的 LLM,也可以是一个集成了多种技术的复杂系统。
给模型输入一些工具,通过 框架 可以调用这些工具,结果自己思考形成 ReAct(思考 执行过程)
RAG
检索生成:RAG 是一种方法,结合了检索器模型来获取相关文档或数据和生成器模型来产生最终输出。这种技术通过外部信息丰富LLM的响应,提高其准确性和可靠性,特别是对于知识密集型任务。关键是有效整合检索和生成过程,以利用现有知识和生成能力。你需要了解的就是 LangChain
训练
大规模语言模型构建流程主要包含四个阶段:
预训练Pretraining
有监督微调 Supervised Finetuning
奖励建模 Reward Modeling
强化学习 ReinforcementLearning
这四个阶段都需要不同规模数据集合、不同类型的算法,产出不同类型的模型,所需要的资源也有非常大的差别
当ChatGPT做一些事情时,比如写一篇文章,它本质上只是一遍又一遍地问“鉴于到目前为止的文本,下一个单词应该是什么?”——每次添加一个单词
第0步,爬取10TB的高质量文本数据,在6000多张GPU卡上消耗200W美元,无监督学习训练12天,得到一个语言模型。这个模型相当于获取了各个领域的基础知识,他看了很多书,但是还不懂怎么和人对话交流。这个基础模型的训练成本很高,但是他的知识是有时效性的,所以间隔一段时间需要更新一次。
第1步,编写大约10W条高质量指令问答对,基于语言模型进行微调,教会模型如何将知识通过问答方式和人类交流。通过验证集重复这个过程,迭代优化数据分布和问答数据,让模型更懂如何推理和回答。
第2步,收集一些问题,让微调过得懂得交流的模型重复生成多个答案,然后让数据标注人员给生成答案进行打分,训练一个奖励模型,让模型和人类喜好对齐。
第3步,基于强化学习和PPO2策略迭代优化模型,让模型学习人类。
所以,大规模的训练数据(知识),大规模的参数量(记忆),强大的Transformer算法(推理和决策),像人类对齐(LR),不断学习(算力)多种因素让LLM强大,同时它还在不断的迭代优化。
LLM 从零开始训练:
从头开始训练大型语言模型(LLM)意味着在不依赖现有预训练权重的情况下构建模型。这个过程涉及收集大量数据集、设计模型架构,然后在高性能计算资源上长时间训练模型。核心挑战是需要大量的计算能力和数据,以及有效管理训练过程的专业知识。如果你没有在一个顶级的公司或者研究团队,想想就好了。
LLM 部署及优化技术:
部署和优化LLM涉及有效提供预测的策略,同时有效管理计算资源。这包括模型量化(减少数字的精度以节省内存)、模型修剪(移除不那么重要的权重)和蒸馏(训练一个较小的模型来模仿一个较大的模型)。目标是减少模型的大小和推理时间,而不会显著影响其性能,使其适合生产环境。
涌现:(Emergence)
或称创发、突现、呈展、演生,是一种现象。许多小实体相互作用后产生了大实体,而这个大实体展现了组成它的小实体所不具有的特性。研究发现,模型规模达到一定阈值以上后,会在多步算术、大学考试、单词释义等场景的准确性显著提升,称为涌现。
强化学习:(Reinforcement Learning)
一种机器学习的方法,通过从外部获得激励来校正学习方向从而获得一种自适应的学习能力。
泛化:(Generalization)
模型泛化是指一些模型可以应用(泛化)到其他场景,通常为采用迁移学习、微调等手段实现泛化。
优化
Fine-Tune 技术:
微调涉及在特定数据集或特定任务上轻微调整预训练模型参数以提高性能。这种方法允许利用大型预训练模型并将它们适应于专门的要求,无需进行大量重新训练。本质是保持LM的一般能力,同时为特定用例进行优化。没啥好说的了,自己准备数据针对特定任务训练
微调:(FineTuning)
➢语言模型:解决语言模型基座问题,
➢二次预训练:在目标领域的数据集上继续预训练可以提升效果,目标领域与语言模型的原始预训练语料越不相关,模型效果则提升更明显
➢指令微调数据:根据模型及场景指定指令微调数据,解决所需要的对齐 SFT 的数据,基于当前数据和基础模型训练得到的 SFT模型
➢微调加速/量化:解决的是低资源下的训练问题,其中热度最高的为 LORA 是一种以极低资源微调大模型的方法。
指令微调:(Instruction FineTuning)
针对大量数据训练出来的预训练模型,后期采用业务相关数据进一步训练原先模型的相关部分,得到准确度更高的模型,或者更好的泛化。
针对已经存在的预训练模型,给出额外的指令或者标注数据集来提升模型的性能。
监督微调(SFT)
LoRA
基本原理是冻结预训练好的模型权重参数,在冻结原模型参数的情况下,通过往模型中加入额外的网络层,并只训练这些新增的网络层参数
P-tuning v1
微调方法是将 Prompt 加入到微调过程中,只对 Prompt 部分的参数进行训练,而语言模型的参数固定不变
Freeze
即参数冻结,对原始模型部分参数进行冻结操作,仅训练部分参数
RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)
技术对 ChatGPT 进行了训练,且加入了更多人工监督进行微调。
(Reinforcement Learning from Human Feedback)构建人类反馈数据集,训练一个激励模型,模仿人类偏好对结果打分,这是GPT-3后时代大语言模型越来越像人类对话核心技术。
人类反馈强化学习)起到的作用是,通过将人类的反馈纳入训练过程,为机器提供了一种自然的、人性化的互动学习过程。
- RRHF(阿里巴巴)2023.4
- RLTF(腾讯)2023.7
- RRTF(华为)2023.7
- RLAIF(谷歌)2023.9
近端策略优化(PPO)
直接策略优化(DPO)
温度系数Temperature
➢控制了softmax输出分布,Temperature=1时退化为标准softmax函数。
➢Temperature越⼤输出结果越多样,越⼩输出结果越确定。
➢当Temperature较低时(如0.1或0.2),模型倾向于选择具有较高概率的单词,生成的文本较为连贯和准确,但可能显得过于保守,缺乏创造性和多样性。
➢当Temperature较高时(如0.8或1.0),模型会更倾向于选择概率较低的单词,生成的文本具有较高的多样性和创造性,但可能牺牲了一定的连贯性和准确性。
➢当Temperature接近0时,模型几乎总是选择概率最高的单词,生成的文本非常保守,可能导致重复和循环
➢应用技巧
LLM中的普遍取值⼀般为0.2~1.0
对于多样性要求较⾼的任务(例如对话、⽂本⽣成)可适当提⾼温度系
数
Loading...