首先我这里讨论的AI比较局限,因为我是做CV方向的,对其他方向比如NLP仅停留在看知乎或者公众号的水平。
我个人从事了很长时间CV领域的研究和应用,硕士到博士到博后都是这个方向,顶刊顶会都发过,具体的落地应用也做了不少。看到吧里讨论的比较多关于AI、炼丹、生产力的讨论总忍不住要回复一下。结果发现我好像很少发主贴。我先简单说几点吧:
1. AI本身很广泛,吧里流行的AI绘图只是其中一个应用。而且作为CV领域的一块我个人认为甚至算不上主流应用。CV领域的主流应用是目标检测、图像分割/场景解析、图像分类;
2. 深度学习是实现AI的一种手段。卷积网络是深度学习应用到CV领域的主要方法。因为卷积计算可以转变为矩阵运算,而GPU对于这种多位置可并行触发的、简单的加减乘除效率非常高,因此多用GPU而不是GPU来处理;
3. 炼丹通常指训练过程。因为卷积网络本身无法证明其局部最优就是全局最优,因此对于初始的参数可能比较敏感。另外,网络由于比较复杂某些结构的有效性可能无法从理论上进行完全分析。因此网络性能的高低就像古代人炼丹一样,投入元素的种类(网络模块的选择)、投入的比例(模块搭建的方式)、炉温的高低(学习率,优化策略等)不同都会导致成丹效果(网络性能)。
4. 目前来说,N卡虽不是卷积网络的唯一选择,但对于我们来说可能就是唯一选择,以后不知道,目前是这样。我认为的原因有三:
1)网络模块很多,但主流框架支持的是否对AMD进行了完全支持?另外,有些网络模块主流框架都不支持,是研究者自己写的,但大部分研究者为了赶进度只会针对CUDA进行编程实现,这不是python,是CUDA语言(类C++)语言编程。
2)Windows的支持。现状是很多工业软件,比如各种流水线上的控制系统都是windows系统下的控制软件。如果不支持windows开发就无法和控制软件进行联合工作。有人会说Rocm也支持了windows,但很多现场的windows版本很老,比如windows 7,甚至xp。这种情况下是否Rocm还支持?
3)部署加速。Nvidia为自己的显卡设计了TensorRT框架,它通过各种优化让网络能够高效的运行在GPU上,而且支持C++的实现。这不同于仅用pytorch搞搞研究,这是要交付给业主单位使用的。你的模型在没有tensorRT的加持下能达到实时性要求吗?你总不能交付python代码吧,否则你的知识产权如何保护?
5. 显存的焦虑。网络训练需要大显存,越大越好。但实际工作中网络是在推理模式下的。你不可能要求业主也能够训练,而且你也不会让业主训练而降低你的使用价值。在推理模式下显存消耗很低,因为无需存储反向传播的梯度和中间层的结果。我们交付的工控机多用1060或者3060显卡。完全没有问题的。
先写这么多吧。贴个我自己家里搞原型开发的机器,各种性价比产品,通常不用训练,训练去实验室有服务器。

我个人从事了很长时间CV领域的研究和应用,硕士到博士到博后都是这个方向,顶刊顶会都发过,具体的落地应用也做了不少。看到吧里讨论的比较多关于AI、炼丹、生产力的讨论总忍不住要回复一下。结果发现我好像很少发主贴。我先简单说几点吧:
1. AI本身很广泛,吧里流行的AI绘图只是其中一个应用。而且作为CV领域的一块我个人认为甚至算不上主流应用。CV领域的主流应用是目标检测、图像分割/场景解析、图像分类;
2. 深度学习是实现AI的一种手段。卷积网络是深度学习应用到CV领域的主要方法。因为卷积计算可以转变为矩阵运算,而GPU对于这种多位置可并行触发的、简单的加减乘除效率非常高,因此多用GPU而不是GPU来处理;
3. 炼丹通常指训练过程。因为卷积网络本身无法证明其局部最优就是全局最优,因此对于初始的参数可能比较敏感。另外,网络由于比较复杂某些结构的有效性可能无法从理论上进行完全分析。因此网络性能的高低就像古代人炼丹一样,投入元素的种类(网络模块的选择)、投入的比例(模块搭建的方式)、炉温的高低(学习率,优化策略等)不同都会导致成丹效果(网络性能)。
4. 目前来说,N卡虽不是卷积网络的唯一选择,但对于我们来说可能就是唯一选择,以后不知道,目前是这样。我认为的原因有三:
1)网络模块很多,但主流框架支持的是否对AMD进行了完全支持?另外,有些网络模块主流框架都不支持,是研究者自己写的,但大部分研究者为了赶进度只会针对CUDA进行编程实现,这不是python,是CUDA语言(类C++)语言编程。
2)Windows的支持。现状是很多工业软件,比如各种流水线上的控制系统都是windows系统下的控制软件。如果不支持windows开发就无法和控制软件进行联合工作。有人会说Rocm也支持了windows,但很多现场的windows版本很老,比如windows 7,甚至xp。这种情况下是否Rocm还支持?
3)部署加速。Nvidia为自己的显卡设计了TensorRT框架,它通过各种优化让网络能够高效的运行在GPU上,而且支持C++的实现。这不同于仅用pytorch搞搞研究,这是要交付给业主单位使用的。你的模型在没有tensorRT的加持下能达到实时性要求吗?你总不能交付python代码吧,否则你的知识产权如何保护?
5. 显存的焦虑。网络训练需要大显存,越大越好。但实际工作中网络是在推理模式下的。你不可能要求业主也能够训练,而且你也不会让业主训练而降低你的使用价值。在推理模式下显存消耗很低,因为无需存储反向传播的梯度和中间层的结果。我们交付的工控机多用1060或者3060显卡。完全没有问题的。
先写这么多吧。贴个我自己家里搞原型开发的机器,各种性价比产品,通常不用训练,训练去实验室有服务器。


rest