볼거리

아이폰 XS의 두뇌 A12 Bionic: 판을 엎어라

닥터몰라 2018. 10. 9. 11:57

사진: 애플

 

현지시간 9월 12일, 애플은 아이폰 X의 직계 후속작인 아이폰 Xs, 아이폰 Xs Max와 아이폰 X의 방계 후속작인 아이폰 XR을 공개했다(링크). 이들 사이에는 공통점도 많고, 차이점도 많지만 이들을 한해 전 플래그십인 아이폰 X와 가장 확실히 차별화시키는 것은 A12 Bionic 칩이다. 새 아이폰과 지난 세대 아이폰의 가장 큰 차별점이 AP라는 것은 어찌 보면 아쉬운 이야기이지만, 반대로 말해 이 AP가 보통 때보다 더 큰 차별점을 가질 것이라고도 생각해볼 수 있다. 그렇다면 A12 Bionic 칩이 기존의 A11 Bionic 칩에 비해 어떤 것이 달라졌는지 살펴보자.

 

애플의 칩 이름에 접미어가 붙기 시작한 것은 최근의 일이다. A10 칩에서 최초로 Fusion이라는 접미어가 붙었고, A11에서는 A12와 동일한 Bionic이란 접미어가 붙었다. 칩에 붙는 접미어는 애플이 강조하고 싶은 내용을 반영한다. A10의 Fusion은 애플 칩 최초로 고성능, 고효율 클러스터를 포함했기 때문에 붙은 단어이다. A11 Bionic의 경우 최초로 칩 내에 인공신경망을 실행시키는 뉴럴 엔진이 포함되면서 이를 강조하기 위해 Bionic이란 접미어를 사용했다. 그리고 A12 Bionic 역시 같은 이유로 Bionic을 사용했다. 지난 해에 사용했던 것과 같은 접미어를 붙이면서까지 뉴럴 엔진을 다시 강조하려 한 것은 뉴럴엔진에 큰 변화가 있었음을 의미한다. 하지만 뉴럴 엔진이 빛나기 위해서는 기본기가 탄탄해야 함은 분명하다. 그런 의미에서 A12 Bionic의 진짜 주인공인 뉴럴 엔진에 대해 짚어보기 전에 AP의 가장 기본이 되는 CPU와 GPU 성능을 살펴보자.

 

사진: 애플

 

A12 Bionic 칩의 CPU는 A11 Bionic 칩과 동일하게 2개의 고성능 코어와 4개의 고효율 코어로 구성되어 있다. 알려지기로는 이번 고성능 코어의 코드네임은 ‘Vortex’, 고효율 코어의 코드네임은 ‘Tempest’라고 한다. 애플은 고성능 코어가 기존에 비해 15% 더 빨라졌고, 그러면서도 전력효율이 최대 40% 더 높아졌다고 밝혔다. 고성능 코어의 성능이 15% 증가한 것은 기존의 큰 성능 향상에 비해서는 실망스러워 보일 수 있겠지만, 이미 애플의 고성능 코어가 스마트폰에서 사용되고 있는 CPU 코어 중에서 가장 넓은 아키텍처를 보유하고 있다는 점을 생각해보면 유의미한 개선이라 볼 수 있다. 비근한 예를 들어 최근 몇 년간 인텔이 한 세대의 프로세서만에 개별 코어 성능 15% 성능 향상을 달성한 경우는 손에 꼽힌다(네할렘에서 샌디브릿지, 특정 분야 한정 브로드웰에서 스카이레이크). 또, 최대 40%에 달하는 전력효율 개선은 전체 칩의 스로틀링 특성을 개선하여 실사용 성능에 추가적인 이점을 가져다줄 수 있다. 애플은 이번 스페셜 이벤트에서 iOS 12의 스케줄러 개선과 아이폰 Xs의 성능 향상을 합치면 앱 로딩 시간이 30% 빨라졌다고 밝혔는데(대조군 살펴보기), 고성능 코어의 전력소모가 줄어들면서 좀 더 적극적으로 고성능 코어를 사용하게 된다면 수치적으로 나타나는 전체 성능 향상분보다 더 많은 성능 향상을 체감할 수 있을지 모른다.

 

하지만 애플은 이번 발표에서 고효율 코어의 성능에 대한 내용을 언급하지 않았다. 애플의 설명에 따르면 A12 Bionic 칩의 고효율 코어는 기존에 비해 최대 50% 향상된 전력 효율을 보여준다고 한다. 애플이 명시적으로 고효율 코어의 성능을 언급하지 않은 것에서 고효율 클러스터의 성능 향상은 거의 없다고 봐도 틀리지 않을 것이다. 이번 발표 이후 애플워치 시리즈 4의 S4 칩의 CPU 코어와 A12 Bionic 칩의 고효율 코어의 코드네임이 같다는 것이 알려졌다. 실제로 이 둘이 논리적인 아키텍처를 공유한다면, A11 Bionic 칩의 고효율 코어와 성능 차이는 없지만 전력효율을 올리는 형태의 아키텍처 개선이 있었을 것으로 보인다.

 

사진: Geekbench browser

 

이런 내용들을 종합해봤을 때, A12 Bionic 칩의 CPU 성능은 A9, A10 Fusion, A11 Bionic에서 보여줬던 폭발적인 증가세에서는 약간 빗겨난 것으로 보인다. 고성능 코어가 각각 15% 빨라졌고, 고효율 코어의 성능에 변화가 없다면(지난 A11 분석 글에서 고효율 클러스터 전체의 성능이 고성능 코어 하나 정도에 해당한다고 분석한 바 있다; 링크), 전체 CPU 성능 향상은 10% 이내에 그칠 것이다. 실제로 공개된 긱벤치 스코어 역시 이를 반영하고 있다. 다만 A11 Bionic 칩의 CPU 성능 자체가 워낙 높았고 큰 전력효율 향상이 있었다는 점에서 이 수치는 무시할 만한 수치로 볼 수 없다. A12 Bionic 칩의 CPU 성능은 올해와 내년 내내 스마트폰 시장의 최강자 중 하나로 군림할 것이다.

 

사진: 애플

 

성능 증가가 기대에 미치지 못한 CPU와는 달리 GPU는 상당한 폭의 성능 향상을 가져올 것으로 보이는데, 기존 3코어(클러스터) 디자인이던것이 4코어 디자인이 되면서 연산 유닛 개수가 33% 늘어난 데 더해, 최근 PC GPU에서 적극적으로 사용되고 있는 실시간 컬러 압축 기술을 도입했다. 이는 실질적인 메모리 대역폭이 늘어난 효과를 가져다준다. 거기에 7nm 공정이 가져다준 전력 여유분까지 합쳐서 애플이 주장하는 총 50%에 달하는 성능 향상을 가져온 것으로 보인다. 거기에 작년에 이어 올해까지 애플이 직접 디자인한 GPU를 사용했다는 것을 명시함으로써 애플이 GPU 아키텍처를 직접 디자인하고 있음을 다시 한 번 확인했다.

 

기존 A11 Bionic 칩의 그래픽 성능이 현재 시장에 있는 AP 중에서 최상급이었다는 것을 감안하면, 이 50%의 성능 향상이 얼마나 큰 폭의 향상인지를 알 수 있다. 이번 AP의 성능 향상이 CPU보다 GPU에 집중된 것은 아이폰 XS Max가 기존 아이폰의 최고 렌더링 해상도를 크게 웃돌기 때문인 것으로 보인다. 기존에 '플러스'가 붙은 아이폰의 렌더링 해상도는 2208 * 1242로 대략 274만개의 픽셀로 구성되어 있다. 아이폰 X의 경우는 세로가 좀 더 길어진 2436 * 1125의 해상도를 가졌지만, 줄어든 가로 픽셀 때문에 전체 렌더링 픽셀 개수는 역시 274만개 정도였다. 하지만 아이폰 XS Max의 경우 2688 * 1242의 해상도를 가져 대략 334만개의 픽셀을 그려내야 한다. 20%가량 더 늘어난 픽셀을 그려내면서도 전 세대와 비교했을 때 유의미한 그래픽 성능 향상을 위해서는 GPU 성능 향상에 좀 더 집중할 수 밖에 없다.

 

하지만 글의 서두에서도 밝힌 것과 같이 꾸준히 성능향상을 이뤄내고 있는 CPU도, 지난 세대에 비해 50%에 달하는 성능 향상을 이뤄낸 GPU도 A12 Bionic 칩의 진정한 주인공은 아니다. A12 Bionic 칩의 주인공의 자리는 뉴럴 엔진을 위한 것이다. 애플의 뉴럴 엔진은 A11 Bionic 칩에서 처음으로 도입되었다. 하지만 A12 Bionic 칩은 이를 한 단계 더 도약시키는 데 성공했다.

 

사진: 애플

 

A12 Bionic 칩의 뉴럴 엔진은 1초에 최대 5조번의 연산을 처리할 수 있다. 이는 A11 Bionic 칩의 뉴럴 엔진에 비해 8.3배 이상 높아진 성능이다. 다만 애플은 여기서 말하는 연산이 정확히 어떤 자료형에 대한 연산임을 밝히지 않았다. 자료형에 따라 연산 난이도가 다르기 때문에 초당 연산성능이라는 단위로 기기간 비교를 할 때는 이 자료형을 자세히 살펴볼 필요가 있다. 보통 이런 연산성능의 경우 16비트 부동소수점 자료형에 대한 연산 성능을 밝히지만, 모바일 기기에서 주로 이뤄지는 추론 연산의 경우 8비트 정수 자료형을 통해서도 가능하다. 어쨌든, 애플이 정확한 자료형을 밝히지 않은 이상 5조번의 연산은 8비트 정수 자료형에 대한 연산성능이라고 가정하도록 하겠다(이 부분에 대한 내용은 추후 실험을 통해 확인하여 알려드리도록 하겠다).

 

이렇게 보수적으로 가정하더라도 A12 Bionic 칩의 뉴럴 엔진의 머신 러닝 학습 성능은 데스크톱 그래픽카드인 엔비디아 GTX 960과 맞먹는 수준이다. 물론 뉴럴 엔진은 단정밀도 연산을 수행할 수 없고, 좀 더 범용적인 그래픽 연산에 사용할 수 없다는 점은 감안해야겠지만, 스마트폰 수준의 전력소모에서 이 정도의 머신 러닝 성능을 제공할 수 있는 것은 온전히 이런 전용 하드웨어의 덕이다.

 

A12 Bionic 칩의 이런 머신 러닝 성능은 애플의 퍼스트파티 앱을 가속시키는 것뿐만 아니라, Core ML 모델로 만들어진 서드파티 개발자 앱 역시 가속한다. Core ML에는 기본적인 머신 러닝, 딥 러닝 모델들이 포함되어 있으며, Xcode 10에 추가된 Create ML을 통해 개발자가 간단한 모델을 학습시킬 수 있고, tensorflow 등 범용 딥러닝 프레임워크로 구축한 네트워크를 옮겨오는 것 역시 가능하다. 최근 컴퓨터 과학 분야 뿐 아니라 여러 학문, 공학 분야의 전통적인 문제들 중 많은 부분이 머신러닝에 의해 풀리고 있다. 알파고가 이세돌을 이기는 충격적인 장면을 모두 기억하고 있으리라 믿는다. 그리고 이미 소비자들은 알게 모르게 이런 머신 러닝 기술의 혜택을 누리고 있다. 

 

하지만 머신 러닝을 수행하기 위해서는 높은 성능의 병렬 연산능력이 요구되기 때문에 소비자를 대상으로 제공되는 머신 러닝 서비스들은 대부분 네트워크를 통해 원격으로 제공되는 방식을 채택하고 있다. 하지만 이런 방식은 인터넷 연결이 반드시 전제되어야 하고, 데이터를 반드시 서버에 전송해야 한다. 그리고 이런 불편함과 찝찝함 외에도 인터넷 망이 가지는 지연때문에 실시간 처리에 적합하지 못하다는 단점 역시 존재한다.

 

사진: 애플

 

하지만 A12 Bionic 칩의 뉴럴 엔진은 이런 판을 엎을 수 있다. 이제 소비자들의 손에는 데스크톱 PC 수준의 머신러닝 연산 성능을 가진 기기가 들려 있고, 개발자들은 이 성능을 이용한 앱을 제공할 수 있다. 이런 머신 러닝 성능은 아이폰 XS, XS Max의 뛰어난 카메라 성능을 뒷받침하고, 애플의 여러 퍼스트파티 앱들의 능력을 강화시켰다. 또, 이번 키노트에서 시연된 농구 코칭 앱은 사용자의 자세를 인식하기 위해 머신 러닝 기술을 이용해 학습된 네트워크를 이용해 영상에서 실시간으로 관절을 추출하고, 이 내용을 바탕으로 정확한 코칭을 제공한다. 이런 예시는 강력한 머신 러닝 성능이 기기에서 실시간으로 구동되었을 때 사용자에게 어떤 경험을 줄 수 있는지를 보여준다.

 

컴퓨터 공학 분야에서 더 높은 성능은 항상 옳다. 더 높은 성능을 개발자들에게 주어진 제약을 풀어주고, 개발자들은 이런 운동장에서 더 멋진 경험을 제공하는 앱들을 만들어낼 수 있다. 스마트폰의 성능은 지난 십여년간 눈부시게 발전했다. PC에 들어가는 CPU, GPU보다 뒤쳐진 공정을 사용하는 것이 당연했던 시절도 있었지만, 이제 애플의 A12 Bionic은 인텔, AMD가 생산하는 PC의 CPU보다 더 미세한 공정을 이용해 생산된다. 이는 PC가 가지던 상징적인 위치를 스마트폰이 빼앗아왔다는 것을 잘 보여주는 사례라 할 수 있을 것이다.

 

초기 컴퓨터의 역사는 여러 연산 장치들을 범용 연산 장치로 합치는 방향으로 진행되었다. 여러 코프로세서들은 차례로 중앙처리장치로 합쳐졌다. 하지만 시간이 지나면서 특정 연산에 특화된 처리장치의 필요성이 대두되었다. 특히 전력이라는 제한이 있는 모바일 분야에서는 같은 일을 좀 더 전력 효율적으로 처리할 수 있는 전용 회로의 매력은 더 올라간다. 현재 모바일 시장에서 애플의 뉴럴 엔진뿐 아니라 화웨이의 NPU, 구글의 픽셀 비주얼 코어 등이 머신 러닝 연산에 특화된 연산 장치이다. 엔비디아는 타이탄 V에서 도입한 텐서코어를 소비자 대상 그래픽 카드인 RTX 2080Ti와 RTX 2080에 도입하면서 역시 높은 수준의 머신 러닝 연산성능을 데스크톱에 도입하려 하고 있다. 이런 움직임은 더 이상 특별한 움직임이 아니라 시장이 움직이는 방향이 될 것이다. 이제 중요한 것은 이런 하드웨어 칩을 탑재하는 것을 넘어 이 칩을 활용할 수 있는 개발환경을 얼마나 잘 갖추는지가 될 것이다.

 

애플은 이 시장에서 중요한 고지를 선점할 수 있다. 이번에 새로 공개된 아이폰 3종은 모두 A12 Bionic 칩을 탑재하고 있다. 이는 내년까지 대략 1억대 가량의 A12 Bionic 기기가 시장에 풀릴 것이라는 의미이다. 반면 모바일 시장에서 애플의 경쟁 상대인 안드로이드 진영은 문제가 조금 더 복잡하다. 먼저 현 시점에서 NPU를 지원하는 하드웨어 역시 구글 픽셀 2, 화웨이의 플래그십 제품 정도에 그쳐 삼성, 퀄컴이 새로운 플래그십 AP를 발표, 공급할 내년 상반기까지는 NPU를 탑재한 기기 대수가 크게 늘지 않을 것으로 예상된다. 거기에 만약 삼성, 퀄컴의 새로운 AP가 각각 설계한 NPU를 탑재한다 하더라도 각 회사와 구글이 통합된 안드로이드 프레임워크를 제공할 때까지, 개발자는 같은 기능을 구현하기 위해 적어도 네 번의 작업을 해야 할 것이다.

 

최근 몇 년간 머신러닝은 매우 뜨거운 연구주제로 떠올랐고, 즉각적으로 우리 삶에 영향을 미치기 시작했다. 그리고 이런 머신러닝이 우리 손 안의 컴퓨터인 스마트폰으로 스며드는 것은 당연한 현상이다. 모바일의 한정된 전력 안에서 높은 성능을 낼 수 있는 가장 확실한 방법은 머신러닝에 특화된 하드웨어 회로를 투입하는 것이다. 애플은 이런 시장의 흐름 속에서 단연 앞서가는 기업 중 하나이다. 머신러닝 붐이 촉발한 이런 사태가 앞으로의 스마트폰 시장을 어떻게 바꾸어 놓을지 기대된다.


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

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


참조

• 아이폰 XS의 두뇌 A12 Bionic: 판을 엎어라


관련글

• 삼형제 아이폰부터 애플워치 시리즈 4까지: 애플 9월 이벤트 결산
• 아이폰 X의 심장 : A11 바이오닉 칩 살펴보기