模型推理提高5-20倍,一行代码测试多个DL编译器,这个库不懂硬件也会用

简介: 模型推理提高5-20倍,一行代码测试多个DL编译器,这个库不懂硬件也会用
这个 Nebullvm 一体化库,允许你在一行代码中测试多个 DL 编译器,并将模型的推理速度提高 5-20 倍。


近日,reddit 上一个帖子引来大量网友的讨论,帖子主要内容为:几乎没有人知道优化 AI 模型有多容易,通过添加几行代码,模型的推理速度提高 5-20 倍。


发帖人是初创公司 Nebuly 的联合创始人兼首席运营官 Emile Courthoud。Courthoud 认为目前开发人员虽然精通于 AI、数据集清洗和模型训练等,但是他们在硬件、编译器、计算、云计算等方面知识有欠缺。这导致开发人员会花费大量时间来提高软件的性能,而没有意识到选择合适硬件的重要性。

这个问题困扰了 Courthoud 很长时间,所以他和在 Nebuly 的几个朋友(都来自 MIT、ETH 和 EPFL)将大量精力投入到一个名为 nebullvm 的开源库中,该库涉及 DL 编译器技术,任何开发人员都可以访问,即使是对硬件一无所知的人也可以使用,该库旨在将所有开源的 AI 编译器统一在同一个易于使用的接口下。

Nebullvm 是如何工作的?总体而言,它通过测试不同的 DL(深度学习) 编译器并为用户选择最佳的一个,使得用户所用的 AI 模型与机器(CPU、GPU 等)形成最佳耦合,模型可以加速约 5-20 倍,只需几行代码即可完成。


项目地址:https://github.com/nebuly-ai/nebullvm

Nebullvm 项目简介

用户在下面几种情况下可以选择使用 Nebullvm 库。

  • 想要加快 AI 模型的响应时间;
  • 不希望测试市场上所有的 DL 编译器,只想了解对自身特定应用程序最好的那个;
  • 喜欢把复杂问题简单化,想要几行代码,就知道哪个 DL 编译器最适合自己等。


项目作者设计了一些超级易用的内容:你只需输入 DL 模型,就会得到一个和硬件匹配的最优模型版本。

目前,该项目支持的框架包括 PyTorch、TensorFlow,不久也会支持 Hugging Face。支持的 DL 编译器包括 OpenVINO、TensorRT、TVM,不久也会支持 Rammer、MLIR。

安装 nebullvm,用户可以采用源代码安装,使用 git 安装如下所示:


git clone https://github.com/nebuly-ai/nebullvm.git


然后进入 repo 并使用 pip 安装 nebullvm:



cd nebullvmpip install .


PyPi 安装:安装 nebullvm 最简单的方法是使用 pip,然后运行如下代码


pip install nebullvm


自动安装方式如下:此方式可以自动安装所有由 nebullvm 支持的 DL 编译器。


python -c "import nebullvm"


但是,如果用户希望避免自动安装,可以采用如下方式:


export NO_COMPILER_INSTALLATION=1


或从命令行添加:



import osos.environ["NO_COMPILER_INSTALLATION"] = "1"


安装完 nebullvm 就可以使用了,下面代码展示了使用 nebullvm 优化 pytorch 模型的示例:





>>> import torch>>> import torchvision.models as models>>> from nebullvm import optimize_torch_model>>> model = models.efficientnet_b0()>>> bs, input_sizes = 1, [(3, 256, 256)]>>> save_dir = ".">>> optimized_model = optimize_torch_model(...     model, batch_size=bs, input_sizes=input_sizes, save_dir=save_dir... )>>> x = torch.randn((bs, *input_sizes[0]))>>> res = optimized_model(x)
相关文章
|
数据采集 算法 测试技术
【硬件测试】基于FPGA的1024QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的1024QAM基带通信系统的硬件测试版本,包含testbench、高斯信道模块和误码率统计模块。系统新增ila在线数据采集和vio在线SNR设置模块,支持不同SNR条件下的性能测试。1024QAM调制将10比特映射到复平面上的1024个星座点之一,实现高效数据传输。硬件测试结果表明,在SNR=32dB和40dB时,系统表现出良好的性能。Verilog核心程序展示了各模块的连接与功能实现。
366 7
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
2626 8
|
人工智能 自然语言处理 测试技术
UGMathBench:评估语言模型数学推理能力的动态基准测试数据集
近年来,人工智能蓬勃发展,自然语言模型(LLM)进展显著。语言模型被广泛应用于自动翻译、智能客服、甚至医疗、金融、天气等领域。而研究者们仍在不断努力,致力于提高语言模型的规模和性能。随着语言模型的蓬勃发展,评估一个语言模型的性能变得越来越重要。其中一个重要的评估指标,就是衡量语言模型的推理能力和解决数学问题的能力。
533 38
|
9月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
SQL 存储 Oracle
跨库迁移有多难?我们用 YashanDB YMP 做了个测试,效果惊艳了
异构数据库迁移常被视为企业数字化转型中的难题,涉及SQL兼容性、对象依赖顺序与数据一致性等关键环节。YashanDB Migration Platform(YMP)通过实际测试展示了卓越能力,从Oracle到YashanDB的迁移表现超预期。其亮点包括:零脚本全自动迁移逻辑、全面支持复杂对象(如存储过程、触发器)、高性能迁移速度远超传统方案。YMP提供评估、SQL转换、对象迁移、数据校验及可视化全流程管理,为企业平滑过渡至国产数据库提供了可靠选择。
跨库迁移有多难?我们用 YashanDB YMP 做了个测试,效果惊艳了
|
11月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2FSK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文基于FPGA实现2FSK+帧同步系统,采用Verilog开发,包含Testbench、高斯信道、误码统计及可设置SNR功能。硬件版本新增ILA在线数据采集与VIO在线SNR设置模块,验证调制解调过程。理论部分介绍FSK调制解调原理、功率谱特性及帧同步机制,代码实现FSK信号生成与处理,适合数字通信学习与实践。
325 1
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
1018 11
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的MSK调制解调系统系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现MSK调制解调系统,采用Verilog开发,包含同步模块、高斯信道模拟、误码率统计等功能。相比仿真版本,新增ILA数据采集与VIO在线SNR设置模块。通过硬件测试验证,展示不同SNR(如10dB和16dB)下的性能表现。研究聚焦软件无线电领域,优化算法复杂度以适应硬件限制,利用MSK恒定包络、相位连续等特性提升频谱效率。核心代码实现信号生成、调制解调、滤波及误码统计,提供完整的硬件设计与分析方案。
504 19
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2ASK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文分享了基于FPGA的2ASK+帧同步系统硬件测试版本,包含ILA数据采集、VIO SNR设置及数据源模块。通过调整SNR(如45dB和10dB),实现对调制解调性能的验证。2ASK调制将数字信号转为二进制码,通过载波振幅变化传输;帧同步用于确定帧起始位置,确保数据正确解调。附带操作视频与核心Verilog代码,便于理解和复现。
361 9
|
数据采集 移动开发 算法
【硬件测试】基于FPGA的QPSK调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现QPSK调制与软解调系统,包含Testbench、高斯信道、误码率统计模块,并支持不同SNR设置。硬件版本新增ILA在线数据采集和VIO在线SNR设置功能,提供无水印完整代码及测试结果。通过VIO分别设置SNR为6dB和12dB,验证系统性能。配套操作视频便于用户快速上手。 理论部分详细解析QPSK调制原理及其软解调实现过程,涵盖信号采样、相位估计、判决与解调等关键步骤。软解调通过概率估计(如最大似然法)提高抗噪能力,核心公式为*d = d_hat / P(d_hat|r[n])*,需考虑噪声对信号点分布的影响。 附Verilog核心程序代码及注释,助力理解与开发。
420 5

热门文章

最新文章