인공지능 개발자는 말그대로 수집된 데이터를 통해 인공지능을 개발합니다.추천 서비스,광고 노출 타겟팅,음성인식,이미지 분류 등 다양한 서비스로 제공됩니다.
인공지능 개발자의 주요 업무 프로세스는 다음과 같습니다.
인공지능 개발은 성능 목표치를 결정하고,서비스에 적합한 알고리즘 탐구 및 선정을 거쳐 본격적인 개발을 합니다.
성능 목표치를 결정하는 단계에서,완벽하고 매우 높은 성능을 목표로 설정하는 경우도 있지만 적절히 상황에 따라 조정하기도 합니다.특히 서비스 초기 단계이거나 시장의 반응을 빠르게 살펴보고자 하는 AI 개발 프로젝트도 있습니다.이런 경우, 아주 좋은 성능이 아닌 적당한 성능을 목표로 빠르게 개발하여 우선은 서비스를 런칭하고 점점 성능을 향상하는 과정으로 진행되기도 합니다.
AI 성능 목표를 설정한 후 AI의 전체적인 구조와 개요를 구상하는 단계를 거칩니다.서비스에 적합한 알고리즘을 선정하는데,이 과정에서 최신 논문을 참고하고 테스트 구현을 해보고 프로젝트 방향성을 결정하기도 합니다.
본격적인 개발단계에서는 대체로 가볍고 간단한 모델 구현 후 점점 복잡하고 세밀한 구조의 모델을 구현하는 순서로 진행됩니다. 성능 저하의 원인을 파악하기 위해 추가적인 데이터분석을 진행하기도 하고, 목표 성능에 도달할 때까지 모델 구조를 세밀하게 조정하는 과정을 반복 수행합니다.
인공지능 개발자는 회사 규모나 프로젝트 내용에 따라 데이터 분석을 겸하는 경우도 있습니다.인공지능 성능을 향상하기 위해서, 데이터 특성 파악과 성능을 저해하는 요소 파악이 필요한데, 사내 데이터 분석가가 없는 경우,이러한 업무를 개발자가 직접 진행하기도 합니다.
인공지능 개발자에게 필요한 역량은 데이터 분석가와 유사합니다.인공지능이 학습할 데이터의 특성을 파악하기 위해 수학/통계학 지식과 알고리즘 이해와 구현을 위한 컴퓨터 공학 관련 역량이 필요합니다. 수학/통계학의 경우, 인공지능 모델의 원리를 이해하기 위해,미적분학,선형대수학,확률론,수리통계학 등의 이론의 충분한 이해가 필요합니다.
프로그래밍 은 인공지능 모델을 구현할 때 반드시 필요한 역량인데,데이터 분석 분야와 마찬가지로 Python 을 프로그래밍 언어로 많이 채택합니다. 또한, 최신 논문을 읽고 구현하는 연구 역량도 요구됩니다.