프론트 개발자가 AI를 공부해보면서

AI는 기존 개발하는 방식과 전혀 다른 방향이라고 생각했다. 많은 데이터와 복잡한 신경망 구조를 직접 구현을 하며, 굉장히 알고리즘을 정확하게 짜야한다고 생각했다. 굉장히 겁을 먹은 상태였다. 절대 건드릴 수도, 건들면 안되는 영역이었다.

시작하게 된 이유는 굉장히 간단했다. 최근 다양한 곳에서 AI관련된 말을 듣다보니 자연스럽게 찾아보게 되었다. 당연히 이해는 되지도 않았고, 예전에 진행한 얼굴 인식 API를 활용한 경험도 아무 소용이 없었다. 그래도 이것 저것 클릭하면서 알아보니 아래 내용을 알게 되었다.

ChatGPT를 활용해보았다.

언제나 시작만 어려웠다. OpenAI를 찾아보니 API를 굉장히 친절하게 소개를 해놓았다.

💡 API에 대한 내용은 다음에 조금씩 정리를 할 예정이

역시 요즘 핫한 서비스를 이용해서 AI 개발을 시작해보았아. 처음에는 ChatGPT에게 질문을 해보면서 시작했다. 하지만 이 방법은 독이 되었다.

단순한 질문으로 OpenAI의 API를 활용해보기 시작했다. API의 문서가 잘되어 있었고, JS 지원도 매우 잘되고 있어서 Slack에 Chat Bot을 매우 쉽게 심을 수 있었다. 이 방법으로 AI 개발은 쉽다고 생각했다.

하지만 누군가 제공해주는 학습된 모델과 그 모델을 활용할 수 있는 기능들은 매우 제한적이었다. 내가 구현하고자 하는 것과 원하는 답을 듣기 위해서는 조금 더 깊은 기술들이 필요했다. 나는 이떄도 ChatGPT에게 의존을 했다.

ChatGPT에 질문을 하면 코드를 작성해주고, 적당히 설명도 해주어 편했다. 그런데 Chat Bot은 쉽게 만들었지만, 단순하게 값들을 분류하는 것도 못했다. 순수하게 직접 코드로 구현을 해보려니 가지고 있던 지식의 한계가 나타났다. 이 한계는 GPT가 설명을 쉽게 해준다고 해도, AI에 대한 개념이 없던 나에게 소귀에 경읽기였다.

Tensorflow.js를 활용해보았다.

익숙한 언어를 이용해 AI 개발을 시도해보았다. GPT의 도움으로 분류라는 작업을 해보면서 뭔가 유의미한 결과가 나오고, 그것을 보면서 재미를 붙혔다. 그리고 급하게 현재 업무에 사용하는 데이터를 가지고 시도를 해보았다. 망했다.

요구와 상황에 맞추어 유연하게 개발을 해야하는데, 기존에 가지고 있던 지식으로 불가능했다. 그래서 속성으로 공식문서를 읽으면서 GPT와 비교를 해보았다. 조금씩 시도하면서 어찌 어찌 결과가 나오기는 했다. 하지만 사용하는 손실 함수에 따라 결과가 너무 극명하게 갈렸다.

💡 나중에 알았지만, 이 작업은 분류가 아니라 회귀로 해야하는 것이었다.

이후에 공부를 하면서 알았지만, Tensorflow.js는 굉장히 경량화된 라이브러리다. 즉, 맛만 볼 수 있는 것이었다. 내가 원하는 수준의 결과를 얻으려면 Python을 해야했다.

Python을 시작했다.

프론트 개발자가 요행으로 AI를 공부하려다가 좀 심하게 데였다. 지금까지의 공부를 두고 생각해보면, AI를 전문으로 하던 개발자가 아니면 시작은 전부 똑같다. 너무 조급하게 생각할 필요없이 하나씩 해야한다.

더 빠르게 AI를 공부할 수 있는 방법은 오늘 시작하는 것이 맞다. 생각보다 어렵지 않으니 당장 시작하라.