IT/인공지능 / / 2023. 4. 17.

[정보] 인공지능에 CPU 대신 그래픽카드(GPU, TPU)를 사용하는 이유

728x90
728x90
CPU와 GPU는 서로 잘하는 게 다르다

 

GPU, TPU를 쓰는 이유를 한 마디로 설명하면 위와 같습니다. 즉, GPU만의 장점이 있고, 그 장점이 인공지능 모델의 연산에서는 CPU보다 효과적인 결과를 보입니다. 그러면 어떤 이유에서 효과적이라는 걸까요? 이미지와 함께 설명해 드리겠습니다.

CPU는 한 가지 연산은 정말 잘한다.

 

인공지능 모델의 CPU 연산 예시
CPU는 한 번에 한 가지 작업만

CPU와 GPU는 컴퓨터 연산을 담당하는 '코어'가 있습니다. 사람에 비유하면 '뇌'에 해당합니다. CPU의 뇌는 정말 성능이 우수합니다. 연산을 정말 잘하거든요. 그런데 한 번에 한 가지 연산만 할 수 있습니다. 연산 난이도에 상관없이 하나의 연산만 수행합니다. 따라서 처리하는 데 오랜 시간이 걸리는 단일 작업에는 CPU를 쓰는 게 효과적입니다.

 

하지만, 간단한 다중 작업을 처리할 때에는 비효율적입니다. 동시에 처리하면 정말 빠를 텐데, CPU는 어떻게 연산한다고요? 한 번에 한 가지 연산만 수행합니다. 그리고 인공지능 모델의 연산은 간단하지만 수많은 벡터 연산으로 이뤄져 있고요. 그래서 위에 첨부한 이미지처럼, 간단한 웃는 얼굴을 그리는 작업인데도 한 번씩 물감을 뿌리면 그림을 다 그리기까지 굉장히 오랜 시간이 필요합니다.

GPU는 간단한 다중 연산을 할 수 있다.

 

인공지능 모델의 CPU 연산 예시
GPU는 간단한 다중 작업에 효과적

GPU의 코어 성능은 CPU보다 좋지 않습니다. 하지만 코어의 개수는 훨씬 많죠. 따라서 GPU는 간단한 여러 개의 연산을 한 번에 수행할 수 있습니다. 그래서 위에 첨부한 이미지처럼, 더 복잡한 그림도 CPU보다 훨씬 빠른 속도로 처리할 수 있습니다. 왜냐하면 한 번에 그릴 수 있으니까요.

 

극단적인 예시를 들어보자

CPU로 간단한 100만 번 연산을 수행해 보겠습니다. 만약 한 번 연산할 때마다 1ms가 소요된다면, 모든 연산이 끝나려면 100초가 필요합니다. 이건 연산이 복잡해서 걸린 시간이 아니라, 그저 CPU의 특성 때문에 소요된 시간입니다. 한 번에 한 가지 연산만 수행하니까요. 그러면 어차피 연산은 간단한데, 이걸 한 번에 수행하면 속도가 더 빨라지지 않을까요?

 

맞습니다. 100만 개 코어를 가진 GPU가 있다고 가정하겠습니다. CPU보다는 코어 성능이 좋지 않으니, 한 번 연산할 때마다 100ms가 소요된다고 가정하고요. 100만 개의 연산과 100만 개의 코어를 일대일 매칭하는 데 또 10초가 필요하다고 가정해 봅시다. 그러면 모든 연산이 끝나려면 몇 초가 필요할까요? 바로 10.1초입니다. CPU와 비교하면 훨씬 빠릅니다. 이런 연산을 계속 반복한다면, 그 차이는 훨씬 더 벌어질 거고요.

 

위와 같은 이유로 인공지능 분야에서는 GPU/TPU를 이용한 연산이 많이 활용되고 있습니다.

320x100

'IT > 인공지능' 카테고리의 다른 글

[인공지능] 게임 '발번역'은 왜 나오는 걸까?  (0) 2023.04.30
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유