왼쪽부터 유경인 연구원, 김태범 연구원, 전병곤 서울대 컴퓨터공학부 교수 겸 프렌들리에이아이 대표, 구윤모 연구원, 김건우 연구원
서울대학교 공과대학(학장 이병호)은 컴퓨터공학부 전병곤 교수 연구팀이 프렌들리에이아이(FriendliAI)와 공동으로 모든 딥러닝 프로그램을 수정 없이 더 빠르게 수행할 수 있는 시스템 ‘Terra’를 개발했다고 29일(금) 밝혔다.
Terra의 개발로 심볼릭 그래프 처리와 명령형 처리가 동시에 수행돼 훨씬 처리 속도가 빠르게 됐다. 이번 연구는 기존에 없던 새로운 딥러닝 프로그램의 수행 모델을 제안한 것으로, 향후 딥러닝 프레임워크 기술에 새로운 방향을 제시하고 있다.
현재 널리 쓰이는 딥러닝 프레임워크인 파이토치(PyTorch)와 텐서플로우(TensorFlow)는 모두 보통의 파이썬 프로그램처럼 딥러닝 프로그램을 작성을 필요로 한다. 작성된 딥러닝 프로그램은 일반적인 파이썬 프로그램과 마찬가지로 파이썬 인터프리터가 처리해 인공지능 연산을 수행한다.
하지만, 파이썬 인터프리터를 이용한 수행 방식은 전체적인 딥러닝 연산을 한 번에 표현하는 심볼릭 그래프가 없어서 전체 최적화 시도를 해 볼 수 없기에 학습 속도가 느리다는 단점이 있다. 이를 해결하기 위해 기존 연구에서는 Just-In-Time(JIT) 컴파일 기법을 통해서 주어진 파이썬 딥러닝 프로그램을 심볼릭 그래프로 변환하고, 별도의 심볼릭 그래프 수행 엔진으로 프로그램을 수행하는 다양한 방법들이 제안됐다. 하지만 JIT 컴파일을 이용한 방법 역시 사용자가 코드를 수정해야 하거나 프로그램의 수행 정확성이 보장되지 않거나, 파이썬 언어를 제한적으로 지원한다는 한계가 있었다.
이에 전병곤 교수 연구팀과 프렌들리에이아이(FriendliAI)는 완전히 새로운 파이썬 딥러닝 프로그램 수행방식을 제안했다. 기존의 방법처럼 주어진 파이썬 프로그램 전체를 심볼릭 그래프로 변환하는 대신, Terra는 프로그램에서 실제 딥러닝 연산만 수집해 이에 대해서만 대응하는 심볼릭 그래프를 생성한다. 그다음, 생성된 심볼릭 그래프와 주어진 파이썬 프로그램에서 딥러닝 연산이 아닌 부분들을 동시에 수행해 JIT 컴파일 방식으로는 불가능했던 파이썬 프로그램들의 수행을 지원한다.
Terra의 동시 수행 엔진은 사용자가 작성한 파이썬 딥러닝 프로그램의 수정을 필요로 하지 않으면서도 프로그램 수행의 정확성을 보장하고, 파이썬 언어의 모든 문법을 그대로 사용할 수 있도록 한 세계 최초의 방법이다. Terra는 텐서플로우 기본 명령형 수행방식 대비 최대 1.73배 빠른 딥러닝 학습 속도를 제공하고 기존 텐서플로우에서 사용하는 최신 JIT 컴파일 기반의 오토그래프(AutoGraph)가 수행하지 못하는 프로그램들까지도 더 빠르게 수행할 수 있다.
이번 연구 결과는 NeurIPS(Neural Information Processing Systems) 2021에서 발표될 예정이다.
“Terra: Imperative-Symbolic Co-Execution of Imperative Deep-Learning Programs”, Taebum Kim, Eunji Jeong, Geon-Woo Kim, Yunmo Koo, Sehoon Kim, Gyeong-In Yu, Byung-Gon Chun.
전병곤 교수는 “꾸준히 세계를 선도하는 최고 AI 플랫폼 기술을 발표해서 기쁘고 영광”이라며 “최근에는 초거대 AI 연구 개발에 집중하고 있으며, 프렌들리에이아이(FriendliAI)는 누구나 초거대 AI 모델을 쉽게 개발해서 사용할 수 있도록, 초거대 AI 모델 개발 플랫폼을 만들고 있다”고 최근 연구 방향을 밝혔다.