상세 컨텐츠

본문 제목

CUDA가 아닌 MPS로 MNIST학습

공부/AI

by 근성 2022. 6. 23. 20:59

본문

저는 M1 Air를 사용하고 있습니다.

 

하지만 M1 Air는 apple사의 칩이라서 NVIDIA의 CUDA를 사용하지 못합니다.

 

하지만 pytorch 1.12부터는 CUDA대신 MPS를 활용해서 M1의 GPU를 사용할 수 있습니다.

 

1. pytorch를 다운로드 받습니다.

아래의 링크에서 자기 PC와 맞는 사양을 선택합니다.

https://pytorch.kr/get-started/locally/

 

파이토치 한국 사용자 모임 (PyTorch Korea User Group)

파이토치 한국 사용자 모임에 오신 것을 환영합니다. 딥러닝 프레임워크인 파이토치(PyTorch)를 사용하는 한국어 사용자들을 위해 문서를 번역하고 정보를 공유하고 있습니다.

pytorch.kr

 

저는 M1이고 pip를 사용하므로 아래와 같습니다.

Preview를 통한 1.11.0이상의 pytorch를 체험할 수 있습니다 !

자신에게 맞는 사양을 선택하면 

pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu

" 이 명령을 실행하세요 :  " 에 적힌 command가 뜨고 그것을 복사 붙여넣기를 하면 pytorch가 다운로드가 되고, 버젼을 확인하면

1.13.0 버젼을 확인할 수 있습니다.

 

위와같은 코드를 통해 MNIST를 MPS로 구현을 했습니다.

https://github.com/dlwnsgud8406/mytorch/blob/master/testMPS.ipynb

 

GitHub - dlwnsgud8406/mytorch: train pytorch at vacation

train pytorch at vacation. Contribute to dlwnsgud8406/mytorch development by creating an account on GitHub.

github.com

 

왼쪽이 MPS로학습을 시킨것이고, 오른쪽이 기존 cpu로 학습을 했을때의 모습입니다.

좌 : MPS, 우 : CPU

 

MPS를 는 대략 1000step당 42초가 걸리고 CPU는 대략 1분을 넘어가는것을 확인할 수 있습니다.

 

같은시간을 학습해야한다면 당연히 MPS로 하는게 정확성이 더 높게 나오는것을 알 수 있습니다.

 

하지만 노트북의 M1 air chip이다 보니 칩 갯수가 적어 RTX나 GTX만큼의 성능을 기대하긴 어렵지만, 노트북 스펙치고는 나쁘지 않은것 같습니다.

 

이 MPS의 후기를 마치겠습니다.

'공부 > AI' 카테고리의 다른 글

CNN으로 풍경 사진을 분류  (0) 2021.08.05
딥러닝으로 손글씨 실습  (0) 2021.07.20
Binary Logical Regression 구현  (0) 2021.07.20
Linear Regression 구현  (0) 2021.07.15

관련글 더보기

댓글 영역