“모두가 비슷한 생각을 한다는 것은 아무도 생각하고 있지 않다는 말이다.” – 알버트 아인슈타인

알파고, 생성형 AI 도래를 계기로 개발자들의 자기 성장 방향성이 크게 변화하고 있습니다. 생성형 AI를 넘어 스스로 사고가 가능한 AI 개발로 나아가고 있습니다. 몇 줄의 텍스트로 이미지를 생성하고 심지어 영화까지 만들어냅니다. 이런 시대적인 변화 가운데 AI를 이해하고 개발역량을 키우는 것은 매우 큰 무기를 장착하는 것과 같습니다. 여기서는 AI 분야에 종사하는 개발자는 누구이며 그 역할에 대해 알아보도록 하겠습니다.

AI 개발 직군

1. 머신러닝 엔지니어

    머신러닝 알고리즘과 모델을 설계하고 개발하는 일을 합니다. 또한 실제 환경에서 활용할 수 있도록 배포합니다. 상세한 주요 역할은 데이터 전처리, 모델 설계 및 훈련, 모델 평가 및 개선, 모델 배포, 대규모 데이터 처리입니다. 필요 기술로는 Python, R과 같은 분석 언어를 사용할 수 있어야 하고 Scikit-learn, TensorFlow, PyTorch, Keras 같은 머신러닝 라이브러리에 능숙해야 합니다. SQL, NoSQL 같은 데이터 베이스 활용 능력도 있어야 하고 Apache Sparck, Haddop 같은 데이타 분산 처리 시스템을 활용한 대규모 데이타 처리 능력도 필요합니다. 산업 진출 분야로는 금융, 의료, 자율주행, 전자상거래, 게임 등이 있습니다.

    2. 딥러닝 엔지니어

      딥러닝 엔지니어는 인공 신경망을 사용해서 문제를 해결하는 모델을 설계하고 개발, 배포하는 역할을 합니다. 보통 이미지, 음성, 언어 등에 활용하여 좋은 성과를 내고 있습니다. 한 예로 ChatGPT, 사람인지 자동차를 판별하는 객체 인식 등이 있습니다. 주요 업무로는 데이터를 전처리하거나 특징을 추출하는 개발을 진행합니다. 또한 인공 신경망인 CNN, RNN, Transformer 를 설계합니다. 모델을 훈련하고 하이퍼파라미어 튜닝을 진행하며 모델을 최적화합니다. 이 모델로 추출한 결과를 검증하며 서비스에 배포합니다. 주요 언어는 C++, Python을 사용하고 모델 훈련 속도를 높이기 위해 하드웨어 가속기인 GPU, TPU, CUDA 를 활용합니다. 워낙 활용 분야가 많기에 산업별로 요구되는 이해도와 기술의 깊이가 다릅니다. 컴퓨터 비전, 자연어 처리, 음성 인식 및 처리, GAN 등의 생성형 서비스에 사용합니다.

      3. 데이타 엔지니어

        데이터 엔지니어는 데이터를 처리하기 위한 데이타 파이프라인을 구축하는 역할을 합니다. 데이터 수집, 저장, 처리하는 ETL(Extract, Transform, Load) 과정이 필요합니다. 더불어 변환 과정을 거쳐 분석, 모델링하는 것이 데이타 파이프라인에 포함됩니다. 방대한 양의 데이터를 처리하고, 파이프라인 시스템을 안정적으로 유지하는 역량이 필요합니다. 해당 파이프라인 구축에는 많은 기술적 역량이 필요합니다. 데이터 베이스 활용 능력과 더불어 분선처리 시스템, 클라우드 서비스를 개발 시간과 비용을 고려해 적절하게 활용해야 합니다. 초기 검증 단계에서는 상용 서비스를 사용해도 되지만 데이타가 폭증할 수록 그 비용도 증가할 수 있습니다. 모든 데이타는 어떤 서비스에서도 존재합니다. 금융, 전자상거래, 헬스케어, IOT에서 폭넓게 사용 가능합니다.

        4. 데이타 사이언티스트

          데이타 사이언티스트는 데이타를 활용해 비지니스 문제를 해결하거나 의미있는 결과를 도출하는 개발자입니다. 수많은 데이타 중에서 규칙적인 의미를 발견하고 중요한 결정에 활용합니다. 이 때 결과를 예측할 수 있는 모델을 개발하고 문제를 해결합니다. 통계학적인 지식을 바탕으로 시각화된 보고서를 만드는 능력이 중요합니다. 의사결정권자들에게 데이타를 기반한 사실을 전달해야 하고 잘못된 결정을 방지해야 합니다. 그래서 비지니스 도메인 지식이 필수로 요구됩니다.

          5. 자연어 처리 엔지니어

            자연어 처리는 텍스트, 음성을 데이타 관점에서 처리, 이해하고 활용하는 분야입니다. 자연어 데이터는 많은 전처리 과정이 필요합니다. 토큰별로 나누고 의미를 추출하여 문자를 수치화하여 인코딩합니다. 이 기술을 활용하여 텍스트 분류, 번역, 문서 요약, 자연어 생성, 질의 응답 서비스를 개발합니다. 언어 모델은 지속적으로 발전했습니다. 초반엔 RNN(Recurrent Netural Network), LSTM(Long Short-Term Memory), GRU(Gated Recurrent Unit) 등이 활용되었지만 현재는 Transformer 기반의 모델을 사용합니다. 자연어를 처리하는 만큼 언어에 대한 이해도를 요구합니다. 가장 잘 알려진 서비스로는 챗봇이 있습니다.

            6. 컴퓨터 비전 엔지니어

              컴퓨터 비전 엔지니어는 시각 데이타를 분석하고 처리하는 기술을 개발하는 개발자입니다. 카메라에서 취득되는 이미지 데이타일 수도 있고 자율주행에서 많이 사용하는 라이다의 포인트 클라우드 데이타를 여러 알고리즘으로 처리해 원하는 결과를 얻습니다. OpenCV 같은 라이브러리를 활용할 수 있고 딥러닝 기법을 사용할 수도 있습니다. 이 기술을 활용하면 이미지나 PCD로부터 객체를 분류해 장애물 인식이나 객체 트래킹 서비스를 제공할 수 있습니다. 딥러닝 기반 이미지 처리는 YOLO라는 모델을 주로 활용하고 자동 청소기에 활용하는 지도 생성과 위치측위를 동시에 하는 SLAM 기술도 있습니다. 해당 기술로 적용할 수 있는 분야는 이미지 데이터 전처리 및 분석, 딥러닝 기반 모델 학습과 튜닝, 자율 주행, 제조 현장에서 오류를 검출하는 서비스입니다.

              7. 로보틱스 엔지니어

                로봇은 제조 및 물류 현장에 활발히 사용되고 있습니다. 로보틱스 엔지니어는 이 로봇을 설계하고 개발하는 업무를 진행하는 역할을 합니다. 로봇 하드웨어와 그에 해당하는 소프트웨어를 개발합니다. 업무 분야를 따지면 로봇 설계 및 개발, 제어 시스템 개발, 자율 동작 시스템, 비전을 이용한 센싱 기술, 통합 및 테스트를 진행합니다. 로봇 시스템을 편리하게 개발할 수 있는 ROS(Robot Operating System)를 사용합니다. 로봇 제어에 대한 이해도가 있어야 하며 기계 설계, 센서를 다루는 기술도 필요합니다. 주요 적용 분야는 제조업, 의료 분야, 군사 및 국방 등이 있습니다.

                9. AI 연구자

                  순수 AI를 연구하는 일을 합니다. 기계학습, 딥러닝, 자연어 처리, 강화 학습 뿐만 아니라 새로운 AI 기술을 연구, 개발합니다. 최신 기술을 논문을 발표하거나 오픈소스로 공개하기도 합니다. 새로운 AI 알고리즘 개발이 가장 역할입니다. 개발자의 역할보다는 연구자의 역할에 치중되어 있습니다. 요새는 GPT 모델이나 생성형 AI를 위한 연구가 활발히 이루지고 있습니다.

                  정리

                  AI도 산업군에 따라 다양한 개발자가 필요합니다. AI 개발자가 되기 위해서는 어떤 서비스를 만들지에 따라 기술도 달라집니다. 각기 원하는 분야를 정해서 하나에 몰입하는 것이 이력 관리에 좋습니다.

                  답글 남기기

                  이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

                  Back to top