1. CPU와 GPU의 역할과 차이점 [0]

thumbnail

CPU는 컴퓨터의 두뇌 역할을 하며 전반적인 제어를 담당하고, GPU는 그래픽 처리에 특화되어 있으며 수많은 데이터를 병렬적으로 빠르게 처리하는 데 강점이 있다.

1.1. CPU와 GPU의 기본 역할 [0]

  1. CPU는 컴퓨터의 중앙 처리 장치로, 컴퓨터의 두뇌 역할을 담당한다. [2]
  2. GPU는 원래 그래픽 카드로, 모니터의 그래픽을 계산하여 화면에 뿌려주기 위해 만들어졌다. [3]
    1. GPU는 컴퓨터 전체를 제어하는 것이 아니라 그래픽 계산 전문가로서의 역할을 한다. [2]

1.2. CPU와 GPU 코어 수의 비유 [6]

CPU와 GPU의 코어 수 차이를 설명하기 위해 수학 교수님 한 명과 초등학생 100명에 비유한다. [11]

  1. CPU 코어는 수학 교수님에 비유되며, 그 수가 적다. [11]
    • 예시: 인텔 i9 CPU는 24개의 코어를 가진다. [8]
  2. GPU 코어는 초등학생에 비유되며, 그 수가 많다. [12]
    • 예시: 엔비디아 H100 GPU는 16,000개의 코어를 가진다. [9]
  3. 수학 문제 100개를 푸는 상황을 가정했을 때, 초등학생 100명이 수학 교수님 한 명보다 훨씬 빨리 풀 수 있다. [13]
    • 이는 GPU가 간단한 산수 문제(데이터 처리)를 병렬적으로 빠르게 처리하는 데 특화되어 있음을 보여준다. [14]
    • 단, 초등학생은 어려운 대학 수학 문제는 풀지 못하는 것처럼, GPU도 복잡한 연산보다는 단순 반복 연산에 강하다. [16]

1.3. 그래픽 처리에서의 GPU 역할 [20]

GPU는 수많은 픽셀로 이루어진 이미지를 처리하기 위해 수만 개의 코어를 활용하여 데이터를 분할하고 병렬적으로 연산한다. [28]

  1. 이미지 처리의 기본 단위: 컴퓨터는 이미지를 직사각형 모양의 픽셀로 처리하며, 각 픽셀은 너비와 높이를 가진다. [22]
    • 예시: 너비 120, 높이 960 픽셀의 그림은 약 100만 개의 픽셀로 구성된다. [24]
    • 각 픽셀은 레드, 그린, 블루(RGB)의 세 가지 색상 값으로 이루어져 있어, 총 360만 개 이상의 숫자가 사용된다. [25]
  2. GPU의 병렬 처리 방식:
    • GPU는 수만 개의 코어를 사용하여 그림을 작은 단위로 분할한다. [28]
    • 각 코어에 분할된 데이터를 병렬적으로 할당하여 초등학생 100명이 동시에 문제를 푸는 것처럼 처리한다. [35]
  3. CPU의 순차 처리 방식:
    • CPU는 코어가 적기 때문에 병렬 처리가 가능하더라도 순차적으로 데이터를 처리한다. [36]
    • 예시: 왼쪽 위 픽셀부터 시작하여 하나씩 숫자를 처리하면 그림 한 장을 처리하는 데 하루 종일 걸릴 수 있다. [38]
  4. 해상도와 처리 속도: 그림의 선명도(해상도)가 높아질수록 처리해야 할 픽셀 수가 많아져 GPU의 처리 속도가 느려지고 메모리 사용량도 증가한다. [42]

1.4. 딥러닝에서의 GPU 중요성 [44]

GPU는 대규모의 텐서(데이터 덩어리)를 병렬적으로 연산하는 능력 덕분에 딥러닝 분야에서 핵심적인 역할을 수행한다. [44]

  1. 텐서(Tensor)와 심층 신경망:
    • 딥러닝은 심층 신경망이라는 구조와 연산을 수행하며, 이는 텐서라는 데이터 덩어리로 표현된다. [44]
    • 심층 신경망의 각 노드와 노드 사이의 연결(파라미터)은 매우 많으며, GPT-3의 경우 1,500억 개에 달한다. [45]
  2. GPU의 병렬 연산 능력:
    • GPU는 수만 개에서 수십억, 수백억, 수천억 개에 달하는 파라미터를 가진 대규모 텐서들을 병렬적으로 연산하는 하드웨어이다. [47]
    • 이러한 병렬 연산 능력 덕분에 딥러닝 모델의 복잡한 계산을 빠르게 처리할 수 있다. [48]
  3. GPU의 역할 변화:
    • GPU는 원래 게임 그래픽 구현을 위해 개발되었으나, 딥러닝의 대두로 인해 그 중요성이 크게 부각되었다. [51]