自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PyTorch終于能用上谷歌云TPU,推理性能提升4倍,該如何薅羊毛?

新聞 機器學習
Facebook在PyTorch開發(fā)者大會上正式推出了PyTorch 1.3,并宣布了對谷歌云TPU的全面支持,而且還可以在Colab中調用云TPU。

本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯(lián)系出處。

 Facebook在PyTorch開發(fā)者大會上正式推出了PyTorch 1.3,并宣布了對谷歌云TPU的全面支持,而且還可以在Colab中調用云TPU。

之前機器學習開發(fā)者雖然也能在Colab中使用PyTorch,但是支持云TPU還是第一次,這也意味著你不需要購買昂貴的GPU,可以在云端訓練自己的模型。

而且如果你是谷歌云平臺(Google Cloud Platform)的新注冊用戶,還能獲得300美元的免費額度。

PyTorch終于能用上谷歌云TPU,推理性能提升4倍,該如何薅羊毛?

現(xiàn)在PyTorch官方已經(jīng)在Github上給出示例代碼,教你如何免費使用谷歌云TPU訓練模型,然后在Colab中進行推理。

訓練ResNet-50

PyTorch先介紹了在云TPU設備上訓練ResNet-50模型的案例。如果你要用云TPU訓練其他的圖像分類模型,操作方式也是類似的。

在訓練之前,我們先要轉到控制臺創(chuàng)建一個新的虛擬機實例,指定虛擬機的名稱和區(qū)域。

PyTorch終于能用上谷歌云TPU,推理性能提升4倍,該如何薅羊毛?

如果要對Resnet50在真實數(shù)據(jù)上進行訓練,需要選擇具有最多CPU數(shù)量的機器類型。為了獲得最佳效果,請選擇n1-highmem-96機器類型。

然后選擇Debian GNU/Linux 9 Stretch + PyTorch/XLA啟動盤。如果打算用ImageNet真實數(shù)據(jù)訓練,需要至少300GB的磁盤大小。如果使用假數(shù)據(jù)訓練,默認磁盤大小只要20GB。

創(chuàng)建TPU

  1. 轉到控制臺中創(chuàng)建TPU。
  2. 在“Name”中指定TPU Pod的名稱。
  3. 在“Zone”中指定云TPU的區(qū)域,確保它與之前創(chuàng)建的虛擬機在同一區(qū)域中。
  4. 在“ TPU Type”下,選擇TPU類型,為了獲得最佳效果,請選擇v3-8TPU(8個v3)。
  5. 在“ TPU software version”下,選擇最新的穩(wěn)定版本。
  6. 使用默認網(wǎng)絡。
  7. 設置IP地址范圍,例如10.240.0.0。

官方建議初次運行時使用假數(shù)據(jù)進行訓練,因為fake_data會自動安裝在虛擬機中,并且只需更少的時間和資源。你可以使用conda或Docker進行訓練。

在fake_data上測試成功后,可以開始嘗試用在ImageNet的這樣實際數(shù)據(jù)上進行訓練。

用conda訓練:

  1. # Fill in your the name of your VM and the zone. 
  2. $ gcloud beta compute ssh "your-VM-name" --zone "your-zone"
  3. (vm)$ export TPU_IP_ADDRESS=your-ip-address 
  4. (vm)$ export XRT_TPU_CONFIG="tpu_worker;0;$TPU_IP_ADDRESS:8470" 
  5. (vm)$ ulimit -n 10240 
  6. (vm)$ conda activate torch-xla-0.5 
  7. (torch-xla-0.5)$ python /usr/share/torch-xla-0.5/pytorch/xla/test/test_train_imagenet.py --datadir=~/imagenet --model=resnet50 --num_epochs=90 --num_workers=64 --batch_size=128 --log_steps=200 

用Docker訓練:

  1. # Fill in your the name of your VM and the zone. 
  2. $ gcloud beta compute ssh "your-VM-name" --zone "your-zone"
  3. (vm)$ export TPU_IP_ADDRESS=your-ip-address 
  4. (vm)$ docker run --shm-size 128G -v ~/imagenet:/tmp/imagenet -e XRT_TPU_CONFIG="tpu_worker;0;$TPU_IP_ADDRESS:8470" gcr.io/tpu-pytorch/xla:r0.5 python3 pytorch/xla/test/test_train_imagenet.py --model=resnet50 --num_epochs=90 --num_workers=64 --log_steps=200 --datadir=/tmp/imagenet 

在n1-highmem-96的虛擬機上選用完整v3-8 TPU進行訓練,第一個epoch通常需要約20分鐘,而隨后的epoch通常需要約11分鐘。該模型在90個epoch后達到約76%的top-1準確率。

為了避免谷歌云后續(xù)進行計費,在訓練完成后請記得刪除虛擬機和TPU。

性能比GPU提升4倍

訓練完成后,我們就可以在Colab中導入自己的模型了。

打開notebook文件,在菜單欄的Runtime中選擇Change runtime type,將硬件加速器的類型改成TPU。

PyTorch終于能用上谷歌云TPU,推理性能提升4倍,該如何薅羊毛?

先運行下面的代碼單元格,確??梢栽L問Colab上的TPU:

  1. import os 
  2. assert os.environ[‘COLAB_TPU_ADDR’], ‘Make sure to select TPU from Edit > Notebook settings > Hardware accelerator’ 

然后在Colab中安裝兼容PyTorch/TPU組件:

  1. DIST_BUCKET="gs://tpu-pytorch/wheels" 
  2. TORCH_WHEEL="torch-1.15-cp36-cp36m-linux_x86_64.whl" 
  3. TORCH_XLA_WHEEL="torch_xla-1.15-cp36-cp36m-linux_x86_64.whl" 
  4. TORCHVISION_WHEEL="torchvision-0.3.0-cp36-cp36m-linux_x86_64.whl" 
  5. # Install Colab TPU compat PyTorch/TPU wheels and dependencies 
  6. !pip uninstall -y torch torchvision 
  7. !gsutil cp "$DIST_BUCKET/$TORCH_WHEEL" . 
  8. !gsutil cp "$DIST_BUCKET/$TORCH_XLA_WHEEL" . 
  9. !gsutil cp "$DIST_BUCKET/$TORCHVISION_WHEEL" . 
  10. !pip install "$TORCH_WHEEL" 
  11. !pip install "$TORCH_XLA_WHEEL" 
  12. !pip install "$TORCHVISION_WHEEL" 
  13. !sudo apt-get install libomp5 

接下來就可以導入你要訓練好的模型和需要進行推理的圖片了。

在PyTorch上使用TPU對性能的提升到底有多明顯呢?官方選用了v2-8的一個核心,即1/8 TPU的情形,與使用英偉達Tesla K80 GPU進行對比,實測顯示推理時間大大縮短,性能約有4倍左右的提升。

PyTorch終于能用上谷歌云TPU,推理性能提升4倍,該如何薅羊毛?

GitHub地址:

https://github.com/pytorch/xla/tree/master/contrib/colab

 

責任編輯:張燕妮 來源: 量子位
相關推薦

2025-04-07 09:00:00

數(shù)據(jù)測試工具

2023-11-30 18:25:57

數(shù)據(jù)訓練

2025-04-21 09:07:00

2020-05-29 15:40:40

NVIDIA

2024-08-16 14:15:00

AI訓練

2021-09-17 12:54:05

AI 數(shù)據(jù)人工智能

2024-08-29 12:58:35

2020-04-13 09:50:23

阿里巴巴推理計算

2024-11-21 14:00:00

模型AI

2024-12-09 13:40:26

2019-09-25 14:34:15

AI 數(shù)據(jù)人工智能

2025-02-07 09:00:00

2024-12-02 12:37:42

2024-12-26 16:00:00

英特爾推理模型

2024-01-02 14:07:00

2023-04-06 09:37:22

谷歌AI

2023-09-10 12:37:38

模型英偉達

2024-06-26 12:13:05

2019-06-18 11:09:54

2024-02-02 16:24:43

點贊
收藏

51CTO技術棧公眾號