구글 코랩의 GPU를 로컬에서 사용하는 방법
1. 들어가며
딥러닝, 스테이블 디퓨젼, 머신러닝을 활용할 때 GPU는 필수적입니다. 하지만 고성능 GPU를 구매하는 것은 부담스러울 수 있습니다. 다행히도 구글 코랩(Google Colab)에서는 무료로 GPU를 제공하며, 이를 로컬 환경에서도 사용할 수 있습니다.
이 글에서는 구글 코랩의 GPU를 로컬에서 사용하는 방법을 단계별로 자세히 설명하겠습니다.
2. 구글 코랩이 제공하는 GPU 종류
구글 코랩에서 제공하는 GPU는 Tesla T4, Tesla P100, Tesla V100 등의 NVIDIA GPU입니다.
- 무료 사용자: Tesla T4 또는 P100 제공 (일정 시간 후 자동 종료)
- Colab Pro: Tesla V100 지원, 더 긴 실행 시간 제공
- Colab Pro+: A100 등 상위급 GPU 사용 가능
로컬 환경에서 구글 코랩의 GPU를 활용하면 하드웨어 성능을 활용하면서도 무료 GPU의 이점을 누릴 수 있습니다.
3. 구글 코랩의 GPU를 로컬에서 활용하는 방법
3.1. 로컬 PC에 Jupyter Notebook 설치
구글 코랩의 GPU를 로컬에서 사용하려면 먼저 Jupyter Notebook을 설치해야 합니다.
명령프롬프트:
pip install jupyter notebook |
설치 후 다음 명령어로 실행할 수 있습니다.
명령프롬프트:
jupyter notebook |
3.2. Google Colab의 SSH 기능 활용하기
구글 코랩에서 SSH를 활성화하면 로컬 환경에서도 원격으로 연결할 수 있습니다. 이를 위해 ngrok을 사용합니다.
1) ngrok 설치
먼저 ngrok을 다운로드하고, 실행 파일을 적절한 위치에 저장하세요.
공식 사이트: https://ngrok.com/download
2) Google Colab에서 SSH 활성화
Google Colab의 새 노트북에서 다음 명령어를 실행하세요.
!apt-get install openssh-server !mkdir -p ~/.ssh !echo "your_public_ssh_key" > ~/.ssh/authorized_keys !chmod 600 ~/.ssh/authorized_keys !service ssh start |
여기서 your_public_ssh_key는 로컬 PC의 SSH 공개 키입니다.
3) ngrok을 활용하여 SSH 터널링
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip !unzip ngrok-stable-linux-amd64.zip !./ngrok authtoken your_ngrok_auth_token !./ngrok tcp 22 |
이제 ngrok이 실행되면 SSH 접속 주소가 표시됩니다.
4) 로컬 PC에서 SSH 접속
로컬 PC에서 다음 명령어로 구글 코랩 인스턴스에 연결합니다.
ssh -o ServerAliveInterval=60 root@0.tcp.ngrok.io -p <PORT> |
이제 구글 코랩의 GPU를 로컬에서 사용할 수 있습니다.
4. 로컬 환경에서 Google Colab의 GPU 활용하기
4.1. 로컬 Jupyter Notebook에서 Google Colab 실행
Google Colab을 로컬 Jupyter Notebook에서 실행하려면 colabcode 라이브러리를 사용합니다.
pip install colabcode |
그 후 다음과 같이 실행합니다.
from colabcode import ColabCode ColabCode(port=10000) |
이제 브라우저에서 http://localhost:10000에 접속하면 Google Colab 환경을 활용할 수 있습니다.
5. PyTorch와 TensorFlow에서 Google Colab의 GPU 사용하기
5.1. PyTorch에서 GPU 확인
import torch print(torch.cuda.is_available()) # True이면 GPU 사용 가능 print(torch.cuda.get_device_name(0)) # 사용 가능한 GPU 이름 출력 |
5.2. TensorFlow에서 GPU 확인
import tensorflow as tf print(tf.config.list_physical_devices('GPU')) # GPU 장치 목록 확인 |
이제 PyTorch와 TensorFlow에서도 Google Colab의 GPU를 로컬에서 활용할 수 있습니다.
6. 로컬 환경에서 Google Colab의 GPU 성능 테스트
다음 코드로 GPU의 성능을 테스트할 수 있습니다.
import torch import time device = torch.device("cuda" if torch.cuda.is_available() else "cpu") x = torch.rand((1000, 1000), device=device) start_time = time.time() for _ in range(1000): x = x @ x print(f"Execution Time: {time.time() - start_time} seconds") |
성능이 정상적으로 나온다면 Google Colab의 GPU가 제대로 동작하는 것입니다.
7. 정리
- SSH 터널링을 이용해 Google Colab과 연결
- Jupyter Notebook에서 Google Colab 실행
- PyTorch, TensorFlow에서 GPU 활용
이 방법을 사용하면 무료로 강력한 GPU를 사용할 수 있어 머신러닝 및 AI 연구에 매우 유용합니다.