본문 바로가기
Study/AI

[AI] 딥러닝 개발을 위한 CPU, GPU, 메모리 이해하기

by ngool 2025. 2. 7.

딥러닝 개발자가 되기 위해서는 컴퓨터의 핵심 부품인 CPU, GPU, 메모리에 대한 이해가 필수입니다.

이 세 가지는 딥러닝 모델을 학습시키는 과정에서 각각 중요한 역할을 합니다.

본 포스팅에서는 이들을 쉽게 설명하고, 딥러닝에서 어떻게 활용되는지 알아보겠습니다.


CPU (Central Processing Unit)

✅ 특징

CPU(Central Processing Unit, 중앙처리장치)는 컴퓨터의 두뇌 역할을 하며, 모든 계산과 명령을 처리하는 핵심 부품입니다.

  • 코어(Core): CPU의 작업 단위입니다. 코어가 많을수록 동시에 더 많은 작업을 처리할 수 있습니다. 예를 들어, 4코어 CPU는 4개의 작업을 동시에 처리할 수 있습니다.
  • 클럭 속도(Clock Speed): CPU가 1초에 몇 번 작업을 처리할 수 있는지를 나타냅니다. 단위는 GHz(기가헤르츠)로, 3.5GHz CPU는 1초에 35억 번의 작업을 처리할 수 있습니다.
  • 캐시 메모리(Cache Memory): CPU 내부에 있는 작고 빠른 메모리입니다. 자주 사용하는 데이터를 저장해 빠르게 접근할 수 있습니다.

✔️ GPU의 장점

데이터 전처리, 파일 로드, 기본적인 연산 등 다양한 작업을 수행할 수 있고, 복잡한 논리 연산에 강합니다.

 

CPU의 한계

CPU는 다재다능하지만, 동시에 많은 작업을 처리하는 데는 한계가 있습니다. 특히 딥러닝에서는 수천, 수만 개의 계산을 동시에 해야 하기 때문에 CPU만으로는 부족합니다.


GPU (Graphics Processing Unit)

✅ 특징

GPU(Graphics Processing Unit, 그래픽처리장치)는 그래픽 처리에 특화된 부품입니다. 원래는 게임이나 영상 렌더링을 위해 설계되었지만, 딥러닝에서 엄청난 성능을 발휘합니다.

  • 코어 수: CPU보다 훨씬 많은 코어(수천 개)를 가지고 있어, 동시에 많은 계산을 수행할 수 있습니다. 예를 들어, NVIDIA의 고성능 GPU는 5000개 이상의 코어를 가지고 있습니다.
  • 병렬 처리: GPU는 수천 개의 코어가 동시에 작업을 처리할 수 있어서 딥러닝에서 필요한 행렬 계산에 최적화되어 있습니다. 예를 들어, 이미지 처리에서 픽셀 단위의 계산을 동시에 처리할 수 있습니다.
  • 텐서 코어(Tensor Cores): 최신 GPU에는 딥러닝을 위해 특화된 텐서 코어가 있습니다. 이 코어는 행렬 계산을 더 빠르게 처리할 수 있습니다.

✔️ GPU의 장점

GPU는 딥러닝 모델 학습에서 필수적입니다. 특히 행렬 곱셈(matrix multiplication)과 같은 복잡한 계산을 병렬로 빠르게 처리할 수 있습니다.

GPU의 한계

GPU는 전력을 많이 소모하고, 고성능 GPU는 비용이 많이 듭니다. 또한, GPU만으로는 모든 작업을 처리할 수 없기 때문에 CPU와의 협력이 필요합니다.


Memory

✅ 특징

메모리는 CPU와 GPU가 작업할 때 필요한 데이터를 임시로 저장하는 공간입니다. 메모리가 크면 더 많은 데이터를 한 번에 처리할 수 있어 성능이 향상됩니다.

  • RAM (Random Access Memory): CPU가 작업할 때 필요한 데이터를 저장합니다. 전원이 꺼지면 데이터가 사라집니다.
  • VRAM (Video RAM): GPU가 작업할 때 필요한 데이터를 저장합니다. 딥러닝 모델의 가중치와 배치 데이터를 저장하는 데 사용됩니다.

✔️ Memory의 장점

빠른 데이터 접근이 가능하여 CPU와 GPU가 데이터를 기다리는 시간을 줄일 수 있습니다. 메모리가 크면 더 많은 데이터를 한 번에 처리할 수 있어 모델 학습 속도가 빨라집니다.


❌ Memory
의 한계

메모리가 부족하면 CPU나 GPU가 데이터를 기다리느라 성능이 떨어지는 "병목 현상(Bottleneck)"이 발생할 수 있습니다. 특히 VRAM이 부족하면 Out of Memory(OOM) 오류가 발생할 수 있는데, 이로 인해 딥러닝 모델 학습이 중단될 수 있습니다.


딥러닝에서의 활용

딥러닝 모델을 학습시키는 과정에서 CPU, GPU, 메모리는 다음과 같이 협력합니다.

  1. 데이터 준비: CPU가 데이터를 읽고 전처리(예: 이미지 크기 조정, 정규화)를 합니다.
  2. 모델 학습: GPU가 행렬 계산을 병렬로 처리하면서 모델을 학습시킵니다.
  3. 메모리 관리: 데이터와 모델의 가중치를 RAM이나 VRAM에 저장합니다. 메모리가 크면 더 큰 배치(batch)로 학습할 수 있습니다.

🎯 배치(Batch)와 메모리

배치(Batch)는 한 번에 처리하는 데이터의 양입니다. 배치가 크면 학습 속도가 빨라지지만, 메모리를 더 많이 사용합니다.