category
大型语言模型(LLM)将彻底改变我们构建和维护人工智能系统和产品的方式。在OpenAI的GPT、Meta的Llama和谷歌的BERT等LLM发布后,它们能够生成类似人类的文本、理解上下文并执行广泛的自然语言处理(NLP)任务。一种被称为“LLMOps”的新方法已经发展起来,并成为每个AI/ML社区的话题,以简化我们在生产中开发、部署和维护LLM的方式。
什么是LLMOps?
LLMOps代表大型语言模型操作,字面意思是“LLM的MLOps”,这意味着它是MLOps的一个子类别,专注于新的工具集、架构原则和最佳实践,以操作基于LLM的应用程序的生命周期。
以下是LLMOps的关键方面,展示了它们在成功实现基于LLM的应用程序中的重要性。
- 数据管理:摄入、清洁、贴标签、储存。
- 模型开发:选择基础模型,微调,评估。
- 模型部署:监控、维护、优化。
- 安全和隐私:护栏、访问控制、加密、合规、保密。
- 道德和公平:解决偏见,负责任,透明。
MLOps与LLMOps🥊
MLOps和LLMOps有很多相似之处,然而,它们之间的差异是基于我们使用经典ML模型与LLM构建人工智能产品的方式。
https://media.giphy.com/media/N9oq9rijUWT3q/giphy-downsized-large.gif
1) 数据管理
在MLOps中,数据预处理是ML模型开发过程中最关键的一步,因为它会影响模型的质量和性能。从头开始训练神经网络通常需要大量的标记数据,然而,微调预先训练的模型所需的数据量相对较少。
在LLMOps中,数据质量和多样性对于有效的大型语言模型非常重要。然而,微调预先训练的模型与MLOps非常相似。此外,即时工程引入了零样本和少热点学习等新技术,包括使用谨慎手工挑选的样本和精确策划的数据,而不是大量潜在的不规则数据,最终提高了模型完成特定任务的能力。
2) 模型实验
在MLOps中,开发过程包括运行许多实验,并将其结果与其他实验进行比较,以及开发性能最佳的配置,其中包括跟踪输入,如代码、训练和验证数据、模型架构和超参数,以及输出,如评估指标和模型权重。
在LLMOps中,由于LLM能够从原始数据中有效学习,因此特征工程的重要性变得不那么重要。微调与MLOps有着相似的路径,但它旨在使用特定领域的数据集提高模型在特定任务上的性能。即时工程在LLM中也越来越受欢迎,LLM对输入进行调整,使输出以更少的精力和资源与预期相匹配。
3) 模型评估
在MLOps中,根据问题类型(分类、回归等)和其他技术,如交叉验证、学习曲线、基线模型比较、交叉验证、超参数调整和混淆矩阵,通过评估其在保留验证集上执行的能力来评估模型性能,评估指标包括准确性、精确度、召回率、F1分数或均方误差(MSE)。
在LLMOps中,使用ROUGE、BERT和BLEU分数等内在指标来评估模型性能,这些指标侧重于测量响应与提供的参考答案的相似性。人工评估涉及专家或众包员工在特定背景下评估LLM的产出或绩效。特定于任务的基准,如GLUE或SuperGLUE,使用一组预定义的任务来评估LLM,每个任务都有完善的指标。
4) 成本
在MLOps中,成本因素包括与数据收集和准备、实验计算资源、特征工程和超参数调整相关的费用。
而在LLMOps中,主要的成本因素是生产中的模型推理,这需要昂贵的基于GPU的计算实例才能获得更好的性能,而像OpenAI的GPT-3.5和GPT-4模型这样的闭源适当LLM的使用也会导致API服务成本。
5) 延迟
在MLOps中,由于计算复杂性、模型大小、硬件限制、数据预处理开销、网络延迟、并发用户需求和软件相关的低效率等因素,可能会出现延迟问题。它可能会阻碍依赖及时预测的应用程序的实时或接近实时的性能,影响自治系统、实时决策和快速响应至关重要的场景中的用户体验等领域。
在LLMOps中,由于LLM的巨大规模和复杂性,加上文本理解和生成所需的大量计算,延迟问题更加突出,这可能会导致大量的处理时间,影响使用这些模型的应用程序的响应能力。此类延迟问题可能会影响实时交互、聊天机器人、内容生成和其他与语言相关的任务,在这些任务中,快速无缝的语言理解和生成对于获得满意的用户体验至关重要。
简而言之
LLMOps是MLOps的一个特殊用例,预计它将继续以新的维度发展,并以巨大的速度增长。在某种程度上,LLMOps可以被视为MLOps关键方面的重大偏差,包括训练、部署和维护,这就是为什么它需要一种不同的理解方法和话语。
References
[1] Chip Huyen, Building LLM applications for production (2023), Chip Huyen’s Blog
[2] Cyces Innovation Labs, The A to Z of LLMOps: Breakdown for beginners (2023), Cyces’ Blog
[3] Hakan Tekgul, A Developer’s Guide To LLMOps: MLOps for Operationalizing LLMs (2023), Arize AI’s Blog
[4] Leonie, Understanding LLMOps: Large Language Model Operations (2023), Weights & Biases
[5] Tim Leers, From MLOps to LLMOps — what’s the difference? (2023), Dataroots
[6] Vinija Jain, LLMOps (2023), Vinija Jain’s Blog
- 登录 发表评论