머신러닝에 대한 관심이 높아지면서, 그를 위한 고성능 컴퓨팅 기기의 중요성이 점점 커지고 있다.
요즘은 클라우드 서비스를 통해 고성능 컴퓨팅 자원을 빌려 사용하는 것도 좋은 방법이다.
특히 컴퓨팅 자원을 구매하고 평가를 위한 System 구성에 많은 시간 소모가 되므로 클라우드 서비스를 적극 권장하기도 한다. 또한 대규모 언어 모델(LLMs)의 경우는 학습에 필요한 양이 많으므로 개인이나 소규모의 회사에서는 컴퓨팅 자원을 마련하기 쉽지 않아 클라우드 서비스를 활용해야만 하는 경우가 있다.
이러한 연유로 클라우드 시장은 점점 성장하고 있으며, 그 중 AWS가 마켓의 ⅓ 정도를 차지하고 있다.
하지만 기업에서는 보안에 대한 염려와 잦은 평가 및 최적화가 필요한 경우 머신러닝 개발용 워크스테이션을 마련하기도 한다. 머신러닝 워크스테이션에서 특히 GPU (Graphical Processing Units)는 머신러닝을 위한 핵심 컴포넌트 중의 하나이다.
GPU란 그래픽을 처리하는 논리 회로로, 이미지, 비디오, 게임 등을 디스플레이에 렌더링하는 역할을 담당한다. 때문에 GPU는 그래픽 카드 혹은 프로세서로 불리기도 한다. 비디오 편집, 게임, 디자인 프로그램 제작, 그리고 머신러닝 등 다양한 작업에 이용되며, 디자이너나 개발자 뿐 아니라, 고품질 시각화를 필요로 하는 모든 사용자들에게 필수적인 선택이다.
왜 GPU가 머신러닝 워크스테이션 구성에 가장 먼저 선택해야 하는지 궁금하실 것이다.
머신러닝에 있어서 심지어 가장 기본적인 GPU조차도 CPU를 앞선다. 그 이유는 다음과 같다.
- GPU는 딥 뉴럴 네트워크에서 CPU보다 훨씬 빠른 속도를 제공한다.
- GPU는 병렬 계산에 적합하며, 동시에 여러 작업을 수행할 수 있기 때문에 계산 속도가 CPU보다 빠르다. 반면, CPU는 순차적인 작업을 수행한다. 또한, GPU는 인공지능 및 딥러닝 애플리케이션의 계산에 이상적이다.
- 데이터 사이언스 모델 학습이 간단한 행렬 연산에 기반하기 때문에, GPU는 딥러닝에 안전하게 사용될 수 있다.
- GPU는 많은 병렬 계산을 실행하여 화면상의 이미지 품질을 높일 수 있다.
- GPU는 매우 큰 데이터 세트를 처리할 수 있는 많은 전문 코어를 조립하여 엄청나게 높은 성능을 발휘한다.
- GPU는 CPU가 캐싱 및 흐름 제어에 투자하는 것보다 산술 연산에 더 많은 트랜지스터를 할당한다.
- 딥러닝에 특화된 GPU는 TensorFlow와 PyTorch와 같은 현대적인 머신러닝 프레임워크를 손쉽게 지원하면서 단일 칩에서 고성능 컴퓨팅 파워를 제공한다.
결국 머신러닝의 성능과 효율성은 GPU의 선택에 크게 의존하게 된다. 따라서, 머신러닝 워크스테이션을 구성하려는 분들이라면 GPU의 선택에 심도 있게 고민하고, 자신의 프로젝트와 연구에 최적화된 GPU를 찾는 것이 중요하다. 앞으로 이 블로그에서는 머신러닝 워크스테이션을 구성하는데 있어 고려해야 할 다양한 부품들에 대해 알아볼 예정이다.