딥러닝 모델을 처리할 때 사용하는 시스템 성능을 지금보다 높일 수 있는 기술이 나왔다. 행렬 곱 연산자까지 포함해 연산자를 융합하는 방식이다. 클러스터 사양, 네트워크 속도, 입력 데이터 크기 등을 모두 고려해 개발했다. 구글이 만든 '텐서플로우(TensorFlow)'나 IBM의 '시스템DS'보다 8.8배 더 빠르다.
카이스트(총장 이광형, KAIST)는 딥러닝 모델을 학습·추론할 때 사용되는 기계 학습 시스템 성능을 높일 수 있는 행렬 연산자융합 기술 ‘FuseME’를 만들었다고 20일 밝혔다. 김민수 KAIST 전산학부 교수 연구팀이 개발했다.
FuseME 기술은 융합 연산자(fused operator)들로 구성된 '방향성 비순환 그래프(DAG, Directed Acyclic Graph)' 형태로 계획을 생성해 실행한다. 저사양 컴퓨터 클러스터에서도 대규모 인공지능(AI) 모델을 메모리 부족으로 인한 실패 없이 빠르게 처리할 수 있다.
구글 텐서플로우(TensorFlow)나 IBM이 만든 SystemDS보다 더 큰 AI 모델을 처리할 수 있다. 속도도 8.8배나 더 빠르다. FuseME의 CFO 융합 연산자는 SystemDS 융합 연산자와 비교해 처리 속도를 최대 238배 높였다. 전송되는 데이터 규모도 최대 64배 낮췄다. 규모는 줄이고 속도는 높인 셈이다.
'FuseME', 어떻게 만들었나
김 교수 연구팀은 연산자 융합을 표현할 수 있는 3차원 공간 모델링 방법을 제안했다. 이를 통해 행렬 곱 연산자에 대해서도 융합할 수 있는 기술을 만들었다.
김 교수 연구팀은 '질의 계획 최적화 기술'을 만들어 적용했다. 해당 기술은 DAG 질의 계획서에 어떤 연산자들을 융합하는 게 최적의 성능을 내는지 판별한다. 이를 통해 행렬 연산자들을 연산자 하나로 융합하는 것보다 좀 더 작은 융합 연산자로 나누는 게 최적 성능을 낼 수 있음을 밝혔다.
또 '융합 연산자(CFO, Cuboid-based Fused Operator)’도 개발해 적용했다. 여러 행렬 연산자를 융합하고 최적의 성능을 낼 수 있는 기능을 갖췄다. CFO는 메모리 부족으로 인한 연산 처리 실패가 없다.
융합된 행렬 연산자들을 높은 성능으로 실행할 수 있다. 이때 ▲주어진 컴퓨터 클러스터 메모리 용량 ▲네트워크 통신 속도 ▲CPU 계산 속도 ▲데이터 크기 등을 모두 고려한다. CFO 연산자를 기반으로 유연하게 주어진 컴퓨터 클러스터 하드웨어(HW)성 능을 모두 사용할 수 있을 정도다.
FuseME 기술은 행렬 곱셈으로 이뤄졌다. 연산자 융합으로 사용 가능한 HW 자원에 따라 계산, 통신 비용, 메모리 사용 측면에서 기존 시스템보다 성능이 높다. 소규모 클러스터, 한정된 HW로 AI 서비스·제품 개발에 어려움 겪는 기업을 도울 수 있다. 뿐만 아니라 게임·가상 현실 소트프웨어에서 행렬 곱셈을 기반으로 그래픽을 표현하는 랜더링 방법에서 초고속으로 계산하는 기술에 적용될 수 있다.
한동형 그래파이(GraphAI) 공동 창업자가 제1 저자로, 김 교수가 교신저자로 참여한 이번 연구는 이달 16일 미국 필라델피아에서 열린 데이터베이스 분야 국제학술대회인 ACM SIGMOD에서 발표됐다. 논문명은 ‘FuseME: Distributed Matrix Computation Engine based on Cuboid-based Fused Operator and Plan Generation’ 다.
AI타임스 김미정 기자 kimj7521@aitimes.com
