MLPerf storage基准测试

MLPerf 基准测试

什么是 MLPerf?MLPerf™ 基准测试由来自学术界、研究实验室和行业的 AI 领导者联盟 MLCommons 开发,旨在对硬件、软件和服务的训练和推理性能进行无偏评估。它们都在规定的条件下进行。为了保持在行业趋势的前沿,MLPerf 不断发展,定期举行新的测试,并添加代表 AI 技术水平的新工作负载。

Nidia介绍:https://www.nvidia.cn/data-center/resources/mlperf-benchmarks/

MLCommons 基准测试工作的基础源自 MLPerf,并以此为基础进行构建,MLPerf 旨在为 ML 提供一套具有代表性的基准测试套件,公平地评估系统性能,以满足五个高级目标*:

  • 在鼓励机器学习创新的同时,实现对竞争系统的公平比较。
  • 通过公平、实用的测量来加速机器学习的进展。
  • 强制重复性以确保可靠的结果。
  • 为商业和研究界提供服务。
  • 保持基准测试工作量可承受,以便所有人都能参与。

每个基准测试套件均由工作组专家社区定义,他们为 AI 系统制定公平的基准测试。工作组定义要运行的 AI 模型、运行模型所依据的数据集、设置允许对模型进行哪些更改的规则,并测量给定硬件运行模型的速度。通过在这个 AI 模型三脚架内工作,MLCommons AI 系统基准测试不仅可以测量硬件的速度,还可以测量训练数据的质量以及 AI 模型本身的质量指标。

官网:https://mlcommons.org/benchmarks/

MLPerf Storage

MLPerf Storage 基准测试套件可测量在训练模型时存储系统提供训练数据的速度。https://mlcommons.org/benchmarks/storage/

github下载:https://github.com/mlcommons/storage

基准输出指标

对于每个工作负载,基准测试输出指标是每秒样本数,但要满足最低加速器利用率(AU),越高越好。要通过基准测试运行,AU应达到 90% 或更高。AU计算如下。总理想计算时间来自批处理大小、总数据集大小、模拟加速器数量和睡眠时间:total_compute_time = (records/file * total_files)/simulated_accelerators/batch_size * sleep_time。然后AU计算如下:

AU (percentage) = (total_compute_time/total_benchmark_running_time) * 100

请注意,休眠时间是通过在真实硬件上运行包括计算步骤在内的工作负载来确定的,并且取决于加速器类型。在此预览包中,我们包含了 NVIDIA V100 GPU 的休眠时间,这是在 NVIDIA DGX-1 系统中测量的。除此之外AU,提交的内容还需要报告详细信息,例如 DLIO 主机上运行的 MPI 进程数量,以及 DLIO 主机上的主内存数量。

先决条件:

基准测试脚本只需在一个参与的客户端主机(任意)上运行,该主机内部调用mpirun以启动跨多个客户端主机的分布式训练。启动器客户端主机也参与分布式训练过程。

  • 挑选一个主机作为启动器客户端主机。必须从启动器客户端主机到所有其他参与的客户端主机设置无密码 ssh。 ssh-copy-id是一个有用的工具。
  • 代码和数据位置(后面部分将讨论)在每个客户端主机(包括启动器主机)中必须完全相同。这是因为在分布式训练过程中,每个参与的客户端主机都会自动触发相同的基准测试命令。

安装

ubuntu

提前安装mpich

git clone -b v1.0-rc1 --recurse-submodules https://github.com/mlcommons/storage.git
cd storage
pip3 install -r dlio_benchmark/requirements.txt

redhat

提前安装mpich,hwloc

git clone -b v1.0-rc1 --recurse-submodules https://github.com/mlcommons/storage.git
cd storage
pip3 install -r dlio_benchmark/requirements.txt

参考

安装mpich与hwloc参考:https://blog.csdn.net/weixin_43912621/article/details/139168124

测试

第一步,根据客户端配置计算基准测试运行所需的最小数据集大小:

./benchmark.sh datasize --workload unet3d --accelerator-type a100 --num-accelerators 8 --num-client-hosts 2 --client-host-memory-in-gb 128

第二步,为基准测试运行生成数据:

./benchmark.sh datagen --hosts 10.117.61.121,10.117.61.165 --workload unet3d --accelerator-type h100 --num-parallel 8 --param dataset.num_files_train=1200 --param dataset.data_folder=unet3d_data

在这里插入图片描述

第三步,运行基准测试:

./benchmark.sh run --hosts 10.117.61.121,10.117.61.165 --workload unet3d --accelerator-type h100 --num-accelerators 2 --results-dir resultsdir --param dataset.num_files_train=1200 --param dataset.data_folder=unet3d_data

在这里插入图片描述

第四步,生成最终报告:

./benchmark.sh reportgen --results-dir resultsdir

在这里插入图片描述

关于conda环境迁移遇到的问题

ModuleNotFoundError:No module named dlio_profiler_py,但是conda list却显示已安装dlio_profiler_py。

# 查看是否链接悬空
ll storage10/lib/python3.10/site-packages/dlio_profiler_py.cpython-310-x86_64-linux-gnu.so
# 创建软连接
ln -s storage10/lib/python3.10/site-packages/dlio_profiler/lib64/dlio_profiler_py.cpython-310-x86_64-linux-gnu.so storage10/lib/python3.10/site-packages/dlio_profiler_py.cpython-310-x86_64-linux-gnu.so
# 添加环境变量
export LD_LIBRARY_PATH=storage10/lib/python3.10/site-packages/dlio_profiler/lib/:LD_LIBRARY_PATH
export LD_LIBRARY_PATH=storage10/lib/python3.10/site-packages/dlio_profiler/lib64/:LD_LIBRARY_PATH

python输出包所在的位置

import numpy
print(numpy.__file__)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/21518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C基础-标准库上

下:http://t.csdnimg.cn/LXa0J C 标准库是一组 C 内置函数、常量和头文件&#xff0c;比如 <stdio.h>、<stdlib.h>、<math.h>&#xff0c;等等。 目录 一. assert.h 二. ctype.h 三. errno.h 四. float.h 五.limits.h 六. locale.h 一. assert.h 源码…

166.二叉树:相同的树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

【机器学习】RLHF:在线方法与离线算法在大模型语言模型校准中的博弈

RLHF&#xff1a;在线方法与离线算法在大型语言模型校准中的博弈 一、引言二、RLHF概述三、在线方法与离线算法的对比四、实验验证与代码实例 一、引言 在人工智能领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;的校准已成为一个备受关注的热点。基于人类反馈的强化…

实现spring配置bean类机制

大家好&#xff0c;这里是教授.F 流程说明&#xff1a; 我们自己实现spring配置bean类的机制&#xff0c;要先了解原本是怎么实现的。 原本的机制就是有一个bean配置文件&#xff0c;还有一个ApplicationContext spring文件。bean类写着要扫描的文件信息&#xff0c;spring文…

【Python学习】数据结构+正则表达式

个人主页&#xff1a;Yang-ai-cao 系列专栏&#xff1a;Python学习 博学而日参省乎己&#xff0c;知明而行无过矣 目录 个人主页&#xff1a;Yang-ai-cao 系列专栏&#xff1a;Python学习 博学而日参省乎己&#xff0c;知明而行无过矣 数据结构 一、列表&#xff08;Lis…

风电机组与风力发电机:它们是同一个东西吗?

风电机组与风力发电机&#xff1a;它们是同一个东西吗&#xff1f; 风电机组和风力发电机是两个常见的术语&#xff0c;尤其是在可再生能源领域。虽然这两个术语有时会被混淆使用&#xff0c;但它们实际上指的是不同的设备和系统。为了弄清楚它们之间的关系&#xff0c;本文将…

最近很火的 ChatTTS项目,有大佬做的 ChatTTS-UI 来啦

地址&#xff1a;https://github.com/jianchang512/ChatTTS-ui 》》》更多开源项目 ChatTTS webUI & API 一个简单的本地网页界面&#xff0c;直接在网页使用 ChatTTS 将文字合成为语音&#xff0c;支持中英文、数字混杂&#xff0c;并提供API接口。 Releases中可下载Wi…

光伏并网逆变器UL 1741:2021标准解析

光伏并网逆变器UL 1741:2021标准解析 不同国家的安规认证可以说是光伏逆变器走向国际市场的一张通行证&#xff0c;由于全球各国家的电网制式及并网政策的不同差异&#xff0c;这对逆变器测试顺利的通过安规测试认证 还是有一定的技术难度&#xff0c;也是中国光伏制造企业迫切…

最全解析:只有了解低代码平台的今生前世,才能明白低代码是什么

低代码&#xff08;Low-Code&#xff09;是一种软件开发方法&#xff0c;它使得开发人员能够通过图形界面、拖放组件和模型驱动的逻辑&#xff0c;快速地构建和部署应用程序&#xff0c;而无需编写大量的代码。尽管低代码这个术语是在2014年才提出&#xff0c;从诞生之初距今不…

【数据结构】复杂度的重要性—–决定程序运行的效率

【数据结构】复杂度的重要性—–决定程序运行的效率 前言 在我们写算法的时候&#xff0c;常常会需要考虑一个问题&#xff1a;这个算法好不好&#xff1f;而这个“好”实际上就取决于是算法的复杂度。 算法复杂度&#xff08;Algorithmic Complexity&#xff09;是指算法在编…

如何在电脑上安装两个flutter版本

Flutter Version Manager (FVM): Flutter的版本管理终极指南 Mac的flutter多版本管理之fvm的安装及使用 一、安装fvm brew tap leoafarias/fvm brew install fvm这个错误可能是由于网络问题或者 Git 配置问题导致的&#xff0c;我开启了梯子就可以了 brew install watchman…

Low Memory Killer in Android

目录 低内存管理&#xff08;Linux vs Android&#xff09; Linux内存回收 shrink_slab原理 shrink_zone原理 oom killer oom killer设计原则 OOM killer具体实现 android的lmk(Low Memory Killer) Android系统特点 oom killer在android中的不足 ​​​​​​​LMK概…

基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用

背景 随着互联网服务的广泛普及与技术应用的深入发展&#xff0c;日志数据作为记录系统活动、用户行为和业务操作的宝贵资源&#xff0c;其价值愈发凸显。然而&#xff0c;当前海量日志数据的产生速度已经远远超出了传统数据分析工具的处理能力&#xff0c;这不仅要求我们具备…

【机器学习】机器学习与AI大数据的融合:开启智能新时代

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 机器学习与AI大数据的融合 &#x1f4d2;1. 引言&#x1f4d5;2. 机器学习与大数据&#x1f3a9;机器学习与大数据的特征&#x1f388;大数据如…

驱动开发之platform总线

1.前言 在前面的实验以及提出的各种问题中&#xff0c;为了提高移植性&#xff0c;降低模块耦合度&#xff0c;提让模块高内聚&#xff0c;分离device与driver是一个必然的趋势了。为了解决这个问题&#xff0c;心心念念的platform总线出来。 linux从2.6起就加入了一套新的驱…

python中利用cartopy库绘制SST图像

1. Cartopy简介 Cartopy 是一个开源的 Python 库&#xff0c;用于绘制地图和地理数据分析。它结合了 matplotlib 的绘图功能和 shapely、pyproj 等库的地理空间数据处理能力&#xff0c;为用户提供了在地图上可视化数据的强大工具。 以下是 Cartopy 的一些主要特点和功能&#…

探索不同类型的“低”之魅力

随着数字化转型的浪潮不断高涨&#xff0c;低代码平台&#xff08;LCDP&#xff09;已逐渐成为企业快速构建和迭代应用程序的重要工具。低代码平台以其高效、灵活和易于集成的特点&#xff0c;受到越来越多企业的青睐。然而&#xff0c;低代码平台并非一蹴而就的单一产品&#…

CST电磁仿真软件表面等离子极化激元SPP --- 一维光栅耦合 - 衍射模式, 效率, Floquet端口

这两期我们看一下衍射光栅的高阶衍射、衍射效率、反射率。具体到仿真设置&#xff0c;就是Floquet端口的模式分析&#xff0c;S参数与衍射效率和反射率的关系。那么研究这些衍射和表面等离子极化激元SPP有什么关系呢&#xff1f;关系可大了&#xff0c;光栅是一种能够用来激励出…

告别鼠标,安卓模拟鼠标,绘图板,手写板操作电脑PC端,卡卡罗特也说好,儿童节快乐

家人们&#xff0c;上链接了&#xff1a;https://download.csdn.net/download/jasonhongcn/89387887 横屏模式&#xff1a; 竖屏模式&#xff1a; 操作说明&#xff1a; 1. 手势滑动模拟鼠标移动 2. 界面如果有滚动条&#xff0c;右手指按紧&#xff0c;通过左手指移动实现…

力扣:101. 对称二叉树

101. 对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false提示&#xff1a; …