차세대 지능형반도체 기술 워크샵 '온-디바이스AI 기술 전망 및 구현' 발표 전문
차세대 지능형반도체 기술 워크샵 '온-디바이스AI 기술 전망 및 구현' 발표 전문
  • 전동엽 기자
  • 승인 2019.11.07 08:59
  • 댓글 0
이 기사를 공유합니다

한재준 삼성전자 마스터 "로우-비트-프리시전 자동 변환 툴 제작 중"
한재준 삼성전자 마스터

11월 6일 차세대 지능형반도체 기술 워크숍 

= 장소 : 판교 한국반도체산업협회 9층 대강당

= 시간 : 오전 11시 ~ 11시 50분

= 발표자 : 한재준 삼성전자 마스터

= 주제 : 온디바이스AI 기술전망 및 구현

@한재준 삼성전자 마스터

저는 컴퓨터비전을 연구하고 있습니다. 회사에서 밖에 나가서 강연하는 걸 조심스러워합니다. 기왕 이렇게 초대해 주셨으니 최대한 어떤 쪽을 중요하게 생각하는지, 어떻게 발전시키는지 자세하게 설명 드리겠습니다.

일단 제 발표 내용은 '온디바이스AI'가 무엇이냐, 그리고 이것을 왜 중요하게 생각하는지, 컴퓨터 비전을 연구하는 사람이기 때문에 어떤 식으로 발전할지 전망에 대해 설명하겠습니다. 그리고 온디바이스AI에 어떤 챌린지와 기회가 있는지 보겠습니다.

먼저 AI 기술 발전에 대해 설명을 드리면, AI 기술은 세 번의 웨이브 있었습니다. 60~70년대 한 번 있었고, 80년대 한 번 있었습니다. 2000년대 초반에 네이처에 힌튼 교수가 '오토인코더'라는 논문을 발표했습니다. 데이터를 압축함에도 불구하고 압축된 데이터가 복원됐을 때 그 데이터를 유지할 수 있다는 논문을 내면서 딥러닝이 새로운 트렌드로 부각됐습니다. (오토인코더가 발표된)2006년이라는 시기를 상당히 중요하게 인식하고 있습니다. 2006년에 네이처에 논문을 냈지만 여전히 사람들은 관심이 없었습니다. 그래서 AI를 하는 사람들이 제일 먼저 도전한 게 스피치 분야입니다. 스피치를 딥러닝 기반으로 어떻게 성능을 높일 수 있는지 설명했습니다. 

대부분 사람들이 알게 된 알파고도 있지만, 이미지 넷이라는 대용량 데이터를 2009년에 만들었습니다. 에러율이 20% 정도였는데 딥러닝을 적용하고 5%대로 성능이 굉장히 좋아졌습니다. 2015년부터는 사람의 수준을 넘어갔다는 이야기들이 나왔습니다. AI의 3대 대가라고 불리는 제프리 힌튼, 요수아 벤지오, 얀 르쿤이 브레이크 쓰루 했습니다. 그 이후 딥러닝 플랫폼이 많이 등장했습니다. IT 업체 위주로 카페, 텐서플로우 등 러닝 프레임워크를 오픈했습니다. 오픈된 러닝 프레임워크는 데이터베이스와 해당되는 레이블만 있으면 어떤 사람도 트레이닝을 할 수 있다는 컨셉으로 수익 창출을 시도했습니다.

결국 반도체와 어떤 관계가 있냐고 하면, 클라우드는 CPU, GPU 기반 서버가 많은데요. 사실 아마존이 클라우드 쪽에서 대표적인 기업이라고 할 수 있는데, GPU 서버를 집어넣기 시작한지 얼마 안됐습니다. AI는 병렬 연산에 적합한 컴퓨팅이라고 할 수 있어서 클라우드 쪽에 GPU가 많이 들어가고 있습니다. GPU는 전력과 퍼포먼스 관점에서 보면 전력을 많이 쓰지만 퍼포먼스도 굉장히 좋은 편입니다. CPU관점에서 병렬 프로세싱은 말이 안 되지만 GPU 대비 전력효율이 좋습니다. 

애플의 경우 2017년에 내놨는데 뉴럴프로세서(NPU)라는게 전력효율도 나쁘지 않고, 컴퓨팅에 병렬처리도 훨씬 잘 될 수 있는 방향으로 바뀌고 있습니다. 메모리 측면에서는 '펑션-인-메모리', '프로세서-인-메모리'라는 컨셉이 계속 나오고 있는데, 웨이트라는 게 저장돼있는 데이터고, 입력된 데이터를 계속 곱하기와 덧셈하는 펑션이기 때문에 '그럼 메모리에서 하는 건 어떨까?'하는 컨셉으로 프로세서 인 메모리가 AI 컨셉으로 바뀌고 있습니다. 요즘 또 얘기가 나오는 거는 AI 센서. 

어떻게 보면 약간은 패러다임을 서로 바꾸려는 여러 가지 전쟁들이 있다고 저는 생각하는데요. 대표적인 것은, 클라우드 업체들은 모든 컴퓨팅을 자기네 클라우드 안에서 돌아가게 하고, 데이터 스토리지도 자기 쪽으로 옮기려고 합니다. 많은 사람들이 구글 포토에 사진을 전송하잖아요. 저장 목적이라고 생각하지만, 어느 날 갑자기 1년을 돌아보는 사진을 가끔 보여주면 기분이 좋잖아요. 사실 그 안에서 컴퓨팅이 계속 일어나는 중이거든요. 앞으로 컴퓨팅 패러다임을 클라우드로 옮기기 위한 목적 중 하나입니다. 

저희 같은 경우에는 클라우드 서비스를 하는 업체는 아니기 때문에 최대한 컴퓨팅을 단말 안에 집어넣는 전쟁들을 하고 있습니다. 메모리 비즈니스 입장에서는 ‘컴퓨팅을 메모리해서 했으면 좋겠다’, 센서업체 입장에서는 ‘컴퓨팅을 이쪽에 갖다놨으면 좋겠다’는 이런 보이지 않는 전쟁을 하고 있습니다. 결론이 어떻게 날진 모르겠지만 지금은 다양한 변종들이 나타나고 있습니다. 

그럼 AI 디바이스 마켓 전망을 보면, 데이터를 콜렉팅 할 수 있는 디바이스를 저희는 AI 디바이스라고 하는데, 전체적으로 데이터가 얼마나 늘어날 것인가, 엣지 컴퓨팅이 얼마나 늘어날 것인가를 보겠습니다. 데이터를 제너레이션 할 수 있는 디바이스를 보면 점점 그 수가 늘어나고 있습니다. 생산하는 데이터 기준으로 봐도 10년간 10배 이상의 데이터를 생산해낼 것으로 보입니다. 문제는 이 데이터를 제대로 사용하지 못하고 있습니다. 대부분 저장하거나 버리게 됩니다. 이걸 얼마나 잘 쓸 것인가가 화두가 될 것 같습니다.

대표적인 예로 인텔은 온디바이스 컴퓨팅 관점에서 여러 가지 포트폴리오를 준비 중입니다. 대표적으로 모비디우스라는 비전 프로세서 업체를 인수하기도 하고, 온디바이스에서 돌아가는 컴퓨팅에 필요한 업체들을 인수하는 중입니다. 어떤 게 킬러(애플리케이션)가 될지 모르기 때문에 많은 투자를 하고 있습니다.

아까 전에 온디바이스 얘기를 많이 했었는데, 왜 온디바이스AI인가, 왜 중요한지 체크해보겠습니다. 저는 얼굴인식 전문가입니다. 이걸로 마스터가 됐습니다. 저희는 온디바이스에서만 돌아갈 수 있게 해서 외부로 유저데이터가 나가지 않게 하는 게 굉장히 중요하다고 시작부터 생각했습니다. FIDO 얼라이언스라고 있는데, 바이오매트릭스 정보를 보호하면서도 사용자에게 베네핏을 줄 수 있는 표준을 만드는 곳입니다. 가장 중요한건 단말에 있는 바이오매트릭스 데이터는 밖으로 나가면 안 됩니다. 서버에 내 바이오매트릭스 정보를 주는 순간, 저장된 나의 바이오매트릭스 정보가 해킹당하면 문제가 커지죠. 검지 지문 정보가 해킹당하면 수술을 할 수도 없고, 내 손을 바꿀 수도 없는 일이죠. 정부는 지문 10개를 다 갖고 있는데 그게 해킹 당하면 정말 괴로운 상황이 될 겁니다. 그만큼 바이오매트릭스 정보는 소중히 다뤄야합니다. 그중에 한 방법은 시큐어엘리먼트라고, 칩 벤더에서 제공하는 노말OS에서는 안 보이는 존이 있습니다. ARM에서는 트러스트존이라고 하는데, AP를 설계하면 시큐어OS를 깔고 동작할 수 있게 만든 다음에 그 위에 노말OS를 깔게 됩니다. 그렇게 되면 실제로 데이터는 트러스트존에 저장됩니다. 컴퓨팅도 트러스트존에서 실행됩니다. 

또 하나 중요한 게 유럽에서 일어났습니다. GDPR(개인정보보호규정)이라고해서 프라이버시를 강화하는 법안이 발의됐습니다. 프라이버시 침해하는 기업에게 매출의 4%를 벌금으로 부과합니다. 4%면 영업이익 전부 날리는 수준입니다. 만약에 바이오매트릭스 데이터가 서버로 간다는 게 밝혀지거나, 그 DB가 해킹되거나 유실되면 부과됩니다. (온디바이스AI는)프라이버시를 보호하는 규제가 드라이빙하는 기술 발전 중 하나라고 볼 수 있습니다.

또 하나는 응답을 빠르게 해야 하는데, 5G가 등장하면서 서버를 다녀오는 시간이 많이 짧아졌지만 여전히 서버로 가는 커뮤니케이션 레이턴시가 존재합니다. 데이터가 머무는 시간은 존재합니다. 이걸 방지하기 위해서는 데이터를 단말에서 처리하는 게 훨씬 좋을 수 있습니다. 저희가 고민하는 것 중 하나는 사람 뇌 수준의 디바이스 프로세싱 속도인데요. 예를 들어 사람이 누군가를 보고 누구라는 판단을 내리는 게 150ms입니다. 이 안에서 온디바이스AI가 처리할 수 있으면 나쁘지 않겠다는 요구사항을 갖고 있습니다. 

마지막으로 온디바이스AI의 가장 큰 장점은 네트워크가 없을 때입니다. 예를 들어 갑자기 네트워크 연결이 끊겨서 얼굴 인증으로 언락을 하려고 했는데 클라우드에 접속을 못하면 잠금을 풀 수 없는 상태가 될 수 있겠죠. 대화를 하는 상황을 예로 들면, 일본에서 뭔가를 시키고 싶은데 번역기를 믿고 갔다가 네트워크가 끊기면 사용자에게 불편을 초래할 수 있습니다. 때문에 디바이스 상에서 돌릴 수 있는 AI기술은 나름대로 의미가 있습니다. 클라우드 서비스 자체의 코스트를 줄일 수 있는 것도 장점입니다. 

그러면 제가 연구하는 분야에서 어떤 걸 중요하게 트렌드로 보고 있는지 설명 드리겠습니다. 기본적으로 큰 그림을 보면 ‘나를 보는 기술에서 밖을 이해하고, 실제 지능을 갖고 있는 디바이스가 나타날 것’이라는 게 전체적인 트렌드입니다.

Ego-centric Recognition 기술은 셀피, 이모지, AR스티커 같은 AR 기술 중 하나입니다. 저희가 중요하게 생각하는 기술은 바이오매트릭스입니다. 다 예전에 하던 기술이지만 딥러닝으로 대체됐습니다. 

Allo-Centric Understanding 기술은 자율주행 자동차나 AR글래스 등 사람의 능력을 증강시킬 수 있는 방향으로 발전 할 것입니다. 나를 대신해 급정거를 해준다던지, 주변 카메라들이 나를 대신해서 바라봐서 주변 상황 인지하는 기술, 실제 빌딩 랜드마크를 알아내서 어디인지 위치 정보 제공 등이 다음 세대 기술이 될 것입니다. 

마지막으로 Embodied Intelligence 기술은 홈로봇이나 AI어시스턴트 같은 기술입니다. 지금은 장난감 수준이지만 사람에 도움이 될 수 있고, 동반자 수준으로 만드는 게 궁극적 목표입니다. 사람이 지능을 습득하는 과정에서는 보고, 듣고, 어떻게 만져야겠다 판단하는 것과 마찬가지로, AI 기술은 모빌리티나 매뉴플레이터를 조작할 수 있는 기술로, 사람과 인터렉션할 수 있는 기술로 비전이 점점 통합할 것 같습니다. 

저희가 주장하는 바인데요. 저희는 월드 베스트 온디바이스 페이스 레코그네이션을 보유하고 있다고 생각합니다. 저희가 2017년에 (갤럭시)S8에 처음 얼굴인식 기반 언락을 소개했는데요. 고동진 사장님이 제가 밤새 개발한 기술을 시연할 때 감동이었습니다. 그 당시 기술과 지금 기술 비교해보면 상당한 갭 있습니다. 사용하시는 분들은 어떨지 모르겠는데 나름대로는 자긍심을 느끼고 있는 기술입니다. 저희가 포커스 했던 거는, 2013년에는 서버기반으로 얼굴 인식을 하면서 인간 수준 이상이라고 했습니다. 저희는 메모리는 10MB 이내로 쓰고 속도는 사람수준에 150ms 컴퓨팅을 구현하기를 요구 받았습니다. 그 당시에는 불가능하다고 생각했는데, 목표를 잡고 연구개발하면 충분히 가능하다고 생각합니다.

조금 더 자세하게 설명하면, 얼굴이 입력되면 디텍션하고 실제인지 아닌지 판단하고, 얼굴의 특징점을 잡고 저장합니다. 탬플릿에 저장된 정보와 같은지 다른지 판단해서 잠금이 해제되는 방식입니다. 

저희가 풀고 있는 문제는 조명이 변해도 같다고 할 수 있어야 합니다. 조명과 포즈, 안경이나 머리카락 모양이 다른 상태에서도 인식할 수 있어야 합니다. 사람이 헷갈릴 정도로 닮은 사람을 구분해야 하는 문제도 있습니다. 심지어 쌍둥이를 구분하라는 요청도 받고 있는데 현실적으로 어렵습니다.

실제얼굴과 가짜얼굴을 구분하는 기술도 갖고 있다고 말씀 드렸는데, 아직 좀 더 개선해야할 부분 있습니다. 얼굴인식은 이미 존재했던 기술입니다. S8에 넣기 전에 S2에 구글에서 집어넣었던 페이스 언락 기술이 있었어요. 저희가 광고했다가 후폭풍 받았습니다. '아들이 내 핸드폰을 언락한다'부터 시작해서 '와이프가 사진으로 내 폰을 뚫었다' 이런 얘기를 들었습니다. 그래서 S8때 상용화한다고 무선사업부 찾아갔다가 이미 한번 버린 기술 다시 채용 안 한다고 해서 고생했습니다. 굉장히 설득 오래했어요. 사진이나 3D마스크도 구분해야 하는 요구사항 있었습니다. 최근 안드로이드 OS에서도 강화하는 쪽으로 이야기되고 있습니다. 

저희는 딥뉴럴네트워크(DNN)에서 3가지 특징 구별할 수 있게 고안했습니다. 전경을 인식하고, 전체 얼굴 톤, 부분 얼굴에서 질감을 인식할 수 있는 알고리즘을 집어넣었습니다. 이런 것들이 가능해 지면서 시장에서 언락기능으로 사용 가능해졌습니다. 

또 하나의 기술 중에 딥러닝은 아니지만 사용자가 탬플릿을 등록하면 탬플릿을 자동으로 업데이트 하는 기능을 추가했습니다. 머리카락을 잘라서 인상이 확 변할 수도 있고, 아침과 저녁에 부스스함이 다를 수 있습니다. 그런 변화들을 다 대응하기 위해서 템플릿을 자동으로 업데이트하는 기술을 적용했습니다.

온디바이스AI에 어떤 챌린지가 있는지 설명하겠습니다.

하드웨어 입장에서 보면 좀 다를 수 있지만, 저희 회사는 요청부터 설계, 생산까지 대략 2년 정도 걸렸습니다. AI라는 분야는 계속해서 발전하고 있는데요. 발전하는 분야 따라잡기 쉽지 않습니다. 여러 가지 문제 있는데, 당시 최고 소프트웨어 지원한다고 하더라도 2년 후에 다른 펑션이 더 중요하다고 하면 하드웨어 개발 입장에서 괴로운 일입니다. 예를 들자면 저희한테 찾아온 분들이 "하드웨어를 만들고 싶은데 뭘 구현하면 되냐"는 문의를 한 적이 있습니다. 그래서 커널 사이즈가 3x3인 컨볼루션을 많이 쓴다고 알려줬습니다. 그래서 그분들은 그렇게 개발에 들어갔는데, 그 다음해에 1x1 컨볼루션이 굉장히 중요해졌습니다. 그분들은 하나의 데이터를 처리하는데 9개의 빈 공간을 동시에 처리해야 하는 프로세스를 갖게 되는 것이죠. 이런 부분이 하드웨어 부분에서 굉장히 어려운 부분입니다.

또 한 측면에서는 S램과 D램의 에너지 소모가 다릅니다. S램에서 데이터 하나 리드하는데 0.32pJ(피코줄)이 드는데 D램은 하나 액세스하는데 95pJ이 들어갑니다. 에너지 효율 300배 이상 차이납니다. S램 사이즈 얼마나 정의했는지에 따라 속도도 차이 나고 하드웨어 측면에서 스펙이 달라집니다. D램은 S램보다 느리잖아요. 요구사항이 계속 달라지는 겁니다. 알고리즘 하는 사람이 예측하기 쉽지 않습니다.

D램 액세스나 S램 액세스를 최대한 줄일 수 있는 '메모리 리유즈 데이터' 기술을 많이 쓰고, '매시브 맥'을 구성해서 처리하는 게 핵심이라고 할 수 있습니다. '제로스키핑'이라고 0인 데이터는 굳이 처리하지 않는 기술도 있습니다. 하드웨어 쪽에서는 이런 기술에 관심이 많습니다.

또 하나 온디바이스에서의 챌린지는 딥러닝에서 기인하는 문제입니다. 딥러닝은 입력과 결과 데이터를 집어넣고 안에 있는 딥뉴럴네트워크는 블랙박스로 처리하거든요. 문제는 저희가 CIS 센서를 만들어서 ISP 이미지 프로세서를 포함해서 파는데, 가장 문제는 세트업체마다 요구하는 화질이 다릅니다. 저희 삼성 같은 경우에는 화사하고 엣지부분이 잘 사는 것을 요구합니다. 저희는 세트업체기도하고 부품업체기도 하잖아요. 부품업체 입장에서는 중국에 비보나 샤오미에도 이걸 팔아야 하는데, 똑같이 가져가면 우리는 원하는 화질이 아니라고 바꿔달라고 합니다. 딥러닝으로는 그게 굉장히 어렵습니다. 그래서 이번 AI 포럼에서 모듈러 디자인 이야기가 많이 나왔는데, 딥러닝을 어떻게 모듈러라이즈해서 튜너블한 것들을 효율적으로 할 수 있느냐가 굉장히 중요할 수 있습니다. 

또 하나는 똑같은 문제인데요. 딥러닝에서 딥뉴럴네트워크가 블랙박스기 때문에 뭐가 문제인지 잘 모릅니다. 테슬라에서 오토파일럿 썼다가 사망사고가 발생한 적이 있는데, 뭐가 문제인지 판단하기 어렵습니다. 모빌아이의 경우 리던던시 디자인이라고 해서, 클래식 컴퓨터비전과 딥러닝 알고리즘과 같이 사용하는 겁니다. 클래식 컴퓨터비전의 강점은 뭐가 문제인지 판단하기 좋은 모듈러 스트럭처가 있습니다. 중복으로 같이 처리해서 원인을 파악한다던지 하는 방안이 있습니다. 또 하나 장점은 페일루어 케이스에 대해 빠르게 수정하는 데는 클래식 컴퓨터비전이 더 좋습니다.

아까 전에 디바이스 간에 전쟁, 클라우드와 스마트폰 간에 전쟁이 일어날 수도 있다고 했었는데요. 사실은 폰 노이만 아키텍처가 AI가 들어오면서 어떻게 바뀔 것인가에 대한 고민을 하고 있습니다. 잘 아시는 구조죠. 입력과 아웃풋이 있고 연산처리장치와 메모리가 있습니다. 
AI가 되면서 몇 가지 제약사항이 나오기 시작했습니다. AI가 실제 동작하는 기기는 카메라를 기반으로 실시간으로 처리해야하는 데이터 레이트가 엄청 많아요. 최근 저희가 1억 화소짜리 센서를 만들었는데, 하이레졸루션으로 점점 가고 있습니다. 데이터 레이트가 많은 상황에서 처리할 수 있는 컴퓨팅 유닛이 필요합니다.

음성인식 쪽에 많이 쓰는 알고리즘은 메모리 밴드위스가 상당히 많습니다. D램 액세스 최대한 줄이는 게 중요하다고 말씀 드렸는데, 메모리 유닛에 대한 메모리 밴드위스 자체도 온디바이스 버스(BUS)나 요구사항이 달라지고 있습니다. 음성인식은 초당 12GB 메모리 밴드위스를 요구하고 있습니다. 요즘은 많이 줄긴 했습니다. 자율차도 마찬가지입니다. 메모리 밴드위스 굉장히 요구하는데, 무작정 늘릴 건지, 아니면 펑션-인-메모리 같은 새로운 디바이스로 메모리 밴드위스를 줄일지 고민하고 있습니다. 온디바이스에서 돌아가야 하는데, 최근에 엔비디아는 자율행차를 지원하기 위해서 GPU서버를 차에 싣고 수냉식으로 하는 방법을 고안했습니다. 전력 소모를 효과적으로 만들면 해결할 수 있는 문제를 현재 테크놀로지 수준에서 어떻게든 구현하려고 하기 때문에 나타나는 문제라고 생각합니다. 

어떤 기회들이 있을지 좀 더 구체적으로 말씀드리자면 메모리 센트릭한 컴퓨팅이 중요한 화두가 됐습니다. 얼리 컴퓨터 방식에서 메모리 밴드위스를 늘리기 위한 캐시가 발전했었습니다. 지금은 다른 패러다임으로 니어(Near)메모리 컴퓨팅 중요해지고 있습니다. 심지어 메모리에서 데이터 읽으면서 바로 처리하는 인메모리 컴퓨팅도 사람들이 많이 보고 있습니다. 중요한 트렌드가 될 수 있을 것 같습니다. 
이렇게 되면 폰노이만 구조에 일부 컴퓨팅이 밑에 들어가서 새로운 패러다임 나올 수 있습니다. 그렇다고 컴퓨팅이 아예 없어지진 않을 것입니다.

또 하나는 아까 전에 말씀드린 인풋디바이스의 변화일 것 같습니다. S9에 슈퍼슬로우모션 기능을 넣었습니다. 사람이 빨리 움직인 걸 굉장히 천천히 리플레이할 수 있는 기능입니다. 전송속도 때문에 메모리를 (이미지센서에)집어 넣었는데 그러고 나서 생각해보니까. 인풋디바이스와 컴퓨팅 유닛 간에 데이터 트랜스미션 밴드위스를 줄여볼 수 있겠다고 생각했습니다. 센서의 경우 센서픽셀이 있고 아날로그 신호를 디지털로 바꾸는 아날로그디지털변환기(ADC)와 데이터를 전송해줄 수 있는 구조를 잘 활용하면, 굳이 데이터를 CPU에 다 보내는 것이 아니라 의미있는 데이터만 골라서 보내는 것도 하나의 방법이 되겠죠. 계속 모니터링해야 하는 CCTV 같은 경우 이벤트가 발생하는 것만 서버로 전송할 수 있게 될 것입니다. 이런 부분들이 제가 볼 때 굉장히 중요한 화두 될 것입니다.

세 번째로 중요한 게 전력 소모라고 했는데, 딥뉴럴네트워크는 웨이트 조금 바꿔도 크게 결과에 영향이 없습니다. 뉴럴네트워크에서 결국 알고 싶은 건 이 사람이 같은 사람인지 아닌지 판단하는 태스크 정확도만 높으면 되는 겁니다. 결국 이런 데이터들이 요구하는 연산을 비트위스를 4bit, 아니면 2bit, 1bit까지 줄이면 사람에 뇌에서 일어나는 것과 비슷한 수준이 될 것입니다. 에어리어가 줄면 에어리어에 맞게 파워를 줄 수 있기 때문에 장점이 있습니다. 

32bit 풀프리시전(FP) 멀티 플라이어는 3.7pJ을 소모하는데요, 8bit ADD로 가면 0.03pJ을 소모합니다. 엄청난 차이가 있습니다. 어떻게 구현할 수 있느냐에, 비트위스 얼마나 줄일 수 있느냐에 따라 전력 소모를 엄청나게 줄일 수 있습니다.
단순하게 32bit를 8bit로 줄였을 때를 한번 생각해보면, 양자화(Quantization)는 시그널이 들어왔을 때 Min/Max를 잘 넣고 거기에 레벨을 잘 정하면 되잖아요. 그렇게 하게 되면 32bit에서의 정확도 대비 웨이트를 고정된 상태에서 Min/Max를 잘 고정하게 되면, 리트레이닝 없이 정확도가 0.07% 밖에 차이가 안 납니다. 누가 신경을 쓰겠냐 할 정도로 작은 차이입니다. 기본적으로 8bit까지 줄이는 것은 큰 문제가 없다는 것이 지금까지 업계와 학계 이야기입니다. 결국 단말에서 (AI가)돌아가기 위해서는 비트 양자화가 상당히 중요합니다.

파워 줄이는 쪽에서 저희가 하고 있는 것을 설명드리기 전에 전체적으로 메모리 밴드위스나 전력 소모를 줄이기 위해서 하고 있는 여러 가지 학계에서 일어나는 일에 대해 설명 드리겠습니다.

첫 번째는 네트워크 프루닝입니다. 네트워크에는 웨이트라는 데이터가 있는데 0이나 0에 가까운 값들은 곱하거나 더할 때 사실 큰 의미가 없거든요. 그래서 웨이트나 액티베이션 자체를 연결을 줄여도 성능에 큰 변화가 없습니다. 가지치기를 해서 성능 저하 없이 결과는 같게 했습니다. 

최근에 연구자들이 바라보는 게 결국 속도를 좋게 하려고하면 컴퓨팅 자체가 빨라지더라고 D램 밴드위스 자체가 보틀넥이 될 수 있습니다. 연구하는 사람들이 어떻게 가냐면 스마트폰에 그냥 연결을 해서 거기서 최적의 하드웨어 아키텍처를 찾고 있습니다. 타겟 디바이스에서 제일 빠르게 좋은 성능이 나오는 식으로 플랫폼에 적합한 네트워트 아키텍처 서치 알고리즘을 적용하는 것입니다. 특정 하드웨어에서 제일 좋은 네트워크 아키텍처를 자동으로 찾게 하는 방식의 연구도 진행하고 있습니다. 

저희가 비트위스는 8bit까지 줄여도 정확도 하락에 큰 문제 없다고 말씀 드렸는데. 저희는 더 줄이고 싶습니다. 궁극적으로 1bit나 2bit로 줄이면 메모리에 굉장히 친화적인 컴퓨팅이 가능해집니다. 문제는 양자화하면 정보를 잃어버린다는 단점이 있습니다. 어떻게 하면 정확도 하락이 없을까 하는 방법들 고민하고 있습니다. 

저희는 최적의 양자화기(Quantizer,아날로그 측정값을 디지털로 바꾸는 장치)를 찾는 문제로 고민을 바꿔봤습니다. 그것 자체도 딥러닝이 찾아보는 건 어떨까 해서 트레이너블한 양자회기를 제안했습니다. 

기본적으로 또 하나 하고 싶었던 것은 첫 번째 네트워크를 줄이는 방법 중 하나가 네트워크 프루닝이라는 기술이었는데요. 보통 양자화기는 0과x 라는 두 개의 바운더리만 있으면 처리를 할 수 있는데. 프루닝은 0이라는 가지를 없애는 방식이잖아요. 그래서 저희는 미니멈 x와 라지 x 두 개의 인터벌을 학습하도록 양자화기를 디자인했습니다. 이렇게 되면 인터벌보다 작은 영역은 프루밍이 되고, 인터벌보다 큰 영역은 클리핑이 되는 효과가 있습니다. 프루닝 된 건 처리하지 않기 때문에 하드웨어 자체에서도 간단해질 수 있습니다. 클리핑도 되고 프루닝도 동시에 되게 한 것은 저희가 최초로 했습니다. 실제로 돌아가는 걸 보면, 트레이닝을 하면 양자화된 웨이트 자체만 단말에서 로딩하고 돌아가도록 돼있습니다. 

그래서 나오는 결과 살펴보면. 결과 페이지를 보여드려야 되는데 빼먹었습니다. 결론을 말씀드리면 4bit에서도 성능 저하 거의 없는 알고리즘을 만들었구요. 심지어 3bit, 2bit로 더 내려가더라도 성능 저하가 최소화되게 제작했습니다. 이미지넷에서 32bit 풀프리시전 네트워크에서 정확도가 70%였는데. 비트위스를 내리더라도 거의 0.1%밖에 차이가 안나게 정확도를 유지할 수 있습니다. 3bit, 2bit 까지 내려도 큰 하락이 없게 할 수 있습니다. 결국에는 효율적으로 컴퓨팅 할 수 있는 기반 만들었다고 할 수 있습니다. 

또 하나 고민하는 것 중 하나는 트레이닝 데이터가 필요한데, 저희가 업체한테 뉴럴네트워크는 받지만 트레이닝 데이터는 받지 못하거든요. 그래서 고민한 것 중에 뭐가 있냐면 업체한테 풀프리시전 네트워크를 받고 이거를 압축을 하게 됐을 때, 로우-비트-프리시전 네트워크로 바꿨을 때 오리지널 데이터 사용하지 않고 트레이닝 할 수 있는 가 고민해봤습니다. 시간이 없는 관계로 자세하게 설명은 안 드리고요. 이 방식 자체가 기존에 있던 양자화 방식보다 월등하게 성능이 좋고, 심지어 굉장히 적은 데이터를 갖고도 풀프리시전 정확도에 거의 근접하게 성능이 나오는 것을 확인했습니다. 

아까 전에 전쟁이라고 말씀드렸는데, 이 전쟁을 대비하기 위해서 다양한 노력을 하고 있습니다. 다양한 아키텍처에서 성능 유지하고, 실제로 딥러닝 프레임워크에서 아까 전에 말씀드린 것처럼 로우-비트-프리시전으로 자동으로 변환할 수 있는 툴도 만들고 있고, 이런 게 언젠가 엑시노스 AP에 소프트웨어개발자킷(SDK)으로 릴리즈 될 것입니다. 감사합니다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.

  • 서울특별시 강서구 공항대로 213 (보타닉파크타워2) 615, 616호
  • 대표전화 : 02-2658-4707
  • 팩스 : 02-2659-4707
  • 청소년보호책임자 : 이수환
  • 법인명 : 주식회사 디일렉
  • 대표자 : 한주엽
  • 제호 : 디일렉
  • 등록번호 : 서울, 아05435
  • 사업자등록번호 : 327-86-01136
  • 등록일 : 2018-10-15
  • 발행일 : 2018-10-15
  • 발행인 : 한주엽
  • 편집인 : 한주엽
  • 전자부품 전문 미디어 디일렉 모든 콘텐츠(영상,기사, 사진)는 저작권법의 보호를 받은바, 무단 전재와 복사, 배포 등을 금합니다.
  • Copyright © 2019 전자부품 전문 미디어 디일렉. All rights reserved. mail to powerusr@thelec.kr
ND소프트