메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

실무 중심 해결책 여기 있소이다!

mvstat***

|

2025-07-26

잘되는 머신러닝 팀엔 이유가 있다

머신러닝 프로젝트의 구조를 분석하고 최고의 성과로 연결하는 법. 자동 테스트, 리팩터링, MLOps와 협업 기술까지 제품 개발 및 관리 노하우와 팀 운영 전략을 모두 담았다!

  • 저자 : 데이비드 탄 , 에이다 양 , 데이비드 콜스
  • 번역 : 라인 AI Lab
  • 출간 : 2025-05-30



"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

 

 

이 책을 보자마자 떠오르는 생각이 하나 있었다.

“왜 하필 머신러닝 팀을 기준으로 제품 개발과 관리 노하우, 운영 전략을 담아냈을까?”

 

최근에 활용하고 있는 구글의 제미나이를 통해 머신러닝 팀이 직면하는 특별한 상황들은 다음과 같다.

 

  1. 데이터 의존성: 일반적인 소프트웨어는 '코드'가 중심이지만, 머신러닝은 '데이터'가 핵심입니다. 데이터의 수집, 전처리, 정제, 버전 관리, 파이프라인 구축 등 데이터에 대한 의존성과 복잡성이 상상을 초월합니다. 데이터가 바뀌면 모델도 바뀌어야 하고, 이는 운영 환경에 지속적인 영향을 미칩니다.
  2. 실험적이고 반복적인 개발: 소프트웨어 개발은 기획-설계-구현-테스트라는 비교적 선형적인 흐름을 따르지만, 머신러닝은 가설 설정-실험-평가-개선이라는 훨씬 더 반복적이고 실험적인 과정을 거칩니다. 최적의 모델을 찾기 위해 수많은 시도를 해야 하며, 이 과정 자체를 효율적으로 관리하는 것이 큰 과제입니다.
  3. 모델의 동적인 특성: 소프트웨어 코드는 배포 후에도 동일하게 작동하는 경향이 있지만, ML 모델은 배포 후에도 데이터 분포 변화(데이터 드리프트) 등으로 성능이 저하될 수 있습니다. 따라서 지속적인 모니터링, 재훈련, 재배포가 필수적이며, 이는 MLOps라는 새로운 영역을 탄생시켰습니다.
  4. 다양한 직군의 협업: ML 프로젝트는 데이터 과학자, ML 엔지니어, 소프트웨어 엔지니어, 도메인 전문가 등 다양한 배경을 가진 사람들이 긴밀하게 협력해야 합니다. 각자의 언어와 관점이 다르기 때문에 효과적인 커뮤니케이션과 협업 구조를 만드는 것이 매우 중요합니다.

 

현업에는 다양한 팀이 존재하는데 머신러닝 팀의 경우 기존 소프트웨어 개발 팀에 비해 방대하고 복잡도가 높으며 커뮤니케이션이 더욱 다양하게 필요함을 느꼈다. 그런 관점에서 볼때 이 책에서 말하는 내용은 상당히 효율적이고 좋은 팀으로의 방향을 제시해주고 있다.

 

책을 볼때 목차를 엄청 살핀다. 목차가 결국 말하고자 하는 바를 확실하게 이야기해주기 때문이다. 이 책에서는 제품과 전달, 엔지니어링, 팀이라는 큰 파트 3가지를 기준으로 이야기를 풀어 나간다. 현업에서 마주하는 중요한 허들을 나열해주고 있었다.

 

잘 되는 팀은 "효율성이 높아야 한다."  자동화는 필수!

 

신속, 정확, 그리고 자동화가 가능해야 효율성이 높아진다. 기존 레거시 프로그램 코드들을 보면 각 코드의 결합도가 높아서 나눠서 개발할 수 없고 테스트 또한 분리해서 할 수 없기 때문에 자동화가 불가능하다. 그런 코드들을 모듈단위로 분리하고 각 모듈간 입력과 출력을 확인하고 작은 단위로 테스트하고 통합해서 flow별 테스트를 자동으로 진행할 수 없다면 효율성은 석기시대 수준일수밖에 없다. 이런 점에서 이 책은 다양한 효율적인 방법을 이야기해주고 있다.

 

 

그리고 머신러닝 프로젝트를 성공적으로 수행하기 위한 범위가 개념을 확실하게 이야기해주고 있다. 제품부터 데이터 등 여러 분야의 협력이 필요하다는 말은 결국 상호작용해야할 대상이 포괄적이기 때문에 그것들을 모두 고려한 구성이 되어야한다는 말과 동일하다.

 

책에서 말하는 린 원칙은 가치 식별, 가치 흐름 매핑, 흐름 생성, 당기기 시스템 확립, 지속적인 개선을 이야기한다. 

“낭비를 제거하고 효율성을 극대화하여 지속적인 가치를 창출” - 린 원칙 요약

글을 읽으면서 전체적으로 정리하면 아래와 같다.

 

  1. 낭비 제거 (Eliminate Waste): ML 프로젝트에서 불필요한 작업, 과도한 문서화, 불필요한 기능 개발, 대기 시간, 결함(버그) 등 가치를 더하지 않는 모든 요소를 식별하고 제거한다. 예를 들어, 수동으로 반복되는 작업을 자동화하거나, 불필요한 모델 재훈련을 줄이는 것이 해당된다.
  2. 학습 증대 (Amplify Learning): 끊임없이 실험하고, 그 결과로부터 배우며, 지식을 공유하여 팀 전체의 학습 곡선을 높인다.. ML은 본질적으로 실험을 통해 발전하므로, 빠르고 효과적인 학습 루프를 구축하는 것이 중요하다.
  3. 가능한 한 늦게 결정하기 (Decide as Late as Possible): 모든 정보를 알 때까지 중요한 결정을 미룬다. ML 개발은 불확실성이 크므로, 초기에 너무 많은 것을 확정하기보다 데이터를 기반으로 유연하게 방향을 조정할 수 있도록 선택의 폭을 넓게 가져가는 것을 의미한다.
  4. 가능한 한 빠르게 전달하기 (Deliver as Fast as Possible): 고객에게 가치를 제공하는 기능을 최대한 빠르고 자주 배포한다. 이는 빠른 피드백을 얻고, 시장의 요구에 민첩하게 대응하며, 위험을 조기에 발견하고 최소화하는 데 필수적이다.
  5. 팀에 권한 부여 (Empower the Team): 개발팀원들이 스스로 문제를 해결하고 의사결정을 내릴 수 있도록 신뢰하고 권한을 위임한다. 이는 팀의 주인의식과 생산성을 높여 창의적이고 효과적인 문제 해결을 가능하게 도와준다.
  6. 품질 내재화 (Build Integrity In): 처음부터 품질을 염두에 두고 개발하여 결함을 예방한다. ML에서는 데이터 품질, 모델 검증, 지속적인 테스트 및 모니터링을 통해 높은 수준의 서비스 신뢰성을 확보하는 것을 의미한다.
  7. 전체 시스템 보기 (See the Whole): 개별 구성 요소나 팀의 부분적인 최적화가 아닌, 전체 ML 시스템과 조직의 큰 그림을 이해하고 최적화한다. 데이터 파이프라인부터 모델 배포, 운영, 팀 협업까지 모든 단계를 유기적으로 연결하여 바라보는 시각이 중요하다.

 

 

린 원칙과 CD4ML, 의존성, 자동 테스트, 모델 테스트, 팀 관리에 이르기까지 다양한 파트에서의 노하우를 이 책은 말해주고 있다. 

  • CD4ML: ML 시스템의 개발, 배포, 운영 전 과정을 데이터, 코드, 모델까지 아울러 자동화하여 지속적으로 가치를 전달하는 것 (Continuous Delivery for Machine Learning)

 

이 책에서는 ML 프로젝트 실패의 근본 원인을 파악하고 해결책을 제시하는 동시에, 팀과 조직 문화의 중요성을 결코 간과하지 않는다.

 

기술적 난관뿐 아니라 팀원 간의 효과적인 커뮤니케이션, 심리적 안정성 확보, 그리고 실패를 통해 학습하는 문화의 필요성을 역설하며, 이는 지속 가능한 팀 성장을 위한 필수 요소임을 강조하고 있다.

 

기술 리더로서 팀을 이끄는 과정에서 마주하는 인적, 조직적 과제들에 대한 깊이 있는 이해와 해법을 얻을 수 있다.

 

"잘되는 머신러닝 팀엔 이유가 있다"는 머신러닝 개발자뿐만 아니라, ML 프로젝트를 기획하고 이끄는 기술 리더, 그리고 효율적인 개발 문화를 고민하는 모든 IT 관리자에게 추천할 만한 가치가 있는 책이다.

 

기술의 복잡성 속에서도 사람과 시스템의 본질적인 조화를 통해 어떻게 지속 가능한 성공을 이룰 수 있는지, 그 깊이 있는 통찰과 실용적인 지혜를 함께 얻을 수 있을 것이다.



닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?