인공지능 개발은 왜 논문을 읽어야만 하는가
왜 인공지능 개발자는 다른 개발자와 달리 논문을 읽어야 하나요?
많은 개발자분들은 인공지능 개발자에 대해 궁금한 점이 많습니다. 왜 저들은 논문을 읽는 시간이 필요할까?에 대한 질문을 가장 많이 하는 것 같습니다. 오늘 포스팅은 왜 인공지능 개발자는 논문을 계속해서 읽으면서 개발을 해야하는 지에 대해 이야기하고자 합니다.
결론부터 이야기를 하면, 인공지능 개발자는 체계화되지 않은, 풀리지 않은 문제들을 풀어야하기 때문입니다. 일반적인 개발자의 경우에는 "언제까지 A라는 일을 끝내주세요."라는 요청을 받으면, 기존 라이브러리를 이용하여 본인의 로직대로 시스템을 디자인합니다. 하지만, 인공지능 개발자의 경우에는 "이러한 서비스를 만들어보고 싶은데 인공지능으로 해결이 가능한가요?"라는 요청을 받습니다. 그렇다면 인공지능 개발자는 어떠한 프로세스로 일을 진행할까요?
인공지능 개발자가 하는 일은 크게 3가지로 나뉩니다.
데이터 수집 및 전처리
기존 논리에 기반한 개발과는 달리 인공지능은 데이터에 기반합니다. 그러므로 인공지능 모델의 성능은 데이터에 기반한다고 해도 과언이 아닐정도로 품질 좋은 데이터를 필요로합니다. 하지만 대부분 이 과정은 인공지능 개발자가 직접 진행하기보다는 외주업체에 맡기는 경우가 많습니다.
모델 구조화
모델을 구현하는 것이야 말로 인공지능 개발자가 해야하는 가장 중요한 일입니다. 데이터만큼이나 모델의 구조에 의해서도 성능이 엄청나게 차이가 나기 때문입니다. 데이터를 기름에 비유한다면, 모델은 차에 비유할 수 있습니다. 경차와 스포츠카를 비교해보았을 때 같은 기름이 들어가도 성능 차이가 나듯이 모델구조에 따라서도 성능 차이가 많이 납니다. 어떠한 모델을 사용하는 것이 좋을지 고민하는 것이 결국 인공지능 개발자의 고민입니다.
이러한 고민을 해결하기 위해 인공지능 개발자들은 논문을 읽는 것입니다. 최신 논문들은 기존의 모델보다 몇 퍼센트 향상된 성과를 이루었다는 식의 소개를 하고 있기 때문에 최신 버전의 모델을 사용함으로써 성능을 높일 수 있습니다. 또한, 논문을 읽는 과정에서 이들은 모델 구성의 직관을 얻게 되고, 기존 논문들을 발전시켜 새로운 모델 구조를 제시함으로 더 높은 성능을 보일 수도 있습니다.
모델 학습에 필요한 하이퍼파라미터 튜닝
위의 설명한 두 가지만큼 또 중요한 것은 모델 학습에 필요한 하이퍼파라미터를 설정하는 것입니다. 인공지능 모델을 학습시키는데 있어서 굉장히 많은 하이퍼파라미터를 선택해야하고, 이 설정값으로 인해 모델의 학습정도가 달라지기 때문입니다. 이와 관련된 내용으로도 많은 논문들이 나오고 있어 하이퍼파리미터를 설정할 때 참고하기 위해 논문을 참고해야합니다.
정리하면, 인공지능 개발자는 주어진 데이터를 이용하여 모델의 성능을 극대화시키는 것이 그들의 역할입니다. 모델의 성능을 극대화시키기 위해서 논문을 참고해야하기 때문에 그들은 일정수준 이상의 시간을 논문 읽는데에 시간을 투자해야 하는 것입니다. 논문 읽기, 코드 공부 두마리 토끼를 모두 잡아야 하다보니 인공지능 개발자분들은 두마리 토끼를 모두 잡기 위해 적절한 밸런스를 갖고 자신의 리소스를 분배햐아한다고 생각합니다.