728x90

오늘은 GPU를 이용해서 모델을 훈려시키는 방법에 대해 소개해보려고 한다. 본론으로 들어가서 GPU를 사용한 것과 사용하지 않았을 때 시간이 차이나는 것을 확인해보자 

GPU 사용 X
GPU 사용 O

GPU를 사용했을 때 대략적으로 2배 정도 빠른 것을 볼 수 있다. 그래서 인공지능을 위해서는 GPU가 필수적이면, 시간을 아껴준다. 그렇다면 gpu는 어떻게 사용하는 것일까? 그에 대해 알아보자

 

GPU 사용해보기

GPU를 사용하는 방법은 크게 2가지로 나뉜다. 자동으로 할당하게 하는 경우와 우리가 직접 할당하도록 하는 방법이 있다. 일단 

자동으로 할당하기

trainer = pl.Trainer(accelerator="gpu", devices="auto")
  • accelerator  : 가속기를 의미하며 , gpu, tqu, hpu가 있는데 일반적으로 gpu를 사용하므로 gpu로 설정
  • devices : 몇개를 쓸 것인지 정하는 매개변수이다. 잘 모르겠다면, auto를 쓰면 된다.

 

직접 할당하기

# 0번째, 1번째 gpu에 할당하기
Trainer(accelerator="gpu", devices=[0, 1])

# 0번째, 1번째 gpu에 할당하기
Trainer(accelerator="gpu", devices="0, 1")

# 모든 gpu를 사용하기
Trainer(accelerator="gpu", devices=-1)

 

devices Types Parsed Meaning
3  int [0, 1, 2] 0, 1, 2번째 GPU 사용
-1 int [0, 1, 2, ...] 모든 GPU 사용
[0] list [0] 0번째 GPU 사용
[1,3] list [1, 3] index가 1과 3인 GPU 사용
"3" str [0, 1, 2] 0, 1, 2번째 GPU 사용
"1, 3" str [1, 3] 1번째, 3번째 GPU 사용
"-1" str [0, 1, 2, ...] 모든 GPU 사용

다음과 같이 이용하며, int, list, str 모두 입력할 수 있다.