인공지능(AI, Artificial Intelligence)은 현재 전 세계를 가장 뜨겁게 달구는 키워드다. SK하이닉스 뉴스룸에서는 [인공지능 반도체] 코너를 마련, 인공지능 전문가 정인성 작가와 함께 총 일곱 편의 기고문을 연재하고 있다.

이번 연재물에서는 컴퓨터와 반도체의 관점에서 인공지능을 살펴볼 것이다. 인공지능으로 바뀌면서 ‘0’ ‘1’이 구체적으로 어떻게 변화되어 응용되는지를 알아보고, 이때 반도체는 어떤 역할을 해야 하는지 확인해 볼 것이다. (필자 주)

 

서버 컴퓨터의 메모리 용량은 CPU 성능만큼이나 중요하다. 메모리 용량이 클 경우, 서버에 더 많은 프로그램을 탑재해 다양한 작업 수행이 가능해지기 때문이다. 주 기억장치인 메모리의 용량이 작은 서버는 보조기억장치 용량이 아무리 커도 많은 프로그램을 동시에 실행시킬 경우 부족한 메모리 용량을 해결하기 위해 보조기억장치(SSD 또는 HDD)를 활용한 가상 메모리*라는 기술을 사용하게 되는 데, 이로 인해 속도는 느려진다. 운이 없는 경우, 진행하고 있던 작업이 에러로 중단되기도 한다.

* 가상 메모리 : SSD(Solid State Disk)나 HDD(Hard Disk)의 일부 영역을 마치 시스템 메모리인 것처럼 사용하는 기법. 메모리 안에서 자주 사용하지 않는 내용을 보조기억장치(SSD 또는 디스크)에 옮겼다가, 데이터가 필요할 때 다시 메모리에 불러오는 식으로 동작해 속도가 느려지는 문제를 가지고 있다.

그리고 인공지능 시대가 열리면서, 더 많은 데이터를 더 빨리 처리해야 하는 상황이 됐다. 당연히, 메모리 용량은 더욱 중요해졌다. 이 때문에 인공지능 학습 서버(컴퓨터) CPU(Central Processing Unit, 중앙 처리 장치)가 사용하는 일반 메모리뿐만 아니라, GPU(Graphic Processing Unit, 그래픽 처리 장치) 자체에도 고성능, 고용량 메모리인 HBM(High Bandwidth Memory)을 탑재하고 있다. 재미있는 것은 GPU에서 메모리를 장착했음에도 CPU 메모리 용량이 줄어들지 않았다는 것이다.

인공지능, SK하이닉스, AI, CXL, CPU, GPU. p4d,. p4de, nvidia1 : 8개 GPU와 1.1TB 메모리를 가진 인공지능용 컴퓨터 ‘p4d’와 ‘p4de’의 스펙표 (출처 : AWS)

< 1>은 아마존 웹서비스(AWS)의 인공지능 학습용 컴퓨터 ‘Amazon EC2 p4d(이하 p4d)’의 사양이다. p4d는 클라우드 환경에서 머신러닝 등 인공지능 구현을 위한 고성능 컴퓨터(HPC)의 일종으로 세계에서 가장 뛰어난 성능의 슈퍼컴퓨터 중 하나이다. 해당 컴퓨터에는 CPU를 비롯해 NVIDIA의 인공지능용 데이터 서버 GPU A1008개가 장착돼 있다. p4dGPU 8개를 통해 320~640GB라는 거대한 용량의 GPU 메모리를 가지고 있음에도, CPU가 별도로 1TB가 넘는 메모리를 사용하고 있음을 알 수 있다. 이는 큰 용량의 메모리가 인공지능 시대에 얼마나 큰 가치가 있는가를 시사한다.

성능 향상을 위한 새로운 표준, ‘CXL’

이처럼 메모리가 더욱 중요해지면서, 최근 주목받고 있는 것이 CXL(Computer eXpress Link)이다. CXL은 제품 그 자체라기보단, 컴퓨터 시스템 내부에서 CPU나 메모리, 저장 장치 간의 데이터를 더 빠르게 전송하기 위한 인터페이스 기술이다. 조금 더 자세히 살펴보자면, CXL은 기업들이 모여서 만든 컴퓨터 확장 부품의 표준이다. 표준의 중요성은 우리 모두 매우 잘 알고 있다. 만약 한국전력이 220V로 모든 전원을 통일하지 않았다면, 한국에서 가전 사업을 영위하는 것은 매우 힘들었을 것이다. 가전제품 회사 입장에서 같은 가전제품이 다양한 전압을 지원하게 조치해야만 하기 때문이다. 이는 소비자의 부담으로 전가된다.

컴퓨터도 마찬가지다. 우리가 NVIDIA GPU를 장착하든, AMD의 GPU를 장착하든 컴퓨터 내의 동일한 PCIe* 슬롯에 끼우면 운영체제가 스스로 새로운 GPU를 찾아내며, 사용자는 아무 문제 없이 새로운 GPU를 사용할 수 있다. 이런 일이 가능한 이유는 컴퓨터를 구성하는 메인보드, CPU, GPU, OS(운영체제) 등을 제조하는 기업 등이 협의해 PCIe라는 규격에 따라 각 기기를 통신시키자고 정했기 때문이다.

* PCIe(PCI Express) : 기존 PCI(Peripheral Component Interconnect)의 속도를 2배 이상 향상한 인터페이스 기술. PCI는 컴퓨터에 주변장치 GPU, 무선랜 등을 장착할 수 있는 고속 확장 슬롯의 인터페이스 기술
인공지능, SK하이닉스, AI, CXL, CPU, GPU, peie그림 1 : 메인보드의 PCIe 슬롯. 주로 그래픽 카드나 SSD가 장착된다. 

CXL도 이와 같은 표준이다. 서버의 역할이 늘어남에 따라, 한 작업을 수행하기 위해 더 다양한 기기들이 관여해야 하는 상황이 만들어지면서 새로운 표준이 필요해진 것이다. 기존의 서버들은 대부분 CPU와 자체 메모리 정도로 간단하게 구성돼 있었다. 대부분의 작업은 CPU가 메모리를 직접 사용하며 수행했다. 하지만 서버가 하는 일이 인터넷 서비스뿐만 아니라 인공지능과 클라우드 등 각종 인프라 관리까지 매우 다양해지면서, 서버 내부의 CPU 외 GPU, FPGA* 등 다양한 확장 카드가 적용됐다.

* FPGA(Field-Programmable Gate Array) : 프로그래밍을 할 수 있는 중간 형태의 집적회로(IC)로 비메모리 반도체의 한 종류다. 회로 변경이 불가능한 일반적인 반도체와 달리 용도에 맞게 회로를 수정할 수 있다. 칩 설계 단계에서 칩을 시뮬레이션하는 용도와 CPU, GPU 등이 대응하기 힘든 독특한 작업을 빠르게 처리하는 용도로 사용된다.

서버의 성능을 최대한 끌어내기 위해서는 각종 확장 카드가 서로 하는 일을 방해하지 않으면서도 처리하고 있던 데이터를 빠르게 공유할 수 있어야 한다. 이를 위해 나온 표준이 CXL이다. 즉, CXL 표준을 준수하는 제품들을 서버 컴퓨터 내부에 함께 적용하면, 각 칩이 서로 잘하는 업무를 분담하기 쉬워진다. 이를 통해 전반적인 작업의 효율을 증대시킬 수 있다.

인공지능, SK하이닉스, AI, CXL, CPU, GPU, tpu, xpu그림 2 : SK하이닉스의 CXL 2.0 메모리와 같은 공유 메모리는 메모리 용량을 확장하면서, 다양한 연산 장치들이 빠르게 프로그램을 처리할 수 있다.

CXL 표준이 등장한 중요한 이유 중 하나는 바로 메모리의 확장 및 공유다. 최근 인공지능 기술 등이 발전하면서, CPU가 잘 해내지 못하는 작업이 늘어났다.* 이 문제를 해결하기 위해서는 서버 컴퓨터 내의 총 메모리 용량을 늘려 수용 가능한 데이터의 양을 늘려야 할 뿐만 아니라, 메모리 내부에 흩어져 있는 다양한 데이터를 가장 적합한 반도체가 접근해 처리할 수 있어야 한다.

* 메모리 접근과 산술 연산,  많은 분기를 통해 데이터를 처리하는 CPU 프로세스는 동시에 많은 연산을 해야 하는 인공신경망 학습에는 효율적이지 못하다. [관련기사] 

이종 컴퓨팅: 공유 메모리의 이점

CXL 표준이 등장하기 전에는 연산 칩들이 메모리를 안전하게 공유할 방법이 없어, 칩 간 통신이 비효율적이었다. 현실의 예를 들어보자. 일반적으로 우리가 구매하는 컴퓨터나 노트북에는 그래픽 표시를 위한 GPU가 탑재돼 있다. 다만 이 GPU들은 대부분 CPU 칩 안에 함께 내장된 형태를 보인다. 이러한 GPU를 내장 GPU(iGPU)라고 부른다.

이런 GPU들은 NVIDIA 등의 외장 GPU(dGPU)와 달리 자체 메모리가 없어 컴퓨터 CPU에 연결된 D램을 사용해야 동작할 수 있다. CPU에 연결된 8GB 메모리 중 1GB 정도를 내장 GPU에 나눠주는 식이다.

인공지능, SK하이닉스, AI, CXL, CPU, GPU그림 3 : CPU와 내장 GPU의 현재 협업 방식

얼핏 보면 동일한 물리적 메모리를 나눠 쓰고 있으니, CPU와 내장 GPU 간 협업이 쉬울 것 같다. 하지만 이들이 협업하기 위해선 복잡한 과정이 필요하다. 어떤 프로그래머가 GPU를 이용해 프로그램의 성능을 높이고 싶다고 해 보자. GPU는 병렬 연산에 강하므로, 병렬 연산해야 할 데이터는 GPU가 처리하게 만들고 싶을 것이다. 얼핏 봐서는 GPU가 직접 CPU가 처리하던 메모리에 접근하여 작업을 수행할 수 있을 것으로 보인다.

하지만 실제로는 그렇게 작동하지 않는다. CPU와 내장 GPU는 통일된 메모리를 사용하는 게 아니라, 메모리에 칸막이를 친 형태로 작동되기 때문이다. <그림 3>을 보면 알 수 있듯, 실제로 이런 작업을 하기 위해선 CPU GPU는 일단 서로의 메모리 공간에 공유해야 할 데이터를 복사한 뒤 작업해야만 한다. <그림 3>에서 <1> <3>과정이 낭비로 보이지 않는가? 메모리 공유만 잘 이루어진다면, GPU가 바로 과정<2>만 수행해 데이터를 처리할 수도 있었을 것이다.

위와 같은 이유로, CPU와 내장 GPU는 이론상 낼 수 있는 시너지를 제대로 낼 수 없었다. 복사로 인한 시간 및 에너지 소모가 클 뿐만 아니라, 반응 속도도 느려지기 때문이다. 현재 이런 메모리 공유 문제는 CPU와 내장 GPU뿐만 아니라, 다양한 하드웨어 사이에서 발생하고 있다. 물리적으로도 한 덩어리인 메모리에 칸막이가 존재한다면, 물리적으로 멀리 떨어진 칩끼리의 데이터 공유는 더욱 어려울 것이다. 이로 인해 다양한 반도체를 엮어서 작업을 하고자 해도, 시간 손해가 커서 큰 효율 개선이 일어나지 않는 것이다.

하지만, CXL과 같은 거대한 공유 메모리가 생기게 되면서 상황이 달라졌다. 번거로운 기기 간 메모리 공유가 CXL로 인해 간단해진 것이다. 이렇게 되면, ‘인공지능이라는 하나의 작업을 위해 메모리를 쪼개서 CPU, GPU 등에 나눠줄 수 있게 된다. 기존에는 전체적으로 가장 뛰어났던 GPU가 대부분의 인공지능 일을 전담했다면, 이젠 특정 구역은 GPU, 다른 부분은 FPGA, 나머지는 CPU가 처리하는 식으로 바뀔 수 있게 된다.

이는 분업화라 할 수 있다. 기존에는 10명의 주방 직원이 동일한 코스요리를 똑같이 준비했다고 하면, 이제는 코스요리를 애피타이저, 메인(고기/생선), 후식 등으로 나눈 뒤 각 요리를 저마다 가장 잘할 수 있는 요리사에게 맡길 수 있도록 변한 것이다. 이러한 컴퓨터 동작 방식을 이종 컴퓨팅(Heterogeneous Computing)이라고 한다. 다양한 반도체들이 자신이 잘하는 연산 부분을 담당해 전체 성능을 개선하는 것이다.

인공지능, SK하이닉스, AI, CXL, CPU, GPU 그림 4 : 데이터를 인공신경망으로 학습하는 과정에서 각 부분에 최적화된 연산 장치를 사용해 전체 성능을 높일 수 있다. (해당 그림은 연산 장치의 분산을 설명하기 위한 예시로, 기술 개발에 의해 각 연산장치가 잘하는 부분이 달라질 수 있다.)

CXL의 또 한 가지 강점은 메모리 대역폭과 큰 용량이다. 우리가 HBM [관련기사]에서 살펴보았듯, 인공지능 환경에서는 메모리의 용량과 대역폭이 모두 중요하다. 다뤄야 하는 데이터가 크기 때문이다. 이 상황에서 CXLCPU 등 인공지능 분야에서는 다소 뒤처진 반도체에 큰 이점을 제공할 수 있다.

CPU가 기존에 사용하던 D램에 더해 CXL 메모리를 탑재할 경우, 메모리 용량과 대역폭이 모두 상당히 증가하게 된다. 현재 NVIDIA A100 GPU 2TB/s의 높은 대역폭을 가지고 있는 대신 기기당 40~80GB 정도의 메모리밖에 탑재하지 못한다. 반면 현재의 CPU 1TB가 넘는 큰 메모리를 장착할 수 있지만, 메모리 대역폭은 250~500GB/s 정도밖에 되지 않는다.

CPU CXL 메모리가 채용될 경우, CPU GPU의 대역폭 차이는 좁혀지고 CPU는 거대한 메모리 용량을 유지할 수 있게 된다. 만약 수많은 고성능의 CPU CXL 메모리를 채용하기 시작한다면, 인공지능 분야에서 GPU에 밀렸던 경쟁력을 어느 정도 찾을 수 있을 것이다.

GPU는 인공지능 추론 속도가 빠르지만 메모리 용량이 작고, CPU는 메모리가 크지만, 대역폭이 상대적으로 낮다. GPU에는 자주 호출되는 인공신경망을 소량 올려서 추론에 사용하고, CPU에는 자주 사용하지 않는 인공신경망을 다량 탑재해 사용하는 등의 방식을 사용한다면, 인공지능 비용을 아끼면서 더욱 높은 효율을 기대할 수 있을 것이다. 예를 들면, 다국어 번역 인공지능 서비스를 운영할 때, 영어 번역기는 수요가 크기 때문에, GPU에 탑재하고, 기타 사용 비율이 낮은 언어들은 CPU에 대량으로 탑재하는 등의 방식을 쓸 수 있다.

CXL로 만드는 새로운 컴퓨터

인공지능, SK하이닉스, AI, CXL, CPU, GPU, 이종컴퓨팅 그림 5 : 기존 컴퓨터(좌)와 이종 컴퓨팅이 적용된 컴퓨터(우)의 구조

<그림 5> 중 우측 그림은 미래에 생겨날 수 있는 이종 컴퓨터가 적용된 컴퓨터의 예시 모습이다. 매우 이상적이고 멋진 모습으로 보일 수 있다. 하지만 이것은 더 나은 서비스를 누리게 될 일반인들의 입장이고, 반도체 회사나 소프트웨어 회사에 새로운 컴퓨터는 거대한 도전으로 다가온다. 컴퓨터는 프로그램 없이 동작할 수 없다. 그리고 기존의 프로그램은 왼쪽 그림의 기존 컴퓨터 모습에 최적화돼 있다. 컴퓨터의 구조를 바꾼다는 것은 기존에 쌓아 놓은 수많은 노하우, 안정성 등을 포기하고 불모지로 나아간다는 의미다.

노하우와 안정성을 포기한다는 것은 반도체 회사와 소프트웨어 회사 모두에게 큰 불확실성을 가져온다. 반도체 회사들은 자신들이 만든 새로운 CXL 기기가 소프트웨어 회사들이 만든 새로운 프로그램과 조화롭고 안정적으로 동작할지 확신할 수 없다. 소프트웨어 회사는 CXL 기기가 약속한 성능과 안정성을 만족하며 출시될지, 이후에도 끊기지 않고 성능 개선된 버전을 출시해 줄지 확신할 수 없다. 때로는 새로운 CXL 기기의 기능이 기존 파트너 회사의 영역을 침범하게 되기도 한다. 이로 인해 많은 회사가 새로운 시도를 어려워하게 되고, 기존 컴퓨터에 안주하게 된다.

인공지능, SK하이닉스, AI, CXL, CPU, GPU 그림 6 : SK하이닉스가 소프트웨어를 활용, SKT와 공동 개발한 H/W-S/W 통합 플랫폼인 CMS가 2022년 10월 OCP 글로벌 서밋에 전시된 모습 [관련기사]

SK하이닉스와 같은 메모리 회사 역시 새로운 컴퓨터를 만드는 핵심 일원이다. CXL 기반의 새로운 컴퓨터를 만들어 나가는 과정에서 소프트웨어 회사, 플랫폼 회사, 타 반도체 회사 등은 경쟁자이면서도 협력자, 그리고 고객이기도 한 구조의 관계를 맺게 된다. 이들과의 신뢰를 유지하면서도 새로운 관계로 협업하며 새로운 컴퓨팅 시스템을 만들어 가는 미래를 향해 함께 성장한다면 기업이 아닌 인류 모두에게 큰 이익이 될 것이다.

※ 본 칼럼은 반도체에 관한 인사이트를 제공하는 외부 전문가 칼럼으로, SK하이닉스의 공식 입장과는 다를 수 있습니다.

IT 칼럼니스트

정인성