比较是如何进行的?分析是基于以下指标进行的:
- 准确性(回答的准确程度如何?)
- 实施复杂性(实施过程有多复杂?)
- 工作量(需要多少努力来实现?)
- 总拥有成本(TCO)(拥有解决方案的总成本是多少?)
- 更新和更改的便利性(架构是否耦合度低?替换
/
{/}
/升级组件是否容易?)
假设:我们将根据这些指标对每种解决方案进行评估,并且分析仅适用于比较,而不是普遍适用。例如:如果针对某个指标,提示工程被评为低分,意味着它在该指标上的表现低于其他选项,并不一定意味着它在该指标上普遍表现差。
首先让我们来谈谈最受关注的问题:哪种方法提供了最准确的回答?
- 提示工程(Prompt Engineering)的核心是在提供尽可能多的上下文信息的同时,通过提供少量示例(few-shot learning)来更好地让大模型了解您的用例。虽然结果在孤立情况下看起来令人印象深刻,但与本文中讨论的其他方法相比,它产生的结果最不准确。
- 检索增强生成(Retrieval Augmented Generation,RAG)的高质量结果是由于直接来自向量化信息存储的增强用例特定上下文。与 提示工程相比,它产生了大幅改善的结果,并且极低几率出现幻觉。
- 微调(Fine-tuning)在准确性方面提供了相当高的结果,其输出质量与 RAG 相媲美。由于我们正在使用特定领域的数据更新模型权重,因此该模型能够产生更具上下文的回复。与 RAG 相比,质量可能会稍微好一些,这取决于使用情况。因此,评估是否真的值得花时间在两者之间进行权衡分析非常重要。通常选择微调的原因不仅仅是准确性,还包括数据变化频率、控制模型工件以符合监管、合规和可复现性等方面的考虑。
- 从头开始训练可以产生最高质量的结果。由于模型是根据特定用例的数据进行训练,幻觉的可能性几乎为零,并且输出的准确性也是很高的。
实施复杂性。让我们看看实施这些方法有多容易或困难。
- 提示工程(Prompt Engineering)的实施复杂度相对较低,因为它几乎不需要编程。需要具备良好的英语(或其他人类解释)语言技能和领域专业知识,以制定一个带有上下文学习方法和少样本学习方法的良好提示。
- 检索增强生成(Retrieval Augmented Generation,RAG) 比提示工程更复杂,因为你需要具备编码和架构技能来实现这个解决方案。根据在 RAG 架构中选择的工具不同,复杂度可能会更高。
- 微调(Fine-tuning)的复杂性甚至比提示工程和 RAG 还要高,因为模型的权重
/
{/}
/参数是通过调整脚本进行更改的,这需要数据科学和机器学习专业知识。
- 从头开始训练具有最高的实施复杂性,因为它需要大量的数据整理和处理,并且需要深入的数据科学和机器学习专业知识来训练一个相当大的 Foundation Model。
努力,让我们了解每个解决方案需要多少努力。请注意,实施复杂性和付出的努力并不总是成正比。
- 提示工程(Prompt Engineering)需要大量的反复努力才能做到完美。大语言模型对提示的用词比较敏感,有时候改变一个词甚至动词都会导致完全不同的回应。因此,为了让相应的大语言模型输出期望的结果,需要进行多次迭代才能做到准确无误。
- 检索增强生成(Retrieval Augmented Generation,RAG) 还需要适度的努力,比提示工程稍微高一些,因为涉及到创建 Embeddings 和设置向量存储的任务。
- 微调(Fine-tuning)是一项比提示工程和 RAG 更费力的任务。虽然 Fine-tuning 可以使用很少的数据进行(在某些情况下甚至只需 30 个或更少的示例),但是设置 Fine-tuning 并正确获取可调参数值需要时间。
- 从头开始训练是所有方法中最费力的。它需要大量的迭代开发,以获得具有正确技术和业务结果的最佳模型。该过程始于收集和整理数据,设计模型架构,并尝试不同的建模方法,以找到适用于特定用例的最佳模型。这个过程可能非常漫长(几周到几个月),并且需要大量的计算资源。
总拥有成本(TCO),接下来是关于 TCO 的比较。
请注意,我们不仅仅谈论的是服务
/
{/}
/组件的费用,而是完全拥有解决方案所需的成本,包括构建和维护解决方案所花费的熟练工程师时间、自行维护基础设施的成本、为执行补丁和更新而进行停机时间、设置支持渠道、招聘、提升技能以及其他杂项费用。
- 提示工程(Prompt Engineering) 的成本可以非常低,因为您只需要维护提示工程模板,并在大模型版本更改或完全新的大模型出现时及时更新它们。除此之外,还会有一些通常与托管大模型或通过无服务器 API 使用它相关的费用。
- 检索增强生成(Retrieval Augmented Generation,RAG) 的成本会比提示工程高一些,这是因为架构中涉及到多个组件。这将取决于使用的 Embedding 模型、向量存储和大模型。因此,它与提示工程相比成本更高,因为您需要支付三个不同的组件而不只是一个大模型。
- 微调(Fine-tuning)的成本将高于 RAG 和提示工程,因为您正在调整一个需要强大计算能力、深度机器学习技能和对模型架构的理解的模型。特别是,由于每次基础模型版本更新或新批次数据进来时都需要进行调优,维护这样的解决方案的成本较高,并携带有关用例最新信息。
- 从头开始训练的总体成本最高,因为团队需要负责整个数据处理和机器学习训练、调优和部署过程。这将需要一群高技能的机器学习专业人员来完成。由于需要频繁重新训练模型以使其与使用案例周围的新信息保持更新,因此维护这样的解决方案的成本非常高。
灵活应对变化,让我们来看一下在更新和更改方面的选择。
- 提示工程(Prompt Engineering) 具有非常高的灵活性,因为您只需要根据大模型和用例的变化来更改提示模板即可。
- 检索增强生成(Retrieval Augmented Generation,RAG) 在架构变更方面具有最高的灵活性。您可以独立地改变 Embedding 模型、向量存储和 LLMs,对其他组件的影响很小到中等程度。它还具备在过程中添加更多组件(如复杂授权)而不影响其他组件的灵活性。
- 微调(Fine-tuning)对于变化的适应性较低,因为任何数据和输入的更改都需要进行另一轮微调,这可能会非常复杂且耗时。此外,将同一个经过微调的模型适应到不同用例中也需要付出很大努力,因为相同的模型权重
/
{/}
/参数在其他领域上可能表现不佳。
- 从头开始训练的灵活性最小。因为在这种情况下,模型是从头构建的,对模型进行更新会触发另一个重新训练周期。可以说,我们也可以对模型进行微调而不是从头重新训练,但准确性会有所变化。
三、总结
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网络安全面试题
绿盟护网行动
还有大家最喜欢的黑客技术
网络安全源码合集+工具包
所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!