AI开发大一统:谷歌OpenXLA开源,整合所有框架和AI芯片

简介: AI开发大一统:谷歌OpenXLA开源,整合所有框架和AI芯片


未来的机器学习开发局面会走向统一吗?


在去年 10 月的 Google Cloud Next 2022 活动中,OpenXLA 项目正式浮出水面,谷歌与包括阿里巴巴、AMD、Arm、亚马逊、英特尔、英伟达等科技公司推动的开源 AI 框架合作,致力于汇集不同机器学习框架,让机器学习开发人员获得能主动选择框架、硬件的能力。


本周三,谷歌宣布 OpenXLA 项目正式开源。



项目链接:https://github.com/openxla/xla


通过创建与多种不同机器学习框架、硬件平台共同工作的统一机器学习编译器,OpenXLA 可以加速机器学习应用的交付并提供更大的代码可移植性。对于 AI 研究和应用来说,这是一个意义重大的项目,Jeff Dean 也在社交网络上进行了宣传。


如今,机器学习开发和部署受到碎片化的基础设施的影响,这些基础设施可能因框架、硬件和用例而异。这种相互隔绝限制了开发人员的工作速度,并对模型的可移植性、效率和生产化造成了障碍。


3 月 8 日,谷歌等机构通过 OpenXLA 项目(其中包括 XLA、StableHLO 和 IREE 存储库)的开放,朝着消除这些障碍迈出了重要一步。


OpenXLA 是由 AI / 机器学习行业领导者共同开发的开源 ML 编译器生态系统,贡献者包括阿里巴巴、AWS、AMD、苹果、Arm、Cerebras、谷歌、Graphcore、Hugging Face、英特尔、Meta 和英伟达。它使得开发人员能够编译和优化来自所有领先机器学习框架的模型,以便在各种硬件上进行高效训练和服务。使用 OpenXLA 的开发人员可以观察到训练时间、吞吐量、服务延迟以及最终发布和计算成本方面的明显提升。


机器学习技术设施面临的挑战


随着 AI 技术进入实用阶段,许多行业的开发团队都在使用机器学习来应对现实世界的挑战,例如进行疾病的预测和预防、个性化学习体验和黑洞物理学探索。


随着模型参数数量呈指数级增长,深度学习模型所需的计算量每六个月翻一番,开发人员正在寻求基础架构的最大性能和利用率。大量团队正在利用多型号种类的硬件,从数据中心中的节能机器学习专用 ASIC 到可以提供更快响应速度的 AI 边缘处理器。相应的,为了提高效率,这些硬件设备使用定制化的独特算法和软件库。


但另一方面,如果没有通用的编译器将不同硬件设备桥接到当今使用的多种框架(例如 TensorFlow、PyTorch)上,人们就需要付出大量努力才能有效地运行机器学习。在实际工作中,开发人员必须手动优化每个硬件目标的模型操作。这意味着使用定制软件库或编写特定于设备的代码需要领域专业知识。


这是一个矛盾的结果,为了提高效率使用专用技术,结果却是跨框架和硬件的孤立、不可概括的路径导致维护成本高,进而导致供应商锁定,减缓了机器学习开发的进度。


解决方法和目标


OpenXLA 项目提供了最先进的 ML 编译器,可以在 ML 基础设施的复杂性中进行扩展。它的核心支柱是性能、可扩展性、可移植性、灵活性和易用性。借助 OpenXLA,我们渴望通过加速人工智能的开发和交付来实现 AI 在现实世界中的更大潜力。


OpenXLA 的目标在于:


通过适用于任何框架,接入专用设备后端和优化的统一编译器 API,使开发人员可以轻松地在他们的首选框架中针对各种硬件编译和优化任何模型。

为当前和新兴模型提供行业领先的性能,也可扩展至多个主机和加速器满足边缘部署的限制,并推广到未来的新型模型架构上。

构建一个分层和可扩展的机器学习编译器平台,为开发人员提供基于 MLIR 的组件,这些组件可针对其独特的用例进行重新配置,用于硬件定制化编译流程。


AI/ML 领导者社区


我们今天在机器学习基础架构中面临的挑战是巨大的,没有任何一个组织可以单独有效地解决这些挑战。OpenXLA 社区汇集了在 AI 堆栈的不同级别(从框架到编译器、runtime 和芯片)上运行的开发人员和行业领导者,因此非常适合解决我们在 ML 领域看到的碎片化问题。


作为一个开源项目,OpenXLA 遵循以下原则:


平等地位:个人无论从属关系如何,都平等地做出贡献。技术领导者是那些贡献最多时间和精力的人。

尊重文化:所有成员都应维护项目价值观和行为准则,无论他们在社区中的职位如何。

可扩展、高效的治理:小团队做出基于共识的决策,具有清晰但很少使用的升级路径。

透明度:所有决定和理由都应该对公众清晰可见。


OpenXLA 生态系统:性能、规模和可移植能力


OpenXLA 通过模块化工具链消除了机器学习开发人员的障碍,它通过通用编译器接口得到所有领先框架的支持,利用可移植的标准化模型表示,并提供具有强大的目标向和特定硬件优化的特定领域编译器。该工具链包括 XLA、StableHLO 和 IREE,所有这些工具都利用 MLIR:一种编译器基础架构,使机器学习模型能够在硬件上一致地表示、优化和执行。


OpenXLA 主要亮点


机器学习用例的范围


OpenXLA 当前的使用涵盖了 ML 用例的范围,包括在阿里云上对 DeepMind 的 AlphaFold、GPT2 和 Swin Transformer 等模型进行全面训练,以及在 Amazon.com 上进行多模态 LLM 训练。Waymo 等客户利用了 OpenXLA 进行车载实时推理。此外,OpenXLA 还用于优化配备 AMD RDNA™ 3 的本地机器上的 Stable Diffusion 服务。


最佳性能,开箱即用


OpenXLA 使开发人员无需编写特定于设备的代码,即可轻松加快模型性能。它具有整体模型优化功能,包括简化代数表达式、优化内存数据布局以及改进调度以减少峰值内存使用和通信开销。高级算子融合和内核生成有助于提高设备利用率并降低内存带宽要求。


轻松扩展工作负载


开发高效的并行化算法非常耗时并且需要专业知识。借助 GSPMD 等功能,开发人员只需注释关键张量的一个子集,然后编译器就可以使用这些子集自动生成并行计算。这消除了跨多个硬件主机和加速器对模型进行分区和高效并行化所需的大量工作。


便携性和可选性


OpenXLA 为多种硬件设备提供开箱即用的支持,包括 AMD 和 NVIDIA GPU、x86 CPU 和 Arm 架构以及 ML 加速器,如 Google TPU、AWS Trainium 和 Inferentia、Graphcore IPU、Cerebras Wafer-Scale Engine 等等。OpenXLA 还通过 StableHLO 支持 TensorFlow、PyTorch 和 JAX,StableHLO 是一个用作 OpenXLA 输入格式的可移植层。


灵活性


OpenXLA 为用户提供了手动调整模型热点的灵活性。自定义调用等扩展机制使用户能够用 CUDA、HIP、SYCL、Triton 和其他内核语言编写深度学习原语,从而能够充分利用硬件特性。


StableHLO


StableHLO 是 ML 框架和 ML 编译器之间的一个可移植层,是一个支持动态、量化和稀疏性的高级运算(HLO)的运算集。此外,它可以被序列化为 MLIR 字节码以提供兼容性保证。所有主要的 ML 框架(JAX、PyTorch、TensorFlow)都可以产生 StableHLO。2023 年,谷歌计划与 PyTorch 团队紧密合作,实现与 PyTorch 2.0 版本的整合。


参考内容:

https://opensource.googleblog.com/2023/03/openxla-is-ready-to-accelerate-and-simplify-ml-development.html?m=1

https://venturebeat.com/ai/google-reveals-whats-next-for-cloud-ai/


相关文章
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在文本生成中的应用与挑战自动化测试框架的搭建与实践
【8月更文挑战第27天】本文将深入探讨人工智能(AI)在文本生成领域的应用,包括其技术原理、实际应用案例以及面临的主要挑战。通过分析AI文本生成的工作原理和实际效果,我们将揭示这项技术如何改变内容创作、新闻撰写、对话系统等多个领域。同时,我们也将讨论AI文本生成带来的伦理和质量问题,以及如何平衡创新与风险,确保技术的健康发展。
|
5天前
|
人工智能 自然语言处理 数据挖掘
【通义】AI视界|性能超越GPT-4o?最强大的开源AI模型来了……
本文介绍了五项最新AI技术动态,包括性能超越GPT-4o的开源AI模型Reflection70B、智谱清言App限时免费的视频通话功能、哈佛医学院研发的癌症诊断AI模型CHIEF、Replit推出的AI编程助手,以及英特尔与日本AIST合作设立的芯片制造研发中心。这些进展展示了AI领域的快速创新与广泛应用。更多详情,请访问通义官网体验。
|
3天前
|
人工智能 开发框架 搜索推荐
移动应用开发的未来:跨平台框架与AI的融合
在移动互联网飞速发展的今天,移动应用开发已成为技术革新的前沿阵地。本文将探讨跨平台框架的兴起,以及人工智能技术如何与移动应用开发相结合,从而引领行业走向更加智能化、高效化的未来。文章通过分析当前流行的跨平台开发工具和AI技术的应用实例,为读者提供对未来移动应用开发的独到见解和预测。
18 3
|
6天前
|
人工智能 自然语言处理 安全
【通义】AI视界|谷歌推出AI搜索功能“问照片”,照片一问即得……
本文汇总了AI领域的最新动态,包括谷歌推出的“问照片”功能,使用户能用自然语言检索Google Photos;OpenAI的商业用户激增及ChatGPT的广泛应用;Anthropic发布的企业级AI助手Claude Enterprise;美英欧盟首个人工智能法律约束条约;OpenAI前首席科学家新公司获巨额融资;以及比尔·盖茨对AI前景的乐观展望与安全建议。
|
3天前
|
人工智能 开发框架 前端开发
移动应用开发的未来:探索跨平台框架与AI的融合
随着智能手机的普及和移动技术的飞速发展,移动应用已成为我们日常生活的一部分。本文将探讨移动应用开发的最新趋势,特别是跨平台开发框架的兴起和人工智能技术的结合如何塑造未来移动应用的发展方向。我们将从React Native和Flutter等流行框架谈起,分析它们如何简化开发流程、降低成本并提高应用性能。同时,本文也将深入讨论人工智能如何在用户体验、安全性和个性化服务方面为移动应用带来革命性的变化。最后,我们将展望未来移动应用开发的新机遇和挑战。
10 0
|
11天前
|
Java Spring 人工智能
AI 时代浪潮下,Spring 框架异步编程点亮高效开发之路,你还在等什么?
【8月更文挑战第31天】在快节奏的软件开发中,Spring框架通过@Async注解和异步执行器提供了强大的异步编程工具,提升应用性能与用户体验。异步编程如同魔法,使任务在后台执行而不阻塞主线程,保持界面流畅。只需添加@Async注解即可实现方法的异步执行,或通过配置异步执行器来管理线程池,提高系统吞吐量和资源利用率。尽管存在线程安全等问题,但异步编程能显著增强应用的响应性和效率。
23 0
|
11天前
|
Java Spring 传感器
AI 浪潮席卷,Spring 框架配置文件管理与环境感知,为软件稳定护航,你还在等什么?
【8月更文挑战第31天】在软件开发中,配置文件管理至关重要。Spring框架提供强大支持,便于应对不同环境需求,如电商项目的开发、测试与生产环境。它支持多种格式的配置文件(如properties和YAML),并能根据环境加载不同配置,如数据库连接信息。通过`@Profile`注解可指定特定环境下的配置生效,同时支持通过命令行参数或环境变量覆盖配置值,确保应用稳定性和可靠性。
25 0
|
11天前
|
人工智能 Java Spring
Spring框架下,如何让你的日志管理像‘AI’一样智能,提升开发效率的秘密武器!
【8月更文挑战第31天】日志管理在软件开发中至关重要,不仅能帮助开发者追踪问题和调试程序,还是系统监控和运维的重要工具。在Spring框架下,通过合理配置Logback等日志框架,可大幅提升日志管理效率。本文将介绍如何引入日志框架、配置日志级别、在代码中使用Logger,以及利用ELK等工具进行日志聚合和分析,帮助你构建高效、可靠的日志管理系统,为开发和运维提供支持。
23 0
|
14天前
|
人工智能 安全 Anolis
专访英特尔:开源与 AI 迅猛发展,龙蜥社区提供高效合作平台
龙蜥社区为开源技术、AI 技术提供了一个非常好的高效合作的平台。
|
机器学习/深度学习 人工智能 自然语言处理
一周AI最火论文 | 新冠病毒数据开源,Kaggle发布新冠病毒挑战赛
一周AI最火论文 | 新冠病毒数据开源,Kaggle发布新冠病毒挑战赛
471 0