|
|
|
딥러닝 AI 모델을 실행 가능한 프로그램 형태로 바꾸는 데 걸리는 시간을 절반 이상 줄이는 기술이 개발됐다. UNIST 컴퓨터공학과 이슬기 교수팀은 오토튜닝 과정을 최대 2.5배 빠르게 할 수 있는 기법을 개발해 컴퓨터 시스템 분야 권위 학회인 OSDI에 채택됐다고 12일 밝혔다. OSDI에 한국인 주저자의 연구가 채택된 사례는 학회 20여 년 역사상 단 12건뿐이다. AI 모델이 실제로 작동하려면 사람이 짠 고수준의 프로그램인 AI 모델을 컴퓨터 연산장치가 이해할 수 있는 형태로 다시 바꾸는 ‘컴파일’ 과정이 필요하다. 예를 들어 ‘고양이 사진을 구분해줘’라는 명령도 수천 줄에 이르는 복잡한 계산 코드로 바꿔야 연산장치인 GPU나 CPU가 실제로 실행할 수 있다. 오토튜닝은 이 과정에서 가능한 수십만 개의 코드 조합 중 연상 장치에서 가장 빠르고 효율적인 구성을 자동으로 찾아주는 기술이다. 하지만 경우에 따라 튜닝 시간이 수십 분에서 수 시간까지 걸릴 정도로 연산 부담이 크고, 전력 소모도 많다는 문제가 있었다. 연구팀은 딥러닝 모델 안에 반복되는 계산 구조가 많다는 점에 주목해 유사한 연산자끼리 정보를 공유하는 방식으로 탐색 범위를 줄였다. 코드 조합을 일일이 새로 찾는 대신 기존 결과를 재활용해 오토튜닝 속도를 높인 것이다. 실제 이 방식을 기존 오토튜닝 프레임워크(Ansor)에 적용한 결과, 동일한 성능의 실행 코드를 생성하는 데 걸리는 시간이 CPU 기준 평균 2.5배, GPU 기준 평균 2배 단축됐다. 이슬기 교수는 “컴파일 시간을 줄이면서도 GPU나 CPU를 직접 실험에 쓰는 횟수가 줄어 제한된 연산 자원을 효율적으로 쓸 수 있을 뿐만 아니라 전력 소모도 줄일 수 있다”고 말했다. 이번 연구는 UNIST 정이수 연구원이 제1저자로 참여했다. 연구 수행은 과학기술정보통신부 정보통신기획평가원의 지원을 받아 이뤄졌다. OSDI(Operating Systems Design and Implementation)는 SOSP(Symposium on Operating Systems Principles)와 함께 컴퓨터 시스템 분야의 양대 학회로 꼽힌다. 구글의 ‘텐서플로’와 같은 AI 기술도 이 학회에서 공개된 바 있다. 올해는 338편의 논문이 제출돼 이 중 48편만이 채택됐으며, 국내에서는 이슬기 교수팀외 서울대학교 이재욱 교수팀의 연구가 함께 이름을 올렸다. 학회는 지난 7월 7일부터 3일간 미국 보스톤에서 열렸다. (논문명: Bayesian Code Diffusion for Efficient Automatic Deep Learning Program Optimization) |
|
[붙임] 연구결과 개요 |
1.연구배경 딥러닝 AI 모델이 실제로 작동하려면, 사람이 짠 고수준의 프로그램을 컴퓨터가 이해할 수 있는 형태로 바꾸는 ‘컴파일’ 과정이 필요하다. 예를 들어 “고양이 사진을 구분해줘”라는 명령도, 연산장치(CPU, GPU 등)가 실행할 수 있도록 수천 줄에 이르는 복잡한 계산 코드로 다시 바꿔야 한다.이러한 자동 변환을 수행하는 시스템이 바로 TVM, Glow, XLA 같은 딥러닝 컴파일러다. 오튜튜닝은 이 과정에서 가능한 수십만 가지의 코드 조합 중에서 가장 효율적인 구성을 자동으로 탐색하는 기술이다. 같은 작업이라도 어떤 방식으로 실행 코드를 구성하느냐에 따라 속도나 자원 효율이 크게 달라지기 때문이다. 기본적으로 자동화된 과정이지만, 코드 조합이 워낙 많다 보니 튜닝 시간이 오래 걸리고 전력 소모도 큰 문제로 남아 있었다. 이를 개선하기 위해 여러 연구가 진행됐지만, 대부분은 사전 학습 데이터를 대량으로 요구하거나 특정 연산장치(CPU 또는 GPU)에만 적용되는 한계가 있었다.
2.연구내용 연구팀의 Bayesian Code Diffusion은 기존 오토튜닝 기법이 가진 중복성과 비효율성을 극복하고자, 유사 서브그래프 간 정보 공유와 검색 공간 축소 전략을 결한한 접근 방식으로, 컴파일 시간을 단축하는 효과를 가져온다. 연구팀은 딥러닝 모델 안에 반복되거나 구조가 비슷한 계산 단위(서브그래프)가 많다는 점에 주목했다. 기존 방식은 이런 유사한 구조들을 각각 별도로 튜닝하느라 시간이 오래 걸렸지만, 이 기법은 한 번 잘 짜인 코드를 유사한 구조에 재활용하는 방식으로 시간과 연산 자원을 절약한다. 구체적으로는, 딥러닝 모델을 서브그래프 단위로 쪼개고, 구조가 유사한 것끼리 묶은 뒤, 대표 서브그래프 하나만 먼저 최적화해, 그 결과를 같은 그룹에 속한 다른 구조에 전이(diffusion)시키는 방식이다. 여기에 베이지안 개념을 적용해, 먼저 찾은 최적의 코드를 prior로 삼고, 해당 코드 근처만 정밀하게 탐색하도록 설계했다. 전체 조합을 처음부터 전부 시도하는 대신, 가능성 높은 영역만 집중적으로 찾는 전략이다. 연구팀은 이 기법을 오픈소스 오토튜닝 프레임워크 Ansor에 적용해 실험을 진행했으며, 동일한 성능의 실행 코드를 생성하는 데 걸리는 시간은 CPU 기준 평균 2.5배, GPU 기준 평균 2배 단축되는 성과를 얻었다.
3.기대효과 해당 연구는 기존 방식보다 빠르게 최적화된 실행코드를 생성한다. 이는 대규모 딥러닝 모델을 빠르게 실험하거나 배포해야 하는 환경에서 개발 속도를 빠르게 할 것으로 기대된다. 특히 오토튜닝 동안, 하드웨어 실행 횟수를 감소시켜 CPU 나 GPU 자원을 보다 효율적으로 활용 할 수 있다. 또 시간, 에너지, 자원을 절감함으로써 AI 시스템의 탄소 발자국도 감소시킬 수 있을 것으로 기대된다.
|
[붙임] 용어설명 |
1.딥러닝 컴파일러 (deep learning compiler) 딥러닝 모델을 특정 하드웨어 (CPU, GPU 등)에서 빠르게 실행할 수 있도록, 모델을 최적화된 저수준 코드로 변환해주는 시스템 2.딥러닝 컴파일러에서의 오토튜닝 (auto-tuning) 딥러닝 컴파일러가 최적의 실행속도를 얻기 위해 다양한 코드 구성을 자동으로 생성하고, 실행하며, 가장 빠른 코드를 찾아내는 과정 3.계산 그래프 (computation graph) 딥러닝 모델의 수학 연산들을 노드와 엣지로 구성한 그래프 형태의 표현 4.딥러닝 워크로드 딥러닝 모델이 처리해야 할 전체 연산 또는 작업의 단위를 말하며, 보통 하나의 모델 실행을 의미 함 5.서브 그래프 계산 그래프 전체에서 일부 연산 묶음을 잘라낸 부분 그래프
|
[붙임] 그림설명 |
그림설명. 효율적인 코드 탐색 경로를 보여주는 '베이지안 코드 확산' 개념도. 그림은 오토튜닝 과정에서 실행 코드 구성을 찾기 위해 얼마나 많은 경우의 수를 탐색해야 하는지를 보여준다. 회색 선은 무작위 탐색(random search) 경로를 나타내며, 수많은 경우를 뒤져야 하므로 비효율적이다.반면, 붉은색 화살표로 표시된 경로는 이번 연구팀이 개발한 ‘베이지안 코드 확산(Bayesian Code Diffusion)’ 방식이다.기존에 잘 작동했던 코드 조합(노란 별)을 기반으로, 유사한 연산 구조에서는 탐색 범위를 좁히고, 그 안에서만 효율적으로 탐색함으로써 빠르게 최적의 코드를 찾을 수 있도록 한다. 연산 구조 간의 유사성을 활용해 검색 공간을 줄이고, 그 안에서는 정보를 공유해 탐색 시간을 단축한다. |
![]() |
UNIST 홍보팀 news@unist.ac.kr TEL : 052)217-1230FAX : 052)217-1229 |