<aside> 💬 “프로젝트의 시작에서 가장 먼저 나서야 하는 로민의 데이터 엔지니어 승관님! 승관님에게 데이터 엔지니어의 업무와 로민의 데이터 엔지니어에게 꼭 필요한 역량에 대해 들어볼까요?
</aside>
송승관
로민의 데이터 엔지니어는 프로젝트의 시작에서 가장 먼저 나서야 하는 포지션이에요. 프로젝트가 시작되면 고객사에서 제공받은 데이터를 분석 및 ETL 진행하고, 머신러닝팀에 제공되어야 할 gt(ground truth)에 대한 라벨링 가이드라인 작성을 시작합니다.
또한 라벨링 된 gt에 대한 퀄리티 보장을 위해 위에서 설계한 정책에 따른 Sanity Check 파이프라인을 설계하고, 머신러닝팀에 데이터를 배포하기 위한 파이프라인을 설계하며, 설계된 파이프라인에 대한 자동화 및 인프라를 관리합니다. 그리고 생성된 이미지 및 gt에 대한 버전 관리하는 등 데이터와 관련된 전반적인 업무를 진행하고 있어요.
우선 머신러닝팀과 협업을 하기 위해 머신러닝 파이프라인에 대한 전반적인 이해가 필요해요. 머릿속에 파이프라인에 대한 그림이 그려져 있어야 현재 프로젝트에서 어떤 방향으로 태스크를 진행해야 하는지 보이죠. 또한 데이터 관리에 대한 꼼꼼함도 필수라고 할 수 있어요. 수집되는 이미지와 머신러닝 데이터셋이 몇 년이 지나도 확인이 될 수 있을 만큼 꼼꼼하게 관리가 되어야 하거든요.
그리고 사업에 따라서 다양한 문서들이 들어오고 이에 대한 도메인 지식이 필요할 수 있어요. 이러한 지식은 데이터 분석 및 라벨링 가이드라인 수립 시에도 필요합니다. 마지막으로 라벨링 된 gt에 대한 검증 시 어떤 부분이 잘못되었는지 파악하기 위해 데이터셋에 대한 이해가 있어야 해요. 이해도가 높아질수록 gt 퀄리티가 상승합니다.
gt데이터를 제작 및 검수해 ML팀에 배포한 후, 전보다 모델의 성능이 올랐을 때 보람 있어요. 물론 배포 후 모델의 성능이 내려가는 일도 있었지만, 이럴 때 데이터의 문제점을 파악해서 개선해나가는 작업도 보람이 있는 부분 중 하나에요. 모델에서 일관되게 틀리는 내용이 있다면 그건 데이터 문제일 가능성이 높기 때문에 잘못된 부분에 대한 문제점을 분석한 후 gt 코드를 고치고 있습니다. 이런 작업 외에도 로민에서 취득할 수 있는 데이터를 활용하여 가치를 창출하는 부분에 대해서 보람을 느끼고 있어요.