大模型来了,企业现有的AI模型工具和平台还可以复用吗?
原创 | 梁准在过去的几个月里,大型语言模型(LLM)领域的发展呈爆发式的增长,企业也开始快速引入大模型技术,尝试探索和发展基于人工智能最新成果的新型企业运营支撑能力。我们看到,企业IT部门经常思考的一个问题是:我们过去的工具、平台还适用吗?是否可以延用现有的系统?还是需要重新另起炉灶?
现有的NLP应用架构很多企业一直在进行NLP(自然语言处理)方向的人工智能技术与应用的探索和实践,在这个过程中,逐渐发展出自己的NLP 技术栈、建模平台(MLOps)和应用管道。
NLP 开发人员传统上使用的是针对特定任务定制的技术栈架构,比如文本分类、命名实体识别和命名实体消歧等自然语言处理任务,都会有独立运行的管道流。 这样的技术栈,通常由数据预处理管道、机器学习管道以及存储嵌入结构化数据的各种数据库组成。 这个技术栈架构可以输出结构化数据,包括三元组、单词嵌入、句子嵌入、序列到序列的输出、语言模型概率、注意力权重等等。 开发人员通常将这些结构化输出存储在 ElasticSearch、Postgres 或 Neo4J 等数据库中,构成用户或服务可以查询的知识图谱,进而实现文档分类和实体识别等关键流程的自动化应用。
传统的NLP应用模型开发,由于需要大量的标签数据和模型训练调优,往往导致开发周期长,各企业的数据处理模式和技术都是封闭的,使得大家都在制造“低水平的小轮子”上不断重复。新的大语言模型应用架构大语言模型的应用场景已从最初解决“文本生成”类任务,扩展到常规NLP应用,包括前文所提到的:文本分类、语义分析,以及命名实体识别这类数据清洗/数据治理类任务。支持大语言模型应用的架构模式也逐渐成熟,这个新的架构一般由四个部分组成,分别是:数据预处理管道、嵌入端点 + 向量存储、LLM 端点和 LLM 编程框架。与旧的架构比较,新架构存在两个重要变化:第一,新的技术栈已不依赖于结构化数据存储的知识图谱,像GPT-4,Claude和Flan T-5这样的LLM比早期的模型(如GPT 2)编码的信息都要大很多。其次,新的技术架构建议使用预训练大模型作为基础模型,而不是在企业自己的ML管道中重新开发并训练模型。这意味着开发人员可以基于具备强大泛化能力的通用模型,训练专门的信息提取模型(例如命名实体识别、关系提取和情感分析),实现在较短的时间内上线体验更好的NLP解决方案。
数据预处理管道是 LLM 新技术架构的第一部分。数据工程师通常需要为每个应用模型手动构建数据预处理管道,使用现成的 OCR 模型和自定义正则表达式来转换和清理自然语言数据。在这个领域可以利用一些开源工具加快这一预处理过程,比如使用计算机视觉文档分段模型、NLP 模型、Python 脚本来自动提取、清理和转换文档元素。嵌入端点和向量存储:以前Embeddings-嵌入仅用于文档聚类等长尾任务,但现在是大模型企业应用的重要技术手段。嵌入存储在向量数据库中的数据是以自然格式存储的,不需要转换为结构化格式。这种方法有助于处理大型数据集,减少了训练和推理需要处理的数据量。使用嵌入和向量存储的另一个好处是,它可以更轻松地实现迁移学习,从而实现更有效的微调和更好的性能。向量数据库是否是索引数据的唯一方式?现在,每个企业都在使用向量存储作为索引数据的主要方式。但是,从实践中,我们可以显著的发现,知识图谱与文档索引及其嵌入相结合,可以显著提高LLM的推理质量。此外,在可预见的未来,大多数企业仍将继续需要高质量的结构化数据,新的大模型应用也需要与遗留数据集和商业智能解决方案融合。这意味着,企业实际上可能需要同时依赖向量数据存储和其他数据库技术来支持现有的应用程序和工作流程。LLM端点:LLM 端点负责接收输入数据并生成模型输出,供下游应用程序调用。LLM 端点管理模型的资源,包括内存和计算,以确保它能够为LLM 输出提供可扩展的应用程序接口。实际的应用中,可以提供几种不同类型的端点,比如专门的“文本生成端点”。LLM 端点公开的接口相对简单,输入为文本字段,输出为文本字段。 端点接口提供了很好的隔离性,使开发人员无需了解底层的复杂性,可以轻松地将 LLM 输出集成到他们的应用程序中。LLM编程框架:LLM 编程框架是新技术堆栈的核心支柱,这些框架整合了一组工具和抽象程序包,用于支持使用大语言模型构建应用程序,包括 LLM 提供程序、嵌入模型、向量存储、文档加载器以及其他外部工具,这个部分应该是当前技术演进最快的部分,也是行业普遍关注的热点。A16Z在最新的研究报告中提出了对大语言模型编程框架的思考,分别基于上下文学习、词元嵌入、提示词构建、搜索推理等不同应用模式提出了一个统一的LLM编程框架,有兴趣的读者可以阅读这篇报告,链接见文末。
ThinkMachine的思考
从上面的分析我们可以看到,企业在传统的NLP领域积累的技术、平台和工具有一部分是可以复用的,但其中更多的部分需要在引入大模型技术时进行重构,以适应大模型技术场景的特定需求。可喜的是,社区中已经有很多的开源工具,可以支持企业搭建自己的大语言模型技术栈,企业用户可以充分利用这些开源工具,探索如何与其他AI系统、报表分析系统、业务系统进行协同联动,如何以大语言模型的自然语言能力作为企业应用的操作系统,以及如何利用“涌现”构建企业专有的智能助手应用。我们始终认为,从旧架构,向新架构的变化,带来的不应该是负担,而是进化出更强竞争优势的新机会。
参考资料:
1、Emerging Architectures for LLM Applications | Andreessen Horowitz (a16z.com)https://a16z.com/2023/06/20/emerging-architectures-for-llm-applications/
页:
[1]