AI 개발자와 AI 연구자에게 묻습니다!
학부연구생으로 1년 동안 있으면서 주변 연구원 분들이 인공지능 지식과 수학, 의료 분야에 대한 아이디어와 인사이트는 넓지만 막상 개발에서는 어려움을 겪고 있는 것을 많이 보았습니다. 학교에서도 인공지능 이론, 인공지능 기술, 케라스, 텐서플로우, 파이토치는 정말 많이 다루는데... 문제는 "어떻게 AI를 서비스 하여 제공할 것인가?" 를 모두가 모르는 거 같습니다. 그래서 한번 물어보고 싶은데...
인공지능을 하고 계신 여러분은 "API 연동을 할 줄 아시나요?"
공격적으로 들릴거 같아 조심스럽지만 저 조차도 API 연동도 하나도 몰랐습니다. "인공지능을 어떻게 Web에 연동하지?" 라는 발상은 캡스톤디자인을 할려는 분들이나 사이드 프로젝트를 하실려는 분들에게 모두 공통적인 질문이 되지 않을까 합니다.
저의 경험을 바탕으로 인공지능을 개발하시는 분들은 API 연동을 하는 방법을 알까? 라는 것을 시작으로 AI + API Python Module을 만들어보면 어떨까 하는 작은 생각으로 프로젝트를 하나 해볼려고 합니다.
저의 아이디어는... 이렇습니다!
Pytorch를 우선적으로 사용할려고 합니다. Pre-trained된 모델과 모델 구조를 Module이 갖고 있다면 모듈이 하는 역할은 API를 띄우고 POST나 GET으로 요청을 받는 모듈을 해볼려고 합니다. 이미 많은 예제 코드가 있지만... 제가 느끼기에는 정신이 없는거 같다라고 느껴져서 시작하게 되었습니다. 저도 많이 헷갈리면서 여러 코드 찾아 다녔습니다...
프로젝트를 하기 전에 미리 여러분들에게 어떤 경험이 있는지 간단히 댓글로 알려주시면 감사하겠습니다 :)
댓글
로그인 후 댓글을 남길 수 있습니다.
학부연구생을 거치고, 현재 회사에서 딥러닝 엔지니어로 1년정도 일하고 있는 제 기준에서 답변드리자면, 1. 주변 연구원 분들이 연구분야에 대한 해박한 지식을 가지고 있음에도, 개발에 어려움을 겪는 이유는, 그들이 "연구원"이라서 그렇습니다. (당연한 이야기) . 2."인공지능을 개발하시는 분들은 API 연동을 하는 방법을 알까?"라고 하셨는데, 개발하는 사람들은 당연히 압니다. 그것이... 개발이기 때문.... . 3. 사실, api 연동하는것은 막상 해보면 제기준에선 별거 없었습니다. 인공지능 모델 이라는건 결국 "뭔가가 들어오면, 추론결과를 내보낸다." 잖아요? 개 or 고양이 calssification model을 예시로 들어보죠. 이미지 하나를 inference 하면, 0~1 의 수치가 뽑히겠죠?(설계에 따라선 도합 1이 되는 2차원 vector가 나올 수도 있구요) 그럼 이걸 그냥 함수화 시키면 됩니다. . def dog_or_cat(img_path): . . . . 대충 이미지 로딩 . . . . 대충 모델 인퍼런스 . . . . return 인퍼런스결과값 . 이제 적절한 img_path를 양식에 맞춰 requests를 쏴주면 인퍼런스 결과값을 받아내는 api가 짠 하고 나오죠. 즉, 별거 없습니다.
맞습니다! 사실... 제가 이런 얘기를 꺼내게된 큰 계기가 인공지능 공부만 할께 아니라 쿠버네츠, 도커 ... 등 인공지능을 또 관리할 MLOps를 다루는게 필요하더라고요. "인공지능만 공부해도 계속 변화하는데 너무 힘들다" 라는 생각도 있고 어려운 내용으로 다가와서 한번 이런 글을 적어봤습니다. 댓글 주신걸 보니 제 생각을 너무 짧게 적은건가 싶기도 하네요. 이번에 인공지능 프로젝트를 하면서 홀로 인공지능 모델링과 웹 클라이언트와 Communication 등을 고려하다보면서 생각하게 된거였어요. 막상 생각하면... 당연한 얘기를 돌려서 적어둔거 같네요. 좋은 피드백 감사합니다!
아, 참고로 gpu에 미리 모델을 로드해둬야 할테니, 저 함수는 class의 내장함수여야 합니다.