我想为一些定制的ML模型做一个没有平台的基准测试。计算根据一定大小的数据进行预测所需的时间是不合适的,因为我经常使用不同的硬件。
这与其说是一个数据科学问题,不如说是一个算法复杂性问题。但是,我不确定参数的数量是否线性地对应于FLOPS(每秒浮点操作)值。
我找到了一种叫做
随机存取机( RAM )计算模型:在RAM模型下,通过计算算法在给定问题实例上所采取的步骤数来度量算法的运行时间。通过假设RAM每秒执行给定的步骤数,操作计数很容易转换为实际运行时。
我们是否可以说,这个算法的定义类似于触发器或参数的数量?
编辑:我发现了一个关于失败的相关讨论:
https://stackoverflow.com/questions/329174/what-is-flop-s-and-is-it-a-good-measure-of-performance
如果你读了它,你会发现有很多自相矛盾的答案。测量ML模型的源用途不是一个重要的课题吗?为何没有这方面的标准?
发布于 2022-11-04 02:31:23
与触发器线性对应的参数数
一般情况下不会,因为触发器不仅取决于参数的#,还取决于所需的计算(例如,模型复杂性)。
例如,假设我们有两个参数,a和b。计算步骤的数目在a+b、a*b和a^b之间差别很大。
另一种思考方法是,计算a+b+c (3个参数)的步骤比log(a)+log(b) (2个参数)要少。
发布于 2022-11-04 14:13:58
测量ML模型的源用途不是一个重要的课题吗?
机器学习模型的效率非常重要。由于机器学习主要是一个经验性的领域,所以硬件选择很重要。
为何没有这方面的标准?
有一些标准,其中之一是MLPerf。MLPerf有单独的训练和推理类别。为了进行推理,MLPerf以焦耳为单位度量资源。在资源受限的环境中部署机器学习模型时,Joules很重要。其他推断指标包括每秒预测和延迟。
https://datascience.stackexchange.com/questions/115860
复制相似问题