본문 바로가기
Programming

[collab] 코랩 GPU 사용하기 및 성능비교

by 느리게 걷는 즐거움 2022. 1. 17.
반응형

[collab] 코랩 GPU 사용하기 및 성능비교

구글 코랩으로 딥러닝 학습을 수행 시 GPU를 사용하면 성능 향상이 향상됩니다. 코랩에서 GPU를 사용하도록 설정을 변경하는 방법과 성능이 얼마나 좋아지는 지 확인해 봅니다.

 

GPU 사용 설정방법

코랩에서 GPU를 사용하기 위해서 코랩 설정은 변경합니다. 메뉴의 <수정> - <노트설정>을 선택하면 코랩에서 사용가능한 하드웨어 가속기 선택 메뉴가 나옵니다.

하드웨어 가속기 메뉴에서 설정가능한 가속기는 GPU와 TPU가 있습니다. GPU는 Graphic 카드를 이용하여 학습의 성능을 높여주고 TPU는 구글이 개발한 Tensor Processing Unit을 말합니다.

우선 GPU를 선택하고 학습을 진행합니다. GPU를 선택한 후 현재 코랩에서 GPU가속기를 사용할 수 있는 상태인지 확인을 합니다. 아래의 GPU를 통해서 cuda를 사용할 수 있는 지 확인하면 True를 확인할 수 있습니다.

GPU를 사용할 때 수행시간을 확인하기 위해서 %%time명령을 사용합니다. 주피터 노트북에서 이 명령을 사용하면 코드가 수행된 시간을 같이 출력합니다. https://wikidocs.net/61046 <PyTouch로 시작하는 딥러닝 입문>의 숫자 필기 데이터 학습 코드를 통해서 각 하드웨어 가속기별 성능을 비교합니다,

GPU를 사용하는 경우 total 311ms가 걸렸습니다. 

 

하드웨어 자원별 성능 비교

CPU, GPU 그리고 TPU를 사용하였을 때 각가의 수행 시간을 확인합니다. 비교를 위해 메뉴에서 하드웨어 자원을 None으로 선택하고 cuda가 사용가능한지 아래의 명령으로 확인합니다. "False"로 CPU로 동작함을 확인할 수 있습니다.

CPU를 사용한 결과는 아래와 같습니다. total 2.61초가 걸렸습니다. 

TPU 설정으로 변경한 경우 cuda 사용가능에 대한 리턴값은 false로 출력됩니다. Tensor CPU에서는 cuda를 사용할 필요가 없기에 당연한 결과인 것 같습니다. 파이토치 보다는 텐서플로우가 더 성능 향상이 있지 않을까 생각해봅니다.

GPU와 TPU를 사용한 수행시간을 확인한 결과는 아래와 같습니다. CPU보다는 훨씬 빠른 수행시간을 보여줍니다. 하지만 하드웨어 자원을 코랩 다른 사용자들과 함께 사용하기 때문에 매번 작업 수행시간이 다르게 출력될 수 있습니다. 

GPU
TPU

 

코랩을 통해서 딥러닝을 공부하시는 분들이라면 GPU/TPU 하드웨어 가속기를 꼭 사용하여 공부하면 좋을 것 같습니다.

읽어 주셔서 감사합니다.

반응형