김창대 ETRI 고성능컴퓨팅시스템연구실 선임연구원

한때 SNS에 "어디까지 올라가는 거예요?"란 말의 방언별 발음 차이가 화제였다. 서울 사람들은 거의 같은 음으로 발음하다가 물음표가 붙은 ‘요’만 약간 올리지만, 경상도 방언에서는 ‘요’만 제외하고 글자마다 계속 음을 높여가며 말한다는 것이다. 대구 출신인 아내에게 이 문장을 발음해 보라고 부탁하며 대체 음이 ‘어디까지 올라가는’ 것인지 재밌어하던 기억이 있다.

또 하나, ‘어디까지 올라가는’지 모르겠는 것이 있다. 컴퓨터 성능이다. 전문가들만 비싼 컴퓨터로 할 수 있던 영상편집을 요즘엔 주머니 속 전화기로도 한다. 인터넷을 검색하고 분석하던 걸 요즘은 인공지능에게 묻는다. 과학실험도 컴퓨터로 먼저 시뮬레이션해보고, 해 볼 만한 것들만 실제로 해본다. 알파고가 인공지능의 혁신이라고들 하지만, 컴퓨터 성능의 혁신이 없었다면 불가능했을 것이다.

좋은 시절이다. 그런데 사실 난 머리가 아프다. 그 좋은 시절을 만들기 위해 머리를 싸매야 하기 때문이다. 필자는 컴퓨터를 빠르게 만드는 일을 하는 고성능컴퓨터시스템연구실의 연구원이다.

전통적으로 고성능컴퓨팅을 연구한다는 건 이런 거였다. 첫째, 운영체제나 라이브러리에서 비효율적으로 구현된 부분을 고쳐보거나, 최신 하드웨어를 더 잘 활용할 수 있는 방안을 찾아 적용해 본다. 둘째, 많이 쓰이는 프로그램들을 두루 실행해 본다. 셋째, 성능이 빨라 지면 논문을 쓰고 세상에 발표한다.

그런데 너무 많은 사람이 너무 많은 연구를 해버린 탓에, 요즘엔 이런 방식으로는 성능이 별로 올라가지 않는다. 성능이 좋아지는 일반적인 방법이 거의 없다는 것이다. 대신 많이 쓰이는 특정 프로그램을 대상으로 깊이 있게 연구하는 방법을 쓴다. 예를 들면, 한 가지 종류의 인공지능 프로그램만 가지고 깊이 연구하는 방식이다. 대상 프로그램의 모든 부분을 상세히 뜯어 보고, 아예 계산 방식을 근본적으로 바꾸거나, 아예 그 프로그램에 꼭 맞는 운영체제를 만들거나, 아예 그 프로그램을 위한 새로운 하드웨어를 만들기도 한다.

그러려면 훨씬 더 많은 것을 공부해야 한다. 프로그램의 계산 방식부터 바꾸려면 그 프로그램이 다루는 것에 대해 그 분야 전공자 수준의 이해가 필요하다. 같은 컴퓨터 전공 안에서도 다른 분야의 내용을 깊이 있게 공부하는 것이 쉽지 않은데, 생물학이나 화학 분야까지 접근하려면 여간 어려운 게 아니다. 또, 하드웨어 최적화를 하려면 하드웨어 설계 방법까지 공부해야 한다. 소프트웨어 전공자로서는 한숨부터 나온다.

그러나 어쩌랴. 그래야 논문을 쓰고 성과를 낼 수 있는 시대가 된 것을. 우리 연구실은 열심히 노력하여 생물학 분야의 유전체 분석 프로그램을 대상으로 속도를 3배 이상 높이는 성과도 이루었다. 그리고 후속 연구도, 다른 분야에 대한 도전도 계속 진행 중이다.

‘거인의 어깨에 올라서서 더 넓은 세상을 바라보라.’ 즐겨 찾는 논문 검색 사이트 대문에 항상 적혀 있는 말이다.

요즘은 인공지능이 좋아져서 논문 요약도 해주고 정리도 잘 해준다. 거인의 어깨에 올라서기가 쉬워졌다는 의미다. 하지만 그만큼 거인의 어깨도 빠르게 높아지고 있어서 올라타기가 되려 더 어렵기도 한다. 정말, 어디까지 올라가는 것일까?

저작권자 © 충청투데이 무단전재 및 재배포 금지