• Turing Post Korea
  • Posts
  • AI의 진짜 두뇌를 찾아서 🔍: 엔비디아 독점에 도전하는 칩들의 세계

AI의 진짜 두뇌를 찾아서 🔍: 엔비디아 독점에 도전하는 칩들의 세계

CPU, GPU, TPU, ASIC, APU, NPU - AI를 위한 하드웨어의 세계, 간략히 알아봅시다

들어가며

어쩌면 이젠 어린아이라도 GPU(Graphics Processing Unit)가 뭔지 알 것 같다는 생각을 할 정도로, AI, 그리고 엔비디아는 모두가 아는 이름이 되었습니다. 역시 업계의 리더로서, 엔비디아는 끊임없이 새로운 칩을 선보이면서 기술의 발전을 앞서서 이끌고 있죠. 물론, 다른 영역과 마찬가지로, AI 산업에서 하드웨어는 AI 모델을 구동하고 기술 스택을 작동시키는 핵심 동력이지만, 또 가끔은 걸림돌이 되기도 하는 중요한 요소죠.

그런데, 도대체 왜 모두 GPU에만 집중하는 걸까요? AI 하드웨어의 미래를 이끌, 다른 경쟁자는 없는 걸까요? CPU, TPU도 있지만 그게 전부는 아니겠죠?

여러분들도 특히 우리나라의 리벨리온, 퓨리오사AI 같은 회사에서 생산하는 GPU의 대안을 들어보셨을 겁니다. 그래서, 오늘은, GPU의 틀을 벗어나서 GPU, CPU, TPU라는, 우리에게 가장 잘 알려진 익숙한 세 가지 요소를 넘어서는 다른 가능성들에 대해서 한 번 알아볼까 합니다 - 전세계의 개발자들이 한층 높은 효율성, 그리고 독창적인 접근법을 찾아가면서 열심히 하드웨어를 설계하고 있으니까요.

이 에피소드가 AI 하드웨어의 전반적인 요소와 흐름에 대해 개괄을 할 수 있는 가이드가 되었으면 해서, 먼저 GPU, CPU, TPU라는 세 거인부터 시작해서, 덜 알려지기는 했지만 흥미로운 하드웨어들로 넘어가려고 합니다. 흥미로운 하드웨어들이 어떤 것들이 있나 미리 좀 말씀드리면, Cerebras의 WSE라든가 AWS 하드웨어 같은 맞춤형 ASIC(주문형 집적회로), 그리고 APU, NPU, IPU, RPU, FPGA 같은 것들이죠. 이 글을 통해서 AI 하드웨어의 전체 그림을 한 번 조망해 보실 수 있기를 바랍니다.

오늘 에피소드에서는 다음과 같은 내용을 커버합니다:

CPU, GPU, TPU – 세 가지의 ‘근본’ 하드웨어 설계

흥미로운 AI 하드웨어들 살펴보기 전에, 당연히 먼저 근본이라고 할 수 있는 CPU, GPU, TPU에 대해서 간단히 정리를 해 봐야겠죠.

이 세 가지 하드웨어는 전부 ‘처리 장치(PU; Processing Unit)’로, 소프트웨어 프로그램의 명령을 실행해서 계산을 수행하는 특수한 전자 회로입니다. 많은 분들이 이것들을 컴퓨터 시스템의 ‘두뇌’라고 부르기도 하죠. 이런 처리 장치는, 산술, 논리, 제어, 입출력 작업 등 다양한 연산을 수행해서 데이터를 유용한 정보로 변환합니다.

세 가지 유형의 처리 장치는 각각 서로 성격이 다른 워크로드에 최적화되어 있습니다.

CPU(Central Processing Unit)

중앙처리장치(CPU; Central Processing Unit)라고 부르는 이 CPU는, 일반적인 컴퓨팅, 그리고 순차적인 작업을 실행하기 위해서 개발되었습니다.

CPU는 ‘가장 오래된’ 형태의 처리 장치라고도 할 수 있을 텐데요. CPU의 전신은 1945년에 존 모클리(John Mauchly)와 J. 프레스퍼 에커트 주니어(J. Presper Eckert Jr.)가 선보인 에니악(ENIAC, Electronic Numerical Integrator and Computer)에서 시작됩니다. 에니악은 프로그래밍이 가능한 최초의 전자식 범용 디지털 컴퓨터로, 18,000개의 진공관을 사용해서 다양한 수치 문제를 재프로그래밍(Reprogramming)으로 풀어낼 수 있었습니다.

같은 해에 존 폰 노이만(John von Neumann)의 ‘EDVAC 보고서 초안’이 나왔는데, 여기서 데이터와 명령어를 같은 메모리에 저장하는 개념을 제안했습니다. 이 저장 프로그램 모델이 바로 현대 CPU의 기본 틀이 되었구요.

1950년대 중반, 진공관은 트랜지스터로 대체되었고, 프로세서가 회로 기판에 흩어진 수많은 트랜지스터 기반 부품으로 만들어지면서 컴퓨터가 더 작고, 빠르고, 전력 소모도 적어졌습니다.

1960년대에는 집적회로(IC, Integrated Circuit)가 등장해서 여러 개의 트랜지스터를 하나의 실리콘 칩에 통합하게 되었습니다. 그리고 마침내 1971년, 인텔(Intel)세계 최초의 상용 마이크로프로세서인 4004를 출시했는데, 이건 단일 칩에 담긴 4비트 CPU로, 현대적인 CPU의 진정한 시작이었습니다.

Intel 8086은 오늘날의 x86 CPU의 조상이라고 할 수 있고, 현대적인 관점의 ‘효율성을 높이기 위한 최신의 해결책’은 멀티코어 프로세서입니다. 즉, 하나의 칩에 여러 CPU를 포함하는 방식입니다.

그렇다면, 최신의 CPU 안에는 어떤 요소들이 있고 작동은 어떻게 하는 걸까요?

CPU의 핵심에는 전기 신호를 보내서 컴퓨터를 제어하고 데이터와 명령어를 올바른 위치로 보내는 복잡한 회로로 이루어진 제어 장치(Control Unit)가 있습니다. 산술논리장치(ALU, Arithmetic Logic Unit)는 수학, 그리고 논리 연산을 처리하고, 레지스터캐시는 프로세서가 자주 필요로 하는 데이터를 저장하는, 작지만 초고속의 저장 공간을 제공합니다.

Image Credit: 위키피디아

CPU에는 코어(Core)도 포함되어 있습니다. 코어는 CPU 내부에 있는 독립적인 처리 장치로, 각각이 명령어를 독립적으로 처리할 수 있습니다. 또 스레드(Thread)는 하나의 코어가 여러 명령어 흐름을 동시에 처리할 수 있게 해줍니다. 이 모든 장치들이 클럭(Clock)의 리듬과 박자에 맞춰서 작동하면서 동기화하게끔 돼 있습니다. 데이터 전송을 위한 버스(Bus), 다음에 실행할 명령어를 추적하는 명령 레지스터(Instruction Register)포인터(Pointer) 같은 지원팀 성격의 구성 요소들은, 시스템을 부드럽게 연결해서 명령어가 한 단계에서 다음 단계로 부드럽게 이동하게끔 해 줍니다.

CPU는 ‘간단하지만 강력한’ 사이클로 작동합니다: 가져오기(Fetch) → 해석(Decode) → 실행(Execute)이 바로 그 사이클입니다:

  • 메모리에서 데이터나 명령어를 가져오고,

  • 이걸 하드웨어가 이해할 수 있는 신호로 해석한 뒤에,

  • 필요한 연산(예: 계산, 값 비교, 데이터 전송)을 실행합니다.

현대적인 프로세서에서는 이 사이클이 초당 수십억 번 실행되는데, 여러 개의 코어와 스레드가 병렬로 작동하면서 성능을 높여 줍니다 - CPU는, 마치 잘 조직된 팀처럼 작동하는 셈이죠. 코어 수가 적을 경우(1~2개)는 효율성에 중점을 두게 되고, 코어 수가 많아지면 고성능 작업을 처리하는 데 적합하게 됩니다.

지금 CPU를 만드는 회사들은 주로 이런 회사들입니다:

  • 인텔(Intel): 코어(Core, 소비자용), 제온(Xeon, 서버/워크스테이션용), 펜티엄(Pentium), 셀러론(Celeron, 저가형) 칩을 생산합니다.

  • AMD: 라이젠(Ryzen, 소비자용/고성능), 에픽(EPYC, 서버용) 프로세서, 그리고 CPU와 GPU를 하나의 칩에 결합한 APU(가속처리장치, Accelerated Processing Unit)를 제공합니다(이것에 대해서는 나중에 더 살펴보겠습니다).

AI 작업과 관련해서 CPU가 가진 중요한 문제는, CPU가 순차적이고 범용적인 작업에 최적화되어 있어서, 대규모의 병렬 행렬 연산에는 GPU나 특수 칩에 비해서 훨씬 느리고 효율이 떨어진다는 점입니다.

자, 이제 하드웨어 타임라인의 두 번째 칩, 바로 유명한 GPU로 넘어가 보겠습니다.

GPU(Graphics Processing Unit)

GPU(그래픽처리장치; Graphics Processing Unit)는 대규모의 병렬 데이터 처리, 그리고 높은 처리량을 감당하는 데 최적화되어 있습니다. 원래 GPU는 이미지와 비디오의 컴퓨터 그래픽을 가속화하기 위해서 개발되었지만, 나중에는 그래픽이 아닌 계산 작업에도 유용하다는 것이 밝혀진 거죠. 이제 GPU는 데이터 집약적인 작업이나 AI 모델 학습처럼 병렬 처리가 효과를 보이는 작업에 널리 사용되고 있습니다.

모두 아시다시피, 오늘날 GPU는 AI의 성능을 좌우하는 중요한 드라이버이고, AI의 계산 능력을 평가하는 핵심적인 기준이 되었죠.

GPU라는 용어는 1999년 엔비디아가 지포스 256(GeForce 256)을 출시하면서 공식적으로 사용되었습니다. 엔비디아는 이걸 세계 최초의 GPU라고 불렀고, 공식적인 GPU의 정의는 ’a single-chip processor with integrated transform, lighting, triangle setup/clipping, and rendering engines(변환, 라이팅, 삼각 설정/클리핑, 렌더링 엔진이 통합된 단일 칩 프로세서)’입니다.

그렇다면, 이 전설과도 같은 GPU는 어떻게 작동할까요?

GPU 내부에는 실리콘 칩에 새겨진 수십억 개의 작은 트랜지스터가 있는데, 이 트랜지스터들은 수천 개의 경량 프로세싱 코어로 구성되어 있습니다. 이 코어들은 복잡한 배선으로 연결되고, 고대역폭 메모리와 캐시가 지원해서 데이터가 빠르게 흐를 수 있게 합니다. 전체 패키지는 보호 재료와 냉각 시스템으로 밀봉되어서 안정성을 유지하구요. (칩의 역사에 대해 더 알고 싶다면 크리스 밀러(Chris Miller)의 ‘Chip War: The Fight for the World's Most Critical Technology’라는 책을 추천합니다. 정말 흥미롭습니다.)

CPU와 다르게, GPU는 병렬 처리에 최적화되어 있습니다. 큰 작업을 수천 개의 작고 독립적인 작업으로 나누어서 여러 개의 코어에 분산, 동시에 계산합니다. 그래서 GPU는 방대한 데이터셋에서 반복적인 행렬 및 텐서 계산이 필요한 AI 모델 학습과 실행에 완벽하게 매치됩니다. GPU의 병렬 구조 덕분에 학습 시간이 몇 달에서 며칠로 줄어들고, 예를 들어서 챗봇 같은 실시간 애플리케이션에 필요한 추론(Inference)도 빠르게 처리할 수 있습니다.

GPU를 만드는 글로벌 리더는, 다 아시는, 엔비디아죠. 이 회사는 CUDA(Compute Unified Device Architecture)라는 병렬 컴퓨팅 플랫폼을 만들어서 GPU 하드웨어를 범용 컴퓨팅에 활용할 수 있게 만들었습니다 - GPU 프로그래밍을 민주화했다고나 할까요?

엔비디아의 주요 AI 인프라 및 산업용 GPU는 다음과 같습니다:

  • V100(볼타, Volta): Deep Learning Acceleration을 위해서 특별히 설계되었습니다. AI 학습을 위한 행렬 연산을 가속화하는 특수 하드웨어 유닛인 텐서 코어(Tensor Core)를 도입했습니다.

  • A100(암페어, Ampere): 더 많은 텐서 코어, 더 높은 메모리 대역폭, 그리고 다중 인스턴스 GPU(MIG, Multi-Instance GPU)를 지원합니다. 하나의 물리적 GPU를 여러 논리적 GPU로 나누어서 효율성을 높입니다.

  • H100, H200(호퍼, Hopper): AI의 산업 표준이라고 할 수 있습니다. H 시리즈는 트랜스포머 엔진(Transformer Engine) 지원, 대규모 메모리 대역폭, 그리고 학습 및 추론을 위한 고속 성능을 제공합니다.

Image Credit: NVIDIA H100 NVL GPU 제품 브리프

  • 블랙웰(Blackwell, 예: B200과 GB200 그레이스-블랙웰 '슈퍼칩')은 수조 개의 파라미터를 가진 차세대 AI 모델을 위해서 설계된 하드웨어입니다. 호퍼(Hopper)의 후속으로, FP4 정밀도(FP4 Precision)를 도입해서 특히 대규모 트랜스포머(Transformer) 작업에서 추론 처리량을 크게 향상시켜 줍니다.

GPU에 이어, 여러 산업에서 AI에 특화된 더 많은 프로세서를 필요로 하게 되면서, 다음의 핵심적인 하드웨어 유형인 TPU가 등장합니다.

TPU(Tensor Processing Unit)

TPU(텐서처리장치; Tensor Processing Unit)는 구글이 신경망 연산, 특히 행렬 곱셈과 머신러닝 워크플로우를 가속화하기 위해서 특별하게 설계한 맞춤형 칩입니다. TPU는 2016년 구글 I/O에서 처음 공개되었고, 그 특성 상 ASIC(주문형집적회로; Application-Specific Integrated Circuit)의 한 종류라고 할 수 있습니다.

TPU의 기본 구조는 다음과 같습니다:

Image Credit: “In-Datacenter Performance Analysis of a Tensor Processing Unit” 논문

  • 핵심 구성 요소는 매트릭스 곱셈 유닛(Matrix Multiply Unit)입니다. 256×256 배열의 곱셈-누산 셀(MAC, Multiply-Accumulate Cell)이 ‘Systolic Array’로 배치되어서, 데이터가 그리드를 통해서 마치 ‘물결처럼’ 흐릅니다.

  • 또, TPU는 대용량 온칩 메모리를 갖추고 있습니다:

    • 중간에 활성화 데이터를 저장하는 통합 버퍼(Unified Buffer, 24MB)

    • 신경망 가중치를 위한 가중치 메모리/FIFO(Weight Memory/FIFO)

    • 합계를 수집하는 누산기(Accumulators, 4MB)

  • 제어 로직, PCIe 인터페이스, 그리고 ReLU나 시그모이드(Sigmoid) 같은 활성화 함수를 위한 활성화 유닛(Activation Unit)은 매트릭스 엔진을 지원하지만, 칩의 대부분은 원시 계산, 그리고 빠르게 데이터를 이동시키는데 이용됩니다.

TPU의 중요한 특징은, 바로 보조 프로세서(Coprocessor)로 작동한다는 점인데요:

  • 호스트 CPU는 PCIe를 통해서 TPU에 명령어를 보내고, TPU는 이를 직접 실행합니다.

  • TPU의 명령어 세트는 약 12개 정도로 작고, 하드웨어는 모든 것을 파이프라인으로 처리해서 매트릭스 유닛이 항상 바쁘게 작동합니다. 텐서플로우(TensorFlow) 같은 프레임웍은 모델을 이런 로우레벨 명령어로 컴파일합니다.

  • 256개의 작은 온칩 메모리(분산 누산기 RAM, Distributed Accumulator RAM)는 부분 합을 수집하고, Systolic Array가 곱셈-누산(MAC) 연산을 수행합니다. 가중치와 데이터를 Systolic Array로 스트리밍하고 온칩 버퍼에서 로컬로 재사용해서, TPU는 오프칩 메모리 접근을 최소화합니다. 결과적으로, 레이어 단위의 대부분 계산이 칩에서 직접 실행됩니다.

Image Credit: “In-Datacenter Performance Analysis of a Tensor Processing Unit” 논문

좀 복잡한 말씀을 드렸지만, 간단히 요약하면 이렇습니다:

TPU의 각 유닛은 작은 계산을 수행하고 부분적인 결과를 전달하면서 전력을 절약하고, AI 모델의 수학적인 연산을 놀라울 정도로 빠르게 처리합니다. 이 덕분에 TPU는 CPU나 GPU에 비해서 동일한 작업에서 훨씬 적은 전력을 사용하면서도 처리량은 훨씬 높습니다. 구글의 2017년 분석에 따르면, TPU는 당시의 CPU와 GPU(K80급 GPU와 비교한 추론 작업 기준)에 비해서 와트당 약 30~80배 더 높은 성능을 보이기도 했습니다.

자, 그렇지만 이 세 가지 하드웨어 타입 - CPU, GPU, TPU - 은 AI를 움직이는 전체 그림의 일부분일 뿐입니다. 우리는 이 AI 하드웨어 분야의 전체를 한 번 조망하고 싶은 거잖아요?

앞서 TPU는 ASIC 기반 AI 칩의 한 유형이라고 말씀드렸으니, 이 그룹 - ASIC - 에서부터 한 번 시작해 보죠.

튜링 포스트 코리아의 인사이트가 담긴 컨텐츠를 마음껏 읽어보세요!

튜링 포스트 코리아의 ‘AI 101’ 전체 에피소드는 프리미엄 구독자들께는 발행 즉시, 무료 구독자들께는 발행 2주 후 공개됩니다. 프리미엄 플랜으로 업그레이드하시면 튜링 포스트 코리아의 모든 컨텐츠를 제한없이 보실 수 있고, 튜링 포스트 코리아의 컨텐츠 제작에 큰 도움이 됩니다. 감사합니다!

  • 주간 AI 뉴스레터

  • AI 유니콘 기업들에 대한 심층 분석 기사

  • AI 기술, 산업, 정책 전문가 인터뷰

  • AI 기술 및 산업에 대한 심층 분석 시리즈

  • 분석 기사 요청 및 튜링 포스트 코리아 기고

읽어주셔서 감사합니다. 친구와 동료 분들에게도 뉴스레터 추천해 주세요!

Reply

or to participate.