2024 AI技术的变与不变

本文译自Winning in AI means mastering the new stack一文,讲解了我们应该如何快速掌握相关技术栈,以跟上AI技术的飞速发展。

  • 本文为一个系列,之前内容没有看过的小伙伴可以点击链接查看:LangChain课程合集

人工智能回顾与展望

人工智能(AI)的发展速度令人难以跟上。

  • 十年前,人们关注的是大数据和机器学习(ML)。深度学习成为一个新流行的概念。而"AI"一词,还被认为是描绘未来人类智能水平的幻想。当时,这项技术主要被大型技术公司用于广告优化、搜索引擎、社交媒体排名、购物推荐和网络滥用防范等关键领域。

  • 五年前,ML Ops 开始兴起,公司在特征工程和模型部署上下功夫。他们主要关注于数据标注、客户流失预测、内容推荐、图像归类、情感分析和自然语言处理等标准机器学习任务。

  • 大约在一年前,大型语言模型(LLMs)和基础模型彻底改变了我们对 AI 的期望值。企业纷纷开始投向聊天机器人、基于知识库的 RAG 技术、自动化客户支持和医疗记录工作。向前看到2024年甚至更远的未来,似乎智能代理和辅助系统正成为主角,解决 LLMs 的幻觉问题以及提升其在面向用户的产品中的可信度和实用性将成为焦点问题。至于在那之后,甚至是到了2030年,AI 将变得如何,显然无人能知。

然而,在这个快速创新的时代,几乎所有基于AI的解决方案几乎都依赖一些稳定的基础设施组件。

不变的东西...

尽管人工智能产品架构五花八门,但似乎所有的架构都依赖几个核心的基础组件,包括模型训练与托管、预训练的基础模型、向量数据库、模型管道与数据处理、标注、评价框架和 AI 应用托管等。

这些组件并非新鲜事物。比如,谷歌在广告服务中进行向量搜索,Meta十多年前就开始构建用于信息流排名的分布式神经网络训练系统。与此同时,亚马逊为购物推荐生成多模态嵌入,而微软为 Bing 引入了基于向量的搜索和排名机制。这些只是众多案例中的一部分。

市场上的其他公司面临的挑战是,这些 AI 技术堆栈远在大型科技公司的统治之下,仅有它们具备开发这些技术的规模和支撑它们发展的人才。其他公司则需要在自行努力打造和放弃之间做出艰难选择。像 Uber、Netflix、Yahoo、Salesforce 和 Pinterest 这样的公司,鉴于它们自身业务规模,它们对 AI 人才和技术的投资非常重视并具有前瞻性。

现在,公司不再需要对此纠结。他们可以选择使用 AI 基础设施服务。实际上,这些工具现已成熟易用且价格合理。但这还只是故事的一部分...

未来的挑战

在我们介绍新兴技术栈之前,先来看看 AI 应用将面临的当前和未来挑战。需要指出的是,AI应用存在一些独特的挑战,这些挑战是所有软件服务都需要面对的。以下挑战仅涉及与众不同的新问题。

多模态数据和模型很快将成为常态。当前以文本为基础的应用将引入图像和视频。原有服务将变得更加注重数据处理,并需在整个系统的各个接口上进行重新规划。

数据正变得越来越庞大和复杂。庞大的文本和多模态数据需要模型处理后,能够即时供AI应用存取。这类应用希望能通过数据的内在意义获取知识。但传统数据库面对这种应用场景往往束手无策。

硬件设施正经历变革。新兴的硬件加速器生态系统将开始纾解现今的计算短缺,但同时也带来新挑战,如如何优化使用日益增长和多变的加速器集合,如何保持工作的可移植性和性能优化。

应用程序开发越来越多地以 AI 为中心,与先进工具和 AI 功能紧密结合,这意味着传统的网页开发正变得越来越多地需要存储和计算资源。

模型训练也在发生转变。随着基础模型的出现,我们不再单一地从头开始开发模型。现在更多地需要对模型进行再训练和细微调整。虽然这大大降低了计算需求,但也带来了模型定制和组合的新挑战,这将增加我们模型评估能力的负担。

云计算中心正变得至关重要。因为处理数据重力和模型重力之间的权衡,需要新的云原生服务。这些服务要能够动态优化计算、存储和网络使用。另外,随着云端可移植性和云间互通功能变得越来越重要,这些通常只有主要的云服务提供者才能为整个 AI 技术栈提供云原生服务。

不言而喻,对于大多数公司来说,内部构建这些功能既不切实际也大多不必要。为了把握住这些新机会,企业需要学会如何使用合适的基础建设。这些基础建设不仅要满足现有需求,还要能迎接未来挑战。也就是说,它们应当具备灵活性、快速迭代和普遍适用性。

人工智能技术堆栈

**基础模型:**我们期待模型能够转换文稿或执行任务。转换通常意味着生成向量嵌入或者完成任务时生成的特征。任务包括文本与图像生成、标注、总结、转录等。培训这样的模型并在生产中高效运作既具挑战性又成本昂贵。AI21 Labs 等公司则提供业界领先的大型语言模型,专为嵌入和生成任务优化,并且还开发了针对具体商业挑战的高度专业化模型。这些模型不仅被托管,而且还在不断进行训练与改进。

**模型训练与部署:**AI的工作本质就是计算密集型的。因此,成功的AI团队要考虑如何扩展,他们需要规模化是因为模型更大、数据量更大,同时有越来越多的模型需要构建和部署。仅仅是为了支持像RAG这样的基础应用程序的嵌入计算,就可能需要数百个GPU运行数日。

规模化需求提出了软件工程上的一系列挑战,包括性能、成本和可靠性等,而这些都不能影响到开发的速度。Anyscale 正在开发 Ray,一个用于支持整个行业AI基础设施的开源项目,用以训练一些世界上最大的模型,如 GPT-4。

**向量数据库:**知识是AI的中心,而语义检索则是确保模型能够实时获取相关信息的关键手段。为了做到这一点,向量数据库已经变得成熟并专业,能够在几毫秒之内搜索数十亿的嵌入,同时保持成本效率。Pinecone 最近发布了其新构建的云原生无服务器向量数据库,它可以让企业无限扩展并以前所未有的速度构建高性能应用程序,如RAG。许多公司通过这种新产品将数据库开支降低了至多50倍。

**AI应用托管:**AI应用呈现出一些独特的新挑战,影响应用程序的渲染、交付和安全架构。首先,不同于传统网站的是,AI应用天然具有更高的动态性,这意味着传统的 CDN 缓存效率不够高,应用需要依赖服务器渲染和流传输才能满足用户对速度和定制化的需求。考虑到AI领域的快速演进,产品必须能够快速迭代,无论是新模型、提示、实验还是技术,而应用流量可能成倍增长,无服务器平台因此变得非常吸引人。在安全性方面,AI应用变成了机器人攻击的热门目标,他们试图窃取或拒绝 LLM 资源或爬取专有数据。Next.jsVercel 正在积极为 GenAI 公司投资基础设施产品,这些产品倡导快速、安全地将内容交付给最终用户。

**LLM开发者工具包:**为了构建LLM应用,需要集成上述全部组件以构建系统的"认知结构"。拥有像 LangChain 这样的LLM工具包能够帮助工程师更快速、高效地构建应用。这个工具包的重要组成部分包括:能够灵活创建自定义链条的能力、多样的集成选择以及一流的流支持------这些都是LLM应用的重要用户体验因素。

**LLM运维:**打造一个原型已经够棘手,而将其投入生产是另一个层面的难题。除了上文提到的托管应用程序,还需要解决一系列与应用程序可靠性相关的问题。常见的问题包括:测试和评估不同提示或模型的能力、追踪和调试系统中可能出现问题的单个调用、以及随着时间推进持续进行反馈监测。LangSmith ------由 LangChain团队打造,但与框架无关------提供了这些问题的一站式解决方案。

相关推荐
A尘埃几秒前
SpringBoot的数据访问
java·spring boot·后端
yang-23072 分钟前
端口冲突的解决方案以及SpringBoot自动检测可用端口demo
java·spring boot·后端
Marst Code7 分钟前
(Django)初步使用
后端·python·django
代码之光_198014 分钟前
SpringBoot校园资料分享平台:设计与实现
java·spring boot·后端
编程老船长26 分钟前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
IT果果日记1 小时前
DataX+Crontab实现多任务顺序定时同步
后端
姜学迁2 小时前
Rust-枚举
开发语言·后端·rust
爱学习的小健3 小时前
MQTT--Java整合EMQX
后端
北极小狐3 小时前
Java vs JavaScript:类型系统的艺术 - 从 Object 到 any,从静态到动态
后端
tangdou3690986553 小时前
两种方案手把手教你多种服务器使用tinyproxy搭建http代理
运维·后端·自动化运维