代码之家  ›  专栏  ›  技术社区  ›  noureddine-as

更高的浮点精度和机器学习

  •  -1
  • noureddine-as  · 技术社区  · 4 年前

    我通过许多研究论文发现,机器学习算法(更具体地说是CNN/DNN)实际上是非常容错的应用程序,也就是说,它们可以经受住严重的数值错误,通过使用8位甚至子字节整数计算运算符,可以获得非常可接受的结果质量和精度。例如,一些研究论文表明,使用4位整数MAC单元可以获得良好的结果,这使得浮点单元对此类应用完全没有用处。

    我的问题是关于浮点,你认为这在哪里是必须的?它在任何机器学习/人工智能子领域都有一席之地吗?或者它真的只是一个通用和科学计算的游戏?有没有指向一些真正需要并依赖它的有用应用程序/基准测试/平台的指针?

    0 回复  |  直到 4 年前
        1
  •  0
  •   Deepak    4 年前

    在float/int和位数之间进行设计决策。做出这个决定的一个好方法是对模型进行培训后量化,然后看看这会如何改变模型的准确性和性能改进。如果在可接受的精度下降水平内有足够的性能改进,可以将量化作为后处理步骤添加到模型生成过程中。

    这种方法不仅限于科学计算本身或任何特定领域。对初始图像识别模型进行量化,使其预测时间性能提高4倍。话虽如此,在Jetson或Tensforflow Lite应用程序等边缘设备上部署的模型中,量化的采用越来越多

    一个好的起点: Tensorflow post training quantisation

    以下是来自 here Benchmark of quantisation in Image Recogniton models