在AI技术迅猛发展的今天,如何高效、安全地构建和部署AI应用成为了一个关键问题。本文深入浅出地介绍了WebAssembly技术的潜力及应用。文章不仅理论与实践并重,还对未来发展进行了前瞻性分析,为读者提供了全面的技术洞察。无论是技术开发者、架构师,还是对AI技术感兴趣的读者,本文都能提供宝贵的参考和启发。
随着人工智能(AI)技术的飞速发展,软件行业正从云原生时代逐步迈向AI原生时代。AI原生旨在将AI技术深度融入软件开发的每个环节,从数据处理、模型训练到推理部署。然而,在这一转变过程中,面临着一系列重大挑战。
• 高成本、高资源:AI应用的使用成本居高不下。无论是硬件投入、能源消耗还是 运维开支,AI模型的训练和推理都需要大量资源。
• 开发与部署复杂度高:AI原生应用的开发和部署复杂度远超传统应用。开发者不仅需要掌握软件开发技能,还需具备数据科学和机器学习的专业知识。
• 数据隐私和安全问题:数据隐私和安全问题日益突出。如何在保护敏感信息的同时实现高效的数据处理和模型训练,成为了一个棘手的难题。
• AI应用落地场景复杂:在国内,大量AI应用在实际落地过程中面临着一系列共性问题。主要包括:如何基于OpenAI的API协议统一对接不同大模型厂商的API?如何对大模型的输出进行敏感词过滤,确保内容安全?如何实现对API调用的有效监控,包括token使用统计和访问限流?如何优化提示词模版,以及如何实现大模型回答的历史缓存等等现实需求。
面对这些挑战,业界一直在寻求创新的解决方案。在此背景下,WebAssembly(简称:Wasm)作为一种轻量级、高性能、跨平台的技术,正逐渐引起人们的关注。虽然Wasm最初主要应用于浏览器环境,但其独特的特性使它有潜力解决AI原生时代面临的一些关键问题。
Wasm提供了出色的性能和细粒度的安全隔离,这对于处理AI工作负载和保护敏感数据至关重要。其跨平台特性可以简化AI应用的部署过程,而模块化和多语言支持的特点则有助于提高AI开发的灵活性和效率。虽然Wasm在AI领域的应用还处于探索阶段,但在解决当前AI问题,展现出了潜力。
本文将探讨Wasm技术如何在AI原生时代发挥作用,以及它如何应对AI应用开发和部署中的各种挑战。分析Wasm的特性并且如何与AI技术相结合,为AI原生时代带来新的可能性。
• 高效的隔离和安全性
传统的容器化技术虽然能够提供一定的隔离性,但Wasm通过其沙盒机制,实现了更为细粒度的安全隔离,减少了应用程序之间的相互影响和安全风险。Wasm模块在独立的沙盒环境中运行,即使某个模块被攻击,也不会影响到其他模块和主机系统的安全。
• 出色的性能
Wasm字节码已经接近原生代码的执行速度,这使得在高性能需求的场景下,Wasm成为了理想的选择。特别是在边缘计算和物联网设备等资源有限的环境中,Wasm的高效执行能力可以显著提升应用性能。此外,Wasm的快速启动时间也使其在短生命周期的任务中表现优异。
• 跨平台特性
Wasm的跨平台特性使得它能够在多种环境中运行。无论是在浏览器端还是在服务器端,Wasm都能够无缝地执行相同的代码。这种跨平台能力极大地简化了应用的开发和部署流程,减少了不同平台间的兼容性问题。开发者只需编写一次代码,即可在多种环境中运行,提升了开发效率和降低代码重用率。
• 模块化和可组合性
Wasm的模块化和可组合特性使得它在微服务架构中具有独特的优势。开发者可以使用不同的编程语言编写Wasm模块,并将这些模块组合成完整的应用程序。这种灵活性不仅提高了开发效率,还增强了应用的可维护性和可扩展性。通过Wasm,开发者可以轻松地实现复杂的业务逻辑,并根据需求进行模块的组合和重组。
• 与Kubernetes的集成
Kubernetes作为一个强大的容器编排平台,能够高效地管理和调度Wasm模块,使得Wasm可以在大规模分布式系统中高效运行。通过Kubernetes,开发者可以轻松地部署、扩展和管理Wasm应用,享受到自动化的运维和高可用性的保障。Kubernetes的服务发现、负载均衡和滚动升级等特性,使得Wasm应用在云环境中具有更高的弹性和可靠性。
• 云原生网关
Istio作为一个服务网格,为微服务通信提供了统一的管理和监控能力。将Wasm与Istio集成,可以实现更加精细的流量控制和安全策略。通过Istio的扩展机制,Wasm模块可以作为自定义策略和过滤器,在服务网格中灵活地应用。例如,可以使用Wasm模块实现复杂的请求处理逻辑、安全认证和数据转换等功能,从而增强服务网格的功能和灵活性。
左边是以容器、微服务、声明式API 构成的云原生应用架构,这是当下构建在线应用的主流架构。右边是以大模型、AI Agent、面对自然语言编程构成的 AI 原生应用架构,更大的概念是 AI Infra,采用 GPU 资源进行模型的训练和推理,并以模型和自然语言为核心,驱动业务发展,而承接端侧的流量,不再是一个个微服务,而是一个个 Agent。整体上,基于大模型的 AI 原生应用将越来越多,容器和微服务技术为代表的云原生技术会加速渗透传统业务,并引入更多流量,催生企业新的生命力和想象空间。
WebAssembly作为一种通用的底层技术,其从云原生到AI原生的演进是一个自然而然的过程。在云原生环境中,WebAssembly已经展现出了其卓越的性能、安全性和跨平台能力。随着人工智能技术的快速发展,这些优势恰好能够满足AI原生环境的独特需求,使WebAssembly成为连接云原生和AI原生的理想桥梁。
在保持云原生优势的同时,WebAssembly还能够很好地适应AI原生的特殊需求。首先,AI应用通常需要处理大量数据和复杂计算,WebAssembly的高性能特性可以有效支持这些密集型操作。其次,AI模型的部署和运行需要灵活性和可移植性,WebAssembly的跨平台特性使得AI模型可以在不同环境中无缝运行,从云端到边缘设备。再者,AI应用对安全性有着更高的要求,特别是在处理敏感数据时,WebAssembly的沙箱机制提供了额外的安全保障。
此外,WebAssembly的模块化特性非常适合AI原生环境中的微服务架构和函数即服务(FaaS)模式。开发者可以将不同的AI功能封装为WebAssembly模块,实现灵活的组合和部署。这种方式不仅提高了开发效率,还增强了AI应用的可扩展性和可维护性。
随着WebAssembly技术的不断发展,其在AI领域的应用正变得越来越广泛。从AI模型的推理加速,到边缘计算中的实时AI处理,再到大规模分布式AI系统的构建,WebAssembly都展现出了巨大的潜力。它正在成为连接传统云计算和新兴AI技术的关键纽带,推动着整个软件生态系统向更智能、更高效的方向发展。
随着AI原生的兴起,Wasm在云原生环境中的成功应用为其在AI原生应用中的转型奠定了基础。在AI原生应用中,Wasm的优势同样显著,并能够解决AI应用中面临的许多挑战。
以ChatGPT为代表的AIGC技术为企业生产带来了巨大的变化,并在企业应用开发领域占据一席之地。AI大模型凭借其强大的学习能力,可以帮助人们完成各种复杂的任务,例如帮助开发人员编写与调试代码、研究人员快速了解科研领域、营销人员撰写产品描述、设计人员设计新作品等等。许多企业探索如何降低AI大模型的使用成本。通过网关进行AI大模型的API管理成为了很常规的需求。
以OpenAI为例,OpenAI的API调用并不是基于请求量或者订阅时间来计费,而是基于每个请求的使用量来计费。对于AI大模型来说,模型输入与输出的token数可以比较好的衡量当前模型进行推理任务的复杂度。因此基于token作为请求使用量进行计费是OpenAI-API的标准计费策略。对于不同的模型token的计费标准也不同,越复杂的模型会生成越好的结果,但也会带来更高的计费。OpenAI通过为用户分发API密钥来完成用户的鉴权与收费等功能。
对于组织来说,为每位成员申请AI大模型的访问权限(API-Key)显然是不现实的。分散的API密钥将不利于组织进行API的用量计算、管理与付费,从而增加AI大模型的使用成本。其次,对于组织来说,AI模型的选型、使用频率和成员使用权限、以及向AI大模型暴露哪些数据都是在管理中需要着重关注的功能。
云原生网关基于丰富的插件能力,提供了认证鉴权、请求过滤、流量控制、用量监测和安全防护等功能,能够帮助组织与AI大模型的API交互变得更加安全、可靠和可观察;基于云原生网关提供的认证鉴权能力,组织可以实现通过统一的API密钥进行AI模型的调用量管理和付费,并为团队成员授予不同的AI模型访问权限;基于云原生网关提供的流量控制能力,组织能为不同的模型与用户设置差异化的访问速率限制,有效降低AI模型的使用成本;基于云原生网关提供的请求拦截能力,组织能够有效过滤含敏感信息的访问请求,防护部分内部站点资源不对外暴露,从而有效保障内部数据安全。
在AI场景下,流量有以下三大特征,是区别于其他业务流量的:
• 长连接:由AI场景常见的Websocket和SSE协议决定,长连接的比例很高,要求网关更新配置操作对长连接无影响,不影响业务。
• 高延时:LLM推理的响应延时比普通应用要高出很多,使得AI应用面向恶意攻击很脆弱,容易被构造慢请求进行并发攻击,攻击者的成本低,但服务端的开销很高。
• 大带宽:结合LLM上下文来回传输,以及高延时的特性,AI场景对带宽的消耗远超普通应用,网关如果没有实现较好的流式处理能力和内存回收机制,容易导致内存快速上涨。
通过在边缘设备上部署嵌入WebAssembly模块的云原生网关,以此为切入点,可以实时处理来自客户端的数据并进行AI推理并做成一系列的AI插件工具。
图6:基于WASM的AI插件工具集
1. AI代理插件
如下图是OpenAI对于不同模型在Tier2这个级别的调用方的限制,大部分AI产品也都有类似的限制:
图7:不同AI产品调用限制
5. AI缓存插件
可以实现将LLM响应进行抽取并缓存的功能,对于向LLMAPI高频请求相同问题的场景可以显著降低响应时延并节省成本。
6. AI提示词模版插件
提示词模版插件用于快速构建固定格式的Prompt,对于特定应用需要限制问题格式的场景会比较有帮助,可以在网关上配置Prompt模版,并基于大模型的能力来提供对应的API。
7. AI请求/响应转换插件
通过配置AI请求/响应转换插件,用户可以不用写代码,直接使用自然语言的方式对网关的请求/响应进行修改。例如测试人员在测试API时,对待测API进行插件配置,将原始请求/响应作为example,来生成进行边界条件测试的请求/响应。大模型很多时候会比人考虑的更全面,更容易测试出一些边界case。
创建路由通过插件转发到http://httpbin.org/xml,该接口会返回xml格式响应,通过插件处理可以得到json格式的响应:
• 性能优化:虽然WebAssembly已经提供了接近原生代码的性能,但在某些高性能计算场景中,进一步优化JIT和AOT编译策略仍然是一个挑战。特别是在处理复杂AI模型和大规模数据集时,如何高效地进行编译和优化以提升性能,是需要持续研究和改进的方向。WebAssembly目前在并行计算和多线程支持方面还有提升空间。虽然已经引入了线程支持,但在充分利用多核处理器和GPU加速方面,仍需进一步改进。
• 安全性和隔离性:尽管WebAssembly提供了沙盒环境,但在实际应用中,对权限的精细控制仍然是一个复杂的问题。开发者需要更多工具和框架来方便地定义和管理WebAssembly模块的权限,以确保其在复杂系统中的安全性。随着WebAssembly的应用越来越广泛,如何防范恶意代码成为一个重要问题。需要开发更加智能和高效的检测和防护机制,保护系统免受恶意代码的侵害。
• 工具链和开发者生态:目前,WebAssembly的开发工具链相对较新,仍在不断完善中。开发者需要更强大的调试、性能分析和测试工具,以提高开发效率和代码质量。与传统技术相比,WebAssembly的生态系统还在成长阶段。更多的库、框架和社区支持将有助于吸引更多开发者参与,推动WebAssembly技术的发展和普及。
1. WebAssembly在AI原生中的潜力
• 广泛的应用场景:WebAssembly的高性能、低资源消耗和跨平台兼容性,使其在AI原生环境中具有巨大的潜力。可以预见,WebAssembly将会在更多的AI应用场景中得到广泛应用,如自动驾驶、智能医疗和个性化推荐等。
• 边缘计算的关键技术:随着物联网和边缘计算的发展,WebAssembly将成为边缘AI计算的关键技术。通过在边缘设备上运行AI模型,可以实现更高效的本地数据处理和智能决策,推动边缘计算的普及和应用。
2. 技术发展趋势
• 更强大的并行计算支持:未来,WebAssembly将在并行计算和多线程支持方面不断改进,以更好地利用多核处理器和GPU的计算能力,满足大规模AI计算的需求。
• 增强的安全机制:WebAssembly的安全机制将进一步加强,提供更细粒度的权限控制和更智能的恶意代码防护,确保系统的安全性和可靠性。
• 优化的编译器和运行时:编译器和运行时将继续优化,提高WebAssembly的执行效率和性能,为AI原生应用提供更强大的计算能力。
3. 生态系统的完善和扩展
• 丰富的开发工具:未来将会有更多的开发工具和框架支持WebAssembly,从而提升开发效率和代码质量。例如,集成开发环境(IDE)中的调试工具、性能分析工具和测试框架将更加完善和易用。
• 更多的库和框架:随着社区的发展,越来越多的库和框架将支持WebAssembly,开发者可以利用现有的资源快速构建和部署AI应用。例如,深度学习框架、数据处理库和分布式计算框架的WebAssembly版本将不断涌现。
• 社区和标准化:WebAssembly的开发者社区将继续壮大,通过合作和交流推动技术进步。同时,WebAssembly的标准化进程将进一步加快,提供更加统一和规范的开发和应用标准。
通过不断克服当前的挑战,抓住技术发展的新机遇,WebAssembly将在云原生和AI原生环境中发挥越来越重要的作用。它不仅为构建高效、智能和安全的应用提供了强有力的技术支持,也为未来的技术创新和应用场景开辟了广阔的空间。
[2] 将AI应用于WebAssembly还为时过早吗? [EB/OL]
[3] 亚信科技. AIGC(GPT)赋能通信行业应用白皮书[R],欧阳晔、张亚勤等, 2023.
[4] 软件架构的演进过程[EB/OL],https://www.cnblogs.com/GumpYan/p/14324150.html, 2021.
[5] AI Agent,为什么是AIGC最后的杀手锏[EB/OL]. https://www.huxiu.com/article/2324152.html, 腾讯研究院,2023.
[6] AI能力全面开源,云原生能力再升级[EB/OL].阿里云,2024