• >
  • 스타랩과제
  • >    지능형 IoT 플랫폼 연구실
지능형 IoT 플랫폼 연구실
지능형 IoT 장치용 소프트웨어 프레임워크
성균관대학교 / 총괄책임자 : 신동군 / http://nyx.skku.ac.kr
과제 소개
IoT 장치는 PC 또는 모바일 시스템과 다르게 자원이 크게 제한되어 있으며, 용도에 따라 하드웨어 구성이 다르기 때문에 고정된 형태의 플랫폼(platform)보다는 개발자가 기능을 유연하게 선택, 확장할 수 있는 프레임워크(framework)가 적합하다. 본 연구과제에서는 이러한 요구사항에 부합하는 지능형 IoT 장치를 위한 소프트웨어 프레임워크인 ANT (AI-based Networked Things)를 개발한다.
인사말
자율 주행 드론, 음성 학습 비서과 같은 지능형 IoT 서비스가 등장하는 시대입니다. 지능형 IoT 서비스는 IoT 장치를 머신 러닝과 결합한 서비스를 의미합니다. 현재 지능형 IoT 서비스는 대부분 Cloud 기반 머신 러닝을 사용하지만, 개인 정보 보호, 네트워크 지연 시간, 네트워크 트래픽 등의 면에서 적합하지 않습니다. 이 때문에, 최근에는 세계 굴지의 IT 기업들은 IoT 단말 장치나 게이트웨이 등 Edge 장치 기반의 머신 러닝을 시도하고 있습니다. 머신 러닝은 컴퓨팅 자원을 많이 요구하기 때문에, Edge 장치에서 머신 러닝이 동작하려면 하드웨어 가속기나 소프트웨어 최적화가 필요합니다. 미국의 퀄컴, 구글, 중국의 화웨이까지 하드웨어 가속기를 선보이고 있으며, 구글, 페이스북 등은 Edge 장치용 머신 러닝 소프트웨어를 오픈 소스로 공개하였습니다. 이러한 경쟁 속에서 Edge 장치용 머신 러닝 기술 확보는 시급한 일입니다. 또한, IoT 장치는 PC 또는 모바일 시스템과 다르게 자원이 제한되고, 용도에 따라 하드웨어 구성이 다르기 때문에, Android 같이 고정된 형태의 플랫폼보다는 개발자가 기능을 유연하게 선택, 확장할 수 있는 프레임워크가 적합합니다. 본 연구과제에서는 이러한 요구사항에 부합하고자 지능형 IoT 장치를 위한 ANT(AI-based Networked Things)라는 소프트웨어 프레임워크를 개발합니다. ANT 프레임워크는 현재 IoT 단말 장치의 하드웨어 자원, 전력 등 다양한 요구사항에 맞게 프레임워크를 선택 또는 확장할 수 있으며, 머신 러닝 모델을 선택할 수 있는 프레임워크입니다. 이 프레임워크를 개발하면서 Edge 장치 머신 러닝에 관련된 원천 기술을 확보하여, 머신 러닝 및 프레임워크 관련 기술적 경쟁력을 증진할 것입니다.
연락처
성균관대학교 임베디드소프트웨어연구실 : 031-299-4662
메일주소 : dongkun@skku.edu
찾아오는길
경기도 수원시 장안구 서부로 2066 (성균관대학교 자연과학캠퍼스)
산학협력관 85465호 임베디드 소프트웨어 연구실
교통편
- 성균관대역 2번 출구에서 27번 또는 27-1번 버스 승차 후 성대후문 정류장에서 하차
총괄책임자
성균관대학교 신동군 교수 / dongkun@skku.edu
신동군 교수는 성균관대학교 소프트웨어학과에 재직 중이며, 임베디드소프트웨어 연구실을 이끌고 있다. 주요 연구분야는 임베디드시스템, 운영체제, 모바일/IoT 플랫폼, 스토리지 시스템 등이다. 플래시메모리 스토리지 분야의 탁월한 연구업적으로 FAST, ATC 등 국제 최우수 학술대회에 다수의 논문을 발표했으며, IoT 분야에서는 Tizen 플랫폼 확산을 위해 많은 기여를 해 왔으며 최근에는 머신러닝을 지원하는 IoT 플랫폼 개발에 주력하고 있다. 2004년 서울대학교에서 박사학위를 취득하고, 2007년까지 삼성전자 소프트웨어센터에서 근무했다. 삼성전자 메모리사 자문교수, 반도체소프트웨어 센터 자문교수 등을 맡으며 산학밀착형 연구를 진행해 왔으며, 정보과학회 논문지 편집위원으로 활동하고 있다.
구성원
성명 직위 연구 분야 이메일 주소
홍경환 박사과정 REST 기반 프레임워크 redc7328@skku.edu
강윤지 박사과정 경량 JavaScript 엔진 oso0931@gmail.com
박대준 박사과정 머신 러닝 API pdaejun@gmail.com
한규화 박사과정 응용 프로그램 SDK hgh6877@gmail.com
곽현호 박사과정 머신 러닝 API gusghrhkr@gmail.com
이하윤 박사과정 머신 러닝 경량화 lhy920806@gmail.com
김솜 석사과정 REST 기반 프레임워크 somnode@gmail.com
이광배 석사과정 머신 러닝 경량화 kblee1022@gmail.com
이수연 석사과정 경량 JavaScript 엔진 sooyun802@gmail.com
김호승 석사과정 머신 러닝 경량화 ghyutjik123@gmail.com
연구 목표
본 연구과제에서는 지능형 IoT 장치를 위한 소프트웨어 프레임워크인 ANT(AI-based Networked Things)를 개발하며, ANT 프레임워크의 특징은 다음과 같다.
다양한 사양의 하드웨어와 운영체제 환경을 위한 유연한 S/W 아키텍처
경량 JavaScript 엔진 기반의 쉬운 프로그래밍 환경
지능형 IoT 응용을 위한 경량 머신 러닝 엔진
또한, 본 연구에서는 이러한 일련의 연구 과정을 오픈 소스 프로젝트로 진행하며, 단순히 소스 코드를 공개하는 데에 그치지 않고, 오픈 소스 개발 프로세스를 과제 진행에 적극적으로 활용하고자 한다. 이를 위하여 프로젝트 관리, 버그/이슈 관리 시스템, 빌드/테스트 시스템, 오픈 소스 커뮤니티를 구축하고, 개발자의 유입을 위하여 SDK를 개발하여 제공하며, 본 프로젝트를 오픈 소스로 공개하고자 한다.
연구 내용
유연한 구조의 IoT 프레임워크
IoT 장치는 하드웨어 사양이 다양할 뿐만 아니라, 센서, 카메라 같은 저수준 서비스부터 물체 감지, 자율 주행 등 고수준 서비스까지 동작하는 서비스도 다양하다. 따라서, IoT 프레임워크도 상호 독립적인 모듈로 구성하여, 다양한 H/W 사양에 맞게 설정 가능하고 고수준 서비스를 확장할 수 있어야 한다. REST 기반의 모듈 인터페이스 구조를 통해 상호 독립적 모듈을 구성하도록 한다.컴퓨팅 자원이 제한된 시스템에서의 구동을 위해 Linux 뿐만 아니라, RTOS 등 다양한 운영체제를 지원한다. 디스플레이나 키보드 등 UI 장치가 없는 시스템에서는 컴패니언 모드를 통하여 모바일 폰에서 제어 가능하도록 한다. 본 과제에서는 해당 IoT 프레임워크를 Github를 통해 오픈 소스로 공개하였다.
경량 JavaScript 엔진 기반 쉬운 프로그래밍
IoT 응용 프로그램은 다양한 사양의 하드웨어에서 동작할 수 있어야 한다. 그러나, 이러한 응용 프로그램 개발자들은 JavaScript 같은 스크립트 기반 언어에 익숙하며 저수준 하드웨어 제어에 어려움이 있다. 본 과제에서는 JavaScript 기반의 Event-based Programming, Flow-based Programming 등을 프레임워크에 내장하여, 응용 개발자가 IoT 응용 프로그램을 쉽고 빠르게 개발할 수 있도록 한다. 또한, H/W와 OS에 대한 추상화된 API을 제공하여 빠른 프로토타입 개발도 가능하도록 한다. 본 과제에서는 경량 JavaScript 엔진인 IoT.js의 힙 메모리 할당자를 개선하여 메모리 사용량을 약 42% 줄이는 기술을 확보하였다.
지능형 IoT 응용을 위한 경량 머신 러닝 엔진
기존 머신 러닝 서비스는 대부분 클라우드 서버에서 동작한다. 그러나, IoT 시스템에서는 IoT 장치와 클라우드 서버 간의 네트워크 지연 시간을 예측할 수 없으며 트래픽도 많기 때문에, IoT 단말이나 게이트웨이 같은 엣지 장치에서 머신 러닝 서비스가 동작하는 경우가 많다. 그러나, 엣지 장치들은 컴퓨팅 자원이나 전력이 제한되기 때문에, 기존 머신 러닝 서비스를 그대로 동작하기 어렵다. 따라서, 엣지 장치에서의 머신 러닝 서비스 동작을 가능케 하는 경량 머신 러닝 엔진이 필요하다. 본 과제에서는 다양한 사양의 IoT 장치를 위해 정확도/속도/자원사용량 간의 트레이드-오프와 게이트웨이로의 오프로딩을 선택 가능한 확장성 있는 머신 러닝 엔진을 제공한다.
성과 공개
기술개발 정량적 목표
평가 항목 세계 최고 수준 1차년도(현재 수준) 2차년도 3차년도 4차년도 5차년도 6차년도 7차년도 8차년도
JavaScript 벤치마크 메모리 요구량 Node.js (Joyent)100% ≦100 ≦100 ≦50 ≦48 ≦46 ≦44 ≦42 ≦40
응용 프로그램 실행 시간 Node.js (Joyent)100% ≦100 ≦105 ≦105 ≦105 ≦105 ≦105 ≦105 ≦105
머신 러닝 성능 × 정확도 / 하드웨어 자원 요구량 Caffe(UC Berkeley)100% ≧100 ≧100 ≧110 ≧120 ≧130 ≧140 ≧150
지원 개발 보드 수 Soletta(Intel)100% ≧4 ≧4 ≧4 ≧4 ≧6 ≧6 ≧6 ≧9
논문
국제 학술대회 논문 1편
국내 학술대회 논문 5편
공개 소프트웨어
ANT 오픈 소스 (Github)
- ANT (AI-based Networked Things) Framework
- 유연한 구조의 지능형 IoT 프레임워크
- http://github.com/SKKU-ESLAB/ANT
FlexML.js 오픈 소스 (NPM)
- ANT 머신 러닝 프레임워크를 node.js의 패키지(NPM) 형태로 기여
- https://www.npmjs.com/package/flexml-js
배출 인력
박사 1명, 석사 1명 배출. 해당 인력은 본 과제에 참여하여 경량 장치용 프레임워크와 IoT 장치 통신 프레임워크 등을 연구하였으며, 졸업 후에도 경량 장치용 플랫폼 및 운영체제를 연구/개발하고 있다.
준비중입니다.