Redian新闻
>
谷歌狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理训练最快选择

谷歌狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理训练最快选择

公众号新闻



  新智元报道  

编辑:编辑部
【新智元导读】JAX在最近的基准测试中的性能已经不声不响地超过了Pytorch和TensorFlow,也许未来会有更多的大模型诞生在这个平台上。谷歌在背后的默默付出终于得到了回报。

谷歌力推的JAX在最近的基准测试中性能已经超过Pytorch和TensorFlow,7项指标排名第一。
而且测试并不是在JAX性能表现最好的TPU上完成的。
虽然现在在开发者中,Pytorch依然比Tensorflow更受欢迎。
但未来,也许有更多的大模型会基于JAX平台进行训练和运行。

模型

最近,Keras团队为三个后端(TensorFlow、JAX、PyTorch)与原生PyTorch实现以及搭配TensorFlow的Keras 2进行了基准测试。
首先,他们为生成式和非生成式人工智能任务选择了一组主流的计算机视觉和自然语言处理模型:
对于模型的Keras版本,其采用了KerasCV和KerasNLP中已有的实现进行构建。而对于原生的PyTorch版本,则选择了网络上最流行的几个选项:
- 来自HuggingFace Transformers的BERT、Gemma、Mistral
- 来自HuggingFace Diffusers的StableDiffusion
- 来自Meta的SegmentAnything
他们将这组模型称作「Native PyTorch」,以便与使用PyTorch后端的Keras 3版本进行区分。
他们对所有基准测试都使用了合成数据,并在所有LLM训练和推理中使用了bfloat16精度,同时在所有LLM训练中使用了LoRA(微调)。
根据PyTorch团队的建议,他们在原生PyTorch实现中使用了torch.compile(model, mode="reduce-overhead")(由于不兼容,Gemma和Mistral训练除外)。
为了衡量开箱即用的性能,他们使用高级API(例如HuggingFace的Trainer()、标准PyTorch训练循环和Keras model.fit()),并尽可能减少配置。

硬件配置

所有基准测试均使用Google Cloud Compute Engine进行,配置为:一块拥有40GB显存的NVIDIA A100 GPU、12个虚拟CPU和85GB的主机内存。

基准测试结果


表2显示了基准测试结果(以步/毫秒为单位)。每步都涉及对单个数据批次进行训练或预测。
结果是100步的平均值,但排除了第一个步,因为第一步包括了模型创建和编译,这会额外花费时间。
为了确保比较的公平性,对于相同的模型和任务(不论是训练还是推理)都使用相同的批大小。
然而,对于不同的模型和任务,由于它们的规模和架构有所不同,可根据需要调整数据批大小,从而避免因过大而导致内存溢出,或是批过小而导致GPU使用不足。
过小的批大小也会使PyTorch看起来较慢,因为会增加Python的开销。
对于大型语言模型(Gemma和Mistral),测试时也使用了相同的批处理大小,因为它们是相同类型的模型,具有类似数量的参数(7B)。
考虑到用户对单批文本生成的需求,也对批大小为1的文本生成情况进行了基准测试。

关键发现

发现1

不存在「最优」后端。
Keras的三种后端各展所长,重要的是,就性能而言,并没有哪一个后端能够始终胜出。
选择哪个后端最快,往往取决于模型的架构。
这一点突出了选择不同框架以追求最佳性能的重要性。Keras 3可以帮助轻松切换后端,以便为模型找到最合适的选择。

发现2

Keras 3的性能普遍超过PyTorch的标准实现。
相对于原生PyTorch,Keras 3在吞吐量(步/毫秒)上有明显的提升。
特别是,在10个测试任务中,有5个的速度提升超过了50%。其中,最高更是达到了290%。

如果是100%,意味着Keras 3的速度是PyTorch的2倍;如果是0%,则表示两者性能相当

发现3

Keras 3提供一流的「开箱即用」性能。
也就是,所有参与测试的Keras模型都未进行过任何优化。相比之下,使用原生PyTorch实现时,通常需要用户自行进行更多性能优化。
除了上面分享的数据,测试中还注意到在HuggingFace Diffusers的StableDiffusion推理功能上,从版本0.25.0升级到0.3.0时,性能提升超过了100%。
同样,在HuggingFace Transformers中,Gemma从4.38.1版本升级至4.38.2版本也显著提高了性能。
这些性能的提升凸显了HuggingFace在性能优化方面的专注和努力。
对于一些手动优化较少的模型,如SegmentAnything,则使用了研究作者提供的实现。在这种情况下,与Keras相比,性能差距比大多数其他模型更大。
这表明,Keras能够提供卓越的开箱即用性能,用户无需深入了解所有优化技巧即可享受到快速的模型运行速度。

发现4

Keras 3的表现始终优于Keras 2。
例如,SegmentAnything的推理速度提升了惊人的380%,StableDiffusion的训练处理速度提升了150%以上,BERT的训练处理速度也提升了100%以上。
这主要是因为Keras 2在某些情况下直接使用了更多的TensorFlow融合操作,而这可能对于XLA的编译并不是最佳选择。
值得注意的是,即使仅升级到Keras 3并继续使用TensorFlow后端,也能显著提升性能。

结论

框架的性能在很大程度上取决于具体使用的模型。
Keras 3能够帮助为任务选择最快的框架,这种选择几乎总能超越Keras 2和PyTorch实现。
更为重要的是,Keras 3模型无需进行复杂的底层优化,即可提供卓越的开箱即用性能。
参考资料:
https://keras.io/getting_started/benchmarks/




微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
[评测]Colorful Colorfire Meow R15 评测突发!谷歌 Python 团队全体被裁,急得 PyTorch 之父爆粗7036 血壮山河之枣宜会战 “扑朔迷离”南瓜店 13减肥路上低碳VS低脂,哪个才是王道?研究表明:短期求快选低碳,长期求稳两者效果相似iPhone 将要集成Gemini ?搞了半天AI的苹果,发现最佳方法是搞定谷歌初创团队不到10人,Augment获2.52亿美元融资,将成GitHub Copilot竞争对手谷歌裁掉整个 Python 团队!PyTorch 创始人急得直骂人:“WTF!核心语言团队无可替换”性能超越 GPT-4 Turbo!「商汤日日新」大升级,国产大模型超市开张了谷歌员工爆料Python基础团队原地解散【解字】品“头”论“足”Sora 究竟有多烧钱?Sora的推理与训练的计算成本被扒出来了奇怪的再会(五)扩散模型的原理及实现(Pytorch)沈颢|他与约恩·福瑟,没有故事首个全开源时序预测基础模型:Zero-shot预测能力比肩从零训练最优模型比LoRA还快50%的微调方法来了!一张3090性能超越全参调优,UIUC联合LMFlow团队提出LISAHow Loveable Losers Took Over China’s Screens谷歌裁员波及Flutter和Python等团队,但没有被“杀死”——而是“地点重构”(aka异地重组)Fedora Linux 40版本发布:GNOME桌面更新至46版,首次自带PyTorchTowns Cut Off as ‘Once-in-a-Century’ Floods Engulf South ChinaPyTorch 2.2大更新!集成FlashAttention-2,性能提升2倍Jupyter notebook 配置虚拟环境,很多人都遇到这个问题,完整解决步骤!谷歌突破2万亿美元里程碑,却被曝裁掉整个Python团队?PyTorch之父怒批离谱突发!谷歌Python团队解散,PyTorch之父震惊国产多模态大模型开源!无条件免费商用,性能超Claude 3 SonnetGPT-4绝对性能暴涨74.4%!UIUC苹果华人团队提出CodeAct,用Python代码统一LLM智能体行动通义千问再开源,Qwen1.5带来六种体量模型,性能超越GPT3.5霉霉新歌狂撕金卡戴珊,掀起陈年旧怨,网友力挺霉霉,金一天掉粉130w?!曝谷歌Python团队全员被裁;清华系团队“国产Sora”:视频突破16秒;“社恐”周鸿祎:喊话贾跃亭、雷军送自己车|AI周报谷歌Python团队全员被裁——负责内部Python所有基础设施、曾对数亿行代码执行自动重构台积电董事长预测:未来15年每瓦GPU性能提升1000倍,GPU晶体管数破万亿!Pylon框架:在PyTorch中实现带约束的损失函数国内首个开源千亿参数MoE大模型来了!性能超Grok-1,单张GPU可跑高通 X Plus 芯片发布,性能超越 M3,AI 能力是亮点语言是一门艺术
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。