닫기

기획특집

배너

자일링스, reVISION 스택을 이용한 임베디드 비전 시스템 소개

URL복사

“프로그래머블 로직의 병렬처리로 유연성 있는 비전 시스템 제공”


한국전자전과 함께 개최된 머신비전 컨퍼런스 2017에 머신러닝 선두 기업 ‘자일링스’의 정웅 부장이 참가해 자일링스 솔루션을 이용한 임베디드 비전 시스템(Embedded Vision System)을 주제로 발표를 진행했다. 발표 후 정웅 부장을 만나 자일링스의 비전 시스템에 대해 더 자세한 이야기를 들어봤다.


▲ 자일링스 정웅 부장


자일링스는 지난 3월 Xilinx? reVISION™ 스택을 통해 광범위한 비전 기반 머신 러닝 애플리케이션을 확대한다고 발표했으며, 이는 본지 4월호에서도 소개한 바 있다. 이 발표를 통해 자일링스는 재구성 가능한 가속 스택(Reconfiguable Acceleration Stack)을 보완하고 자일링스의 기술을 이용해 에지에서 클라우드까지 머신 러닝 애플리케이션의 배치를 대폭 확대하게 됐다.


정웅 부장은 이날 발표에서 기존의 임베디드 비전 시스템에 머신러닝을 더할 수 있도록 지원하는 자일링스의 reVISION 스택과 징크(Zynq?) SoC를 소개했다. FPGA, CPU 등 여러 디바이스를 통해 임베디드 비전 시스템을 구현하는 경우가 많은데 최근 머신 러닝이 도입되면서 비전 시스템과 머신 러닝이 결합된 시스템들이 지속적으로 늘어나고 있다. 


reVISION 스택과 징크 SoC는 이러한 수요에 맞춘 솔루션이라고 할 수 있다.


자일링스, 프로그래머블 로직 통해 플랙서블리티(flexibility) 갖췄다


정 부장에게 임베디드 비전 시스템에서 가장 집중할 부분은 무엇인가에 대해 물었다. 그는 “다양한 애플리케이션들을 적용하기 위해 역시 전력 효율성이 제고되어야 할 것이다. 레이턴시(latency) 또한 짧아야 한다. ADAS나 자율주행차는 기존에 머신러닝 애플리케이션을 서버에서 많이 돌렸는데 레이턴시가 짧지 않았다. 이처럼 생활 전반에서 많이 쓰이는 애플리케이션을 적용하기 위해서는 빠른 레이턴시를 가져야 한다. 즉 기존에 서버에서 돌리던 것들은 점차 적용이 어려워지고 임베디드 시스템 안에 머신러닝이 탑재되는 형태가 되어야 한다.”고 답변했다.


덧붙여 그는 “최근 2~3년동안 이뤄진 머신 러닝 연구 결과가 그 전 몇 십 년동안의 연구 결과보다 훨씬 많다. 이는 향후에 뉴럴 네트워크(Nerual Network) 같은 것들이 계속 없데이트 되고 임플리먼테이션(implementation) 방법이나 알고리즘도 달라질 수 있다는 말이다. 그렇기 때문에 이러한 변경 상사항들을 수용할 수 있고 언제나 업그레이드가 가능한 유연성도 함께 제공되어야 한다. 자일링스는 기본적으로 프로그래머블 로직(Programable Logic)을 보유해 하드웨어로 알고리즘을 직접 병렬 처리해서 구성하기 때문에 CPU를 쓰는 것보다 레이턴시가 훨씬 빠르다. 또한 프로그래머블 로직은 카메라, 센서 등이 바뀌었을 때에도 다양한 센서 인터페이스가 변경이 가능하며, 이더넷이나 와이파이 등의 통신 모듈과도 연결이 가능하다. 자일링스의 임베디드 비전 시스템의 핵심은 ‘프로그래머블 로직을 통한 병렬 처리’이다”라고 설명했다.


자일링스는 지난 3월, reVISION 스택이 관련 지식이 부족한 개발자들도 쉽게 애플리케이션을 개발할 수 있다고 발표했다. 이와 관련해 자일링스가 개발자들을 어떻게 지원하고 있냐는 질문에 정 부장은 “기존의 임베디드 시스템들은 거의 프로세스나 GPU를 이용하는데 개발 부분에 있어서는 C나 C++, OpenCL같은 소프트웨어 언어로 개발하는 개발자들이 대부분이다. 하지만 C나 C++만으로는 병렬처리의 장점을 제공하는 프로그래머블 로직을 구현하기 어렵다. VHDL이나 베릴로그같은 HDL 랭귀지를 사용하면 하드웨어 구조에 대해 지식이 전혀 필요 없는데, 기존 소프트웨어 개발자들은 이 언어에 대한 지식이 없기 때문에 접근하는 데 제약이 많았다. reVISION 스택, 그 중에서도 SDSoC는 프로그래머블 로직에서 사용할 수 있는 HDL 코드를 자동으로 생성해 준다. 뿐만 아니라 프로그래머블 로직을 이용하기 위해 일일이 C나 C++로 블록들을 코딩하는 게 아니라 거기서 동작하는 펑션(fuction)들에 대한 라이브러리도 자일링스에서 제공한다. 


또 하나의 특징은 SDSoC가 프레임워크의 인포메이션을 인포팅해주는 것이다. 네트워크에 대한 특징들을 인포팅한 후 SDSoC가 알아서 프로그래머블 로직과 프로세서의 뉴럴 네트워크를 구성해 준다. 사용자 입장에서는 세세한 단계의 오퍼레이션을을 건너뛸 수 있다는 메리트가 있다”고 설명했다.


머신러닝을 구현하는 데 있어서 어려운 점은 무엇일까. 정 부장은 애플리케이션이 매우 다양하기 때문에 요구사항 또한 범위가 굉장히 넓다고 진단했다. 그는 “애플리케이션은 다양한데 이 애플리케이션들의 요구를 다 지원해주는 솔루션은 없다. 엔비디아가 머신러닝에서 가장 많이 사용되고 있긴 하지만 그 요구사항들을 다 지원해주는 최적의 솔루션은 아니다. 결국은 플렉서블리티, 유연성이 관건인건데 앞서 설명했듯 유연성을 지원해주는 reVISION 스택 같은 솔루션의 프로그래머블 로직이 머신러닝의 핵심이고 뿐만 아니라 이 스택은 소프트웨어 개발자들의 어려움도 해소해준다”고 말했다.


최근 자일링스가 디파이테크에 투자한 후 개발 상황은 어떻게 되고 있는지에 대해 정 부장에게 물었다. 정 부장은 “디파이테크는 딥러닝 네트워크를 어떻게 설계할 것인지에 대한 연구로 출발한 회사인데, FPGA가 네트워크를 구성하는 데 가장 적합한 솔루션이라고 판단해 FPGA로 뉴럴 네트워크를 구성하는 데 집중하고 있다. 자일링스는 머신러닝 플랫폼에 탑쟁되어야 할 네트워크들이 FPGA에서 조금 더 효율적으로 구성되도록 디자인되도록 도와주는 역할을 하고 있다. 일본에서는 이미 오토모티브 OEM 업체들이 디파이테크의 네트워크에 자일링스 디바이스가 탑재된 형태로 함께 협업을 진행하고 있다”고 설명했다. 









배너










주요파트너/추천기업