“인공지능 연구자나 개발자가 되려면 어떤 역량을 갖춰야 하나요?” 이 질문은 내가 어느 강연에 가든 가장 많이 받는 질문 중 하나이다. 질문하는 사람들의 상황이나 처지는 다 다르겠지만, 그분들 모두 하나같이 간절함을 담아 그 질문을 한다. 그 마음을 알기에 쉽게 대답하기 힘들 때가 많다. 이 공간을 빌려 차분하게 내 생각을 말씀드리고자 한다.

우선 개인적인 이야기를 잠깐 하겠다. 내가 인공지능의 뿌리라고 할 수 있는 기계학습(Machine Learning)을 접한 것은 2014년경이었다. 당시 나는 8년간의 직장 생활을 정리하고 학교로 돌아가 언어학을 공부하고 있었다. 그러나 늘 내 관심은 컴퓨터와 언어가 교차하는 지점에 있었다. (순수) 언어학을 공부하며 채워지지 않는 갈증은 코세라(Coursera)의 여러 기계학습 강좌들을 들으며 일정 정도 해소할 수 있었다.

2015년 졸업 후에는 인공지능 기업에 들어가기 위해 여러 곳의 문을 두드렸다. 그때마다 문과 출신에다 비교적 늦은 나이에 프로그래밍을 익히고 인공지능 공부를 한 나는 여러 편견에 부딪혀야 했다. 결국 여러 번의 시행착오 끝에 2016년 어느 스타트업에서 본격적으로 현재 인공지능의 핵심 기법인 딥러닝(Deep Learning) 연구를 시작하게 되었다. 어쩌면 인공지능 연구자가 되는 길을 가장 간절히 찾고 싶었던 장본인이 나 자신이었던 것 같다. 어찌어찌 몸부림치다 보니 여기까지 이르게 되었지만 지금도 특별한 방법이나 확실한 비법을 알고 있는 것은 아니다. 다만, 적어도 노력하면 길이 있다는 것은 경험을 통해 알고 있다.

인공지능 연구자와 개발자는 어떻게 다를까?

먼저 인공지능 연구자와 개발자가 어떤 일을 하고, 그 둘이 어떻게 다른지 설명한다. 사실 정답이 있는 것은 아니다. 그 둘의 경계가 명확한 것도 아니다. 다만 인공지능 필드를 이해하고 앞으로 그 필드로 진입하고자 하는 분들에게는 참고가 될 것이다.

인공지능 연구자는 딥러닝을 학문적 관점에서 접근할 때가 많다. 최신 이론이나 원리, 알고리즘 등을 연구하고 본질과 근간의 혁신을 목표로 탐구한다. 대개 논문을 통해 성과를 공유하고 인정받는다. 자신의 가설을 검증하기 위한 실험을 하기 위해 프로그래밍을 한다. 이론이나 원리보다 제품이나 서비스를 만드는 데 관심이 많은 연구자들도 많이 있다. 이들은 응용연구자로 분류할 수 있겠다. 응용연구자들은 영상, 언어, 의료, 바이오, 법률 등 여러 분야의 실제 문제들을 푸는 데 관심이 있다. 현업의 프로젝트에서 문제를 정의하고 문제해결방법을 찾고 프로토타입을 만드는 역할을 할 때가 많다.

한편 인공지능 개발자는 딥러닝에 대한 이해를 바탕으로 인공지능 제품이나 서비스를 구현하는 사람들이다. 논문 작성이나 연구 자체보다는 그것들을 이용해 궁극적으로 효율적인 모델과 시스템을 구축하는 것이 이들의 관심사이다. 뛰어난 프로그래밍 역량이 요구되며 적어도 한 개 이상의 딥러닝 프레임워크를 능숙하게 사용해야 한다.

어떤 인공지능 서비스를 개발하는 프로젝트가 시작되었다고 하자. 인공지능 연구자와 개발자가 한 팀이 되었다. 연구자와 개발자들이 모두 모여 각자 해야 할 일과 중심 해결 과제들을 정의한다. 연구자는 그 과제들에 대한 기존 접근, 문제점, 해결 방안 등을 조사할 것이다. 그 다음 자신이 생각하는 가설에 따라 여러 실험을 기획하고 스스로, 혹은 개발자와 짝을 이루어 파일럿 실험을 진행한다. 긍정적인 결과를 얻으면 그 방법을 개발자는 실제 시스템에 적용한다. 이후에도 끊임없이 연구자와 소통하며 계속해서 발생하게 마련인 문제들에 대응한다.

(출처=셔터스톡)
(출처=셔터스톡)

인공지능 연구자/개발자는 어떤 역량을 갖추어야 하나?

인공지능 연구자/개발자가 갖추어야 할 역량을 한마디로 정의하기도, 빠짐없이 열거하기도, 무엇이 더 중요하고 덜 중요한지 단정하기도 모두 쉽지 않다. 하지만, 아래에 열거하는 것들은 많은 현업 종사자들이 공감하는 내용일 것 같다.

기초 지식

●딥러닝 지식: 우선 한 권의 책으로, 또는 하나의 강의 시리즈를 통해 딥러닝 지식을 마스터하려는 욕심을 버려야 한다. 몇 해 전에 비해 이제 좋은 입문서들이 많이 나와 있고, 세계 석학들의 명강의 또한 유튜브에 많이 공개되어 있다. 보다 쉬운 언어로 딱딱한 논문을 설명하는 블로그도 찾아보면 많이 있다. 즐기는 마음으로 이런 자료들을 꾸준히 접하며 딥러닝의 기초를 다질 필요가 있다. 특히 어느 분야나 그렇듯 용어(Terminology)의 개념을 정확히 이해하고 바르게 사용하는 데 힘을 기울일 것을 당부하고 싶다.

●전산학 지식: 자료 구조나 알고리즘은 전산학을 배울 때 필수 과목이기도 하고 면접의 단골 주제이다. 사람에 따라 과연 그것들이 딥러닝 연구나 개발에 꼭 필요한 지식인지에 대해서는 생각이 나뉜다. 그러나 논리적 사고 능력의 자가 점검을 위해서라도 익혀 놓는 것이 좋다. 이외에도 특히 인공지능 개발자라면 탄탄한 전산학 지식이 요구된다.

●수학: 수학은 다른 자연과학과 마찬가지로 딥러닝을 이론적으로 이해하고 연구하는 데 있어 필수적인 도구이다. 딥러닝 연구자나 개발자에게 수학 지식이 어느 정도 필요한지는 사람마다 생각이 다르겠지만, 대체로 고등학교 수준의 선형대수학(특히 벡터나 행렬 연산), 미분, 확률, 통계에 대한 지식은 있는 것이 바람직하다.

●영어: 영어는 잘하지는 못하더라도 적어도 익숙해야 한다. 특히 읽기, 듣기, 쓰기, 말하기 네 영역 중 읽기에 능해야 한다. 인공지능과 관련된 많은 자료들이 대부분 영어로 되어 있다. 영어 독해에 부담감을 느껴 우리말로 된 자료들에만 의지하게 되면 다른 사람과의 정보 격차를 해소할 수 없다. 원어민 수준이 되어야 한다는 강박을 버리고 영어 자료들을 계속 읽어나가다 보면 머지 않아 딥러닝 연구에 필요한 최소한의 영어 실력을 얻을 수 있다.

실전 역량

●프로그래밍 역량: 최소한 한 개 언어는 잘해야 한다. 요즘 대세는 파이썬이므로 딴 건 몰라도 파이썬 하나는 잘 다루어야 한다는 뜻이 될 수 있다. 다행인 것은 파이썬이 그리 배우기 어렵지 않은 언어라는 것이다. 프로그래밍 입문자도 6개월 정도만 집중적으로 시간을 투자하면 파이썬을 어느 정도 다룰 수 있다.

●딥러닝 도구 사용 역량: 텐서플로우(TensorFlow), 파이토치(PyTorch), 케라스(Keras) 등과 같은 딥러닝 프레임워크 중 적어도 하나는 다룰 수 있어야 한다. 90 퍼센트 이상의 현업에서 저 셋 중 하나를 쓰고 있다. 셋 중 어느 것을 익혀야 하느냐는 오랜 논쟁 주제이지만, 그보다 중요한 것은 어느 하나라도 온전히 자신의 것으로 만드는 것이다.

●프로젝트 경험: 실제 현업에서는 대부분 프로젝트 단위로 일을 한다. 그래서 프로젝트 경험은 중요하다. 나는 면접을 볼 때 프로젝트를 할 때 어떤 역할을 했는지 꼭 물어본다. 리더인지 팔로워인지, 모델링을 했는지, 데이터를 만졌는지 등을 확인하기 위해서이다. 프로젝트 경험을 통해 스스로도 그 부분을 자가점검해 보면 좋겠다.

자질

●커뮤니케이션 능력: 흔히 개발자를 말이 아닌 코드로 소통하는 사람이라고들 하지만 전적으로 맞는 말은 아니다. 연구자든 개발자든 혼자서는 할 수 있는 게 많지 않고 동료와 같이해야 하는데, 다른 사람과 소통하는 데 어려움을 겪는다면 그것은 꽤 큰 비용이다. 단순히 말을 잘하는 것이 중요한 게 아니라, 자신의 생각을 늘 명확한 언어로 표현하는 연습을 해야 한다. 주어나 목적어를 빠뜨리지 않고 얘기하고, 만연체로 말하지 않으며, 대명사를 의도적으로 사용하지 않는 것은 그 실천적 예시가 될 것이다.

●체력과 정신력: 체력보다는 정신력이 더 중요하다고 생각하는데, 체력이 좋아지면 정신력도 좋아질 가능성이 있으므로 체력도 중요하다(불행히도 그 역은 아니다). 연구를 하든 개발을 하든, 인공지능 활동들은 모두 실패의 연속이다. 그때마다 실망하고 좌절한다면 자신은 물론 옆에서 지켜보는 사람도 피곤하다. 항상 길게 생각하면서 심리적 안정을 가질 수 있도록 자기 최면을 걸어야 한다.

다음 칼럼에는 인공지능 연구자/개발자가 되려면 어떻게 해야 하는지에 대해 말해 보겠다.

박규병 대표는 카카오브레인 자연어처리팀장을 거쳐 현재 인공지능 스타트업 (주)튜닙의 대표를 맡고 있다. 미국 하와이대(University of Hawai'i) 언어학 석사를 마쳤으며, 최근 5년간 국제인공지능학회에 논문 10여 편을 내놓기도 했다.

박규병 튜닙 대표 ryan.ai@tunib.ai

키워드 관련기사
  • “다양한 병원 AI 모여 집단지성 발휘한다”...ETRI ‘닥터 AI’, 뭐가 다를까?
  • 과기정통부, 10월 디지털 뉴딜 우수사례로 메타버스와 블록체인 업체 선정해
  • 트위터, 페이스북 등 편향된 소셜미디어 알고리즘, 피할 수 없나? 전문가들이 제안하는 방안은