[AI 환경설정] 구글 코랩 소개! (Ft. 사용법, Google Colab, Markdown)

    Google Colaboratory

    인공지능, 머신러닝, 딥러닝에 대해 검색하다 보면 구글 코랩에 대해 자주 접하실 겁니다.
    그래서 오늘은 구글 코랩이 뭔지, 어떻게 사용하는지 알아보겠습니다.


    구글 코랩(Google Colab)

    구글 코랩(Google Colab)이란?

    구글 코랩은 사실 Google Colaboratory가 정확한 명칭입니다.
    줄여서 코랩 혹은 구글 코랩이라고 부르고 있죠.
    구글 코랩은 웹에서 텍스트를 활용한 코딩을 할 수 있게 만든 개발환경입니다.
    쉽게 주피터 노트북의 구글 클라우드 버전이라고 할 수 있겠네요.
    구글 코랩에서 사용하는 프로그래밍 언어는 파이썬입니다.
    마크다운을 이용해 텍스트를 입력할 수도 있어요.
    또한 클라우드 기반의 CPU, GPU환경을 무료로 제공하고 있습니다. 😊
    구글에서 제공하는 환경의 스펙도 같이 정리했으니 천천히 읽어보세요.
    주피터 노트북에 대해 궁금하시면 아래 링크를 확인하세요.

     

    [AI 환경설정] 주피터 노트북 (Ft.Jupyter Notebook, 커널 연결)

    주피터 노트북(Jupyter Notebook)소개 주피터 노트북(Jupyter Notebook) 이란? 주피터 노트북은 Open Source 기반의 웹 플랫폼으로, 파이썬을 비롯한 다양한 프로그램이 언어로 코드 작성과 실행이 가능한 개

    kay-dev.tistory.com


     

    구글 코랩(Google Colab) 환경설정

    구글 코랩 설치하기

    구글 코랩은 구글 드라이브를 활용해서 시작할 수 있어요.
    1️⃣ 구글 드라이브에 접속하고 우클릭을 해줍니다.
    아직 구글 코랩을 사용하기 전이라면 위의 첫 사진처럼 구글 코랩은 보이지 않아요. 😥
    2️⃣ "Connect more apps"를 클릭하고 "Colaboratory"를 찾아서 설치해 줍니다.
    3️⃣ 설치가 끝나면 다시 구글 드라이브에서 우클릭을 해보세요
    이제 구글 코랩이 보이실 겁니다 👍


     

    구글 코랩(Google Colab) 사용하기

    시작하는 방법

    앞선 과정에서 설치한 후라면 구글 코랩을 시작할 수 있어요. 방법은 아~주 간단합니다.
    구글 드라이브에서 우클릭한 후 보이는 Google Colaboratory를 클릭하면 아래와 같은 화면을 만나게 됩니다.
    구글 코랩이 시작되었네요. 😎

    Google Colaboratory 시작


    구글 코랩(Google Colab) 기능 소개

    런타임

    런타임이란 프로그램을 사용하기 위한 가상머신을 의미합니다.
    우리는 인공지능을 다루기 위해 구글 코랩에서 무료로 제공하는 서비스를 사용할 계획이죠.

    런타임 유형 설정

    그 방법을 먼저 소개하겠습니다.
    옵션은 CPU, GPU, TPU 3가지가 있고, "런타임 유형변경"을 통해 선택할 수 있습니다.

    • 런타임 유형
      • None: CPU
      • GPU: 컴퓨터 그래픽 처리 장치
      • TPU: 구글에서 자체 개발한 인공지능 칩 (Tensorflow에 최적화)

    세션

    구글에서 제공하는 무료 버전을 사용할 때 ⚠️주의할 점⚠️이 있습니다.
    바로 런타임 시간과 수에 대한 제한이죠.
    1️⃣런타임은 최장 12시간만 연결이 됩니다. 그리고 90분간 사용이 없을 시에도 연결이 종료됩니다.
    종료가 되면 처음부터 다시 진행해주어야 합니다.
    2️⃣런타임은 최대 5개까지 연결이 가능합니다.
    하지만 GPU를 사용하는 런타임은 1개만 사용할 수 있죠.
    우리는 이를 세션 관리를 통해 조절해주어야 합니다.
    무료로 제공받는 대신 할 일이 추가된 거죠. 😑
    방법은 아래와 같습니다.

    세션 관리

    1번, 2번 방법 중 하나를 선택하셔서 세션 관리를 클릭합니다.
    다음으로 활성 세션 창이 나오는데요. 사용하지 않는 세션을 종료해주면 됩니다.
    그리고 GPU를 사용 중인 세션을 위 스냅샷처럼 표시가 되니 확인하기는 편합니다.


    구글 드라이브 연결하기

    인공지능의 모델링을 위해서는 데이터가 필수죠 💡
    구글 코랩구글 드라이브를 연결해서 필요한 데이터를 불러올 수 있습니다.
    이때 구글 드라이브에 연결하는 과정을 꼭 거쳐야 하는데요.
    방법은 2가지가 있습니다.
    연결에 차이는 없으니 편한 방법을 택하시면 됩니다.
    1️⃣ GUI 활용하기

    구글 드라이브 연결

    위 스냅샷처럼 구글 코랩의 왼편에는 메뉴가 있습니다.
    그중 파일탭을 누르고, 구글 드라이브 모양이 있는 3번째 메뉴를 클릭해 주세요.
    몇 가지 과정을 거치면 보시는 것처럼 "drive"라는 폴더가 생기면서 구글 드라이브와 연결이 됩니다.
    2️⃣ 코드로 연결하기

    from google.colab import drive
    drive.mound('/content/drive')

     

    구글 코랩에서 코딩을 통해 연결하는 방벙도 있습니다.
    위의 코드를 입력하고 실행해주면 1️⃣의 GUI를 활용하는 방법과 같은 과정을 거치게 됩니다.


    구글 코랩(Google Colab) 스펙

    구글 코랩의 스펙은 간단한 command나 함수로 확인할 수 있습니다.
    1️⃣ CPU

    !head /proc/cpuinfo
    
    '''
    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 85
    model name	: Intel(R) Xeon(R) CPU @ 2.00GHz
    stepping	: 3
    microcode	: 0x1
    cpu MHz		: 2000.208
    cache size	: 39424 KB
    physical id	: 0
    '''

    CPU는 "Intel(R) Xeon(R) CPU @ 2.00 GHz"이군요.
    2️⃣ RAM

    !head -n 3 /proc/meminfo
    
    '''
    MemTotal:       13297228 kB
    MemFree:        10871068 kB
    MemAvailable:   12484712 kB
    '''

    RAM은 12.68GB 정도를 사용할 수 있다고 나옵니다.
    3️⃣ GPU

    !nvidia-smi
    
    '''
    Wed Dec 28 02:28:49 2022       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
    | N/A   47C    P0    26W /  70W |      0MiB / 15109MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
                                                                                   
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    '''

    가장 궁금하실 GPU 스펙입니다.
    GPU는 Tesla T4가 조회되네요. 유료 버전의 경우 더 고사양의 GPU를 쓸 수 있다고 하니 참고하세요.
    ⚠️⚠️Tip⚠️⚠️
    GPU 스펙을 확인할 때는 꼭 런타임 유형을 "GPU"로 설정하세요.
    4️⃣ Local device

    from tensorflow.python.client import device_lib
    device_lib.list_local_devices()
    
    '''
    [name: "/device:CPU:0"
     device_type: "CPU"
     memory_limit: 268435456
     locality {
     }
     incarnation: 13824515284984231364
     xla_global_id: -1, name: "/device:GPU:0"
     device_type: "GPU"
     memory_limit: 14415560704
     locality {
       bus_id: 1
       links {
       }
     }
     incarnation: 16946188115771824283
     physical_device_desc: "device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5"
     xla_global_id: 416903419]
    '''

    Tensorflow의 함수를 사용하면 사용하는 Device의 대략적인 스펙을 조회할 수도 있습니다.
    이는 구글 코랩에도 적용되는 내용입니다.
    CPU의 메모리 제한과 GPU에 대한 내용도 있네요.


    구글 코랩을 소개하는 글은 여기까지입니다.
    제 글이 도움이 되면 좋겠습니다.
    감사합니다.😊

    댓글

    Designed by JB FACTORY