Re: [請益]未來的學習方向

作者: oopFoo (3d)   2019-02-25 14:29:49
※ 引述《flightheory (飛行原理)》之銘言:
: 真正熟悉是C#, 摸了兩年已經很有心得, PM很放心我寫的C#程式, 尤其是WPF和XAML部分.
: 但無論如何, 既然你提到了Python和C#, 這兩個我都接觸過, 就來試著與你討論討論.
: 先講結論, 個人看法不建議同時學Python和C#, 兩者必須二擇一. 因為兩者差異太大了.
: Python的好處是你很容易用Keras和Tensorflow做出深度學習的東西, 學習門檻很低. 但
: Python程式的速度不快, 以前我用CPU跑CNN, 要在週五下班前開始讓程式跑, 等週一上班
: 才來看結果. 現在用1060 6GB的GPU來跑, 所花時間雖然是1/30, 但跟我希望的還是太慢.
: 所以我打算把手頭上的醫材做到差不多時, 改用C#&CNTK來跑深度學習. 以我對C#的理解
: 速度一定比Python快許多.
Neural Network吃的是floating point的運算速度。簡單看一個連結
https://bit.ly/2XmAWpR
1060的fp32是4.4tflops。intel第一個1tflops的cpu是i9-7980XE。雖然各總差異,但大致上nn一定要用GPU是毋庸置疑的。
Pytorch, Keras, Tensorflow, CNTK的gpu運算都是架在Cuda上,應該說是cuDNN上(n的proprietary library)。所有dl/ml的training時間,99%都在gpu裡,你Python換c#一點都不會有任何影響。
N公司非常狡詐,我們知道fp16在大部分NN運算就夠了,N就把10xx的fp16運算crippled,這一代的fp16是f32的1/64。讓你乖乖買昂貴的AI專用卡。還好Rtx這一代,因為TensorCore原因(4x4Matrix),稍微解放fp16,所以你用Rtx2060的fp16 MixedMode,運算速度可跟1080ti一拼。
AMD gpu不好用,因為他沒有cuDNN。OpenCL沒有人開發clDNN,AMD又另外搞ROCM/HIP,Intel搞MKL-DNN,沒有整合努力。你現在要運算快又便宜就是選RTX2060,除非你的dataset太大。
: 當初有人問我為何辭去公職? 難道不怕公司怎麼了? 我說我相信AI會紅個十年, 等AI退燒
: 而公司又怎麼了, 我也60歲可以退休, 所以就給它拼個十年看看, 或許真的能高雄發大財
我們現在有點像在dk效應的谷底。看一些美國論壇,一堆Engineers講30年,Level5的自駕車還要30年,雖然某某大教授(NN的權威)說他樂觀的估計2032年有機會。
我非常看好現在的AI,但是還是需要很多錢,很多人力,很多的研究,希望大家不要被將要來的AI Winter洗出去。
Software is eating the World,這還是未來的趨勢。
作者: flightheory (飛行原理)   2019-02-25 19:31:00
感謝!畢竟我還是DL的新手,各種意見都值得一聽。那再請問一下,如果跳過CNTK,直接用CUDA,是否能加快速度?
作者: oopFoo (3d)   2019-02-25 20:24:00
不會。Framework主要功能就是Job Manager,真正的work都是cuDNN在作。要快,就是燒錢。https://bit.ly/2NqIGT6還不錯的gpu for deep learning推薦。
作者: gigayaya (gigayaya)   2019-02-25 21:04:00
1060 6g CP真的高
作者: flightheory (飛行原理)   2019-02-25 21:27:00
感謝大大, 看來我下個目標是再弄到一塊1066.
作者: Apache (阿帕契)   2019-02-25 22:04:00
C++寫起來麻煩 CUDA寫起來更麻煩 所以才要做Python API而且自己搞的東西沒有社群來幫你解答維護debug
作者: f496328mm (為什麼會流淚)   2019-02-26 01:22:00
再弄一塊 GPU 玩雙 GPU,要再快就架分散式
作者: lemon651 (小明)   2019-02-26 04:28:00
GPU雲端租一塊就行了阿...

Links booklink

Contact Us: admin [ a t ] ucptt.com