(原标题:结合两篇访谈聊聊企业LLM应用的现状与亚马逊AWS的解决方案)
$亚马逊(AMZN)$ @Ricky
近日学习了亚马逊AWS中高层(包括AWS CEO与Bedrock负责人)的两段访谈,结合本人的一些理解在这里为大家做一个梳理和总结。本文分成以下几个部分:
1.管理层对AWS的AI战略的看法
2.企业在应用LLM时面临的三大问题及亚马逊的解答
3.实操中企业具体部署LLM的可选方案与优劣势
4.亚马逊Bedrock提供的价值
总体来说本文是一篇低技术向的科普性读物,适合任何人了解AWS作为最大的云计算厂商看到的企业LLM落地方案与优缺点的反馈。
首先第一部分是AWS对AI的中长期看法:
AI的核心地位:AI不仅是基础性技术,而且几乎每一个应用程序,无论是在职业还是个人生活中,都将受到AI的深远影响。许多应用将被AI彻底颠覆并重新定义。
AI发展的未知:目前行业竞争只是在长跑中迈出了第一步。更为关键的是了解比赛的全貌:比赛的路线如何、观众和参与者是谁、终点在何处。
AI与云计算之间的关系是密不可分的:为AI制定有效策略,首先需要一个稳固的数据策略。而现代数据策略主要基于云技术,尤其是AWS。
AI的成本问题:生成型AI的投入较大。要使其在经济层面可行,云技术是不可或缺的。大部分公司都寄希望于AWS这类公司能够通过创新降低成本。
以及AWS目前在生成式AI/大模型方面的策略:
硬件方面:除了与Nvidia等外部公司合作外,AWS还自行设计和生产AI和机器学习专用芯片。
业务合作:AWS与众多初创及成熟公司展开合作,向AWS客户提供AI解决方案,助其提升业务效能。
团队构建:组建专门的团队来研发特定的产品和服务,例如Amazon Bedrock、Titan模型和CodeWhisperer等。
第二部分,针对企业用户在LLM的需求,AWS认为目前有三个关键问题,AWS也有相应的解决方案:
第三部分将详细介绍AWS目前看到的企业在LLM的可选项,相应的流水线以及不同选项的优缺点。
首先总体来说,与过去相比,目前AI的应用趋势是使用大型的预训练模型来解决各种任务,而不是为每个任务创建一个特定模型。这种方法利用了大量的未标记数据,减少了人工标注的需求,降低了开发成本,并使得AI应用更为广泛和灵活。
比如亚马逊Bedrock从7月27日开始支持一些主流第三方模型,比如Anthropic的Claude 2, Stability AI的Stable Diffusion XL1.0和Cohere的两个基础模型。这为客户提供了一个优质起点,客户可以直接使用或针对特定需求进行调整。
AWS总结目前LLM落地具体的管线与问题:
A. 围绕Prompt工程为基础开展的检索增强生成(Retrival Augmented Generation)与AI Agent工作
在不调整模型参数的情况下,用户使用prompt直接与大型语言模型交互。这种直接交互方式,称为零样本学习,它允许模型根据提供的文档或问题返回答案。而上下文学习或少样本学习允许用户给出示例,以更精确地指导模型的反应。例如,Anthropic的模型允许长达100,000个Token的上下文,使用户在无需调整模型权重的情况下得到更精确的答案。
source:腾讯云
“检索增强生成”(RAG)
允许大型语言模型通过访问公司档案和数据来回答特定问题。企业先将知识库中的文档划分为可管理的文档块,然后用嵌入模型(Embedded Model)转化为数学表示,再存入向量数据库如Pinecone或Weaviate。当有查询时,查询会先被转化为一个嵌入Embedding,并与数据库中的嵌入Embedding进行匹配,从而找到相关的文档块作为上下文。大型语言模型再根据这个上下文生成答案。这种方法超越了传统的关键词搜索,提供了类似人类的、精确的回答,改变了我们对语义搜索的定义。尽管嵌入模型没有像基础模型那样的公众热度,但其在语义搜索和其他领域的应用表明了其巨大的潜力。
嵌入模型和向量数据库配合使用来回答特定问题在实际操作中有很多好处比如:
始终使用最新和最佳的模型:仅通过模型上下文进行操作意味着可以始终使用最新的基础模型,从而确保客户能够受益于最新的技术和研究。
降低成本和复杂性:不进行微调可以避免额外的训练成本,并减少需要维护的模型版本。
然而,即使上述流水线看起来很简单,AWS发现实际企业客户应用起来有很多困扰。
首先,公司仍在努力确定应该使用哪些模型、哪些供应商,他们还需要决定是在内部构建这些应用,还是寻找现成的解决方案
其次,许多公司(尤其是非科技企业)并不一定想要深入思考向量数据库等技术细节,他们希望的是:“这是我的文档,我需要问题的解答。”他们并不想处理整个工作流程中的所有细节。
source: Star-History
使用工具/AI Agent
Agent工具的核心工作流程涉及为大型语言模型设置“Agent”,这个Agent被赋予一系列资源,如不同的API集合。这些资源被定义,包括它们的功能、参数及其英文描述等。用户查询会触发模型来判断使用哪些API和数据源。此后,模型根据需要可能多次查询数据库,收集并分析信息,最后生成一个决策或答案。这是一个递归过程,模型会根据收到的信息不断思考并可能再次查询。
好处就包括:
灵活性:Agent可以动态地理解广泛的目标,并创建并解决任务,实时提供有助于模型思考的提示。
融合工具:结合如网络搜索等工具,可以为用户带来许多有趣的可能性。
AWS得到的企业用户反馈挑战也有不少:
上下文长度:即时学习需要模型的能力需要达到处理长上下文,例如基于GPT4的autoGPT
计算成本:使用更好的模型和更长的上下文通常意味着更高的托管和推理成本。对于一些客户,大模型的即时学习(比如提示工程)可能过于昂贵。相比之下,针对特定用例的微调或使用较小模型的微调可能更为经济。
客户需求差异:不同客户的需求和用例差异较大,因此很难确定哪种方法对每个客户都是最合适的。比如有些客户对响应速度(推理速度要求很高)。不进行微调可能意味着模型可能不完全适应特定的应用或业务场景。
B. 定制化模型的方案
有多种定制方式,包括微调、持续的预训练以及通过人类反馈进行增强学习等。使用少量标记数据进行微调,即可适应公司特定的用例。微调不仅可以是全面的,还可以采用像“参数高效微调PEFT”和“低秩适应LoRA”这样的方法。
微调的好处就是可以更适应特定的应用场景,许多情况下,如果不微调基础模型的参数,光靠上下文工程很难适应一些非常垂直的应用。另外相比上下文工程定制企业需求,微调模型可能有成本和响应速度的优势。
不过,AWS也注意到微调作为一种方案所面临的一些现实困难:
选择合适的模型:公司在微调多个模型时,必须决定哪些微调模型最适合部署到生产环境。这涉及到复杂的A/B测试和决策流程。
模型版本的不一致性:当微调核心模型时,创建的是该模型的特定版本。如果核心模型进行了更新,这些定制模型不会自动受益于这些更新。
更新问题:当出现新的模型版本时,客户可能需要重新微调他们的模型,这涉及使用新数据或之前使用过的数据。
流程复杂性:为了保持与核心模型的同步,可能需要引入复杂的流程和流水线,使得重新微调和部署变得自动化。
C. 不同方案的共同挑战
AWS也看到从整体LLM落地应用上的共同问题:
适应现有MLOps工具:尽管围绕MLOps的生态系统已经很完善,但在生成性AI或基础模型领域,这套生态系统需要进行适应和微调。
非结构化方式的挑战:与过去处理系统的结构化方式相比,生成性AI是基于提示进行的非结构化方式。这种方式虽然强大,但也带来了不少困难,尤其是涉及到人类的主观判断。例如,在评估摘要的效果时,不同的人可能会有不同的看法。这种主观性使得模型的效果评估变得复杂。
幻觉问题:大型语言模型可能会编造答案,导致产生不准确的结果。在某些重要场景中,如法律咨询,这可能导致严重后果。
与此相关的问题是答案的准确性与创新之间的平衡:坚持为模型提供上下文或“引导”是一个方法来减少不准确答案的产生。但过度依赖“引导”可能导致模型输出与纯粹的搜索结果无异,减少了模型的创新性。如何在保证答案准确性的同时还保留一些模型的创新空间是一个挑战。
4. 模型的发展和不确定性:生成性AI领域仍然是一个快速发展的领域,关于这个领域的科学状态和最佳实践在未来可能还会发生变化。
source: youtube
第四部分,在明白了目前LLM应用的主要方式与具体的实际问题后,我们可以看看Amazon目前仍在测试中的Bedrock产品提供的解决方案:
简化开发者体验:
Bedrock为开发者提供了一种简便的方法来构建基于生成性AI的应用,而无需涉及机器学习的复杂细节或底层基础架构。
模型的选择:
模型合作伙伴:Bedrock不仅提供了自家的基础模型集“Titan”,还与多家初创公司合作,如Anthropic、AI21和Stability AI,为用户提供多样化的模型选择。
灵活性:这种合作方法允许客户根据自己的需求选择最适合的模型,而不仅限于使用单一供应商的模型。
用户可以轻松选择、交换或定制模型,并只需根据使用的Token数量支付费用。
模型的精调:
使用Bedrock进行模型定制的过程很简单,只需要指向存储在Amazon S3存储桶中的数据,其他的工作,如训练和定制,都会在后台自动完成。
流程管道:可以引入流程管道,当有新的模型版本时,客户可以快速重新微调,并使用最新的数据。
成本效益:
亚马逊在AI芯片(如Trainium和Inferentia)上的投资为客户带来了显著的价格性能优势。
Bedrock的目标是利用这些成本优势为客户节省费用,尤其是在大规模部署生成性AI应用时。
定制化与安全性:
数据安全策略:Bedrock默认不参与任何数据收集活动,确保客户数据不会被用于模型的广泛改进。
私有模型副本:当客户定制模型时,Bedrock为其创建一个基础模型的私有副本,所有与该模型相关的数据都归客户所有。
数据隔离与安全框架:Bedrock确保客户数据的独立性,并支持多个安全框架,以保护数据不被泄露。
工具集成与发展:
Bedrock与Amazon SageMaker实验集成,帮助客户进行模型版本控制和MLOps等活动。
Bedrock正在研究新工具,如RAG,用于创建更先进的应用,如AI Agent。
持续的更新与迭代:Bedrock尽管目前仍在预览阶段,正在快速进行迭代,以更好地满足客户的需要,特别是与合规性和认证有关的内容。
综合不同AWS管理层的发言,我们可以明确看到AWS希望作为一个中立的基础设施平台,满足客户当前的实际痛点,并为客户的LLM落地需求提供服务。但考虑到目前OpenAI与Azure的紧密结合,尽管AWS作为基础设施支持部署许多其他闭源和开源模型,长期来看,行业和资本市场仍会密切关注其与Azure的竞争问题。
附:
AWS CEO Adam Selipsky访谈
Link:网页链接
【腾讯文档】Theres no AI without the cloud, says AWS CEO Adam Selipsky
网页链接
AWS Bedrock General Manager Atul Deo 访谈
Link:网页链接
中文翻译:
【腾讯文档】The Enterprise LLM Landscape with Atul Deo
网页链接
其他相关:
LoRA: 网页链接
PEFT: 网页链接
Amazon Bedrock: 网页链接
Amazon Sagemaker: 网页链接