两种最受欢迎的深度学习框架是TensorFlow和PyTorch。它们都通过CUDA工具包支持NVIDIA GPU加速。由于Apple不支持NVIDIA GPU,因此直到现在,Apple用户只能在CPU上进行机器学习(ML),这明显限制了训练ML模型的速度。
借助由新型M1芯片提供支持的Mac,以及macOS Big Sur中提供的ML Compute框架,神经网络现在可以在Mac上进行培训,从而大大提高了性能。
“ TensorFlow 2.4的新tensorflow_macos分支利用ML Compute使机器学习库不仅可以充分利用CPU,而且可以充分利用M1和Intel驱动的Macs中的GPU,从而显着提高培训性能。首先,通过应用更高级别的优化(如融合层),选择合适的设备类型并编译图形并将其作为图元执行,并由CPU上的BNNS和GPU上的Metal Performance Shaders加速。
自从上周购买了新的M1 Mac Mini之后,我决定使用新的Apple框架尝试我的TensorFlow脚本之一。我根据Apple GitHub网站说明在Mac Mini上安装了tensorflow_macos,并使用以下代码对fashion-MNIST数据集中的项目进行了分类。
首先,我在Linux机器上使用Intel®Core™i7-9700K处理器,32GB RAM,1TB快速SSD存储和Nvidia RTX 2080Ti视频卡运行了脚本。
然后,我在带有M1芯片,8GB统一内存和512GB快速SSD存储的新Mac Mini上运行脚本。新的Apple M1芯片包含8个CPU内核,8个GPU内核和16个神经引擎内核。
培训和测试耗时6.70秒,比我的RTX 2080Ti GPU快14%!我惊叹了。
Apple M1芯片的性能与Apple ML Compute框架以及TensorFlow 2.4(TensorFlow r2.4rc0)的tensorflow_macos分支共同发挥了出色的性能。 目前,只有以下软件包可用于M1 Mac:SciPy和从属软件包,以及服务器/客户端TensorBoard软件包。 希望不久将有更多软件包可用。 添加PyTorch支持在我的清单上很重要。 最终,Mac成为机器学习从业人员的可行替代方案。 尽管前途一片光明,但我还没有为Linux机器做好准备。