거의 모든 산업에서 디지털화가 가속하며 많은 기업이 AI 도입에 박차를 가하고 있다. 하지만 이를 진행할 각 산업계 전문가의 AI 지식과 경험은 여전히 부족한 상황이다. 매스웍스는 딥러닝 프레임워크와의 연동성을 높인 매트랩 등으로 AI 모델 개발에 드는 엔지니어의 시간과 노력을 줄이는 데 중점을 두고 있다.
딥러닝 프레임워크와의 연동 제공하는 매트랩,
AI 모델의 개발과 배포 등 모든 과정 지원하는
통합 환경 제공으로 최적화 시간 및 노력 절감
전 세계적인 코로나19 확산으로 거의 모든 산업에서 디지털화가 빠르게 일어나고 있다. 이에 많은 기업이 자사 사업에 AI 도입을 서두르고 있다. 가트너에 따르면 기업들의 평균적인 AI 프로젝트 건수는 2019년 4건에서 2022년 35건으로 증가할 전망이다.
하지만 AI 시스템을 설계하고 구현해야 하는 각 산업계 전문가의 AI 지식과 경험은 여전히 부족한 상태다. 매스웍스에서 애플리케이션 엔지니어로 근무하는 김종남 부장은 지난 16일, 유튜브를 통해 ‘매트랩(MATLAB)과 딥러닝 오픈 프레임워크 연동하기’라는 제목의 라이브 데모를 진행했다.
▲ 매스웍스는 AI 모델 개발 워크플로 전 과정을
엔드투엔드로 지원한다 [캡처=매스웍스]
김종남 부장은 데모에서 △파이토치(PyTorch)에서 매트랩을 호출하여 AI 모델을 훈련하고 다시 매트랩으로 내보내 코드를 생성하는 워크플로와 △매트랩에서 텐서플로(TensorFlow) 뉴럴 네트워크(Neural Network) 아키텍처를 불러오고 AI 모델을 개발하는 워크플로를 설명했다.
매트랩과 딥러닝 프레임워크 연동하기
딥러닝(Deep Learning)은 다층의 뉴럴 네트워크를 사용하는 머신러닝의 한 종류다. 딥러닝에 사용되는 뉴럴 네트워크 알고리즘에는 DNN, CNN, RNN, RBM, DBN 등이 있으며, 딥러닝 프레임워크는 검증된 라이브러리와 사전 학습이 완료된 다양한 딥러닝 알고리즘을 제공한다. 엔지니어는 이를 활용하여 문제 해결을 위한 핵심 알고리즘을 개발할 수 있다.
텐서플로와 파이토치는 딥러닝 오픈 프레임워크로서 뉴럴 네트워크 설계를 지원한다. 엔지니어는 이러한 외부 딥러닝 프레임워크로 설계한 모델을 매트랩이라는 통합된 환경으로 가져와서(Import) 최적화된 분석, 학습, C/C++ CUDA 코드 생성 등을 진행할 수 있다.
이것이 가능한 이유는 매트랩이 파이썬(Python)과 상호 호출이 가능하며, 임포터(Importer)를 통해 케라스텐서플로(Keras-Tensorflow) 및 카페(Caffe) 모델을 매트랩 환경 안으로 가져올 수 있기 때문이다.
매트랩은 AI 모델의 상호운용성을 지원하는 업계 표준 ONNX를 지원한다. 따라서 ONNX와 호환되는 파이토치, 카페2, 엠엑스넷(MXNet), 코어 ML(Core ML) 및 텐서플로의 AI 모델을 매트랩 환경으로 모두 불러올 수 있다.
▲ 매트랩과 딥러닝 프레임워크 사이의 연동 [그림=매스웍스]
매트랩은 공학, 수학 분야의 자동화된 데이터 라벨링 및 전처리를 위한 다양한 툴박스를 탑재했다. 엔지니어는 매트랩으로 라벨링과 전처리 같은 데이터 준비 작업을 진행한 후, 준비 완료된 데이터를 외부 딥러닝 프레임워크로 내보낼 수 있다. 엔지니어는 해당 딥러닝 프레임워크에서 매트랩으로 준비한 데이터를 활용해 AI 모델 개발을 완료할 수 있다.
이 AI 모델은 다시 매트랩으로 가져올 수도 있다. 엔지니어는 매트랩으로 불러온 AI 모델을 갖고서 분석, 시나리오 기반 훈련, 코드 생성 및 목적 임베디드 하드웨어로의 배포 등의 후속 작업을 진행할 수 있다.
매트랩은 △코드 생성 및 배포(Code Generation and Compiler) △시각화(Visualization)를 통한 모델 분석 △모델 디버깅(Debugging) △딥 네트워크 디자이너(Deep Network Designer)와 네트워크 분석기(Network Analyzer)를 통한 네트워크 구조 및 층별 속성 확인 △딥러닝 네트워크 훈련을 위한 파라미터 선정 및 네트워크 재훈련 등을 지원한다.
또한, △시뮬링크(Simulink)를 통한 시스템 통합을 제공한다. 엔지니어는 외부 딥러닝 프레임워크로 개발한 AI 모델을 강화학습 또는 자율주행 등의 상위 레벨 시스템에 통합하여, 시뮬레이션과 테스트를 통한 검증을 진행할 수 있다.
김종남 부장은 데모에서 파이토치를 활용했다. 매트랩에서 음성 인식 AI 모델을 위한 데이터 전처리 작업을 하고, 매트랩 엔진 인터페이스를 통해 해당 데이터를 파이토치로 넘겨줬다. 그리고 파이토치에서 매트랩 엔진 인터페이스로 매트랩을 열어 함수와 연산 결과를 확인했다.
파이토치에서 AI 모델에 대한 학습을 진행한 후에는 ONNX 버전으로 해당 모델을 내보낸 후, 매트랩에서 ONNX 파일을 불러와 모델을 확인하고 코드를 생성했다.
▲ 매트랩과 텐서플로의 연동 워크플로 [캡처=매스웍스]
파이썬으로 개발된 텐서플로 AI 모듈을 매트랩 환경으로 가져오는 데모도 진행했다. 김 부장은 매트랩 환경에서 AI 모듈에 해당하는 뉴럴 네트워크 아키텍처의 설계를 확인할 수 있음을 보여줬다. 모듈을 초기화하고 데이터를 입력하여 AI 모델 학습을 진행하기도 했다.
김종남 부장은 “매트랩은 AI 모델을 개발하는 데 있어서의 전체적인 워크플로를 지원한다”라며, “목적 임베디드 시스템에 올라갈 AI 모델이 최적의 성능을 구현할 수 있도록 지원하는 가이드와 툴들을 제공한다”라고 강조했다.