关注公众号“ONE生产力”,获取更多生产力资讯!
之前的文章我们介绍了微软的 GraphRAG(Graph Retrieval Augmented Generation,图检索增强生成)技术,它结合了知识图谱的精准性和大型语言模型的生成能力,从海量信息中挖掘有价值的见解至关重要,为我们提供了一种全新的方式来解锁非结构化数据的潜力。
但我们按照官方示例试用发现,虽然效果很好,但是价格实在贵得飞起,200页的小说花了11美元,传统RAG矢量化的成本不会超过0.01美元。那为什么GraphRAG如此昂贵呢?今天我们将深入探讨 GraphRAG 的成本构成,分析关键因素,并提供一些优化成本的实用建议。
GraphRAG的主要成本
1、构建图表:包括节点(关键实体)和边(实体间关系)的创建,这是成本的主要来源,包括:
- 计算资源成本: GraphRAG依赖于强大的计算资源,这些资源包括CPU、GPU以及内存使用。这些计算资源的成本会随着数据集的大小、模型的复杂度和查询频率的增加而增加。对于需要处理大量数据或提供快速响应的场景,计算成本将是一个重要的开支。
- 存储成本: GraphRAG使用知识图谱来提供背景知识,知识图谱的存储可能需要大量的存储空间。随着知识图谱规模的增长,存储成本也会随之增加。Azure中不同类型的存储服务(例如Blob存储、Cosmos DB等)会根据使用情况产生不同的费用。
- 数据传输成本: 在分布式系统中,GraphRAG的数据传输可能会涉及多个地理位置的通信,这会产生数据传输费用。对于跨地域的数据传输,尤其是在大规模系统中,这部分成本不可忽视。
- API调用成本: GraphRAG可能需要频繁调用API,这些调用的成本取决于API的复杂度和调用频率。例如,使用Azure Cognitive Services或其他第三方API服务时,每个请求都会产生费用。
在官方示例中,GraphRAG发起了449次API Request去调用GPT-4。相比之下,传统RAG嵌入模型才19次。
2、托管和推理成本:这部分GraphRAG和传统RAG相似,取决于应用场景。
影响成本的因素
- 数据规模: 数据量越大,存储和索引的成本就越高。
- 查询复杂度: 复杂的查询需要更多的计算资源,从而增加成本。
- 模型选择: 更强大的模型通常会产生更高的成本,但也能提供更准确的结果。
- 请求频率: 频繁的请求会导致更高的成本。
成本估算步骤
- 代币消耗:使用GraphRAG解决方案加速器处理文档,测量消耗的令牌总数。
- 模型成本计算:根据不同模型(如GPT-4-Turbo、GPT-4o、GPT-4o mini)计算提示和完成令牌的成本。
- 查询图表的Token消耗:包括本地搜索和全局搜索的成本。
- 查询成本计算:基于查询类型(本地或全局)计算成本。
成本优化建议
- 优化计算资源使用: 通过选择合适的计算实例类型,调整资源分配,以及使用自动缩放技术,可以有效降低计算成本。此外,可以通过使用Azure的Spot Instances来利用闲置的计算资源,从而降低费用。
- 有效管理存储空间: 为知识图谱选择合适的存储解决方案,并定期清理或归档不常使用的数据。Azure提供了多种存储层次,可以根据访问频率选择不同的存储层,以降低存储成本。
- 减少数据传输量: 尽量减少跨地域的数据传输,并优化数据压缩和缓存策略,减少不必要的数据传输。同时,可以利用Azure的内容分发网络(CDN)来加速数据传输,减少延迟和成本。
- 控制API调用频率: 通过优化算法,减少不必要的API调用,或批量处理请求来降低调用成本。同时,可以评估不同API服务的性价比,选择最具成本效益的解决方案。
价值才是最重要的
虽然成本是一个关键因素,但根据系统提供的价值对其进行评估也是必不可少的。考虑一下一个人阅读数千页企业文档并熟悉组织流程和程序所需的时间。现在,这种深度知识水平可以在几秒钟内提供给整个组织。传统上,构建图表是一项昂贵的工作,通常对许多组织来说是不可行的。与手动设计和构建图表相比,GraphRAG 可显著降低成本,使组织能够从之前被锁定的数据中实现价值。
结语
理解和优化GraphRAG的成本结构对企业的预算管理至关重要。通过合理分配资源、优化使用策略以及选择合适的工具和服务,可以在实现业务目标的同时,最大限度地降低费用。在快速发展的AI技术背景下,持续关注和调整成本策略,将有助于企业在竞争中保持优势。