지난 수년간 머신러닝 기술이 비약적으로 발전함에 따라 이제는 원하는 방송 채널을 찾을 때 말만 하면 척척 찾아주고 무인점포에서는 제품을 올려놓기만 하면 가격을 계산해주기도 한다. 이처럼 인공지능(AI) 기술은 연구과제의 주제 단계를 지나 경제·의료·도소매·금융·교통 등 실생활의 많은 분야에 적용되고 있으며 빠르게 우리의 삶을 변화시키고 있다. 그래서 성공적인 모델을 개발하는 것이 쉬워 보이지만 실상은 그렇지 않다. 성공한 유명한 모델은 오랜 경험과 지식을 가진 머신러닝 전문가들이 긴 시간을 들여 수작업으로 조율해 개발된 것이 대부분이다.
AI를 개발하는 데 역설적이게도 많은 수작업이 필요한 이유는 무엇일까. 그것은 AI에 사용되는 신경망의 구조를 결정하는 하이퍼파라미터(hyper parameter)로 불리는 시스템 변수들이 너무 많기 때문이다. 예를 들어 신경망에 사용된 층(layer)의 개수, 각 층에 있는 뉴런의 개수, 활성함수의 종류, 모델 변수들을 초기화하는 방법, 학습 속도를 결정하는 진도율 등으로 매우 많고 각각의 변수는 넓은 범위를 가진다. 그러므로 시스템 변수들의 조합은 기하급수적으로 늘어나며 이 중에서 어떤 값들을 사용하면 최적인지 알아내는 것은 결코 쉽지 않다.
정해진 모델 한 개를 학습시키는 것도 쉽지 않은데 결정해야 할 조합이 수만 개 이상이라면 최적의 모델을 결정하는 데 수십 년 이상도 걸릴 수 있다. 값들을 순차적으로 바꿔가면서 모든 시도를 해보는 방법은 시간이 오래 걸릴 뿐 아니라 비효율적이기 때문에 최소한의 시도로 최적을 찾아가는 ‘시스템 변수 최적화’는 오래전부터 유명한 연구 주제였다. 적은 시도만으로 가능하려면 전의 시도에서 나온 결과들을 유기적으로 연결해 해석하고 다음에 시도할 변수의 조합을 효율적으로 선택하는 방법이 필요하다. 주로 확률적 방식을 사용하거나 강화 학습을 사용하기도 하며 오랜 경험과 지식을 갖고 있는 데이터나 알고리즘 전문가가 직관에 의존하기도 했다.
모델의 크기나 종류에 관계없이 어느 경우에도 적용이 가능한 방법들이 지난 2017년부터 속속 발표되면서 2018년 중반에는 전문가들이 수작업으로 공들여 설계한 모델의 성능을 뛰어넘기 시작했다. 데이터만 넣어주면 AI가 그 데이터에 최적화된 모델을 찾아주는 이른바 자동 머신러닝(AutoML)의 길이 열린 것이다. 효율적인 알고리즘에 기반해 다양한 시도를 병렬적으로 수행하려면 아무래도 연산자원이 넉넉한 클라우드 기반이 적합하며 구글, 마이크로소프트(MS), 아마존 등의 대기업들은 이미 이런 제품을 출시해 서비스하고 있다. 다수의 전문 벤처기업들도 AutoML 제품 개발에 박차를 가하고 있다. 아직은 초기라 아주 만족스럽지는 않지만 2~3년 후면 상황은 크게 변할 것 같다. 머지않아 AI 연구자들은 원천 연구와 응용이라는 선택의 기로에 서게 될 것 같다.