딥마인드도 놀고 있지만은 않았다고!
2016년 3월 전 세계의 이목이 서울로 쏠린다. 구글의 모기업 알파벳(Alphabet)이 인수한 영국의 딥마인드(DeepMind)라는 조금은 생소한 기업이 바둑의 세계 최강자 중 하나인 한국의 이세돌 9단에게 도전장을 던진 것이다. 인공지능과 인간 바둑 최고수가 펼치는 세기의 대결은 바로 서울, 광화문에 위치한 포시즌스 호텔에서 진행되었다. 결과는 모두가 알다시피 딥마인드의 알파고(AlphaGo)라는 인공지능의 압승. 물론 1패라는 주목할만한 결과가 있긴 했지만.
이후, 세상은 달라졌다. 모든 사람들이 인공지능에 대해 이야기하기 시작하였고, 뉴스는 온통 인공지능, 딥러닝(deep learning)에 대해 이야기하였다. 학계에도 많은 변화가 생겨 인공지능을 전문적으로 연구하는 대학원들이 속속 생기기 시작하였으며, 컴퓨터과학, 그중 인공지능 분야는 공대 최고 인기 전공으로 등극하였다.
시간은 계속 흘러 2023년. 인공지능 열풍이 잠잠해진 것은 아닌가? 인공지능의 세 번째 겨울이 오는 것이 아닌가? 하는 의구심들이 조금씩 흘러나오던 시점에 등장한 OpenAI의 ChatGPT. 생성형 인공지능의 대표주자 ChatGPT의 등장은 다시금 전 세계를 인공지능의 열풍에 빠지게 만들었다.
그럼 여기서 의문이 하나 생기지 않는가? 우리를 인공지능에 대한 환호와 함께 두려움에도 빠지게 만들었던 알파고를 만든 딥마인드는 무엇을 하고 있는지. 인공지능을 연구하는 사람들에게는 딥마인드의 이후 활동들에 대해 빠삭하게 알고 있지만 대중의 눈에는 살짝 벗어나있는 것이 사실이다. 그러던 와중에 딥마인드는 최근 대중에게는 거의 알려지지 않았지만 학계는 주목할만한 논문을 발표하였다.
AlphaDev discovers faster sorting algorithms
지난 6월 7일 가장 권위가 높은 저널인 네이처(nature)지에는 딥마인드가 발표한 논문이 게재된다. 정확하게는 지난 4월 구글브레인(Brain)과 합병한 '구글 딥마인드'가 발표한 논문으로 딥러닝을 활용한 알파데브(AlphaDev)를 활용해 기존보다 최대 70% 빠른 정렬(sorting) 알고리즘을 발견했다는 내용이다. 알파데브에 대해 알아보기 전에 그간 딥마인드가 걸어온 길을 먼저 가볍게 살펴보자.
딥마인드는 알파고를 통해 전 세계에 충격을 준다. 딥러닝과 강화학습(reinforcement learning)을 통해 바둑에서 인간을 이길 수 있다는 것을 증명한 딥마인드는 이후 알파고를 여러 차례 업그레이드 시키며 바둑계에서는 더 이상 적수가 없음을 증명한다. 많은 사람들에게 알려져 있진 않지만 알파고는 지속적인 업데이트를 통해 중국의 커제 9단 등 인간계 최고수들을 연달아 격파하며 딥러닝과 강화학습을 지속 업그레이드한다.
바둑계에서 모든 걸 이룬 알파고는 은퇴를 선언하며 후속 인공지능 모델들에게 바둑의 자리는 내어준다. 그리고 딥마인드가 도전한 분야는 게임 분야! 2019년 딥마인드는 스타크래프트 2 게임에 도전하며 알파스타(AlphaStar)를 공개한다. 알파스타는 인간계 최고 고수들과 호각을 다투며 인공지능이 바둑이 아닌 게임의 영역에서도 인간을 능가할 수 있음을 보여주었다. 하지만 알파고가 보여준 번뜩임은 잘 나타나지 않아 절반의 성공이라는 평을 받기도 하였다.
이후 딥마인드는 보다 실질적인 일에 집중하기 시작한다. 2021년 7월, 딥마인드는 알파폴드(AlphaFold)라는 단백질 구조 예측 인공지능 모델을 발표한다. 알파폴드는 2억 개 이상의 단백질 형태의 3차원 구조를 정확히 예측하였는데, 이는 지구상 알려진 거의 모든 단백질 구조를 예측할 수 있음을 의미한다. 단백질은 생명의 가장 기본적인 구성 요소로, 단백질 구조 파악은 단백질을 이해하는데 가장 필수적인 부분이다. 하사비스 딥마인드 CEO는 해당 연구를 오픈 소스와 데이터셋으로 공개하며, "오늘 저는 이 여정의 다음 단계를 공유하게 되어 매우 기쁩니다. 이제, 구글에서 키워드를 검색하는 것만큼이나 쉽게 단백질 3D 구조를 찾을 수 있으며 디지털 생물학의 새로운 시대가 시작된 것입니다"라며, "이는 인류를 위한 선물이며, 이 과학적 지식을 세계와 자유롭게 공유합니다"라는 소감을 밝히기도 했다.
이렇듯, 딥마인드는 다양한 분야에서 인공지능을 통해 성과를 내고 있다. 다만 바둑에서 이세돌 9단을 이긴 것처럼 대중에게 임팩트로 확 다가올만한 것이 없었을 뿐이지. 이번에 발표한 알파데브 역시 컴퓨터과학, 인공지능에서는 상당히 획기적이지만 대중에겐 널리 알려지지 않은 것 같아 한 번 소개를 해보고자 한다.
알파데브는 정렬 알고리즘을 획기적으로 개선하였다. 그럼 정렬 알고리즘은 무엇일까? 컴퓨터과학, 컴퓨터공학 등 전산을 전공하게 되면 1학년 때 처음 프로그래밍 언어를 배우게 된다. 나 때는 C언어와 Java를 배웠지만, 지금은 파이썬을 많이 배우는 듯하다. 물론 컴공을 제대로 하기 위해서는 최소 C언어 및 Java는 기본으로 해야 하지만. 이렇게 프로그래밍 언어를 배우고 다음에 접하는 선은 바로 알고리즘(Algorithm)과 데이터 구조(Data Structure)이다. 알고리즘 교과목에서 처음 배우는 내용 중 하나가 바로 정렬 알고리즘이다.
컴퓨터 분야에서 가장 중요한 문제 중 하나는 바로 정렬이다. 우리가 엑셀을 다룰 때도 오름차순, 혹은 내림차순으로 정렬을 하는 것처럼 프로그램을 코딩할 때도 정렬은 계속해서 사용이 된다. 정렬 알고리즘을 설명하는 그림과 같이 순서가 무작위인 데이터를 순서대로 정렬을 하는 알고리즘은 코딩 스킬 중 가장 기본 중 하나이다. 그래서 컴공 전공자들은 저학년 때 다양한 정렬 알고리즘에 대해 배우게 된다. 정렬을 하는 게 뭐가 어렵냐라는 질문을 하는 경우도 있겠지만 효과적인 정렬 알고리즘을 만드는 것은 정말 어려운 난제 중 하나이다. 우리가 대학에서 배우는 정렬 알고리즘은 종류도 다양하다. 버블 정렬(bubble sort), 선택 정렬(selection sort), 삽입 정렬(insertion sort), 병합 정렬(merge sort), 힙 정렬(heap sort) 등등.
컴퓨터 알고리즘은 문제를 풀기 위해 컴퓨터가 수행하는 명령을 순서에 맞춰 구성하는 것이다. 알고리즘의 대표 주자인 정렬 알고리즘은 컴퓨터로 문제를 해결하는 거의 모든 과정에 참여를 하기에 성능 개선이 절실히 요구되지만, 더 이상의 성능 개선은 한계에 다다른 것으로 평가받아 왔다. 그 어려운 것을 딥마인드의 알파데브는 해낸 것이다.
알파데브는 바둑, 스타크래프트 등의 게임에 활용한 인공지능 알파제로(AlphaZero)를 알고리즘에 적용해 스스로 정렬을 하면서 학습하고 점수를 최대화하는 방안을 찾아내었다. 알파고에서와 같이 알파데브는 인간이 생각하지 못한 접근 방식을 정렬 알고리즘에서 발견한 것이다.
조금만 더 깊게 들어가자면 알파데브는 고급 언어를 건드리지 않고, 어셈블리(assembly) 프로그래밍 언어를 사용하기로 했다. 알파데브는 어셈블리 명령어를 무작위로 추가하며 시간이 지나면 이기는 수를 두는 법을 배워나갔다. 이렇게 알파데브는 실행 가능하면서 정확하고 빠른 알고리즘을 생성하는 명령어를 추가하였다. 그 결과 알파데브는 기존보다 최대 70% 더 빠른 속도로 정렬하는 알고리즘을 발견했다.
그럼 알파데브의 알고리즘이 가지는 의미는 무엇일까? 정렬 알고리즘은 거의 모든 프로그램에 들어간다고 해도 과언이 아니다. 우리가 흔히 사용하는 생성형 인공지능, 챗GPT 역시 마찬가지이다. 챗GPT와 같은 우리가 쓰는 모든 프로그램은 기본적으로 정렬 알고리즘을 사용한다. 여기에 들어가는 정렬 알고리즘의 속도가 획기적으로 개선되었다는 것은 프로그래밍의 판도 역시 획기적으로 바뀔 것이라는 것을 의미한다.
이렇게 비유하면 좋을 것이다. 인공지능과 같은 프로그램 만드는 것을 집 만드는 것에 비유하자면, 정렬 알고리즘은 집을 만드는 데 사용되는 드릴과 같은 도구이다. 드릴의 성능이 기존 대비 70% 개선되었다는 것은 드릴 작업을 하는데 속도가 엄청나게 빨라졌다는 것이고, 프로그램을 만드는데 드는 시간 역시 획기적으로 줄일 수 있다는 것이다. 이만하면 알파데브의 작업이 대단해 보이지 않는가?
더 주목해야 할 것은 인공지능이 프로그래밍 판도를 뒤바꾸고 있다는 것이다. 머지않아 인공지능은 새롭고 더 나은 알고리즘을 발명할 것이다. 우리가 집 짓는데 쓰는 도구들이 발달하고 있는 것이다. 그러면 우리가 짓는 집 역시 더 빨리, 더 튼튼하게 지어지지 않을까?