brunch

You can make anything
by writing

C.S.Lewis

by 콤파스 Dec 09. 2022

AI 엔지니어란?


본 글을 시작하기에 앞서 'AI 엔지니어(또는 개발자)'라는 용어가 다소 오해의 소지가 있을 수 있는데요. 이 글에서 사용하는 'AI 엔지니어'라는 용어는 AI 모델을 개발하는 일에 직접적으로 관여하는 엔지니어를 뜻하는 범용적인 개념이라는 것을 참고해 주시면 감사하겠습니다. 


흔히 딥러닝은 머신러닝에, 머신러닝은 인공지능에 포함된 개념이라고 합니다. 하지만 보통 ML(Machine Learning) Engineer는 딥러닝이 아닌 머신러닝을 주로 다루는 엔지니어를 뜻하는 경우가 많습니다. 또한 머신러닝/딥러닝 모델 개발과 관련된 직업은 'AI Research Engineer', 'AI Developer', 'Deep Learning Engineer' 등 굉장히 다양하고 주 업무 영역이 조금씩 다르지만 국내의 경우 역할이 모호한 경우가 많습니다. 때문에 'AI 엔지니어'라는 범용적인 개념으로 설명드린다는 점 양해부탁드립니다.


그럼 지금부터 'AI 엔지니어'란 무엇이고 어떤 일을 하는지에 대해 소개해드리겠습니다.



AI 엔지니어


인공지능 시스템은 일반적으로 프로그래밍 코드로 이루어진 AI 모델, 알고리즘과 학습 및 평가에 사용되는 데이터로 구성되어 있습니다. AI 엔지니어는 이러한 인공지능 시스템을 설계하는 엔지니어입니다. 또한 기업 입장에서의 AI 엔지니어는 인공지능 기술을 활용하여 노동 집약적인 일을 자동화하거나 의사 결정에 도움을 주는 인사이트를 추출하는 등 각종 비즈니스 문제를 해결하는 시스템을 만드는 사람입니다.


사실 AI 시스템 개발과 관련된 직업은 AI Researcher, AI Research Engineer, AI Scientist, Deep learning Engineer, ML Engineer, AI SW Engineer, Computer Vision Engineer, NLP Engineer 등 정말 다양합니다. 이를 보면 AI 시스템 개발과 관련된 다양한 직무가 있는 것이 같은데 어떤 차이가 있을까요?



업무가 연구에 얼마나 가까운지에 따라

크게 보면 연구에 더 가까운 직무가 있고 성능 고도화나 모델 유지/보수 쪽에 조금 더 가까운 직무가 있습니다. 보통 AI 모델이나 학습 방법론 선행 연구가 주 업무인 경우 AI Researcher, 연구된 기술을 활용하여 비즈니스 문제를 해결하고 모델 유지 보수 및 재학습 등의 MLOps 업무까지 담당하는 경우 AI/ML Engineer라고 부르기도 합니다. 하지만 채용 공고의 직무 명칭에 따라 업무 범위가 결정되지는 않습니다. AI Researcher 직무인데 데이터나 서비스 관련 업무를 더 많이 할 수도 있고 AI Engineer 직무이지만 연구가 주된 업무일 수도 있기 때문에 명칭이 그다지 중요하지는 않다는 것이죠.


다시 정리하면 AI 엔지니어분들 중에는 Researcher에 가까운 분들도 있고 Engineer에 가까운 분들도 계시지만 역할의 경계가 모호하여 두 가지 역할을 모두 수행하고 계신 경우도 많다고 봐주시면 좋을 것 같습니다. 


- 연구에 대한 사견

'연구'라는 것 또한 어떻게 정의를 하냐에 따라 바라보는 시각이 조금씩 다를 수 있을 것 같은데요. AI 원천 기술을 연구해서 새로운 방식의 AI 모델을 제안하거나 기존의 방식보다 더 나은 성능을 가진 AI 기술을 제안하는 논문을 발표하는 것을 연구라고 본다면 국내에서 AI 연구를 하는 곳은 그다지 많지 않습니다. 또한 대부분의 연구 코어 인력은 박사급입니다. 하지만, 기존의 연구 결과를 토대로 회사의 비즈니스 문제를 해결 또는 개선하기 위해 AI 모델을 수정해서 학습시키고 사용하는 응용 연구 또한 연구로 본다면 굉장히 많은 기업에서 AI 기술을 연구하고 있는 것이라고 볼 수 있습니다. 또한 굉장히 많은 엔지니어들이 AI 연구에 기여하고 있는 것이라고 볼 수 있습니다.



무엇에 더 집중하는지에 따라 (AI vs 도메인)

AI 기술 자체를 연구개발하는 것에 집중하는 포지션인지 특정 도메인의 문제를 해결하는 것에 집중하는 포지션인지에 따라 업무 성향에 차이가 있을 수 있습니다.


AI 솔루션 자체를 개발하는 기업에서의 AI Research Engineer는 여러 비즈니스 문제를 해결하기 위한 각각의 AI 시스템을 개발하는 일에 기여할 가능성이 큽니다. 때문에 AI를 사용하여 개선할 수 있는 문제에 집중하는 경우가 많습니다. 

 

하지만 영상이나 자연어 등의 특정 도메인과 관련된 팀의 CV/NLP Research Engineer의 경우 영상, 자연어 등 특정 도메인의 문제를 해결하는 것이 주 업무가 될 가능성이 큽니다. 다시 말해 영상 관련 팀의 CV Enginner의 경우 영상에서 정보를 추출하거나 각종 문제를 해결하는 것 자체가 목표이기 때문에 AI 기술을 사용할 수도 있고 컴퓨터 비전과 관련된 다른 알고리즘을 사용할 수도 있습니다. 때문에 딥러닝, 머신러닝에 대한 이해도 필요하지만 영상 도메인에 대한 지식 또한 중요하다고도 볼 수 있는 것이죠.


이처럼 AI 개발과 관련된 직업은 어떤 것에 더 초점을 맞추냐에 따라 굉장히 다양해질 수 있습니다. 또한 하나의 AI 시스템을 구축하기 위해서는 연구에서부터 데이터 수집, AI 모델 배포, 유지&보수, 재학습 등 다양한 과정들이 필요하기 때문에 엔지니어의 업무 영역 또한 기업이나 팀의 성향에 따라 굉장히 달라질 수 있습니다.



AI 엔지니어가 하는 일

앞서 말씀드렸다시피 AI 엔지니어의 업무 영역은 세부 직무, 산업 또는 팀의 성향에 따라 달라질 수 있습니다. 하지만 공통적으로 AI 기술을 개발하기 위해서 필요한 두 가지가 있습니다. 바로 '데이터'와 'AI 모델'입니다.


데이터

AI 모델을 학습하고 테스트하기 위한 데이터와 정답 정보를 수집하는 과정에서 양질의 데이터를 걸러내기 위해 데이터 필터링 등의 작업이 필요합니다. AI 모델의 성능을 개선하는 방법에는 모델 중심적 방법과 데이터 중심적 방법이 있는데 충분히 좋은 AI 모델을 사용한 경우 양질의 데이터를 사용하는 것이 모델 성능 개선에 더 큰 영향을 주기 때문에 데이터 관련 업무는 굉장히 중요합니다. 하지만 대부분의 AI 모델 학습 데이터의 경우 굉장히 양이 방대하기 때문에 사람이 직접 눈으로 데이터를 일일이 검증하는 것은 불가능합니다. 특히 영상이나 음성 데이터의 경우 필터링이나 전처리 과정이 쉽지 않기 때문에 데이터를 효과적으로 분석하고 필터링하는 노하우가 필요합니다. 


예를 들어 사람이 많고 배경이 복잡한 도심 속에서 사람의 위치를 찾는 딥러닝 모델을 개발한다고 가정해 봅시다. 이를 위해 사람이 있는 이미지 데이터를 수집했는데, 사막이나 언덕에 배경과 구별이 잘 되는 사람이 1~2명만 서있는 이미지가 많다면 학습 데이터 만으로는 사람과 도심 속의 복잡한 배경을 구별해 내는 AI 모델을 학습시키기는 힘들 것입니다. 때문에 사전에 데이터를 검증하는 과정이 필수적이지만 이때 학습 이미지가 10만 장만되더라도 이 데이터를 직접 다 눈으로 보고 검증하기는 쉽지 않습니다. 이렇게 생각해 보면 양질의 데이터를 모으기 위해 데이터를 효과적으로 검증하는 과정이 정말 중요하다고 볼 수 있는 것이죠.


AI 모델

AI 엔지니어는 AI 모델을 개발하기 위해 기존 연구 결과를 토대로 회사의 비즈니스 문제를 해결하기에 적합한 AI 모델을 개발해야 합니다. 때문에 필요한 논문을 찾아서 제안하는 기술을 이해하고 이를 구현할 수 있는 능력이 필요합니다. 나아가 모델 개발에 앞서 풀어야 할 비즈니스 문제를 공학적 문제로 재정의하고 이를 해결하기 위해 어떤 기술들을 사용해야 하는지 조사합니다. 산업 도메인, 데이터 또는 제공하는 서비스의 특성에 따라 다양한 기술을 함께 적용해야 할 수도 있습니다. 또한 이 과정 속에서 AI 모델의 성능을 고도화시키기 위해 딥러닝 파이프라인에 포함되는 데이터 전처리, 예측 결과 후처리 등의 과정도 필요합니다. 


이러한 과정들을 수행하기 위해 일반적으로 AI 엔지니어는 프로그래밍 스킬, 수학적 지식(통계, 미적분학, 선형대수), 데이터 매니지먼트 스킬, 알고리즘 지식과 영상, 자언어 등 본인의 주 연구 도메인에 대한 지식이 필요합니다. 


MLOps

추가적으로 AI 모델 파이프라인을 유지 보수하는 MLOps 업무를 담당할 수도 있습니다. 배포된 모델의 성능이 떨어지거나 예측 결과 사용자의 추가적인 니즈가 있는 경우 학습 데이터를 추가 확보하여 모델을 재학습하거나 전후처리 알고리즘 개선 등의 ML 라이프사이클과 관련된 업무를 수행해야 합니다.







매거진의 이전글 비전공자도 AI 엔지니어로 취업할 수 있을까?

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari