LoRA(低秩自适应):给大模型的高效 "微调助手"
LoRA,即 Low - Rank Adaptation(低秩自适应),是一种用于优化大语言模型微调的技术。在大语言模型的应用中,微调是使模型适应特定任务(如医疗文本分析、法律文档处理等)的重要手段。但传统的全量微调方式,需要对模型的所有参数进行调整,这不仅耗费大量的计算资源(如需要强大的 GPU 集群和长时间的训练)、时间成本,还可能面临过拟合问题。
LoRA 的核心思想是在微调过程中,不改变原始大模型的参数,而是通过引入额外的低秩矩阵来学习任务特定的信息。简单来说,它给模型添加了一个 "小插件"。以 Transformer 架构的模型为例,在注意力机制的相关矩阵(如查询矩阵、键矩阵、值矩阵)或者前馈网络的权重矩阵上,LoRA 会添加两个低秩矩阵(假设为 A 和 B)。在前向传播时,模型计算会结合原始权重矩阵以及这两个低秩矩阵的乘积结果。在训练过程中,仅对这两个低秩矩阵的参数进行更新,而原始模型的大量参数保持不变。这样一来,需要训练的参数量大幅减少,通常只占原模型总参数的 0.01% - 1%,大大降低了计算和存储成本。同时,在推理时,由于可以将低秩更新合并到原始权重中,几乎不会增加推理延迟。并且在很多实际任务中,LoRA 微调后的模型性能接近甚至媲美全参数微调的效果。
在Stable Diffusion中lora很常用
Prompt 工程:与大模型沟通的 "艺术"
Prompt 工程是指通过设计和优化提示(Prompt),来引导大语言模型执行特定任务的过程。Prompt 就是输入给模型的文本指令,它像是我们与大模型沟通的 "话术"。
一个好的 Prompt 需要精准传达任务需求,包含任务说明(明确让模型做什么,如 "对这段新闻进行情感分析")、上下文信息(帮助模型更好理解任务背景,如提供相关事件的前情提要)、示例(若有必要,给出期望输出的格式或类似任务的解答示例)等关键元素。比如在让模型写一篇产品推广文案时,Prompt 可以是 "假设你是一名资深的营销文案撰写人,现在要为一款新上市的智能手表撰写推广文案。这款手表具有长续航、精准健康监测、时尚外观等特点。文案风格要活泼、有吸引力,面向年轻消费者群体,字数在 300 字左右"。
Prompt 工程常用的技巧有:
思维链提示(Chain - of - Thought):引导模型逐步推理,对于解决复杂问题很有效,例如 "请逐步分析这道数学应用题的解题思路并给出答案"。
少样本学习(Few - shot Learning):给模型提供少量示例,让它参照学习来完成任务,如 "根据以下两个电影推荐语的示例,为新电影《XXX》写推荐语"。
角色扮演提示(Role - Playing Prompting):让模型扮演特定角色进行输出,像 "你现在是一位古代诗人,以秋天为主题创作一首诗" 。通过精心设计 Prompt,能够让大语言模型在无需大量训练的情况下,更高效、准确地完成各种任务,提升模型在特定场景下的应用效果 。