인문학 전공자로 인공지능 석사과정 공부하기

AI

요새, 배우느라 바빴다. (그리고 더 바빠질 예정.)

인공지능이라는 필연

챗-GPT 3가 출시됐을 때 나는 웨이브에서 일하고 있었다. 그전까지 인공지능은 나에게 흘러가는 트렌드 중 하나였다. 잘 알면 좋지만 잘 몰라도 내 업무에 해가 가진 않는 반짝거리는 최신 지식들. 하지만 이번 ‘트렌드’는 심상치 않았다. 어떤 팀에 있는 누구라도 챗GPT에 대해 얘기하고 있었다. 그래서 써봤다. 첫인상은 대단치 않았다. 서울 강북 근방의 맛집을 꼽아달라는 질문에 챗GPT는 평범한 구글 서치 이상의 답변을 내놓지 못했다. 어색한 첫만남 후 나는 챗GPT와 인공지능이라는 주제에 대해 한참을 잊고 있었다. 노션에 AI 기능이 등장하기 전까지.

매일 업무 및 일상 툴로 사용하는 노션이 이른바 ‘생성형 AI’를 커맨드에 추가하고 적극적으로 사용을 유도하자, 나는 이제라도 이 생성형 AI라는 걸 써보고 싶어 견딜 수가 없었다. PM의 직무상 문서를 쓰고, 이를 요약하거나 번역하거나 변형하여 여러 군데에 공유하고 전달하는 일은 아주 일상적인데 이 일을 생성형 AI가 다 해준다지 뭔가. (물론, 공부하고 있는 지금에야 그것은 AI가 할 수 있는 일 중 아주 기초적인 일일 뿐만 아니라 AI가 잘 할 수 있는 일이라는 사실도 알고 있다.) 특히 글로벌 팀과 스펙 문서를 공유하고자 할 때 처음부터 영어로 초안을 작성하면 작성 시간도 한글보다 조금 오래 걸릴 뿐만 아니라 맥락에 정확히 들어맞는 단어를 쓰지 못한다는 느낌이 들어 고민이 깊어지던 차였다. 우선 한글로 스펙 문서의 골격을 작성한 후 AI에게 영어로 번역을 요청했다. 결과는 상상 이상으로 훌륭했다. 업계 용어도 무리없이 번역했을 뿐만 아니라 (일부는 맥락에 맞게 다시 수정해줘야 했지만) 내가 원하는 뉘앙스까지 정확히 살리고 있었다. 몇 번의 실험 후, 생성형 AI는 업무의 일상적인 도구 중 하나로 자리잡게 됐다.

그쯤 되니 궁금해질 수밖에 없었다. 이건 대체 어떤 원리로 어떻게 작동하는 거지? 아무 무리없이, 당연하다는듯이 나의 일상에 손쉽게 자리잡아가는 산출물의 배경이 알고 싶었다. 서치를 통해 이런저런 가벼운 아티클과 저작물을 읽을 수 있었다. 쉬운 듯 하면서도 어려웠다. 대체로, 최근 쓰이는 인공지능의 원리는 이렇게 요약되고 있었다. 그건 ‘블랙박스’예요. 인공지능은 분명히 우리의 일상에 스며들고 있었고, 그저 한순간 반짝하고 지나갈 트렌드가 아닌 모든 업무의 근간을 뒤흔들 위협이자 희망으로 논의되고 있었다. 그리고 나는 그 위협이자 희망을 그저 '아, 블랙박스구나' 하고 생각하며 넘어가고 싶지 않아졌다.

더 잘 일하기 위해, 더 잘 해내기 위해, 더 제대로 이 대단한 도구를 다루기 위해. 나는 인공지능을 전문적으로 공부해보고 싶다고 생각했다. 직장과 병행할 수 있는 과정을 찾다가 집과 가까운 연세대학교의 야간대학원, 인공지능 과정을 택해 정면으로 맞부딪혀보기로 했다.

살아남아라, 인문계

사실 면접을 보러 갔을 때부터 ‘이거 괜찮은 거 맞아?’ 싶은 생각이 들긴 했다. 당장 면접장에서 같이 면접을 본 사람들은 데이터 엔지니어 아니면 개발자였다. 이미 실무에서 인공지능을 활용하고 있었고 각종 인공지능 및 머신러닝의 개념과 알고리즘에 대해 훌륭하게 설명했다. 나는 그 옆에 앉아서… … 면접 질문으로 제시된 질문 중 인공지능을 활용한 인상적인 프로젝트에 대해 설명해보라는 질문에 겨우 답하고 있었다. 모집 요강에야 비전공자도 가능하고 누구나 지원할 수 있다고는 되어있었지만 이거 정말 괜찮은가? 싶었다. 이미 실무에서 인공지능을 적용하며 날고 기는 사람들 사이에서 인공지능에 대해 아는 거라곤 손바닥만큼도 없는 내가 뭘 어떻게 해내려나. 고민과는 무관하게 덥썩 합격을 했다. 그러면, 감당해야지. 그렇게 쏠랑 인공지능 석사과정에 입학했다.

나는 학부에서 문화인류학과 신문방송학을 이중전공했고, 수학 개념을 다루기가 싫어서 졸업 필수요건으로 설정된 수리 관련 과목조차 ‘수학과 관련된 사고를 하는 책을 읽고 논평하는 과목’을 골라서 논평 열 개를 쓰고 회계와 확률통계 수업을 피해간 사람이다. 하지만 수강신청을 하려고 개설된 수업들의 수업계획서를 열자마자 그동안 외면해왔던 수학적 사고의 업보가 나를 로드롤러로 뭉개고 지나가는 기분이었다. 모든 과목이 당연하다는 듯이 선형대수, 그리고 확률통계적 개념을 전제조건으로 두고 있었다. 그제서야 나는 칸 아카데미(고마워요!!!!) 등을 통해 부랴부랴 인강을 들으며 생존을 위한 개념학습을 시작했다.

할 만 합니다

결론부터 말하자면, (조금 이른 결론일지도 모르겠다. 이제야 중간고사 기간이니까.) 할 만 하다. 특히 인공지능이라는 전공의 특성상. 인공지능의 근간엔 당연하게도 선형대수와 벡터, 그리고 확률과 통계가 있다. 그건 수업을 들으면서 더더욱 뼈져리게 느꼈고 각종 수학 개념에 대한 공부는 현재진행형이다. 하지만 이 개념을 가지고 계산을 할 수 있을 정도로 이해하는 게 아니라, 이 개념이 어떻게 쓰이고 왜 인공지능을 구성하는 이 과정에서 쓰이는지를 이해하는 게 핵심이다. 이 관점에서 보면 제시되는 수학적 관념의 아이디어를 이해하는 공부라는 걸 알 수 있다. 이를테면 벡터라는 개념이 인공지능에서 중요한 건 숫자로 표현되지 않는 다양한 관념(사물, 아이디어, 개념, 분위기, 기분 등 자연어로 표현되는 모든 것들)을 숫자로 표현해 특정한 벡터 공간에서 관념의 위치를 정의할 수 있기 때문이다. 수학을 공부해야 하는 이유와 내가 이해해야 하는 수준에 대한 감을 잡고 나니 크게 어려울 건 없었다. 정 모르는 건 인공지능에게 물어보면 친절하게 가르쳐준다.

수학 뿐만 아니라 또 하나의 큰 산으로 느껴졌던 코딩 역시 마찬가지다. 나는 인공지능이 학문을 공부하는 방식과 학문에 대해 ‘안다’고 할 수 있는 접근법을 완전히 바꾸고 있다는 걸 석사 공부를 하면서 실감하고 있다. 인공지능이 대중화되기 전의 내가 각종 데이터 전처리 및 머신러닝 알고리즘을 구현하는 과제를 위해 코드를 쓴다고 했으면, 나는 정말 발등에 불이 떨어진 상태로 코드 ‘공부’를 처음부터 시작했어야 할 것이다. 하지만 나에겐 생성형 AI라는 인내심 많고 끈질긴 동료가 있다. (처음엔 ‘선생님’이라고 생각했는데, 인공지능이라고 반드시 맞는 코드를 출력하지 않는다는 걸 깨닫고 나서는 나의 코드를 리뷰해주는 꼼꼼한 동료 정도로 생각하기로 했다.) 나의 의도와 목적, 궁금증을 정확히 표현하는 한 생성형 AI는 필요한 코드의 개념과 예시를 모두 일러준다. 그래서 한 번도 써본 적 없는 파이썬 라이브러리를 다루고 한 번도 내 손으로 해낸 적 없던 데이터 전처리와 시각화, 퍼셉트론 모델 구현을 할 때에도 생성형 AI에게 질문을 쏟아부으면서 한 줄 한 줄 코드를 작성했다. 그리고 다 작성한 코드의 휴리스틱한 에러를 걷어내기 위해 검토를 요청했다. AI는 코드를 검토한 후 개선점을 제시해줬다. 코드를 개선하기 위한 끝없는 토론과 질문의 굴레도, AI는 견뎌준다. 그렇게 나는 약 두 달 간 평생 쓴 것보다 많은 코드를 썼고, 평생 코드로 산출한 것보다 많은 산출물을 만들어냈다.

가장 최근 마무리하고 엄청 뿌듯했던 과제. Word2Vec 신경망을 라이브러리 없이 from scratch로 코드를 짜고, ‘심슨즈’를 바탕으로 한 단어 관계를 학습시킨 후 결과를 2차원으로 그렸다. 과제에 관한 이야기는 다른 포스팅에서 자세히.

겁내지 않는다면 뭐든 할 수 있다. 인공지능을 공부하며 인공지능이 내게 준 교훈이다. 우리는 정말로, 호기심과 의지, 그리고 적절한 가이드라인 - 인공지능을 어떻게 다루고, 인공지능에게 무어라고 물어보며 어떻게 인공지능이 내가 원하는 결과를 내도록 감독할 것인가? 나는 바로 이 지식을 획득하기 위해 공부하고 있다고 생각한다 - 만 있다면 무엇이든 할 수 있는 세상에 살고 있다. 미래는 이렇게 소리없이 당연한 것처럼 우리에게 온다.

아직은 한 학기의 반밖에 다다르지 않았지만, 2년 동안 내가 뭘 배울지 기대된다. 그리고 앞으로 인공지능을 공부하며 내가 배운 것과 고민하게 된 것들을 이 블로그에 기록해볼 생각이다.

Next
Next

잘 굴러가는 백오피스 만들기