MLOps(머신러닝 운영) 엔지니어

안녕하세요! 요즘 출근할 때마다 탕비실에서 아메리카노 한 잔 딱 내려 마시면서 '와, 내가 진짜 프로 개발자구나' 하고 속으로 감탄하곤 하는 24살, 3년 차 MLOps 엔지니어예요. 고등학교 때부터 알고리즘 문제 풀고 밤새우는 게 소소한 낙이었는데, 대학 졸업하자마자 이 바닥에 뛰어들어서 하루하루 살아남고 있답니다.


사실 주변 친구들이나 친척 어른들은 아직도 제가 무슨 일 하는지 잘 몰라요. "너 AI 관련 일 한다면서, 그럼 챗GPT 같은 거 만드는 거야?"라고 물어보시는데, 그럴 때마다 "음... 인공지능이 숨쉬고 뛸 수 있게 체육관이랑 헬스장을 지어주는 사람이에요!"라고 설명하곤 해요. 데이터 과학자들이 멋진 스포츠카(머신러닝 모델)를 만들어 오면, 저는 그 차가 도로에서 시속 200킬로미터로 쌩쌩 달릴 수 있도록 정비하고 신호등을 세우는 역할을 하거든요.


MLOps(머신러닝 운영) 엔지니어 <출처: 제미나이>


쉿, 데이터 과학자의 마법을 현실로 만드는 진짜 주인공

제가 회사에 처음 입사했을 때 가장 충격받았던 건, 데이터 과학자들이 만든 모델이 노트북 안에서는 정확도가 99퍼센트가 나오는데 막상 실제 서비스 서버에만 올리면 픽 쓰러져 버린다는 거였어요. 마치 집에서 조립할 때는 완벽했던 건담 조립품을 거대한 태풍이 몰아치는 야외에 그대로 내놓은 꼴이랄까요. 데이터 과학자들이 멋진 알고리즘을 뚝딱 만들어내도, 이걸 매일 접속하는 수백만 명의 유저들이 끊김 없이 쓸 수 있게 서비스화하는 건 완전히 다른 차원의 문제예요.


제가 맡은 주된 임무는 바로 이 '연구실의 마법'을 '현실의 서비스'로 매끄럽게 이어주는 다리를 놓는 거예요. 모델이 학습될 때 필요한 데이터 파이프라인을 구축하고, 코드가 수정되면 자동으로 테스트를 거쳐 배포되는 CI/CD 파이프라인을 짜죠. 지난주에도 야심 차게 준비한 추천 알고리즘 모델을 배포하다가 메모리 누수 때문에 서버가 다운돼서 식은땀을 흘렸던 기억이 나네요. 새벽 두 시에 모니터링 알람 울리자마자 잠이 확 깨서 주스 한 잔 들이키고 해결했던 그 아찔함이란! 하지만 그 과정을 거쳐 모델이 안정적으로 트래픽을 소화해 내는 걸 볼 때의 쾌감은 정말 무엇과도 바꿀 수 없어요. 개발자로서 내가 만든 인프라 위에서 AI가 살아 움직인다는 건 매일 아침 출근하게 만드는 원동력이랍니다.


데이터와 모델 사이를 잇는 쫄깃한 줄다리기

MLOps 엔지니어로 일하면서 가장 매력적이면서도 머리를 쥐어뜯게 만드는 건, 데이터와 코드가 둘 다 살아 움직이는 생물 같다는 점이에요. 일반적인 웹 개발은 코드만 잘 짜면 버그가 나도 원인이 명확해요. 그런데 머신러닝 시스템은 코드는 멀쩡한데, 입력되는 데이터의 트렌드가 바뀌거나 분포가 틀어지면 모델이 갑자기 엉뚱한 소리를 하기 시작하거든요. 이걸 전문 용어로 데이터 드리프트라고 부르는데, 현업에서는 그냥 '모델의 배신'이라고 부르며 눈물 흘리죠.


작년에 저희 팀에서 유저 이탈 예측 모델을 운영하고 있었는데, 갑자기 모델의 성능이 바닥을 치는 사태가 발생했어요. 알고 보니 마케팅 팀에서 새로운 이벤트 페이지를 오픈하면서 유입되는 유저들의 연령대와 행동 패턴이 완전히 달라졌던 거예요. 모델 자체는 고칠 필요가 없었지만, 그동안 수집되던 데이터의 파이프라인과 피처 스토어를 전면 재정비해야 했죠. 그때 밤을 새우며 데이터 파이프라인을 재설계하면서 깨달았어요. MLOps는 단순히 프로그램을 배포하는 기술이 아니라, 끊없이 변화하는 데이터의 흐름을 읽고 통제하는 고도의 심리전이자 예술이라는 걸요. 데이터와 모델 사이에서 줄다리기를 하듯 아슬아슬하게 균형을 잡는 이 과정이 제 적성에 아주 딱 맞아서 가끔은 일하면서도 게임하는 기분이 들어요.


지옥의 야근을 구원하는 마법의 도구들과 친해지기

처음 이 직무를 시작했을 때는 도대체 배워야 할 게 왜 이렇게 끝이 없는지 원망스럽기도 했어요. 쿠버네티스는 기본이고, 도커, 에어플로우, ML플로우, 젠킨스까지... 이름만 들어도 머리가 지끈거리는 인프라 도구들이 산더미였죠. 대학 다닐 때는 파이썬으로 딥러닝 모델 코딩하는 것만 재밌어했는데, 실무에 나와보니 모델을 서빙하고 모니터링하는 데 필요한 주변 도구들이 전체 업무의 팔할을 차지하더라고요.


하지만 이 복잡하고 방대한 도구들을 하나씩 내 손으로 셋팅하고 연동해 나가는 재미가 정말 쏠쏠해요. 몇 달 전에는 수동으로 일일이 실행하던 모델 재학습 과정을 에어플로우와 깃허브 액션을 엮어서 완전 자동화에 성공했어요. 이제는 월요일 아침에 출근해서 커피 한 잔 마시면, 주말 동안 새로 수집된 데이터로 모델이 알아서 학습을 마치고 성능 검증까지 끝내놓은 상태로 저를 기다리고 있답니다. 이 맛에 이 일을 하는구나 싶어요. 남들이 수작업으로 며칠씩 걸려 하던 반복 업무를 코딩 한 줄과 멋진 파이프라인 구축으로 우아하게 해결할 때의 그 희열은 정말 겪어본 사람만 알 수 있어요.


24살 주니어 엔지니어가 살아남는 법과 성장통

스물네 살이라는 나이에, 게다가 여성 엔지니어로 IT 대기업과 스타트업 생태계에서 일한다는 게 때로는 부담스럽게 느껴질 때도 있어요. 회의실에 들어가면 제가 가장 막내이거나 유일한 여성인 경우가 많거든요. 처음에는 제 의견을 적극적으로 내세우기가어렵기도 했고, 나이가 어리다는 이유로 실력을 오해받지 않을까 혼자서 전전긍긍하기도 했어요.


하지만 MLOps라는 분야 자체가 아직 역사 유래가 깊지 않은 신생 분야이고, 정답이 딱 정해져 있지 않다 보니 오히려 젊은 저에게 더 큰 기회가 열려 있다는 걸 깨달았어요. 선배들만큼 오랜 연차는 없지만, 새로운 기술 스택을 빠르게 흡수하고 밤새워가며 트렌드를 파악하는 건 제가 훨씬 빠르거든요. 모르는 게 있으면 과감하게 시니어 선배들에게 달려가서 "이 부분은 왜 이렇게 설계하셨는지 알려주세요!" 하고 조르는 걸 부끄러워하지 않아요. 그렇게 하나씩 부딪히고 깨지면서 저만의 실무 내공을 차곡차곡 쌓아가는 중이랍니다. 나이와 성별을 떠나 오직 기술력과 문제 해결 능력으로 정정당당하게 인정받는 이 세계가 저는 정말 좋아요.


AI 세상의 숨은 지휘자로 살아간다는 것의 진짜 의미

요즘 세상은 온통 어떤 화려한 AI 모델이 새로 나왔는지, 어떤 거대 언어 모델이 세상을 바꿀지에 대해서만 이야기해요. 하지만 그 화려한 스포트라이트 뒤에는 언제나 보이지 않는 곳에서 시스템이 멈추지 않도록 톱니바퀴를 조이고 기름칠을 하는 MLOps 엔지니어들이 있어요. 뉴스에 나오거나 대중적으로 엄청 유명해지는 직업은 아닐지 몰라도, AI 기술이 우리 일상에 스며들도록 만드는 가장 핵심적이고 대체 불가능한 중추 역할을 한다는 자부심이 제 안에 가득해요.


앞으로 인공지능 기술은 우리 삶의 모든 영역에 더욱 깊숙이 파고들 거예요. 그리고 그 모든 AI가 안전하고, 빠르고, 정확하게 작동하기 위해서는 MLOps 엔지니어들의 손길이 그 어느 때보다 절실해질 거고요. 생각만 해도 제가 서 있는 이 무대가 앞으로 얼마나 더 무궁무진하게 커질지 가슴이 웅장해져요. 매일 새로운 문제를 마주하고, 그것을 저만의 방식으로 멋지게 해결해 나가며 성장하는 지금의 제 삶이 정말로 자랑스럽고 사랑스러워요. 앞으로 또 어떤 짜릿한 트래픽 폭탄과 데이터 난제가 저를 기다리고 있을지, 내일 출근길이 벌써부터 기다려진답니다!

다음 이전