전문가칼럼

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

AI를 시작하는 사람들을 위한 안내서 - TSN Lab 김성민 대표

전문가칼럼
작성자
dataonair
작성일
2021-09-28 14:23
조회
3857

AI를 시작하는 사람들을 위한 안내서


한국의 AI는 2016년 알파고와 이세돌 대결의 충격으로 시작되었다고 해도 과언이 아닙니다. AI 가 무엇인지 몰랐던 사람들이 AI를 찾기 시작했고, 머신러닝, 딥러닝, 지도학습, 비지도학습과 같은 복잡한 단어들도 그 이후에 화자되기 시작합니다. 국내에선 딥러닝을 연구해 오셨던 한두분의 교수님들과, 캐나다와 미국에서 우연히 딥러닝을 전공했던 극소수의 학생들을 제외하곤 소위 AI 전문가라 칭하는 사람들은 모두 이 때부터 AI를 공부하기 시작한 사람들입니다. 한마디로, 2016년을 기준으로 한발자국 앞선 사람들이 국내 AI 트렌드를 이끌고 있다고 해도 과언은 아닙니다.

저도 운좋게 2020년부터 인공지능대학원에서 박사과정을 시작할 수 있었습니다. 실시간 네트워크 분야 회사를 경영하다가 전혀 다른 전공의 풀타임 학생이 되면서 AI 분야에 한 걸음을 디뎠습니다. 8년 정도 IT 회사를 경영했기 때문에 제 지인의 반은 CEO들이고 반은 개발자들입니다. 제가 AI를 전공한다는 소식을 듣고 여러 CEO들과 개발자들이 AI 관련된 질문을 해왔습니다. 이번 글에선 AI 분야에서 반발자국 먼저 내딛은 입장에서 그 동안 경영자들과 개발자들에게 해 왔던 조언을 정리하려 합니다.


AI를 시작하는 경영자들을 위한 안내서

AI의 세 번째 겨울은 오지 않는다. AI는 마치 세상을 뒤집어 놓을 것처럼 돌풍을 일으키다 여럿 파산하는 회사들을 남겨 놓은 채 거품이 꺼졌습니다. 그 것도 두 번이나. AI 소식을 접하는 경영자들은 지금의 바람이 잠시 머물다 가는 유행인지, 아니면 시장의 흐름을 바꿔놓을 트렌드인지 궁금해합니다. 한낱 유행이라면 유심히 지켜보다 흘려보내야 하는 것이고, 트렌드면 사운을 걸고 회사의 방향을 바꿔야하기 때문입니다. 냉정하게 말하면 지금 한국 언론에서 말하는 AI는 대부분 거품입니다. 영화 터미네이터의 시대가 와서 기계가 책을 읽고, 이해하고, 요약하고, 사람과 대화하고, 마치 마법과 같은 세계가 이미 온 것으로 과장합니다. 커즈와일의 특이점이 이미 온 것처럼 호도합니다. 하지만 논문으로 발표되는 AI는 현실입니다. AI가 작곡을 하고, 번역을 하고, 사람의 말에 반응을 하고, 자율주행을 하고, 사물을 인식해 분류하고. 만약 AI가 더이상 발전하지 않고 머물러 있다 하더라도 현재 나와있는 기술을 적용만 해도 10년 20년은 걸릴 겁니다. 사회 각 분야에 AI가 적용 안 되는 분야를 찾기 힘듭니다. AI 도입 비용이 낮아지면 AI는 당연한 부속물인 것처럼 제품과 서비스의 요소 기술로 활용 될 것입니다.

AI는 비용의 문제이다. 현재 개발된 AI 기술이 실생활에 유용하다면 학계에서 개발되는 AI를 현장으로 가져오는 비용 즉, AI는 도입 비용이 문제입니다. 한국은 10개의 인공지능대학원을 선정했고, 1기 졸업생이 2022년 2월에 처음으로 졸업합니다. 내년에 가서야 AI를 전공한 인력이 현장에 나오기 시작하는 것입니다. 공급이 수요를 따라가지 못하는 근본적인 문제가 있고, AI 전공자의 높은 인건비로 인해 AI 도입 또한 높을 수밖에 없습니다. 당연히 AI를 도입했을 때 효과가 높은 금융, 의료 분야 중심으로 AI가 적용되고 있고 사물 인식, 음성인식과 같이 기술 개발이 완료되어 대량 생산할 수 있는 분야 중심으로 AI가 도입되고 있습니다. 2021년 기준으로 보면 맞춤형 AI는 자금력이 있는 회사만 도입이 가능하고, 일반적인 문제를 풀고있는 대량생산 AI는 어느 회사나 저렴한 비용으로 도입이 가능합니다. 시간이 지나 수요와 공급 문제가 해결되면 자연스럽게 AI 도입 비용이 낮아지고, 어느 회사나 맞춤형 AI를 도입할 수 있을 때가 올 것이라 예측할 수 있습니다.

AI Engineering. AI도 IT 기술의 일종입니다. 복잡하고 난해한 이야기가 많이 나오지만 AI를 도입하는 절차가 있습니다. 먼저 회사에서 어떤 분야에 AI를 도입하려는 것인지 확인해봐야 합니다. 1단계 대량생산 AI 도입. 사물을 구분하는 것, 이미지에서 물체를 찾아내는 것, 음성을 인식하는 것, 텍스트를 자연스러운 음성으로 변환하는 것 등 이미 대량생산하는 AI를 도입하는 것이라면 AI 전공자가 없어도 됩니다. 여러 클라우드 회사에서 만드는 클라우드 기반의 AI API와 제품을 연동시키면 간단하게 AI를 도입할 수 있습니다. 2단계 맞춤형 데이터. AI 모델은 있는데, “나의 데이터”를 활용해야 하는 경우라면 AI 모델을 훈련시켜 사용해야 합니다. 예를 들어 공장 생산라인에서 제품의 사진을 찍어 양품인지 불량품인지 판별하기 위해선 그 공장에서 만들어지는 데이터가 필요합니다. “나의 데이터”를 이용해 AI를 도입하기 위해선 AI 모델을 훈련 시켜야하고, AI를 공부한 사람이나 협력 회사가 필요합니다. 3단계 맞춤형 AI 모델. 이미 공개되어있는 AI 모델로 문제가 해결되지 않는 경우가 있습니다. 예를 들어 문제에 맞추어 AI 모델을 많이 변형 시키거나, 2개의 AI 모델을 결합 시키거나 또는 완전히 새로운 AI 모델을 만드는 등 새로운 상황에 새로운 해결책이 필요한 경우가 있습니다. 당연히 AI 전공자들로 구성된 팀이 필요합니다. 1, 2, 3단계로 나누어지는 AI 도입 단계를 설명했는데 대략 도입 비용을 나누자면 1:10:1000의 비용이 발생한다고 생각하면 쉽습니다.

AI 모델은 데이터 밖을 나갈 수 없다. 경영자들이 가장 많이 하는 착각은 AI가 범용적일 수 있다는 것입니다. 다른 말로 하면 우리가 흔히 AI를 접하게 되는 영화나 언론에서 이야기하는 AI는 현실과는 동떨어져 있습니다. 지금까지 개발된 AI는 데이터에 종속적입니다. 무슨 얘기냐 하면, 사물을 분류하는 AI 모델을 훈련시킬 때 개와 고양이를 구분하도록 훈련을 시켰다면, 이 AI 모델은 죽어다 깨어나도 사자와 호랑이는 구분하지 못합니다. 또한 특정한 품종의 개로 AI 모델을 훈련시키면 다른 품종의 개는 개로 인식하지 못할 수도 있습니다. 즉, AI 모델은 훈련시키는 데이터의 한계를 벗어날 수 없습니다. AI 분야에선 Generative Model이라는 분야에서 기존에 없던 데이터를 생성해내는 모델을 만들도록 연구를 하고 있지만, 그 기술 조차도 기존에 학습한 데이터의 범위를 넘어서진 못합니다. 다른 말로 하면, 현재의 AI 기술은 특정 분야의 Specialist이지, Generalist는 되지 못합니다.


AI를 시작하는 개발자들을 위한 안내서

전통적 AI와 수학. AI를 처음 접하는 개발자들이 가장 힘들어하는 부분은 복잡하고 난해한 수학입니다. 선형대수, 미분, 적은 기본이고 각종 통계를 비롯해 수학 또는 물리학을 전공해야 알 수 있을 법한 난해한 공식들이 나옵니다. 전통적인 AI는 수십년간 수학으로 문제를 풀려는 시도를 해왔고, 눈이 핑핑 돌 정도의 다양한 알고리즘들이 쌓여있습니다. 많은 강사들이 전통적인 AI를 소개하면서 복잡하고 난해한 수학 공식을 들이밉니다. 예를 들면 SVM의 Kernel에서 Multi-Gaussian을 사용하여 객체를 분류 모델을 소개하는 식입니다. 우리는 여기서 한번 냉정하게 선을 그을 필요가 있습니다. 2016년 알파고 사건 이면엔 Deep lerning이라는 인공 신경망 기술이 있습니다. Tesla의 자율주행 자동차도 Deep learning이고, GPT-3도 Deep learning입니다. 그에 반해 전통적인 AI는 Decaying technology입니다. 전통적인 AI를 알아야 Deep learning으로 넘어갈 수 있는 것은 아닙니다. 오히려 전통적인 AI가 수십년간 풀지 못 했던 문제를 Deep learning이 한번에 풀어내기 때문에 사람들이 Deep learning에 집중하는 것입니다. 물론 Deep learning도 수학은 중요합니다. 선형대수, 미분, 그리고 몇가지 확률 분포에 대한 개념들이 없으면 모델 자체를 이해할 수 없습니다. 그래도 전통적인 AI에서 요구하는 수학지식에 비해선 “기본”만 알아도 모델을 이해하는데 문제는 없습니다.

AI를 보는 세가지 관점 – 생물학, 수학, 공학. 이제 “AI == Deep learning”이라고 과감한 가정을 해보겠습니다. Deep learning은 한마디로 이야기하면 복잡한 인공 신경망입니다. 인공 신경망이 복잡하게(깊게) 연결되어있기 때문에 Deep 이라는 단어가 등장하는 것이고, 이걸 학습 시키는 것이 기법이 learning입니다. 인공 신경망의 시작은 생물학입니다. 생물의 신경망을 본따서 수학 모델로 표현한 것이 인공 신경망(Perceptron)의 시작입니다. 컴퓨터로 신경망을 구현하기 위해선 신경망을 수학으로 표현해야 했고, 복잡한 모델을 풀기 위해선 복잡한 수식이 필요했습니다. 더구나 복잡한 모델을 학습 시키기 위해선 미분을 이용한 학습이 거의 유일한 수단이 되었고 AI는 생물학을 떠나 점점 수학에 가까이 가게 됩니다. 하지만 최근 연구에선 복잡한 수학적 테크닉 보다는 생물의 뇌를 모사하는 것이 여러모로 유용하다는 것이 실험을 통해 검증되고 있습니다. 예를 들면 Activation function으로 Sigmoid를 ReLU로 대체했을 때 Deep learning이 가능해졌고, Convolution 대신에 Mixer를 사용했을 때 좀 더 효과적으로 이미지를 분류해낼 수 있게 되었습니다. AI 연구를 살펴보면 점점 복잡한 수학 모델을 사용하는 연구와 생물을 모사하려는 연구로 방향이 나누어지기도 합니다. AI 모델을 만들 때는 생물학적인 관점과 수학적인 관점으로 나누어 생각할 수 있지만, AI를 적용할 때는 순전히 공학입니다. 모델은 학습하는 과정은 파라미터 튜닝, 병렬처리, 최적화 등등 공학적 이슈들이 넘칩니다. 그래서 AI 모델을 만드는 사람들은 AI 모델을 적용할 때 어려움을 겪습니다. AI 모델을 만들고 훈련시킬 때는 많은 수학적 지식이 필요하고, AI 모델을 훈련시키고 배포할 때는 공학적인 지식으로 무장해야 합니다. 당연히 AI 모델을 만드는 사람과 AI 모델을 적용하는 사람이 나누어질 수밖에 없겠죠? 실제 많은 회사들이 AI 모델을 만들고 훈련시키는 팀과 AI 모델을 적용하는 팀은 분리 시킵니다.

TensorFlow, PyTorch 그리고 ONNX. 얼마 전까지만 해도 AI 프레임워크는 춘추전국 시대였습니다. 이제는 TensorFlow, PyTorch, ONNX 이렇게 3가지만 알고 있으면 됩니다. TensorFlow와 PyTorch는 둘 다 Python 기반의 AI 프레임워크로 AI 모델을 다루려면 둘 중 하나는 통달하고 있어야 합니다. TensorFlow와 PyTorch의 차이점을 이야기하라면, TensorFlow는 Google에서 밀고 있고 PyTorch는 Facebook에서 밀고 있고의 차이. 기업에선 TensorFlow를 선호하고, 연구자들은 PyTorch를 선호하는 경향이 있다는 것. 결국 회사의 방침에 따라 하나로 통일하거나 개인의 취향에 따라 결정하게 됩니다.



Deploy. TensorFlow로 만든 모델과 PyTorch로 만든 모델을 배포하기 위해선 배포 환경이 완전히 달라집니다. 모델을 배포하는 입장에선 TensorFlow와 PyTorch 2가지를 다 대응해야 하는데 이 일이 만만치 않습니다. 그래서 ONNX이 역할을 합니다. TensorFlow와 PyTorch 모두 ONNX이라는 형태로 모델을 export할 수 있습니다. ONNX 형태로 변환되면 다양한 기기, 서버, Edge, Embedded 심지어 IoT까지 AI 모델을 배포할 수 있습니다. 가장 좋은건 Python이 설치되지 않는 환경에서도 AI 모델을 배포할 수 있다는 점입니다.

AI 윤리 문제, 데이터의 편향성, MLOps, 병렬 학습, GPU의 가격 문제, GPU와 클라우드, CONNX 등등 하고 싶은 말이 많지만 지면관계상 짧게 줄입니다




강송희 연구원

△ 김성민 대표
TSN Lab 대표이사로 실시간 인공지능과 실시간 통신 회사를 창업하였다.
성균관대학교 인공지능대학원 박사과정 재학중이다.