권용인 ETRI 지능디바이스·시뮬레이션연구실 선임연구원
최적화(Optimization)란 주어진 조건이나 환경 아래에서 무언가를 가능한 최대 또는 최소로 만드는 것을 뜻한다. 예를 들어, 대전역에서 해운대까지 이동해야 할 때 가장 빠른 교통수단, 가장 저렴한 교통수단, 또는 가장 편안한 교통수단을 찾는 것은 최적화 문제를 푸는 것이다. AI 반도체의 설계와 개발 또한 최적화 과정에 속한다. 단일 기능만을 수행하는 반도체 개발은 비교적 간단하지만, AI는 음성, 시각, 언어 등 다양한 분야에서 빠르게 발전하고 있다. 시장은 이러한 다양한 기능을 최적으로 처리할 수 있는 반도체를 요구한다. 그러나 모든 AI 기능을 고려하여 최적화된 반도체는 범용성은 높아질 수 있으나, 개별 기능의 처리 성능에서 경쟁력을 잃을 수 있다. 이에 우리나라의 반도체 기업과 연구소는 각자의 시장과 활용처를 고려하여 특정 범위 내 문제를 가장 잘 해결할 수 있는 반도체를 다양하게 개발하고 있다.
그러나 최적화의 필요성은 반도체에만 국한되지 않는다. 최적화된 소프트웨어 또한 필요하다. 반도체가 자동차라면 소프트웨어는 그 네비게이션이라고 할 수 있다. 자동차에 최고의 엔진을 장착하고 연료를 가득 채워도, 운전자가 길을 헤맨다면 그 자동차는 가치가 없을 것이다. AI 반도체만큼 소프트웨어도 변화하는 조건과 환경에서 최적의 경로를 찾아내야 한다. 언제 어디서든 최적의 경로를 제공하는 네비게이션을 장착한 자동차야말로 시장에서 성공할 수 있다.
필자는 최적의 길을 알려주는 AI 반도체의 네비게이션, 즉 AI 반도체를 최적으로 구동시키는 소프트웨어인 컴파일러 연구를 해오고 있다. 우수한 AI 컴파일러 아키텍트는 하드웨어, 소프트웨어공학, 인공지능에 대한 폭넓은 지식을 갖추어야 하며, 미래를 내다보는 통찰력과 리더십을 겸비해야 한다. 불행히도 국내에서 AI 반도체 개발이 활발함에도 불구하고 컴파일러 개발 인력은 턱없이 부족하다. 개발 기간의 압박으로 인해 실행 가능한 인공지능이 제한된 컴파일러가 개발되고 있으며, 새로운 기능 추가에는 많은 노력이 필요하다.
필자도 과거 직장에서 네비게이션이라 불리지만, 실상으로는 몇몇 목적지만 갈 수 있는 종이 지도를 손으로 하나하나 그리는 일을 했다. 다음 해에 새로운 반도체가 개발되면, 기존의 지도는 사용할 수 없게 되어 같은 작업을 반복해야 했다. 회사로서는 최적의 선택일 수 있지만, 국가적 최적화 측면에서 보면 컴파일러 개발 인력의 활용이 매우 비효율적이라는 생각이 들었다.
현재 필자는 ETRI에서 누구나 참여하고 공유할 수 있는 오픈소스 컴파일러 개발의 꿈을 가지고 연구하고 있다. 그동안 국가도, 기업도 AI 반도체 연구개발에서 충분한 시행착오를 겪었다. 몇 장의 종이 지도만으로는 자동차가 팔리지 않는다. 제대로 된 네비게이션이 장착된 K-AI 반도체를 시장에 내놓을 수 있도록 해야 한다. 수천 명의 소프트웨어 개발인력을 보유하고 있는 엔비디아에 대응하여 경쟁력을 키울 수 있는 방법은 오픈소스 생태계를 통한 개발 과정의 최적화와 이를 통한 빠른 개발인력 양성이라고 생각한다. 기업, 연구소, 학교에서 컴파일러를 연구하고 개발하는 많은 사람들과 함께 오픈소스를 지속적으로 발전시켜 AI 반도체 강국이 되기를 꿈꾼다.
