AI 엔지니어는 어떤 일을 할까?
최근 몇 년간 인공지능(AI) 기술이 눈부신 발전을 이루면서 다양한 산업 분야에서 AI를 활용하는 방식이 급격히 변화하고 있습니다. 특히 2022년, 챗GPT(ChatGPT)가 출시되면서 일상적인 대화와 상담을 넘어 창의적인 콘텐츠 생성까지 가능한 AI의 모습이 구현되었고, 이는 AI가 우리의 삶을 어떻게 혁신적으로 변화시킬 수 있는지를 실감하게 해주었습니다.
이러한 배경에서 AI 엔지니어(AI Engineer)라는 직업이 주목받고 있는데, AI 엔지니어는 AI 기술을 실제 구현하고 적용하는 핵심적인 역할을 담당하는 직군입니다. AI 엔지니어는 AI 모델 개발, 데이터 수집 및 전처리, 알고리즘 설계, 시스템 구축 및 운영 등의 업무를 수행하며, 이를 통해 AI 기술이 실제 서비스와 제품에 적용될 수 있도록 합니다. 이처럼 AI 엔지니어는 AI 기술의 실용화를 이끌어내는 핵심적인 역할을 담당하고 있으며, 앞으로도 AI 산업의 발전과 함께 그 중요성이 더욱 부각될 것으로 예상됩니다. 이번 글에서는 AI 엔지니어의 역할과 필요 역량에 대해 살펴보도록 하겠습니다.
AI 엔지니어 개념 정의
AI 엔지니어에 대해 자세히 알아보기 전에 용어 정리를 먼저 할 필요가 있습니다. 사실, AI 개발과 관련된 직무는 초점을 맞추는 분야에 따라 매우 다양하게 나뉩니다. 예를 들어, AI 엔지니어(AI Engineer) 외에도 머신러닝 엔지니어(Machine Learning Engineer), 딥러닝 엔지니어(Deep Learning Engineer), AI 리서처(AI Researcher), AI 리서치 엔지니어(AI Research Engineer), AI 어플라이드 사이언티스트(AI Applied Scientist), 데이터 사이언티스트(Data Scientist), 컴퓨터비전 엔지니어(Computer Vision Engineer), NLP 엔지니어(NLP Engineer) 등 다양한 세부 직무가 존재합니다.
일부 사람들은 AI 엔지니어 직무와 나머지 직무들을 구분하여 생각하기도 합니다. 하지만 이 글에서는 AI 엔지니어를 더 광범위한 개념으로 사용하고자 합니다. 즉, AI 모델 개발에 직접적으로 관여하는 모든 엔지니어를 AI 엔지니어로 정의하려 합니다.
자 그럼 이제 AI 엔지니어가 하는 일과 세부 직무에 대해 알아볼까요?
AI 엔지니어가 하는 일
AI 엔지니어는 초점을 맞추는 분야에 따라 세부 직무가 나뉘고 구체적인 업무도 조금씩 다릅니다. 설명을 더 이어가기에 앞서, AI에 대해 간단히 이야기해 볼까요? AI는 기계가 인간의 학습과 추론 능력을 모방하여 스스로 학습하고 문제를 해결할 수 있도록 하는 기술입니다. 이를 위해선 AI 모델과 학습 데이터가 필요합니다. 예를 들어 강아지와 고양이를 구별하는 AI 모델을 만들려면 강아지와 고양이 사진 데이터와 이를 학습할 수 있는 딥러닝 모델이 필요한 것이죠.
이처럼 AI 개발에 가장 중요한 것은 바로 데이터와 AI 모델입니다. 데이터는 AI 모델이 학습하고 예측을 수행하는 데 필요한 기본 자료를 제공하고, AI 모델은 이 데이터를 기반으로 학습하고 문제를 해결하는 알고리즘입니다. 따라서 AI 엔지니어의 주된 업무는 데이터와 AI 모델 개발에 관련된 일들입니다. 구체적으로 AI 엔지니어는 데이터를 수집, 전처리, 분석하고, 이를 토대로 AI 모델을 설계, 구현, 학습, 평가하는 등의 작업을 수행합니다. 또한 AI 모델의 성능을 지속적으로 모니터링하고 개선하는 역할도 담당합니다.
이제 AI 엔지니어의 주요 역할과 필요한 역량을 아래와 같은 단계로 나누어 살펴보겠습니다.
AI 엔지니어는 프로젝트 시작 단계에서 실제 문제를 정의하고 요구 사항을 분석합니다. 머신러닝 서적을 보면 머신러닝으로 문제를 해결하기 위해선 이 문제가 머신러닝으로 풀어갈 수 있는 문제인가를 먼저 판별하고, 가능하다면 머신러닝으로 문제를 해결할 수 있게 문제를 재정의하라고 합니다. 이게 무슨 말일까요?
AI 엔지니어에게 주어지는 업무가 항상 구체적으로 주어지지는 않습니다. 예를 들어 “강아지와 고양이를 분류하는 모델을 만들어 주세요" 처럼 해결해야 할 문제가 이미 머신러닝 문제인 상태로 주어지는 것이 아니라는 뜻입니다. 문제 정의는 “서비스 운영 과정에서 운영 리소스가 많이 드는데, 이를 줄일 수 있는 방법을 찾아주세요”, “유저가 해당 서비스에서 원하는 이미지를 편하게 찾기 위한 방법이 필요합니다” 와 같은 비즈니스 관점에서의 문제로부터 시작합니다.
이러한 비즈니스 관점에서의 문제를 머신러닝 관점의 문제로 재정의하는 것부터가 AI 엔지니어의 업무입니다. 이를 위해선 다양한 AI 기술과 실제 유즈 케이스들에 대해 파악하는 것이 중요합니다.
예를 들어, 중고 거래 서비스에서 “중고 거래되는 물품 데이터를 쌓아 분석해 보고 싶어요" 라는 니즈에 “유저가 올린 중고 물품 이미지에 태그를 달아주는 이미지 분류 모델을 개발해서 거래되는 물품 데이터를 분석할 수 있을 것 같아요" 라는 의견을 전달할 수 있는 것이죠.
필요 역량
AI 기술 역량 : 다양한 AI 기술 및 유즈 케이스 파악
해당 비즈니스에 대한 이해
문제 해결능력: 복잡한 문제를 이해하고 분석하는 능력
커뮤니케이션 능력: 기획자와 협력하여 요구 사항을 명확히 이해하고 전달할 수 있는 능력
이제 문제 해결에 필요한 AI 기술을 리서치하는 단계입니다. AI 기술 리서치는 해결해야 할 문제를 효율적으로 해결할 수 있는 AI 기술을 찾기위해 논문을 읽고 유즈케이스를 찾는 과정입니다. 때문에 AI 엔지니어는 기본적으로 AI 관련 논문을 읽고 이를 이해하고 실제 문제에 적용할 수 있어야 합니다.
구체적으로는 다양한 딥러닝 모델들 중 문제 해결에 적절해 보이는 딥러닝 모델을 선택하고 필요한 부가적인 기술을 조사합니다. 이 과정에서 다양한 실험을 진행합니다.
필요 역량
AI 기술에 대한 이해
논문 이해 능력 : 머신러닝, 통계학, 선형 대수 등의 기초 학문 기반
프로그래밍 능력: Python과 같은 프로그래밍 언어를 사용하여 모델을 구현하고 테스트할 수 있는 능력
다음으로, AI 모델을 개발하기 위해 필요한 데이터를 수집하고 전처리합니다. 기술 리서치 단계에서 필요한 데이터의 형태나 양을 선정했기에 이에 부합하는 데이터셋을 구축해야 합니다. 데이터는 모델이 학습하고 예측하는 데 중요한 역할을 하며, 대부분의 문제에서 데이터의 품질이 모델의 성능에 가장 중요한 부분을 차지하기 때문에 굉장히 중요한 단계입니다.
물론 기업의 환경이나 해결할 문제에 따라 이미 데이터는 준비되어 있는 경우도 있습니다. 하지만 이런 경우에도 사용할 데이터를 검증하고 정제하는 과정은 필요한 경우가 많습니다.
사실 이 단계는 4. 모델 학습 및 평가 단계와 병렬적으로 진행되는 단계인데요. 데이터가 전부 수집되거나 레이블링될 때까지 기다리는 것이 아니라, 중간 중간 수집된 일부 데이터로 모델을 학습 및 평가해야 하기 때문입니다.
필요 역량
데이터 분석 및 처리 능력: 다양한 데이터 소스에서 데이터를 추출하고 처리할 수 있는 능력
데이터 정제 능력: 결측치 처리, 이상치 제거, 데이터 변환 등의 데이터 전처리 기술이 필요
데이터 관리 능력: 대용량 데이터를 효율적으로 관리하고 저장하는 기술 필요
학습 데이터를 구축한 후에는 AI 모델을 학습시키고 다양한 상황에서 정량적 및 정성적으로 평가하는 과정을 거칩니다. 이 과정에서 초기 결과를 바탕으로 추가적인 학습 데이터가 필요한지를 판단해야 합니다. 정량적 평가 뿐만 아니라 다양한 시나리오를 통해 모델 성능이 어떤 경우에 떨어지는지를 분석해야 합니다.
필요 역량
머신러닝 및 딥러닝 이해: 다양한 알고리즘과 모델을 이해하고 적용할 수 있는 기술이 필요
프로그래밍 능력: Python과 같은 프로그래밍 언어를 사용하여 모델을 구현하고 테스트할 수 있는 능력
딥러닝 프레임 워크 사용 역량 : Pytorch, Tensorflow,...
모델 평가 및 최적화: 모델의 성능을 평가하고 필요한 경우 하이퍼파라미터를 조정하여 최적화하는 기술
모델을 학습하고 평가하면서 프로젝트에서 요구되는 성능까지 모델을 고도화하는 과정도 필요합니다. 이 과정에서는 양질의 학습 데이터를 추가로 수집하거나, 도메인과 문제에 맞는 적절한 학습 방법을 시도하거나 모델의 구조를 수정하는 방법 등을 고려합니다. 특히 전후처리 기능을 개발하여 AI 모델의 예측을 보완하는 경우도 있습니다. 실제로는 모델 학습보다 전후처리 기능 개발에 더 많은 시간이 소요될 수 있습니다.
컴퓨터 비전이나 자연어 처리와 같은 분야에서는 딥러닝 뿐만 아니라 머신러닝 방법이나 다양한 전통적인 알고리즘이 사용됩니다. 이들은 단독적으로 사용되기보다는 전후처리 과정에서 자주 활용되므로 경험이 중요한 요소가 될 수 있습니다.
AI 모델의 학습이 어느 정도 완료되면 인퍼런스 최적화 단계를 진행합니다. 모델이 경량화되고 더 빠르게 작동할수록 비용 효율적이기 때문입니다. 대다수의 AI 모델은 GPU 서버를 사용하므로 인퍼런스 속도를 개선하는 것은 매우 중요합니다. 특히 엣지 디바이스 등에 AI 모델을 탑재할 때는 모델 경량화가 필수적인 이슈가 될 수 있습니다.
필요 역량
도메인 지식 및 문제 해결 능력 : Computer vision, Natural Language Processing, robotics,...
딥러닝 프레임 워크 사용 역량 : Pytorch, Tensorflow,...
딥러닝 모델 경량화 및 인퍼런스 기술 역량
마지막으로, 개발한 AI 모델을 배포하고 실제 환경에서 운영하며 유지보수합니다. 이 과정에서 발생할 수 있는 문제를 해결하고 모델의 성능을 지속적으로 모니터링하여 개선합니다.
필요 역량
시스템 통합 능력: AI 모델을 실제 시스템에 통합하고 배포할 수 있는 능력
문제 해결 능력: 모델 운영 중 발생하는 다양한 문제를 신속하게 분석하고 해결할 수 있는 능력
지속적인 학습과 개선: AI 기술의 빠른 발전에 맞춰 지속적으로 학습하고 모델을 개선할 수 있는 능력
이로써 AI 엔지니어가 수행하는 업무를 단계별로 살펴보았는데요. 이와 같은 단계별 역할을 효과적으로 수행하기 위해서는 기술적 지식뿐만 아니라 문제 해결능력과 커뮤니케이션 능력이 중요합니다.
또한 설명한 여러 업무를 제너럴하게 수행하는 직무도 있고, 일부 과정을 전문적으로 수행하는 직무도 있으니 AI 엔지니어가 되고 싶다면 어떤 기술에 초점을 맞추고 싶은지도 고민해 봐야겠죠? 이는 세부 직무에 대한 설명을 듣고 나면 조금 더 이해가 될 거예요.
다음 시간에는 AI & ML 엔지니어 세부 직무에 대해 소개해 드릴게요!
- AI 엔지니어
- AI & ML 엔지니어의 역할과 필요 역량
- AI & ML 엔지니어 세부 직무 소개!
- AI 대학원 관련 글
- AI 엔지니어로의 첫걸음
- AI 분야 대학원 진학, 어떤점을 고려해야 할까?
- AI 연구실 대학원생의 일과
- AI 분야 대학원생의 연구 주제 선정 팁
- AI 분야 대학원생을 현실적인 연구 가이드
- 비전공자도 AI 대학원 진학해도 될까?
- AI 엔지니어 취업 관련 글
- AI 공부 어떻게 시작 하는게 좋을까?!
- AI 엔지니어 취업 준비하기
- AI 엔지니어 취업 성공 전략
- 대학원 졸업해야 AI 엔지니어가 될 수 있나요?