<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【快得嚇人】蘋果史上最強(qiáng)芯片M1跑神經(jīng)網(wǎng)絡(luò)

          共 6678字,需瀏覽 14分鐘

           ·

          2021-10-26 05:18

          點擊關(guān)注公眾號,干貨及時送達(dá)

          新智元報道??來源網(wǎng)絡(luò)?編輯:好困 小咸魚

          【新智元導(dǎo)讀】5nm工藝,570億晶體管,70%CPU性能提升,4倍GPU性能提升。號稱史上最強(qiáng)芯片的M1 Max,只能「剪剪視頻」?


          最近,蘋果開了一個芯片新品發(fā)布會。
          ?
          光看參數(shù),M1 Pro和M1 Max兩款芯片確實太頂了!
          ?
          M1 Pro,晶體管面積達(dá)到245mm2,內(nèi)置337億個晶體管,是M1的2倍多。
          ?
          ?
          而M1 Max更夸張,搭載570億個晶體管,比Pro還要大70%,芯片面積達(dá)到432mm2。
          ?
          ?
          M1 Pro和M1 Max均采用大小核設(shè)計,最多10個核心,包括8個高性能內(nèi)核和2個高效內(nèi)核,CPU的性能直接比前代M1芯片提升70%。
          ?
          GPU方面,M1 Pro采用最多16個核心,性能比M1芯片的GPU高出兩倍。
          ?
          而M1 Max一舉將GPU的核心數(shù)量干到32個,算力可以達(dá)到恐怖的10.4TFLOPs,比M1的GPU還要再快4倍!
          ?
          ?
          10TFLOPs,這個數(shù)字有點熟悉啊?
          ?
          對GPU性能敏感的朋友可能聯(lián)想到了,空氣顯卡公司Nvidia的RTX 2080給出的GPU參考性能也是這個數(shù)字。
          ?

          M1

          M1 Pro

          M1 Pro

          M1 Max

          M1 Max

          GPU核心數(shù)

          8

          14

          16

          24

          32

          Teraflops

          2.6

          4.5

          5.2

          7.8

          10.4

          AMD GPU

          RX 560?

          (2.6TF)

          RX 5500M?

          (4.6TF)

          RX 5500?

          (5.2TF)

          RX 5700M?

          (7.9TF)

          RX Vega 56?

          (10.5TF)

          Nvidia GPU

          GTX 1650

          (2.9TF)

          GTX 1650 Super?

          (4.4TF)

          RTX3050-75W(4.4TF

          GTX 1660 Ti?

          (5.4TF)

          RTX 2070

          (7.4TF)

          RTX 2080?

          (10TF)

          RTX3060-80W(10.94TF)

          ?
          現(xiàn)在深度學(xué)習(xí)這么火,要不讓M1系列的芯片和RTX 2080比試比試?
          ?

          M1 VS 2080Ti


          提到深度學(xué)習(xí)框架無非就是TensorFlow和PyTorch。
          ?
          然而,這倆一直以來都只支持在NVIDIA的GPU上使用CUDA加速。而蘋果用戶只能在CPU上慢慢跑。
          ?
          不過,蘋果在2020年11月推出了采用M1芯片的Mac之后,很快,TensorFlow也出了2.4版本更新,支持在M1的GPU上訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
          ?
          https://machinelearning.apple.com/updates/ml-compute-training-on-mac
          ?
          「TensorFlow 2.4的tensorflow_macos利用ML Compute,使機(jī)器學(xué)習(xí)庫不僅能充分利用CPU,還能充分利用M1和英特爾驅(qū)動的Mac中的GPU,大幅提高訓(xùn)練性能?!?/span>
          ?
          ?
          說得這么nice,到底怎么樣,還是要實踐才知道。
          ?
          鑒于搭載M1 Pro和M1 Max的最新款Macbook Pro還未開售,就先用他們的小弟M1代替他們出場吧。M1的GPU最高可以跑到2.6TFLOPs,差不多是Nvidia RTX 2080獨顯的四分之一。
          ?
          先在fashion-MNIST數(shù)據(jù)集上,訓(xùn)練一個小的三層全連接網(wǎng)絡(luò)試試。
          ?
          #import librariesimport tensorflow as tfimport time
          #download fashion mnist datasetfashion_mnist = tf.keras.datasets.fashion_mnist(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
          train_set_count = len(train_labels)test_set_count = len(test_labels)
          #setup start timet0 = time.time()
          #normalize imagestrain_images = train_images / 255.0test_images = test_images / 255.0
          #create ML modelmodel = tf.keras.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dense(10)])
          #compile ML modelmodel.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy'])
          #train ML modelmodel.fit(train_images, train_labels, epochs=10)
          #evaluate ML model on test settest_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
          #setup stop timet1 = time.time()total_time = t1-t0
          #print resultsprint('\n')print(f'Training set contained {train_set_count} images')print(f'Testing set contained {test_set_count} images')print(f'Model achieved {test_acc:.2f} testing accuracy')print(f'Training?and?testing?took?{total_time:.2f}?seconds')
          ?
          測試開始,先在一臺搭載Intel i7-9700K,擁有32GB內(nèi)存,以及一張Nvidia RTX 2080Ti獨立顯卡的Linux系統(tǒng)電腦上運(yùn)行上面的代碼。
          ?
          ?
          很快,就得到了結(jié)果:訓(xùn)練和測試花了7.78秒。
          ?
          接著,用搭載M1處理器(8個CPU核心,8個GPU核心,16個神經(jīng)引擎核心)和8GB內(nèi)存的Mac Mini訓(xùn)練模型。
          ?
          ?
          結(jié)果非常amazing??!
          ?
          訓(xùn)練和測試僅僅耗時6.70秒,比RTX 2080Ti的GPU還要快14%!這就有點厲害了。
          ?
          但說實話,fashion-MNIST分類這種任務(wù)有點過于簡單了,如果想在更大的數(shù)據(jù)集上,訓(xùn)練更強(qiáng)大的模型呢?
          ?
          所以,得給它們來點更難的任務(wù),分別用M1和RTX 2080Ti在Cifar10數(shù)據(jù)集上訓(xùn)練一個常用的ResNet50分類模型如何?

          #import librariesimport tensorflow as tffrom time import perf_counter
          #download cifar10 datasetcifar10 = tf.keras.datasets.cifar10(train_images, train_labels), (test_images, test_labels) = cifar10.load_data()
          train_set_count = len(train_labels)test_set_count = len(test_labels)
          #setup start timet1_start = perf_counter()
          #normalize imagestrain_images = train_images / 255.0test_images = test_images / 255.0
          #create ML model using tensorflow provided ResNet50 model, note the [32, 32, 3] shape because that's the shape of cifarmodel = tf.keras.applications.ResNet50( include_top=True, weights=None, input_tensor=None, input_shape=(32, 32, 3), pooling=None, classes=10)
          # CIFAR 10 labels have one integer for each image (between 0 and 10)# We want to perform a cross entropy which requires a one hot encoded version e.g: [0.0, 0.0, 1.0, 0.0, 0.0...]train_labels = tf.one_hot(train_labels.reshape(-1), depth=10, axis=-1)
          # Do the same thing for the test labelstest_labels = tf.one_hot(test_labels.reshape(-1), depth=10, axis=-1)
          #compile ML model, use non sparse version here because there is no sparse data.model.compile(optimizer='adam', loss=tf.keras.losses.CategoricalCrossentropy(), metrics=['accuracy'])
          #train ML modelmodel.fit(train_images, train_labels, epochs=10)
          #evaluate ML model on test settest_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
          #setup stop timet1_stop = perf_counter()total_time = t1_stop-t1_start
          #print resultsprint('\n')print(f'Training set contained {train_set_count} images')print(f'Testing set contained {test_set_count} images')print(f'Model achieved {test_acc:.2f} testing accuracy')print(f'Training?and?testing?took?{total_time:.2f}?seconds')

          測試再次開始,在RTX 2080Ti運(yùn)行新代碼,表現(xiàn)非常不錯。
          ?
          ?
          訓(xùn)練了10個epoch,訓(xùn)練和測試共耗時418.73秒,GPU的利用率在65%和75%之間波動。
          ?
          接下來,在M1 Mac Mini上運(yùn)行新代碼。
          ?
          ?
          看上去有點拉胯啊,M1 Mac Mini訓(xùn)練和測試總耗時2286.16秒,是RTX 2080Ti GPU耗時的5.46倍。
          ?
          理論上講,M1的GPU性能是RTX 2080Ti GPU的3.84分之一,這么看,其實際性能還是略有欠缺。
          ?
          ?
          通過Mac的活動監(jiān)視器也能看到,CPU的使用率確實較低,GPU幾乎沒有怎么使用,看來還是Tensorflow對M1硬件資源的調(diào)度優(yōu)化得不夠好。
          ?
          不過,最近,Tensorflow放出了對M1 Metal GPU插件支持。
          ?
          https://developer.apple.com/metal/tensorflow-plugin/

          還給出了安裝指導(dǎo)教程,感興趣的朋友可以嘗嘗鮮(需安裝TensorFlow v2.5或v2.6)。
          ?
          ?
          友情提示,先看看TensorFlow_macOS GitHub倉庫的issue的數(shù)量,勸退不。。。
          ?
          ?
          這么來看,M1確實可以訓(xùn)練深度學(xué)習(xí)模型,實際性能也勉強(qiáng)能用。
          ?
          要是換上那個4倍加成的M1 Max沒準(zhǔn)還真能和RTX 2080Ti GPU碰一碰。
          ?
          但是還是那個問題:能用不代表好用。
          ?

          為啥評測只有「剪視頻」


          M1一直以來都有一個被詬病的地方:生態(tài)不行。
          ?
          推特上有大神留言:「M1確實能用于數(shù)據(jù)科學(xué),但恐怕你得花一個通宵裝配置才能用」。
          ?
          ?
          其實,不僅僅是機(jī)器學(xué)習(xí),很多大型游戲和工業(yè)軟件目前都不兼容蘋果的M1系列芯片。
          ?
          在知乎上,就有人提出了質(zhì)疑:為什么在宣傳蘋果的M1芯片的性能時,總是以視頻剪輯為例呢?
          ?
          ?
          排第一的回答就說得很有道理:「他們驚嘆M1的強(qiáng)大的時候,自然用自己最順手的方式來說明M1強(qiáng)大。看起來是清一色的用視頻來驗證M1的強(qiáng)大,其實只是他們的聲音大罷了?!?/span>
          ?
          而且,看完剛才那段用M1跑機(jī)器學(xué)習(xí)的體驗,這個問題其實也就不難回答了。
          ?
          寫個文:用不著;
          編個程:不會用。
          ?
          當(dāng)然,也有非專職博主做過Spring性能的測試,在轉(zhuǎn)譯模式下跑Java,性能也很不錯。特別是對小內(nèi)存的優(yōu)化,以及幾乎無敵的不發(fā)熱和沒噪聲。
          ?
          不過對于這一點,有網(wǎng)友表示:「軟件開發(fā)在Mac上是劣勢,在M1上更是劣勢中的劣勢?!?/span>
          ?
          ?
          那這么看來,在「生產(chǎn)力」里面,可能也就只有「視頻」既能體現(xiàn)出性能強(qiáng)勁,又方便好做了。
          ?
          然而,網(wǎng)友吐槽說:「M1也就用來剪點小片子玩玩還行了」。
          ?
          ?
          除此以外也一大堆插件只支持Intel,甚至連Mac都沒有。
          ?
          游戲呢,一直都不是Mac的重點,這次蘋果就更直接了,一句都沒提。以前好歹還放一個狂野飆車9呢。
          ?
          既然蘋果的態(tài)度都這么明顯了,何必非要用MAC去自己折磨自己呢。
          ?
          有網(wǎng)友就表示:「既然我有錢16199買mbp,我自然也有windows主機(jī)」。
          ?
          ?
          挖礦這事吧,不提倡,而且就M1的表現(xiàn)來說,非常拉垮。不知道M1 Max能不能一雪前恥。
          ?
          ?
          話說回來,最常用的生產(chǎn)力難道不是word、ppt、keynote這些么,買一個M1的MacBook,續(xù)航長,屏幕好,速度快還便宜,多香。
          ?
          ?

          參考資料:

          文中引用了青空,Hate Letter等人的回答,具體參見:

          https://www.zhihu.com/question/460373656

          https://www.zhihu.com/question/493188474

          https://www.zhihu.com/question/493188575

          https://appleinsider.com/articles/21/10/19/m1-pro-and-m1-max-gpu-performance-versus-nvidia-and-amd

          https://developer.apple.com/metal/tensorflow-plugin/

          https://medium.com/analytics-vidhya/m1-mac-mini-scores-higher-than-my-nvidia-rtx-2080ti-in-tensorflow-speed-test-9f3db2b02d74

          https://twitter.com/theshawwn/status/1449930512630525956?s=21

          推薦閱讀

          (點擊標(biāo)題可跳轉(zhuǎn)閱讀)

          JupyterLab 終于出了 Windows 桌面版

          機(jī)器學(xué)習(xí)最困難的部分:超參數(shù)調(diào)試

          神經(jīng)網(wǎng)絡(luò)之CNN與RNN的關(guān)系

          【機(jī)器學(xué)習(xí)基礎(chǔ)】多標(biāo)簽分類的玩法

          三步搞定機(jī)器學(xué)習(xí)核心:矩陣求導(dǎo)

          國內(nèi)Github下載很慢,用上了這個插件后,下載速度嗖嗖嗖的~!

          老鐵,三連支持一下,好嗎?↓↓↓

          瀏覽 278
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久久久国产视频 | 北条麻妃无码专区 | 家庭av乱伦 | 免费的黄色网 | 热无码视频一区 |