1950년부터 시작돼 70여년에 가까운 역사 속에서 정체되어 있던 머신러닝 기술이 최근 2~3년 사이에 크게 늘어났다. 번역, ADAS, 자율주행차, 영상 분류, 로보틱스, 보청기 등 다양한 애플리케이션에 사용되고 있다.
머신러닝은 인공지능의 한 분야로 데이터의 생성량과 주기, 형식 등 방대한 빅데이터를 분석해 미래를 예측하는 기술이다. 딥러닝, 신경망, 자연어 처리 등의 기술 결합으로 물리적 디바이스뿐만 아니라 지능형 앱, 메시 디바이스 등 다양한 분야에 융합될 것으로 기대되고 있다.
사용되는 애플리케이션마다 비용, 전력소모, 성능, 효율성 등 요구하는 수준이 다르다. 예를 들어 ADAS에서는 높은 정확도와 저전력이 필요하고 보청기에서는 파워와 대기시간이 중요해 작은 네트워크가 사용된다.
머신 러닝 사용하는 애플리케이션마다 요구 수준 달라
징크 SoC, 낮은 레이턴시로 반응성 보여줘
1950년부터 시작돼 70여년에 가까운 역사 속에서 정체되어 있던 머신러닝 기술이 최근 2~3년 사이에 크게 늘어났다. 번역, ADAS, 자율주행차, 영상 분류, 로보틱스, 보청기 등 다양한 애플리케이션에 사용되고 있다.
머신러닝은 인공지능의 한 분야로 데이터의 생성량과 주기, 형식 등 방대한 빅데이터를 분석해 미래를 예측하는 기술이다. 딥러닝, 신경망, 자연어 처리 등의 기술 결합으로 물리적 디바이스뿐만 아니라 지능형 앱, 메시 디바이스 등 다양한 분야에 융합될 것으로 기대를 모으고 있다.
사용되는 애플리케이션마다 비용, 전력소모, 성능, 효율성 등 요구하는 수준이 다르다. 예를 들어 ADAS에서는 높은 정확도와 저전력이 필요하고 보청기에서는 파워와 대기시간이 중요해 작은 네트워크가 사용된다.
자일링스는 징크(Zynq) 올 프로그래머블 로직으로 머신 러닝에 Caffe를 포함한 대중적인 프레임워크로 신경망을 학습하는데 사용할 수 있게 했다. ARM 기반 소프트웨어 스케줄러를 구성하여 프로그래머블 로직에 사전 최적화된 사용자 정의 신경망(CNN) 추론 가속기를 구동하기 위한 .prototxt 파일을 생성한다.
자일링스는 설계 시간을 줄이고 하드웨어 전문가의 의존도를 줄이기 위해 C, C++, OpenCL 언어 기반의 SDSoC 개발 환경을 출시했으나 여전히 광범위한 채택과 배치 및 머신 러닝의 복잡성에는 미치지 못했다. 이를 보완하기 위해 reVISION 스택은 플랫폼, 알고리즘, 애플리케이션 개발을 위한 다양한 개발 리소스를 포함하고 있다. 여기에는 AlexNet, GoogLeNet, SqueezeNet, SSD 및 FCN과 같은 가장 많이 사용되는 신경망에 대한 지원도 가능하다.
징크 SoC는 구현하려고 하는 알고리즘을 병렬로 처리할 수 있다. 센서에서 추론제어까지 낮은 레이턴시로 뛰어난 반응성을 보여준다. 임베디드 GPU와 성능을 비교했을 때, 머신러닝에서 6배 더 뛰어난 이미지/초/와트를 보여줬다. 또, 컴퓨터 비전 처리에는 초당 42배 높은 프레임을 보여줬다. 실시간 애플리케이션에서는 레이턴시가 가장 중요한데, 이 부분에 있어서도 1/5 수준으로 나타났다.
이러한 반응 시간의 이점은 징크 SoC가 가진 기본적인 아키텍처에서 찾아볼 수 있다. 임베디드 GPU는 비전, 머신 러닝, 제어 프로세싱을 통해 센서에서 외부 메모리에 자주 액세스 해야 한다. 이에 반해 징크 SoC는 프로그래머블 로직과 크게 늘어난 내부 메모리로 구현된 데이터 플로우 배치로 항상 일정한 반응시간이 가능하게 했다.
자일링스의 DSP Specialist 정웅 부장은 “머신 러닝에서 사용될 때, 트레이닝에는 GPU가 많이 쓰이고 추론에는 징크가 장점이 있다”며 “트레이닝에서는 일부 기능을 가속화 하는 형태로 FPGA가 사용되는데 징크 SoC는 엣지단에서 임베디드 형태로 시스템 구현에 사용된다. 트레이닝 자체는 엣지단보다 클라우드 단에서 수행되기 때문에 스케일이 큰 시스템에서는 FPGA가 사용되고 일반 PC 수준에서는 GPU가 사용된다”고 설명했다.