인공지능(AI, Artificial Intelligence)은 현재 전 세계를 가장 뜨겁게 달구는 키워드다. SK하이닉스 뉴스룸에서는 [인공지능 반도체] 코너를 마련, 인공지능 전문가 정인성 작가와 함께 총 일곱 편의 기고문을 연재하고 있다.
이번 연재물에서는 컴퓨터와 반도체의 관점에서 인공지능을 살펴볼 것이다. 인공지능으로 바뀌면서 '0'과 '1'이 구체적으로 어떻게 변화되어 응용되는지를 알아보고, 이때 반도체는 어떤 역할을 해야 하는지 확인해볼 것이다. (필자 주)
빅데이터, 낸드플래시 시대의 도래
2010년만 해도 데이터 저장소(Storage)의 대명사는 하드디스크(HDD)였다. 하지만 하드디스크의 경우, 기계장치라는 특성과 구조상의 한계로 인해 데이터 처리 속도를 향상하는 데 큰 어려움이 있었다. 반면 낸드플래시*는 개별 칩의 반응 속도가 빨랐을 뿐만 아니라, 칩 여러 개를 사용하면 개수에 비례해 성능을 높일 수 있었다.
* 낸드플래시(NAND Flash Memory) : 전원이 꺼지면 저장된 자료가 사라지는 D램과 달리 전원이 없는 상태에서도 메모리에 데이터가 계속 저장되는 플래시 메모리의 일종
▲ 그림 1 : 낸드플래시가 적용된 SSD*, eMMC*, UFS* 등 SK하이닉스의 제품들
이러한 이유로 하드디스크는 메모리 회사들의 eMMC, UFS와 같은 낸드플래시 기반 제품에 자리를 내주어야 했다. 그리고 낸드플래시 메모리가 필요한 곳이 또 하나 생겨나기 시작했다. 바로 인공지능 데이터 학습이다.
* SSD(Solid State Drive) : 반도체를 이용해 정보를 저장하는 장치. 순수 전자식으로 작동하므로 기계식인 HDD보다 긴 탐색 시간, 반응 시간, 기계적 지연, 오류율, 소음을 크게 줄여준다.
* eMMC(Embedded Multi Media Card) : 데이터 고속 처리를 위해 모바일 기기에 내장되는 메모리 반도체. 모바일 기기의 보조 데이터 저장 공간으로 사용되는 탈착형 외장 메모리 카드(SD카드 등)와 달리, eMMC는 컨트롤러와 낸드플래시 메모리가 패키지로 통합돼 모바일 기기에 내장된다.
* UFS(Universal Flash Storage) : eMMC의 뒤를 이어 탄생한 저장 장치로 읽기와 쓰기가 동시에 가능한 초고속 플래시 메모리
학습 서버와 데이터
우리는 지난 2편(HBM 편)[관련기사]에서 GPU 내부에서 GPU 칩과 HBM이 어떻게 통신하고, HBM 안에 무엇이 들어 있는지 확인했다. 이제 우리의 이해를 조금 더 넓힐 시간이다. 거대 인공신경망을 학습하는 시스템이 어떤 모습일지 대략 살펴보자.
▲ 그림 2 : 신경망을 빠르게 학습시키기 위해 수많은 GPU가 탑재된 서버들이 연결된 인프라의 예시
<그림 2>를 통해 인공신경망을 학습시키기 위한 대략적인 과정을 살펴보자. 가장 먼저 1)네트워크나 CCTV 등 다양한 곳에서 데이터 소스가 발생해 원본 데이터가 저장소(Storage)에 저장된다. 2)해당 데이터 소스는 데이터 작업자에게 이동하며, 3)데이터 작업자는 데이터를 가공해 다시 저장소(Storage)에 저장한다. 이렇게 형성된 데이터 소스는 4)학습 서버로 이동해 인공지능 학습이 이뤄진다. 학습 서버 1개 내에는 여러 개의 GPU가 연결돼 있다. 필요한 경우 학습 서버까지도 여러 개 연결해 더욱 빠르게 학습시키기도 한다.
예를 들어, 2020년 공개된 인공지능 언어 모델 GPT-3*가 데이터를 학습하기 위해 사용된 데이터셋(Dataset)*의 크기는 약 680GB이고, 데이터를 학습하기 위한 총계산량은 3.114E23 FLOPS(FLoating-point Operations Per Second, 1초당 수행할 수 있는 연산 횟수) 정도로 엄청난 수치임을 고려하면, 이러한 GPU 간의 연결을 넘어 여러 GPU가 탑재된 학습 서버 간의 연결은 당연한 모습임을 알 수 있다.
* 최근 공개된 GPT-3.5와 GPT-4의 경우 데이터셋 정보가 공개되지 않아 정확한 데이터 크기를 알 수 없어 불가피하게 GPT-3에 적용된 데이터셋 크기로 표기
* 데이터셋(Dataset) : 머신러닝 알고리즘 등에 사용(처리, 분석)하기 위해 특정 주제나 분야에 관련성을 가지는 데이터들을 모아놓은 것
이번 편에서 우리가 생각할 부분은 두 가지다. 첫 번째는 GPU에 장착된 HBM 내 학습 데이터는 어디서 온 것이냐는 것이다. 학습 서버에 탑재된 GPU는 학습을 위해 데이터가 저장된 저장소(Storage)에서 데이터를 가져와야 한다. 이 저장소(Storage)는 학습에 필요한 데이터를 가능한 한 많이 탑재할 수 있어야 하므로 용량이 클수록 유리하다. 그뿐만 아니라 대용량의 학습데이터를 HBM으로 전송해야 하므로 속도도 빨라야 한다.
두 번째는 인공신경망 학습에 활용하기 전 데이터를 만들어서 어디에 어떻게 보관하는지다. 인공신경망을 학습하기 위해서는 데이터와 정답이 조합된 데이터가 필요하다. 그래야 인공신경망이 오답을 냈을 경우 좀 더 정답에 가까워지도록 학습할 수 있기 때문이다. 따라서 데이터는 가공하기 전 원본을 함께 보관해 두는 것이 좋은데, 이를 위해서는 더 많은 데이터를 저장하고 송수신하기 위해 대용량과 빠른 속도를 가진 저장소(Storage)가 필요하다.
위 두 가지 문제는 신경망 학습에 필요한 데이터가 커질수록 현실적으로 다가오게 된다. 한글, 영어 등의 대화 같은 자연어 인공신경망은 그나마 문제가 간단하다. 자연어 인공신경망을 기반으로 서비스되고 있는 GPT-3의 학습 데이터 크기는 680GB로 일반 PC에 탑재되는 SSD에도 모두 저장할 수 있을 만큼 데이터의 용량이 크지 않기 때문이다. 하지만 신경망이 학습해야 하는 자료의 종류가 음성이나 이미지 등일 경우에는 자연어 대비 수십 배 큰 데이터를 저장소(Storage)에 저장해야 하므로 용량에 부담이 생길 것이다. 특히 음성, 동영상 등의 데이터를 모아둔 뒤, 당장 어디에 쓸지 정하지 못한 상황이라 계속 데이터가 누적되는 상황이라면 저장소(Storage)는 더욱 중요할 것이다.
▲ 그림 3 : 최근 인공신경망은 다양한 데이터를 학습하고 있다.
실제로 2021년 구글은 인공신경망에 음성, 언어, 이미지 등을 한 번에 학습시킨 패스웨이(Pathway)*라는 차세대 인공지능 모델을 공개했다. 이러한 추세를 볼 때 앞으로 더욱 크고 다양한 형태의 데이터가 필요해질 것이며, 이는 데이터 처리 및 보관, 전송 등의 문제에 메모리 회사들이 중요한 역할을 하게 된다는 것이다. 바로 낸드플래시 때문이다.
* 패스웨이(Pathway) : 2021년 구글이 발표한 자체 인공지능 모델로 영상, 음성, 언어, 이미지 등 다양한 데이터 형태를 동시에 학습할 수 있는 다중 학습 모드를 지원하는 것이 특징이다.
고속 저장소와 인공지능 인프라
낸드플래시는 인공지능 학습 과정에서 발생하는 두 가지 문제를 해결해 준다. 데이터 접근 과정에서 발생하는 병목현상과 GPU의 데이터 처리 속도 대비 느린 저장소(Storage)의 데이터 전송 속도 문제이다. GPU가 신경망을 학습하는 데 필요한 데이터의 크기가 클 경우, 데이터를 불러오는 과정에서 발생하는 병목현상 때문에 학습 속도가 현저하게 느려진다. 학습에 필요한 데이터가 더 커져 서버 저장소(Storage)에 보관할 수 없는 수준이 되면 더욱 큰 성능저하가 나타난다.
▲ 그림 4 : 외부 저장소(Storage)에서 불러오는 데이터 전송 속도보다 학습 서버 내의 데이터 전송 속도가 더 빠르기 때문에 GPU가 학습할 데이터가 부족해지는 문제가 발생한다.
<그림 4>와 같이 빅데이터 학습 시 서버 내 저장소 용량의 한계로 외부 저장소(Storage)를 함께 활용한다. 하지만 학습 서버 내 저장소(Storage)와 GPU 간의 데이터 전송속도 대비 외부 저장소(Storage)와 학습 서버 내 저장소(Storage) 간의 데이터 전송 속도가 느려 GPU가 학습할 데이터가 부족해지는 문제가 생길 수 있다.
전송 속도가 중요한 이유는 학습을 위해 이동한 데이터를 지속해 교체해 줘야 하기 때문이다. 혹자는 한번 이동한 데이터를 여러 차례에 걸쳐 오랫동안 학습시키면 되는 것 아니냐고 이야기하기도 한다. 하지만 이럴 경우 과적합(Overfitting)* 등 학습 결과에 문제가 발생할 수 있다. 이를 방지하기 위해 데이터를 수시로 교체하며 최대한 다양한 데이터를 학습시켜야 하는 것이다. 결국, HBM에 너무 많은 데이터를 저장하는 것보다, 전송 속도 문제가 해결된 저장소 활용을 극대화하는 것이 중요하다.
* 과적합(過適合, Overfitting): 인공지능이 특정 데이터를 지나치게 학습해 일어나는 현상. 인공지능이 문제의 답을 외워 버리듯 행동하게 되며, 실전에서 한 번도 보지 못한 입력값을 접할 경우 정확도가 낮아지게 된다.
낸드 플래시는 위와 같은 문제를 높은 전송 성능으로 해결한다. 더 나아가 학습 서버로 데이터를 더 빠르게 전송하기 위해 고성능 저장소(Storage)를 수십 개의 학습 서버들이 공유하는 형태도 생각해 볼 수 있다. 올 플래시*나 SSD를 여러 개 탑재해 네트워크로 연결한 NAS* 등이 그 예이다. 고성능 저장소(Storage)는 더 많은 데이터를 더 빠르게 처리할 수 있기 때문에, 원활한 데이터 수급이 가능하다. 위에서 언급했던 데이터 전송 속도 차이로 인해 발생하는 데이터 부족 문제를 해결할 수 있게 된 것이다.
* 올 플래시(All-Flash): 수많은 낸드플래시나 SSD를 엮어서 만든 초고속, 초고용량 저장소(Storage)
* NAS(Network Attached Storage): 네트워크로 연결 가능한 디스크 드라이브의 총칭
하지만, 고성능 저장소(Storage)의 뛰어난 성능만으로 이 문제가 모두 해결되는 것은 아니다. 데이터가 이동하는 케이블 역시 중요한 역할을 한다. 보통 낸드플래시 기반의 고성능 저장소(Storage)는 빠른 데이터 처리가 가능하기에 일반적으로 사용되는 인터넷 케이블 소재인 구리선이 아닌 광(光)속의 2/3 속도를 자랑하는 광(光)섬유를 사용한다. 구리선의 경우 최대 10Gbps 정도의 전송이 가능하지만, 이는 시중에서 판매하는 일반적인 SSD의 데이터 처리 속도 절반에도 미치지 못하는 속도이다.
광섬유를 통해 더욱 많은 데이터를 더욱 빠르게 처리할 수 있게 된 고성능 저장소(Storage)는 각각의 학습 서버들과 직접 접근할 수 있다는 장점이 있다. 이는 개별 저장소(Storage) 없이 네트워크를 통해 직접 저장소(Storage)에 접근해 데이터를 불러올 수 있다. 특히 고성능 저장소(Storage)는 빠른 속도를 기반으로 학습 데이터 취득, 가공, 학습을 하나의 저장소(Storage)가 관리할 수 있다.
고성능 저장소(Storage)가 등장하기 전 데이터가 유튜브나 CCTV 카메라에서 실시간으로 전달되는 스트리밍 영상 데이터라면 그 영상을 저장하고, 데이터 작업자가 가공하기 위해 요청한 동영상도 전송해야 하며, 학습 서버가 요구하는 가공이 끝난 학습 데이터도 전송해 줘야 하는 등 저장소(Storage)에 큰 부담이 됐다. 하지만 고성능 저장소(Storage)가 등장한 후에는 한 곳에서 관리되기에 이러한 문제가 사라졌다. 이는 클라우드 시대에 맞춰 SK하이닉스와 같은 반도체 회사들이 오랫동안 메모리와 저장소(Storage) 개발에 노력해 온 덕분이다.
인공지능보다는 인공지능 생태계를
인공지능 학습에서 가장 중요한 메모리를 꼽으라고 하면 다들 HBM을 꼽을 것이다. 인공지능 시대를 연 반도체는 GPU이며, GPU를 가장 가까운 곳에서 돕는 칩이기 때문이다. HBM은 인텔의 신형 CPU부터 각종 스타트업의 NPU 등 모두가 중요하게 여기는 메모리이다.
하지만 인공지능 개발은 학습 데이터를 GPU가 한두 번 학습하고 끝나는 것이 아니다. 인공지능을 개발하기 위해서는 신경망에 끝없이 다른 데이터를 새로운 형태로 가공해 학습시켜야 한다. 이는 마치 전선에서 싸우는 병사와 후방 보급부대의 관계와도 비슷하다. 병사가 최전선에서 싸우기 위해서 탄약과 식량이 필요하듯, 최전선에서 인공신경망을 학습시키기 위해서는 신경망에 맞는 대량의 데이터가 제시간에 만들어지고 학습용 서버에 탑재된 GPU에 들어와야만 제 역할을 할 수 있다. 이런 관점에서 보면 인공신경망 데이터의 저장과 이동을 책임지는 낸드플래시는 인공지능 반도체의 후방 보급부대라고 할 수 있다.
지난 두 편에서 우리는 인공지능 기술 발전으로 인해 프로그래밍 모델이 어떻게 변했고, 이 프로그래밍 모델이 반도체에 요구하는 것이 어떻게 바뀌었는지 살펴봤다. 이번 낸드플래시 역시 같은 시각으로 바라보면 된다. 인공신경망을 개발하는 방식의 특성상 원본 데이터 취득에도, 데이터 가공에도 높은 읽기, 쓰기 능력이 필요해졌다. 인공신경망을 학습시킬 때는 전 단계에서 만든 거대한 학습 데이터 중 원하는 것을 취한 뒤 그 데이터를 GPU가 학습할 수 있도록 전송돼야 하며, 이를 위해 역시나 고성능 저장소(Storage)가 필요해진 것이다.
※ 본 칼럼은 반도체에 관한 인사이트를 제공하는 외부 전문가 칼럼으로, SK하이닉스의 공식 입장과는 다를 수 있습니다.