남들은 맥북으로도 gpu 잘만 사용하는 거 같은데 왜 나는 안될까 고민하며 구글링만 며칠을 한 거 같다. 설치해야 하는 것들 모두 설치했고, 입력해야 하는 코드들 입력했는데 대체 뭐가 문제인건지..
코랩을 이용하면 되지 싶어 로컬에서 gpu 사용하는 걸 포기하고 한동안 코랩을 썼는데 코랩에서도 감당못하는 프로젝트를 하게 되면서 다시 로컬에서 gpu 사용방법을 찾아보았다. (사실 로컬에서 사용할 수 있는데 코랩 pro 결제가 아까웠다.)
아나콘다와 파이토치를 먼저 설치해주어야 하는데
Apple Silicon(M1) 에 Anaconda & PyTorch 설치하기 + 성능 측정
위 블로그에서 참고해서 설치해주면 된다. 설치법 정리도 잘 해주셨지만 성능 비교까지 해주셔서 블로그를 정독하며 많이 배웠다.
그렇게 설치를 마치고 주피터 노트북을 실행한다.
device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu')
device = torch.device('mps') if torch.backends.mps.is_available() else torch.device('cpu')
보통은 gpu를 사용하기 위해 1번처럼 device = torch.device('cuda')를 사용하는데 mac m1에서는 device = torch.device('mps')를 사용해야한다.
그리고 보통은 gpu를 사용할 수 있는지 확인하기 위해 아래와 같은 코드를 사용하며 True가 나오면 사용할 수 있다는 의미이다.
torch.cuda.is_available()
하지만 mac m1에서는 아래와 같은 코드를 사용하여 확인한다.
torch.backends.mps.is_available()
그렇기 때문에 위의 2번에서 if 뒤에 코드를 주의해서 써주어야 한다.
(참고 : M1 Part6 - '니들이 mps를 아느냐?' Install Pytorch(GPU) on M1 ver.220624)
그렇게 gpu를 사용하여 학습을 진행했는데 preview 버전이라 그런지 체감상 cpu와 속도 차이가 크게 나지 않는 거 같다. 심지어 버퍼링이라 해야할지 렉이라 해야할지 노트북 반응 속도만 느려졌다.
결론 : 코랩 pro 결제하자!