想象一下在大学学习一个学期。最后,经过深入的学习阶段,您参加了考试 - 您可以回忆起最重要的概念而无需查找它们。
现在想象第二种情况:询问您一个有关新主题的问题。您不立即知道答案,因此您拿起书或浏览Wiki以找到正确的答案信息。
这两个类比代表了改进LLM的基本模型或将其调整为特定任务和领域的两种最重要的方法:检索增强发电(RAG)和微调。
但是哪个示例属于哪种方法?
这就是我将在本文中解释的:之后,您将知道什么是抹布和微调,最重要的区别以及哪种方法适合于哪种应用。
让我们潜入!
目录
大型语言模型(LLM),例如来自Openai的Chatgpt,Google的Gemini,来自Anthropics或DeepSeek的Claude的Gemini非常强大,并且在非常短的时间内已经在日常工作中建立了自己的功能。
他们最大的局限性之一是他们的知识仅限于培训。一个在2024年接受培训的模型不知道2025年以来的事件。如果我们从Chatgpt询问4O模型,现任美国总统是谁,并清楚地说明不应使用互联网,我们看到它无法确定地回答这个问题:
此外,模型无法轻松访问公司特定信息,例如内部准则或当前技术文档。
这正是抹布和微调发挥作用的地方。
两种方法都可以使LLM适应特定要求:
具有检索增强发电(RAG)的LLM保持不变。
但是,它可以获得对外部知识源的访问权限,因此可以检索未存储在其模型参数中的信息。 RAG通过使用外部数据源来提供最新或特定信息,从而在推理阶段扩展了模型。推论阶段是模型生成答案的时刻。
这使该模型可以保持最新状态而无需重新培训。
它如何工作?
关键是LLM本身保持不变,LLM的内部权重保持不变。
假设一家公司使用内部AI驱动支持聊天机器人。
聊天机器人可以帮助员工回答有关公司政策,处理或人力资源主题的问题。如果您要问一个有关您公司的问题(例如,我剩下多少个假期?),该模型在逻辑上不会给您一个有意义的答案。没有抹布的经典LLM对公司一无所知 - 它从未接受过这些数据的培训。
随着抹布的变化:聊天机器人可以搜索当前公司策略的外部数据库中最相关的文档(例如PDF文件,Wiki页面或内部常见问题解答),并提供具体的答案。
抹布的工作原理与人类在图书馆或Google搜索中查找特定信息时的工作类似 - 但实时。
当被问及Crud含义的学生很快查找了Wikipedia文章,答案创建,阅读,更新和删除 - 就像RAG模型检索相关文档一样。这个过程允许人类和人工智能在不记住所有内容的情况下提供明智的答案。
这使RAG成为保持响应准确和最新的强大工具。
LLM也可以通过微调直接通过新知识来直接更新外部信息。
在训练阶段使用微调来为模型提供其他特定领域的知识。现有的基本模型进一步培训了特定的新数据。结果,它“学习”了特定的内容并内化了技术术语,样式或某些内容,但保留了对语言的一般理解。
这使您可以微调将LLM自定义为特定需求,数据或任务的有效工具。
这是如何运作的?
现在,我们假设我们想使用一个LLM,为我们提供有关法律问题的专家答案。
为此,此LLM经过法律文本的培训,以便在微调后可以提供精确的答案。例如,它学习复杂的术语,例如“故意侵权”,并可以在相关国家的背景下命名适当的法律依据。它不仅可以给出一般的定义,还可以引用相关法律和先例。
这意味着您不再只拥有像GPT-4O这样的一般LLM,而是可以使用法律决策的有用工具。
如果我们再次查看与人类的类比,那么微型学习阶段后具有内在知识相当。
在学习阶段之后,计算机科学专业的学生知道,CRUD一词代表创建,阅读,更新,删除。他或她可以解释这个概念,而无需查找。一般词汇已扩大。
这种内在化可以产生更快,更自信的响应,就像一个微调的LLM一样。
两种方法都提高了LLM的特定任务的性能。
两种方法都需要精心准备的数据才能有效工作。
两种方法都有助于减少幻觉 - 虚假或捏造信息的产生。
但是,如果我们查看下表,我们可以看到这两种方法之间的差异:
抹布特别灵活,因为该模型始终可以访问最新数据,而无需重新培训。它需要提前减少计算工作,但是在回答问题(推理)的同时需要更多的资源。延迟也可能更高。
另一方面,微调提供了更快的推理时间,因为知识直接存储在模型权重中,并且不需要外部搜索。主要缺点是培训是耗时且昂贵的,需要大量的高质量培训数据。
RAG为模型提供了工具,可以在需要时在不更改模型本身的情况下查找知识,而微型调整将使用调整后的参数和权重的模型中存储其他知识。
Langchain是建立检索增强一代(RAG)管道的流行框架。该框架有助于LLM调用与检索系统的链接,并可以以目标方式从外部来源检索信息。
1。查询嵌入
在第一步中,使用嵌入模型将用户请求转换为向量。例如,这样做是通过OpenAI或All-Minilm-L6-V2的Text-ebbedding-ada-002完成的。
这是必要的,因为矢量数据库不会搜索常规文本,而是计算数值表示(嵌入)之间的语义相似性。通过将用户查询转换为向量,系统不仅可以搜索完全匹配的术语,还可以识别内容相似的概念。
2。在矢量数据库中搜索
然后将结果查询向量与向量数据库进行比较。目的是找到最相关的信息来回答这个问题。
使用大约最近的邻居(ANN)算法进行此相似性搜索。众所周知的此任务的开源工具是,例如,在大型数据集中进行高性能相似性搜索或中等大小的检索任务中的高性能相似性搜索。
3。插入LLM上下文
在第三步中,将检索的文档或文本部分集成到了提示中,以便LLM根据此信息生成其响应。
4。回应产生
LLM现在将收到的信息与其通用语言词汇结合在一起,并产生特定于上下文的响应。
Langchain的替代方案是拥抱面孔变压器库,该图书馆提供了特殊开发的抹布类:
虽然带有抹布的LLM使用外部信息进行查询,但通过微调,我们更改了模型权重,以使模型永久存储新知识。
1。准备培训数据
微调需要高质量的数据收集。该集合包括输入和所需的模型响应。例如,对于聊天机器人,这些可以是提问的对。对于医学模型,这可能是临床报告或诊断数据。对于法律AI,这些可能是法律文本和判断。
让我们看一个示例:如果我们查看OpenAI的文档,我们会发现这些模型在微调过程中使用带有角色(系统,用户,助手)的标准化聊天格式。这些问题解答对的数据格式是JSONL,例如,看起来像这样:
{“消息”:[{“角色”:“系统”,“ content”:“ du bist ein medizinischer助手。 Gelenkschmerzen。“}]}}
其他模型使用其他数据格式,例如CSV,JSON或PYTORCH数据集。
2。基本模型的选择
我们可以使用预训练的LLM作为起点。这些可以通过OpenAI API或开源模型,例如DeepSeek,Llame,Mistral,Mistral或Falcon或T5或Flan-T5,用于NLP任务。
3。模型的培训
微调需要大量的计算能力,因为该模型经过了新数据的培训以更新其权重。特别是大型型号,例如GPT-4或Llama 65B,需要强大的GPU或TPU。
为了减少计算工作,有一些优化的方法,例如LORA(低级适应性),其中仅训练了少数其他参数,或使用Qlora(量化的LORA),其中使用了量化的模型权重(例如4位)。
4。模型部署和使用
训练模型后,我们可以在本地或云平台上部署它,例如拥抱面部模型中心,AWS或Azure。
抹布和微调具有不同的优势和缺点,因此适合不同的用例:
当内容动态或频繁更新时,抹布特别适合。
例如,在FAQ聊天机器人中需要从不断扩展的知识数据库中检索信息。定期更新的技术文档也可以使用抹布有效地集成 - 无需不断重新训练模型。
另一点是资源:如果有限的计算能力或较小的预算可用,则不需要复杂的培训过程,抹布就更有意义。
另一方面,当需要针对特定公司或行业量身定制模型时,微调是合适的。
可以通过有针对性的培训来改善响应质量和样式。例如,LLM可以使用精确的术语生成医疗报告。
基本规则是:当知识过于广泛或太动态而无法完全集成到模型中时,使用抹布,而在需要一致的,特定于任务的行为时进行微调是更好的选择。
如果我们结合了两者怎么办?
这就是检索增强微调(RAFT)的情况。
该模型首先通过微调来丰富域特异性知识,以便理解正确的术语和结构。然后将模型与抹布一起扩展,以便它可以从外部数据源集成特定和最新信息。这种组合确保了深厚的专业知识和实时适应性。
公司使用两种方法的优点。
这两种方法(rag和微调)都以不同的方式扩展了基本LLM的功能。
微调专门针对特定领域的模型,而RAG则将其与外部知识相当。这两种方法不是相互排斥的,并且可以在混合方法中合并。查看计算成本,微调是资源密集的前期,但在操作过程中有效,而抹布需要更少的初始资源,但在使用过程中会消耗更多的资源。
当知识太大或动态而无法直接集成到模型中时,抹布是理想的选择。当需要对特定任务的稳定性和一致的优化时,微调是更好的选择。两种方法都具有明显但互补的目的,使其成为AI应用程序中的宝贵工具。
在我的替代品上,我定期写有关技术,Python,数据科学,机器学习和AI领域发表文章的摘要。如果您有兴趣,请查看或订阅。
以上是如何通过抹布和微调使LLM更准确的详细内容。更多信息请关注PHP中文网其他相关文章!