애플리케이션 레벨의 서비스 형태를 활용하는 객체 탐지기 아키텍처 구현
클라우드 업체 입사 이틀을 남기고 마지막 휴식 차에 AWS와 Azure의 AI 이미지 인식 기술의 정확도를 비교해서 각 클라우드 사의 ML(Machine Learning, 특히 여기서는 인공 신경망) 성능을 비교하는 사이드 프로젝트를 진행해보려 한다. 일단, AWS 같은 경우는 새로운 계정을 발급해서 1년 간 무료 티어를 사용할 수 있다. 그래서 AWS의 AI 기반 서비스 각 피쳐 별로 웹 애플리케이션을 제작해서 배포하는 것까지 실습할 계획이다. 이번 장에서는 AWS SDK로 이미지 인식 AI 기능(Rekognition)을 사용한 과정을 살펴보도록 하겠다.
이제는 메이저 클라우드 사(MS Azure, AWS, Google)의 AI 서비스를 활용해서 일반인도 AI 애플리케이션을 빠르게 개발할 수 있다. 우선 기존의 AWS AI 서비스를 활용하고, 특별한 요건이 있거나 경쟁력 있는 데이터(클라우드 서비스사가 보유 중인 데이터로 이미 훈련을 마친 AI 서비스를 사용하지 않고 자체 보유하고 있는 데이터로 ML 모형을 훈련해서 더 좋은 성능을 낼 수 있는 경우를 말함)를 보유하고 있지 않을 때 맞춤형 AI 기능을 개발하면 좋다(허준호, 2020).
위와 같이 웹 UI 기반의 데모 애플리케이션을 개발해봤다. 실은 참조한 책의 저자가 올린 github 소스를 그대로 가져와서 일단 프로젝트 기본 구조를 확인하고 각 컴포넌트 간의 상호작용이 어떻게 이루어지는지 확인하는 과정이었다. AWS 챌리스로 AI 애플리케이션 후단부를 AWS에 배포하고 다시 AWS S3로 정적 웹 사이트를 배포하기까지 비개발자도 간단하게 할 수 있다. 앞서 서두에서 말한 맞춤형 AI 서비스의 의의가 여기에 있다.
다만 Amazon S3의 객체는 기본적으로 비공개이기 때문에, 객체에 대한 액세스 권한을 할당하는 방법을 통해 가져오는 이미지의 렌더링이 이루어지도록 해야 한다.
참조
Tripuraneni, S., & Song, C. (2019). AWS 기반 AI 애플리케이션 개발(원제 : Hands-On Artificial Intelligence on Amazon Web Services: Decrease the time to market for AI and ML applications with the power of AWS)(1st ed.). (36-112). 에이콘.
ai-aws/2장-소스코드 at main · AcornPublishing/ai-aws · GitHub