1. 首页
  2. 开发者
  3. 机器学习

人工智能加速器自学组装指南(一)──基本架构

        笔者公司开展了几个人工智能专案,有幸从头到尾参与了人工智能server 的选择、设定、测试、执行,从用i5 CPU 优化、1050、1080Ti 到NVIDIA 最顶规的P100,当中问了一些强者也爬了不少文,这篇文章试图收敛下当初挑选的守则,当做小小的回报。人工智能世界软硬件神人太多,期望抛砖引玉激起更多讨论,也欢迎强人不吝指教。         当跑深度学习(DL)、机器学习(ML)实验,模型太大、层数或神经元过多, 一般电脑可能需要花半天、数天甚至以周为单位才能完成,或者发现错误。对公司而言,效率不彰绝对不是件好事;对初学者而言,trial and error 来来回回的时间过长,其实很容易感到挫折,如果能加速实验进程,快速得到回馈并修正,对于这领域的学习与研究也会有较快的进展。  
如何为自己的模型加速?         如果你是个初踏入ML、DL的初心者,学会Python/R不久,想试着建构模型,微软设置了Azure Machine Learning Studio这个平台,使用介面相当直觉,也可以直接套用微软本身提供的演算法模组修改参数就好,可以轻松将模型建置起来。而亚马逊、Google也提供类似的服务。         如果你的模型并非图像识别相关,有没有显卡加速对你而言其实关系不大。加以,若你使用的语言是Python及英特尔的CPU,英特尔推出加速库「Intel Distribution for Python」,其实就能得到不错的提升。前英特尔高级工程师James Reinders先前还出来背书,使用四核心i5的iMAC,透过加速库效能提升了20倍。         但如果你跑的是CNN 、RNN、 Reinforcement Learning等neural network模型,苦于模型运算庞大,或想参加Kaggle、WebVision一类竞赛(很可惜今年ImageNet是最后一届),这篇文章或对你有所帮助。         如果是要自己组来玩玩,让你的实验模型跑得动、可以参加竞赛,价格差不多在台币5~10 万元之间可以搞定,这个价格不是绝对,现有设备规格、预算、模型大小… …都是变动因素,甚至你不需要重新组台电脑,只需要加张显卡就已够用。  
GPU 加速该怎么挑?         目前在跑CNN 使用GPU 加速一般多直接选择NVIDIA 显卡,倒非AMD 效能较差,而是NVIDIA 的CUDA 在软硬、CPU / GPU 整合上做了不少努力,CPU / GPU 原始码的转换用C 或C++ 就可以上手,较不需要复杂的转换和修改,对许多新手玩家而言,入门门槛较AMD 采Open CL 低一点。         在预算有限的情况下,买一张20 万的P100 来跑你的模型,未必是唯一的选择,到底如何挑选一张最符合效益的显卡?         先讲RAM,基本上3GB RAM 绝对不够,如果参加一些Kaggle 等常规竞赛,6GB RAM 其实就已足够。但GPU 最重要的还是看其记忆体频宽(Memory Bandwidth)与GFLOPs。         记忆体频宽决定了GPU 输出效率,记忆体频宽为时脉与介面频宽的乘积。简单来说,时脉就像水流速度,介面频宽是水管的宽窄,而在一定时间内水管通过的水流量就是记忆体频宽,如果记忆体频宽不够,即便记忆体容量(水桶)再大,也是徒然。对平行运算而言,记忆体频宽尤其重要,而这点,GPU 比CPU 优秀得多,也是为什么平行运算多拿GPU 加速的原因。
人工智能加速器自学组装指南(一)──基本架构       除了直接看时脉、介面频宽来检视记忆体频宽,维基其实查得到NVIDIA 与AMD 所有GPU 的公版设定与测试数值,透过这两张表检视显卡的参数,其实一目了然。

发布者: aihot,转转请注明出处:http://www.aiwuyun.net/archives/3960.html

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

邮件:admin@aiwuyun.net

工作时间:周一至周五,9:30-18:30,节假日休息