본문 바로가기

볼거리

아이폰 X의 심장 : A11 바이오닉 칩 살펴보기

 

아이폰 X 핸즈온(링크)에 이어 살펴볼 내용은 아이폰 X, 아이폰 8 시리즈에 들어가는 애플의 새 어플리케이션 프로세서인 A11 바이오닉 칩입니다. A4부터 A9까지는 칩 네이밍에 별 다른 단어가 붙지는 않았는데 A10 Fusion부터는 해당 칩의 특성을 나타내는 단어가 붙기 시작했습니다. A10은 방금 말한것처럼 Fusion이 붙었는데, 이건 최초로 서로 다른 성능의 클러스터 CPU가 들어갔기 때문에 들어간 단어였습니다. 오늘 발표된 A11에는 바이오닉이라는 단어가 붙었는데, 이는 A11 바이오닉 칩 안에 뉴럴엔진이 들어갔기 때문입니다. 뉴럴 엔진이 뭔지를 간략히 설명하자면 머신러닝(그 중에서도 특히 컴퓨터 비전) 영역에서 자주 쓰이는 인공신경망 추론 연산에 특화된 전용 하드웨어 회로입니다. 인공신경망은 실제 생명체의 신경 회로를 본따 설계된 모델이기 때문에 A11에는 바이오닉이라는 단어가 붙은 것이죠.


사진 : 구글

 

사실 우리는 이런 인공신경망 추론 전용 하드웨어를 이미 본 바 있습니다. 구글의 TPU(Tensor Processor Unit)가 바로 그것입니다. 구글의 TPU 역시 오직 인공신경망 추론 연산에만 특화된 하드웨어로, 구글이 ISCA에 개제한 'In-Datacenter Performance Analysis of a Tensor Processing Unit'에 따르면 전통적인 CPU(하스웰 제온 E5-2699v3)와 GPU(Nvidia K80)과 비교했을 때 평균적으로 15~30배 빠른 성능을 보였고, 특히 전력대 성능비 측면에서 보면 최대 80배의 성능 향상을 이뤘다고 합니다. 

 

이는 단일 목적의 하드웨어에서는 범용의 명령어를 지원하기 위한 여러 처리들이 필요가 없기 때문입니다. 실제로 CPU에서 계산이 이뤄지는 ALU가 차지하는 영역은 매우 작고 대부분은 범용 명령어들이 어떻게 처리되어야 할지를 결정하는 컨트롤 영역이 차지하고 있습니다. 단일 목적의 하드웨어는 이런 컨트롤 영역을 최소화할 수 있으므로 해당 목적의 연산에 대해서는 매우 빠르고 전력 효율적으로 수행할 수 있게 됩니다.

 

사진 : 애플

 

다시 돌아와서 구글이 전력대 성능비를 강조하는 이유는 일반적인 데스크탑 사용과는 달리 서버, 데이터센터에 소모전력 역시 매우 중요한 요소이기 때문입니다. 데이터 센터는 매우 에너지를 많이 쓰는 곳이고, 많은 비용이 사용하는 에너지의 규모에 의해 발생합니다. 더 많은 전력을 소모한다는 것은 단순 전기세가 더 많이 드는 것을 넘어서 더 강력한 쿨링 시스템을 갖춰야한다는 이야기니까요. 그리고 우리는 데이터센터 만큼이나, 어쩌면 소모전력이 더 중요한 시장을 알고 있습니다. 바로 모바일 컴퓨터 시장이지요.

 

 

모바일 컴퓨터들은(스마트폰을 포함한) 배터리를 통해 전력을 공급받기 때문에 더 많은 전력소모는 그 자체로 짧은 사용시간을 뜻합니다. 모바일 컴퓨터에서 사용시간이 짧다는 것은 치명적인 단점이 되기에 충분하죠. 따라서 모바일 컴퓨터들은 전력대 성능비를 중시하고, 소비전력을 줄이기 위해서라면 성능을 기꺼이 제한합니다.

 

이런 모바일 영역에서 '제대로 된' 머신러닝을 구현하기란 쉽지 않습니다. 머신러닝을 위해서는 병렬처리를 훌륭히 수행할 수 있는 강력한 컴퓨팅 유닛이 필요한데 이런 컴퓨팅 유닛들은 보통 전력도 많이 퍼먹기 마련입니다. 그래서 일반적으로 모바일 기기에서 머신러닝을 도입하는 경우 대부분 기기에서 인터넷으로 데이터들을 전송하고, 해당 데이터로 서버에서 머신러닝 기능을 처리한 후 그 결과물을 돌려주는 방식으로 동작합니다. 애플은 어떻게 보면 일반적이지 않은 길을 걸어왔습니다. 일반적으로 현재 모바일 환경에서 머신러닝 기능을 가장 적극적으로 활용하는 곳은 사진, 일정정보 등의 분야인데 이는 개인정보에 속하는 영역입니다.

 

애플은 플래그십 제품을 파는 회사이고, 덕분에 사용자들은 강력한 하드웨어를 가지고 있습니다. 애플은 이런 점을 이용해 사용자들의 강력한 하드웨어에서 이런 머신러닝 기능들이 수행되도록 했습니다. 하지만 결국 모바일에서 사용할 수 있는 컴퓨팅 파워는 한정적이고, 전력 효율은 그보다도 더 중요한 요소입니다. 많은 사람들은 애플의 이런 정책이 애플을 인공지능 시대에서 뒤쳐지게 만들 것이라 말했습니다. 하지만 오늘 애플은 A11 바이오닉 칩의 뉴럴 엔진으로 판을 깼습니다.

 

 

위에서 말한 것과 같이 뉴럴 엔진은 신경망 추론을 위해 만들어진 전용 하드웨어입니다. 뉴럴 엔진을 이용하면 이전에 모바일 기기 수준의 전력으로 제공하기 어려웠던 정도의 성능을 저전력으로 제공할 수 있습니다. 지금껏 애플의 GPU가 강력했다고는 하지만 어디까지나 모바일 수준의 전력과 모바일에서 감당할 수 있는 발열이라는 제약에 묶여 있었기에 최신 PC에서 사용하는 하드웨어에 비할 바는 아니었습니다. 하지만 뉴럴 엔진과 A11 바이오닉 칩의 GPU가 동시에 동작한다면 기존 아이폰이 제공할 수 있던 것보다 훨씬 더 강력한 머신러닝 성능을 적당한 전력소모만으로 제공할 수 있습니다.

 

사진 : 애플

 

이는 애플의 '사용자 기기에서 모든 것을 수행한다'는 신념을 지키면서도 업계 최신 수준의 머신러닝을 바탕으로 하는 기능들을 아이폰과 아이패드에 마음껏 넣을 수 있다는 것을 의미합니다. 대표적인 예로 이번 아이폰 X에서 Touch ID를 대체하는 Face ID는 도트 프로젝터가 30000개 이상의 점을 얼굴에 뿌리면, 적외선 카메라가 이 점들의 위치를 파악하고, 이를 미리 수억장의 이미지로 학습한 뉴럴 네트워크를 사용하여 얼굴의 기하학적인 형태를 추론하는 방식으로 동작합니다. 이 과정에서 엄청난 양의 연산이 발생하게 되고, 이는 뉴럴 엔진에 의해 가속됩니다.

 

영상 : 애플

 

이번에 새로 소개된 애니모티콘 기능 역시 엄청난 계산 능력이 요구되는데요, TrueDepth 카메라 시스템이 깊이 이미지를 만들어내는 데는 물론이고 그 깊이 이미지를 분석해 50개 이상의 얼굴근육 움직임을 추적하고 최종적으로 이를 바탕으로 3d 이모티콘의 각 지점의 좌표를 변형시켜 렌더링해야 합니다. 무엇보다 중요한 것은 이 연산들이 실시간으로 이뤄져야 한다는 점이죠. 역시 애니모티콘 기능을 사용할 때도 뉴럴 엔진의 연산능력은 필수적인 요소입니다.

 

사진 : 애플

 

현재 시점에서 뉴럴 엔진의 성능을 추론할 자료는 애플이 키노트에서 밝힌 600GOPS(Giga Operation Per Seconds)라는 수치 뿐입니다. 사실 초당 명령어 수행 개수만으로는 뉴럴 엔진의 성능을 정확히 추론할 수 없는데요, 초당 명령어 수행 개수는 단일 명령어가 얼마나 복잡한지에 따라 가리키는 값이 달라지기 때문입니다. 예를 들어 반정밀도 연산을 1초에 100억번 수행할 수 있는 기기는 단정말도 연산을 1초에 50번밖에 수행하지 못합니다. 다만 일반적으로 머신 러닝에서 자주 사용되는 숫자의 정밀도가 반정밀도이므로 뉴럴 엔진의 성능을 반정밀도 기준 600GFLOPS로 가정한다면 A11 바이오닉의 그래픽 유닛의 최대 연산성능과 비슷한 수준의 성능을 가졌다고 평가해볼 수 있겠습니다. 물론 전력소모를 따진다면 뉴럴 엔진이 훨씬 더 적은 전력을 소모하겠지요. 

 

구글 TPU의 전례를 따른다면 뉴럴 엔진의 전력소모량은 그래픽 유닛이 최대로 가동될 때의 전력 소모량에 비해 무시할 만한 수준일 것으로 보입니다. 결과적으로 뉴럴 엔진이 추가되면 머신 러닝 시나리오에서 매우 낮은 소모전력으로 기존의 최대 성능에 달하는 성능을 낼 수 있으며, 기존과 비슷한 소모전력으로 두배에 가까운 성능을 낼 수 있다는 의미가 됩니다. 물론 이런 시나리오는 매우 이상적인 경우에만 가능하겠지만, 뉴럴 엔진의 추가가 어떤 의미를 가지는지 이해하는 데는 적절할 것입니다.

 

사진 : 애플

 

이처럼 뉴럴 엔진의 추가는 애플과 애플의 생태계의 개발자들이 좀 더 공격적으로 머신러닝 기능을 자신의 앱에 추가할 수 있음을 의미합니다. A11 바이오닉 칩은 아이폰 X 뿐만 아니라 아이폰 8 시리즈에도 모두 탑재되어 있으므로 시간이 지나면 Core ML 등의 API를 통해 머신 러닝 기능을 적극적으로 사용하는 앱들이 증가할 것입니다. A11 바이오닉 칩의 뉴럴 엔진의 추가는 이렇듯 아이폰의 가치를 높여주고 있습니다.

 

 

A11 바이오닉 칩은 뉴럴 엔진의 추가 외에도 전통적인 성능향상 역시 게을리하지 않았습니다. A11 바이오닉 칩은 지난 세대와 마찬가지로 서로 성능 특성이 다른 두 개의 코어 클러스터를 가지고 있는데요, 출시 전의 루머에 따르면 고성능 코어의 코드명은 ‘몬순’, 고효율 코어의 코드네임은 ‘미스트랄’이라고 합니다. A11 바이오닉 칩의 고성능 코어는 지난 세대 고성능 코어에 비해 최대 25% 향상된 성능을 보여준다고 합니다. 만약 이것이 긱벤치 점수 기준으로 환산된 것이라면 대략 4000점 이상의 싱글코어 점수를 보여줄 것으로 예상됩니다. 

 

지난해 아이폰 7 자세히 알아보기 성능편(링크)에서 A10 Fusion 칩의 구성상 두 클러스터를 동시에 작동할 수 있는 설계를 하더라도 고성능 클러스터와 고효율 클러스터 간의 절대성능 격차가 너무 커서 큰 효과가 없을 것이라고 설명한 바 있습니다. 하지만 A11 바이오닉 칩은 고효율 코어의 개별 코어 성능을 70% 끌어올림과 동시에 코어의 개수 역시 2배 늘림으로써 고성능 클러스터와 고효율 클러스터간의 성능 격차를 크게 줄임과 동시에 이 둘이 동시에 동작할 수 있도록 했습니다. 역시 아이폰 7 자세히 알아보기 성능편에서 살펴본 것과 같이 기존의 고효율 코어의 긱벤치 점수가 대략 1000점대로 추정되었다는 점에서 이번 고효율 클러스터의 전체 성능이 고성능 클러스터 단일 코어의 성능을 상회하는 수준일 것이라 생각해볼 수 있습니다.

 

결과적으로 향상된 성능의 고성능 코어와 고효율 코어가 모두 동작하는 환경에서 긱벤치 점수는 10000점 부근에서 형성될 것으로 추측됩니다. 이는 애플이 키노트에서 밝힌 멀티스레드 성능 1.7배 향상과도 어느 정도 맞아떨어지는 결과입니다. 이 가정이 맞다고 한다면 A11 바이오닉 칩은 스마트폰 시장에서 단일 코어 성능과 멀티코어 성능 모두에서 경쟁사들에 비해 압도적인 우위를 점할 수 있는 수준입니다.

 

 

그래픽 유닛 역시 재미있습니다. 이매지네이션과의 공급계약을 끊어버린 애플은 A11 바이오닉 칩에서 완전히 직접 설계한 그래픽 유닛을 탑재하고 나왔습니다. 기존의 협력사와의 공급관계를 끊을 정도로 자신의 그래픽 유닛에 자신이 있다는 이야기인데요, 애플이 밝힌 A11 바이오닉의 A10 Fusion 대비 GPU 성능 향상은 30% 정도입니다. 어떻게 보면 아쉬울 수도 있는 수치인데, 진짜 중요한 수치는 다음에 나오는 수치입니다. A11 바이오닉의 GPU 전력 소모량은 A10 Fusion의 GPU와 같은 성능일 때 절반의 전력소모를 보여준다고 합니다. 이를 어디까지 믿어야 할지는 모르겠지만, 최대 두 배에 이르는 큰 폭의 전력대 성능비 향상이 있었음은 분명합니다.

 

이런 전력대 성능비 향상은 애플이 그래픽 유닛 역시 자체설계를 하고싶었던 이유 중 하나일 겁니다. 여러 공급사에 아키텍처를 제공하는 회사에서 아키텍처를 라이선싱받게 되면 필연적으로 해당 제품에 필요 없는 기능들이 같이 딸려오게 마련입니다. 애플은 그래픽 유닛을 자체 설계하면서 이런 부분을 걷어냈을 겁니다. 또, 범용으로 아키텍처를 공급하기 위해서는 개별 클러스터(혹은 애플이 코어라고 부르는)를 가급적 잘게 쪼개는 쪽이 유리합니다. 그래야 클러스터의 개수를 바꿔가면서 여러 성능대를 공략할 수 있으니까요. A10 Fusion 칩의 GPU는 여섯 개의 코어를 가지고 있었는데, 이번 A11 바이오닉 칩의 GPU는 세 개의 코어만을 가지고 있습니다. 즉, 바이오닉 칩의 코어 하나의 성능이 기존 A10 Fusion 칩의 GPU 코어 두 개이상이라는 의미죠.

 

그래픽 유닛은 코어를 추가했을 때 성능이 선형적으로 증가하는 편이지만, 코어가 여러 개가 될 때 오버헤드가 없는 것은 아닙니다. 애플은 자체 설계로 더 큰 GPU 코어를 설계하면서 이런 오버헤드를 줄이는 방식으로 성능 향상을 달성하고, 아키텍처의 불필요한 부분을 제거하면서 아키텍처를 재설계하고, 10nm 공정으로의 이행으로부터 오는 이익으로 전력 소모를 줄인 것으로 보입니다.

 

 

덕분에 이번 A11 바이오닉 칩은 그래픽 집중적인 작업을 수행할 때 높은 성능을 더 오랜 시간동안 발휘할 수 있을 것으로 보입니다. 당연히 칩의 전력 소모가 줄어들었으니 게임 등에서의 배터리 지속시간 역시 증가할 것입니다. 만약 그래픽 집중적인 작업과 머신 러닝 작업이 동시에 주어지는 상황에서 A11 바이오닉 칩은 양 쪽 워크로드 모두를 멋지게 수행하면서도 전력 소모를 적당한 수준으로 억제할 수 있을 것입니다. 이런 A11 바이오닉 칩의 특성은 애플이 최근 야심차게 추진하고 있는 AR 컨텐츠에 매우 적합합니다. 기본적으로 AR은 매우 그래픽 집약적인 작업이며, 게임 등은 기본적으로 오랜시간 구동되는 컨텐츠이기 때문에 높은 지속성능의 유지와 낮은 전력소모를 통한 배터리 타임 유지가 중요한 과제이기 때문입니다.

 

A11 바이오닉 칩과 아이폰 8 시리즈, 아이폰 X는 하드웨어와 소프트웨어 양 쪽을 고도로 설계할 수있는 기술력을 가진 회사가 어떤 일을 할 수 있는지를 단적으로 보여주는 예시입니다. 애플은 엄청난 기술력으로 자신만을 위한 하드웨어를 설계하고, 역시 자신만을 위한 소프트웨어를 설계합니다. 그리고 이 둘 사이에서 발생하는 유기적인 시너지 효과는 애플을 독특한 기업으로 남아있게 하는 원동력 중 하나입니다. 애플이 앞으로도 지금 이 마음을 잃지 말고 계속해서 모바일 컴퓨팅의 미래를 밝혀주기를 기대합니다.


필자: Jin Hyeop Lee (홈페이지)

생명과학과 컴퓨터 공학의 교차점에서 빛을 발견하고 싶습니다. DrMOLA의 편집장으로 활동하고 있습니다.


참조
• 아이폰 X의 심장 : A11 바이오닉 칩 살펴보기


관련글
• 엑스가 아니라 텐 : 아이폰 X 직접 써봤어요

• X에 가렸지만 있을 건 다 있다. 아이폰 8 시리즈