미주연 리포트

[Silicon returns to Silicon Valley] AI는 칩 아키텍처와 소프트웨어를 밀접하게 결합시키고 있다

주삼부칠 2024. 9. 20. 19:37

 

(Economist, Sep/16/2024)  AI has propelled chip architecture towards a tighter bond with software

 

정확히 언제부터 이 과정이 시작되었는지는 알 수 없지만, 약 5억 4천만 년 전의 캄브리아기 화석들은 지구상의 생명체가 놀라운 다양성의 시기를 겪고 있음을 보여준다. 칩 세계에서 유사한 혁신적 다양화가 시작되고 있음을 분명히 알 수 있는 시점은 훨씬 더 정확하게 날짜를 정할 수 있다. 2016년 5월, 구글의 연례 개발자 행사에서 순다르 피차이 CEO는 “우리는 전문 맞춤형 하드웨어 제작을 시작했습니다”라고 가볍게 언급했다.

 

2000년대에 구글, 마이크로소프트, 메타와 같은 소프트웨어 기업들은 칩 제조업체가 몇 년마다 제공하는 점진적인 성능 향상에 만족했다. 그러나 2010년대 초반, 구글은 기계 학습 기반의 인공지능(AI) 애플리케이션에 대한 열망이 자신들을 압도할 수 있다는 것을 깨달았다. 한 임원은 안드로이드폰을 가진 모든 사용자가 하루에 3분 동안 음성 인식 기능을 사용한다면, 회사는 데이터 센터 용량을 두 배로 늘려야 한다고 계산했다. 2015년까지 새로운 기계 학습 알고리즘은 이전 버전보다 100배 더 많은 처리 능력을 요구하게 되었다. 캘리포니아 대학교 버클리의 데이비드 패터슨 교수는 구글의 자문역이기도 하며, 칩 제조 산업이 "모든 것을 더 빠르게 개선할" 아이디어를 갖고 있지 않았기 때문에, 전문화—즉, 몇 가지 작업만 수행하지만 그 작업을 훨씬 더 잘하는 칩을 개발하는 것—외에는 선택의 여지가 없었다고 설명한다.

 

대부분의 기계 학습 알고리즘은 인공 신경망에 기반하고 있으며, 이는 인간 뇌의 구조에서 영감을 받은 프로그램이다. 신경망은 여러 층의 노드 또는 "뉴런"으로 구성되어 있으며, 이들은 일련의 입력을 받아들인다. 각 입력은 가중치에 의해 곱해지고, 이 곱의 합이 단일 값으로 생성된다. 이 값이 특정 임계값을 초과하면 다음 층으로 전달된다. 이러한 과정은 출력층이 최종 답을 내놓을 때까지 계속된다. 딥 러닝 네트워크는 몇 개의 층으로 구성될 수도 있고, 100개 이상의 층을 가질 수도 있다. "훈련" 단계에서는 모델의 가중치와 임계값이 조정되어 네트워크의 출력이 훈련 데이터와 일치하도록 한다. "추론" 단계에서는 가중치가 고정되고, 훈련된 모델이 사용자 질의에 응답한다.

 

신경망은 많은 노드에서 특정 계산, 즉 행렬 곱셈으로 알려진 일련의 덧셈과 곱셈을 필요로 한다. 이러한 계산은 "병렬 처리"가 가능하여, 여러 배치를 동시에 수행할 수 있다. 기계 학습의 초기 단계에서는 중앙 처리 장치(CPU)가 이러한 알고리즘을 실행하는 데 사용되었다. CPU는 워드 프로세싱, 이메일, 스프레드시트, 브라우저 등 모든 소프트웨어를 실행할 수 있는 "올인원 기계"다. 그러나 CPU는 신경망에서 요구하는 대규모 병렬 처리를 위해 설계되지 않았다. 각 연산마다 CPU는 메모리에서 하나의 데이터 항목을 순차적으로 로드하고, 이를 코어에서 처리한 후 결과를 다시 메모리에 저장한다.

 

Big firms are not the only ones making ai chips

 

기계 학습 알고리즘을 가속화하기 위해, **가속기**라 불리는 전문 AI 칩은 작업을 여러 개의 병렬 "스레드"로 나누어 동시에 실행한다. 이 접근 방식의 초기 예인 **그래픽 처리 장치(GPU)**는 신경망에 필수적인 산술 연산을 수행하기 위해 수천 개의 전문 코어를 가지고 있다. 곱셈과 덧셈 같은 특정 작업에 집중함으로써, GPU는 CPU보다 수십 배 더 뛰어난 성능을 발휘할 수 있다. 엔비디아의 GPU는 원래 비디오 게임 이미지를 신속하게 렌더링하기 위해 수많은 픽셀을 동시에 처리하도록 설계되었지만, 신경망을 실행하는 데도 매우 적합하다는 것이 밝혀졌다. 그러나 이러한 막대한 처리 능력을 갖추고 있어도 GPU는 여전히 계산의 중간 결과를 저장하기 위해 메모리에 접근해야 한다.

 

대부분의 프로세서는 칩에 캐시라는 작지만 빠른 메모리를 가지고 있으며, 칩 외부에는 더 크지만 접근 속도가 느린 메모리 유닛이 있다. "칩 외부" 메모리에 접근하는 데 걸리는 시간은 "칩 내부" 메모리에 비해 약 천 배 더 길며, 에너지도 거의 200배 더 많이 소모한다. AI 모델이 커짐에 따라 처리하는 데이터의 양도 기하급수적으로 증가하고 있다. 한국의 메모리 칩 제조업체인 SK 하이닉스는 OpenAI의 GPT-4의 추론 과정(즉, 모델을 사용하여 사용자 질의에 응답하는 과정)에서 90% 이상의 처리 시간이 단순히 데이터를 주고받는 데 소요되었다고 추정하고 있다. 이 "메모리 벽"은 프로세서의 속도를 제한하며, 데이터가 메모리에서 들어오는 속도에 맞춰져 있다.

 

CPU, GPU, TPU

 

이 병목 현상을 해결하기 위해, 구글은 GPU의 병렬 접근 방식을 한층 더 발전시켰다. 이 회사는 신경망을 위해 특별히 설계된 칩인 텐서 처리 유닛(TPU)를 제작했다. TPU는 수천 개의 곱셈-덧셈 유닛이 거대한 격자로 직접 연결되어 있다. TPU는 외부 메모리에서 데이터를 로드하여 이 격자로 전달하며, 이는 심장이 혈액을 펌프질하는 것과 유사하게 규칙적인 파동으로 흐른다. 각 곱셈 후에는 결과가 다음 유닛으로 전달된다. 이전 단계에서 데이터를 재사용함으로써 TPU는 칩 외부 메모리에 접근할 필요성을 줄인다.

 

 

TPU는 "도메인 특화 아키텍처"(DSA)의 일종으로, 특정 목적을 위해 하드웨어가 고정된 프로세서이다. AI 알고리즘을 위해 설계된 DSA는 일반 CPU나 GPU보다 일반적으로 더 빠르고 에너지 효율적이다. 엔비디아의 최신 GPU는 전통적인 코어 옆에 이러한 유닛을 수백 개 추가한 구조를 갖추고 있다. 배터리 수명을 고려한 하드웨어 제조업체들도 이 경쟁에 참여하고 있다. 애플은 TPU 시대 이전부터 자체 실리콘 설계를 시작한 하드웨어 제조업체로, AI 작업을 가속화하기 위해 TPU와 유사한 신경 처리 유닛(NPU)를 스마트폰, 아이패드, 노트북에 통합했다. 이 장치에서 NPU는 별도의 칩이 아니라 CPU와 GPU 코어가 포함된 메인 칩 내의 블록으로 존재한다.

 

대기업만이 AI 칩을 만드는 것은 아니다. 연구 회사인 PitchBook에 따르면, 2017년 이후 투자자들은 AI 칩 스타트업에 240억 달러 이상을 투자했다. 올해 상반기에는 새로운 칩 제조업체들이 97억 달러를 유치했으며, 이는 이전 3년 동안 모금된 총액과 맞먹는 금액이다. 이러한 스타트업들은 메모리 병목 현상을 극복하고 에너지 사용을 억제하기 위해 자체적인 기술을 개발했다.

 

캄브리아 혁명의 놀라운 특징 중 하나는 이전에 보지 못한 복잡한 생물들이 등장한 것이다. 반도체 제조에서 이와 유사한 접근 방식은 세레브라스의 방식이다. 이 미국 스타트업은 모든 회로를 한 개의 거대한 칩, 즉 저녁 접시 크기로 압축하여 칩 외부 메모리 접근을 줄이려 하고 있다. 이 회사의 최신 "웨이퍼 칩"은 90만 개의 코어와 44 기가바이트의 온칩 메모리를 갖추고 있으며, 이는 엔비디아의 주요 AI 칩인 H100의 반 정도에 해당하는 외부 메모리 용량이다. 모든 데이터 이동을 웨이퍼 내로 제한함으로써, 세레브라스는 자사의 칩이 주요 GPU보다 7,000배 더 높은 메모리 대역폭을 가진다고 주장한다. 그러나 각 유닛은 가격이 훨씬 비싸고, 자체 냉각 시스템이 필요하며, 특수한 제조 공정이 요구된다.

 

다양한 기계 학습 모델을 고려할 때, 모든 모델에 효율적으로 맞춘 특정 아키텍처를 설계하는 것은 도전이 될 수 있다. 이를 해결하기 위해 일부 기업들은 사용 중인 알고리즘에 따라 재구성할 수 있는 칩 디자인을 탐색하고 있다. 캘리포니아에 기반을 둔 SambaNova Systems는 TPU와 유사하게 소형 로컬 메모리 블록이 2차원 격자 형태로 배치된 처리 유닛을 설계했다. 사용자가 TensorFlow나 PyTorch와 같은 기계 학습 소프트웨어 프레임워크를 실행할 때, SambaNova의 소프트웨어는 에너지와 속도에 기반하여 격자의 최적 구조를 구성한다.

 

대규모 AI 모델 훈련을 위한 칩에 대한 컴퓨팅 수요 급증이 주로 집중되었지만, 대부분의 칩 설계 혁신은 추론(inference) 문제를 해결하는 데 초점을 맞추고 있다. 단일 추론을 실행하는 데는 비용이 훨씬 저렴하지만, 시간이 지남에 따라 총 비용은 종종 훈련 비용을 초과하게 된다. 구글은 자사의 데이터 센터 에너지 사용의 3분의 2가 수십억 개의 추론 쿼리에 소모된다고 추정하고 있다. D2D Advisory의 설립자인 제이 골드버그는 AI 칩 시장이 궁극적으로 데이터 센터 추론 칩 45%, 기기 추론 칩 40%, 훈련 칩 15%로 분할될 것이라고 예측하고 있다.

 

기계 학습에 최적화된 프로세서를 설계하는 것은 현명한 접근이지만, 알고리즘을 조정하는 것도 칩 제조업체들이 추가 성능을 끌어내는 또 다른 방법이다. 신경망의 효율성을 개선하는 방법에는 두 가지가 있다: 더 적은 정밀도의 숫자를 사용하고, 네트워크에서 불필요한 요소를 제거하는 프루닝(pruning) 기법을 적용하는 것이다. 이를 통해 자원 소모를 줄이고 처리 속도를 높일 수 있다.

 

컴퓨터는 일반적으로 숫자 값을 32개의 이진 숫자(비트)로 구성된 "부동 소수점" 형식으로 표현한다. 그러나 컴퓨터 과학자들은 기계 학습 알고리즘이 정확성을 희생하지 않고도 덜 정밀한 숫자를 사용할 수 있다는 것을 발견했다. 신경망의 가중치는 종종 작은 숫자와 제로 주변에 집중되므로, 낮은 정밀도의 형식이 이상적이다. 비트를 줄이면 프로세서와 메모리 간의 데이터 전송이 줄어들어 속도가 향상되고 에너지 소비가 감소한다. 32비트 구현과 비교할 때 16비트 부동 소수점 표기로 전환하면 메모리와 에너지 소비가 절반으로 줄어든다.

 

What are you inferring?

 

효율성을 높이는 또 다른 방법은 신경망 관련 계산을 수행할 때 불필요한 작업을 식별하고 건너뛰는 것이다. 엔비디아의 수석 과학자인 빌 달리는 대부분의 신경망이 본질적으로 "희소(sparse)"하다고 설명하며, 이는 많은 제로가 포함되어 있어 정확도를 줄이지 않고도 많은 가중치를 제거할 수 있음을 의미한다. 핵심은 이러한 제로를 식별하는 데 드는 오버헤드와 중복 작업을 건너뛰는 이점 간의 적절한 균형을 찾는 것이다.

 

엔비디아는 지난 8년간 AI 추론에서 GPU 성능이 천 배 향상되었다고 주장하고 있다. 더 작은 제조 노드로 이동하고, 다이 크기를 늘려 더 많은 트랜지스터를 칩에 집적함으로써 성능이 여섯 배 향상되었다. 그러나 가장 큰 성장은 거의 160배에 달하는 스마트한 설계 결정에서 비롯되었다. 달리는 무어의 법칙이 강하게 작용하던 시절, 칩 제조업체들이 트랜지스터를 줄이는 방식으로 "같은 카드를" 반복적으로 사용했다고 인정한다. 아직 사용할 카드가 다 떨어지지는 않았지만, 이제는 매번 새로운 카드를 만들어내는 것이 도전이라고 강조한다.

 

무어의 법칙의 지원이 없으면 기하급수적인 성과를 유지하는 것이 어려울 수 있다. AI 칩 회사 Speedata의 컴퓨터 과학자인 아디 푸크스는 비트코인 붐 동안 기본 알고리즘이 안정화되자 산업이 새로운 성과를 이끌어내기 위한 "비책"을 소진했다고 지적한다. 2017년 이후 대부분의 AI 모델은 데이터에서 패턴을 식별하는 데 더 뛰어난 **변환기(transformer)**라는 유형의 신경망 아키텍처를 사용해왔다. 푸크스는 AI의 성능 궤적을 유지하기 위해서는 현재의 변환기 모델을 보다 효율적으로 실행하기 위해 실리콘을 최적화하려고 하기보다는, 현재의 변환기 모델을 능가하는 새로운 알고리즘 개발이 미래의 방향일 수 있다고 생각한다.

 

칩 제조업체들에게 이는 문제다. 칩 설계에는 최대 2년이 걸릴 수 있지만, 소프트웨어 모델은 빠르게 변화한다. 하드웨어 설계가 너무 전문화되면 금세 구식이 될 수 있다. 패터슨은 연구자들에게는 흥미로운 시기라고 생각하며, “이건 모두 새로운 것들”이라고 말한다. 그러나 빠른 소프트웨어 변화 속에서 전문 칩을 제작하는 칩 회사의 CEO들에게는 “정말로 두려운” 시기라고 인정한다.

728x90