ML팀 구성

ML 프로젝트에는 다양한 기술과 전문성, 머신러닝과 관련된 책임이 있습니다 이러한 문제가 일반적인 ML팀에서 볼 수 있는 역할:

역할 지식 및 기술 주요 결과물
ML 제품 관리자 ML 제품 관리자는 ML의 강점과 ML 개발 프로세스를 조정해야 할 수도 있습니다 비즈니스 문제를 조화롭게 ML팀, 최종 사용자, 다른 이해관계자에게 도움이 될 수 있습니다 그들은 제품 비전을 만들고 사용 사례를 정의하며 요구사항을 이해하고 프로젝트를 계획하고 우선순위를 정하세요 제품 요구사항 문서 (PRD)
엔지니어링 관리자 엔지니어링 관리자는 설정, 의사소통, 팀 우선순위를 달성할 수 있습니다 ML과 유사 ML 솔루션을 비즈니스 문제에 맞게 조정합니다. 팀원에게 명확한 기대치를 설정하고 커리어와 교육을 지원하고, 전문성 개발에 관한 것입니다. 설계 문서, 프로젝트 계획 및 성과 평가.
데이터 과학자 데이터 과학자는 정량적 및 통계적 분석을 사용하여 데이터에서 가치를 도출할 수 있습니다 이를 통해 문제를 파악하고 특성, 프로토타입 모델, 모델 해석 가능성 지원에 관한 다이어그램을 작성해 보았습니다 비즈니스 질문에 대한 답변을 제공하는 보고서 및 데이터 시각화 얻을 수 있습니다.
ML 엔지니어 ML 엔지니어가 ML 모델을 설계, 빌드, 프로덕션화, 관리합니다. ML을 깊이 이해하고 있는 강력한 소프트웨어 엔지니어입니다. 윤리적 문제를 해결하는 데 도움이 될 수 있습니다 비즈니스 요건을 충족하는 충분한 예측 품질로 모델을 배포함 목표를 달성할 수 있습니다.
데이터 엔지니어 데이터 엔지니어는 데이터의 저장, 집계, 분석을 위해 많은 양의 데이터를 처리합니다 그들은 인프라를 개발하고 데이터 레이크와 데이터 웨어하우스, 그리고 모델 학습 및 서빙에 유용한 형식을 제공합니다 데이터 엔지니어는 전체 ML 개발 프로세스의 데이터를 책임집니다 필요한 모니터링과 기능을 갖춘 완전히 프로덕션화된 데이터 파이프라인 있습니다
개발자 운영 (DevOps) 엔지니어 DevOps 엔지니어 개발, 배포, 확장, 모니터링 제공하는 데 사용할 수 있는 여러 옵션을 살펴봅니다 Google Cloud에서 제공하는 모델의 동작을 나타냅니다.

성공적인 ML 프로젝트에는 각 역할을 잘 갖춘 팀이 있음 나타냅니다. 소규모 팀의 경우 개인이 여러 역할에 대한 책임을 집니다

팀 관행 정립

ML의 역할, 도구, 프레임워크가 매우 다양하기 때문입니다. 이해관계자와의 협업을 통해 공통된 관행을 수립하는 것이 프로세스 문서화가 우수합니다 예를 들어 한 엔지니어는 올바른 데이터를 얻는 것만으로도 모델 학습을 시작하기에 충분하다고 생각하고 책임감 있는 엔지니어가 데이터 세트가 익명처리되었는지 메타데이터와 출처를 정확하게 문서화해야 합니다. 엔지니어가 반드시 프로세스 및 설계 패턴에 대한 공통 정의는 혼동을 줄이고 팀의 작업 속도가 빨라집니다

프로세스 문서

프로세스 문서는 팀의 도구, 인프라, 프로세스를 정의해야 합니다. ML 개발에 사용할 수 있는 다이어그램입니다 효과적인 프로세스 문서는 신규 및 기존 문서를 정렬하는 데 도움이 됩니다. 팀원들도 있습니다 다음 유형의 질문에 답해야 합니다.

  • 모델에서 데이터는 어떻게 생성되나요?
  • 데이터를 어떻게 검사, 검증 및 시각화하는가?
  • 학습 데이터에서 입력 특성 또는 라벨을 어떻게 수정할까요?
  • 데이터 생성, 학습, 평가 파이프라인을 맞춤설정하려면 어떻게 해야 할까요?
  • 입력 변경사항을 수용하도록 모델 아키텍처를 변경하려면 어떻게 해야 하나요? 특성 또는 라벨이란 무엇인가요?
  • 테스트 예는 어떻게 얻을 수 있나요?
  • 모델 품질을 판단하는 데 어떤 측정항목을 사용할까요?
  • 프로덕션 환경에서 모델을 출시하려면 어떻게 해야 하나요?
  • 모델에 문제가 있는지 어떻게 알 수 있을까요?
  • 모델이 사용하는 업스트림 시스템은 무엇인가요?
  • SQL을 유지관리하고 재사용 가능하게 만들려면 어떻게 해야 하나요?

가능한 질문 더보기

모델
  • 동일한 내의 여러 데이터 세트에서 모델을 학습시킬 수 있는가 미세 조정 파이프라인에 대해 알아보겠습니다.

  • 파이프라인에 새 테스트 데이터 세트를 추가하려면 어떻게 해야 하나요?

학습
  • 직접 만든 예에서 모델의 예측을 확인하려면 어떻게 해야 하나요?

  • 모델이 실제 작업한 사례를 찾아 검사하고 시각화하려면 어떻게 해야 하나요? 오류가 있나요?

  • 특정 문제에 가장 큰 책임이 있는 기능을 판단하려면 어떻게 해야 하나요? 무엇인가요?

  • 앱 캠페인에 가장 큰 영향을 미치는 기능은 어떻게 알 수 있나요? 예측을 수행하려고 할까요?

  • 선택한 데이터 세트에 대한 모델 예측을 계산하거나 표시하려면 어떻게 해야 하나요? 샘플이 있나요?

  • 에 대한 모델 예측에 대한 표준 측정항목을 계산하려면 어떻게 해야 하나요? 어떻게 해야 할까요?

  • 커스텀 측정항목을 개발하고 계산하려면 어떻게 해야 하나요?

  • 내 모델을 다른 모델과 오프라인에서 비교하려면 어떻게 해야 하나요?

  • 한 번에 여러 모델 평가에 대한 메타 분석을 수행할 수 있나요? 어떻게 해야 할까요?

  • 현재 모델을 10개월 전 모델과 비교할 수 있나요?

프로덕션화, 모니터링, 유지보수
  • 좋은 모델을 만들었다고 생각합니다. 프로덕션으로 출시하려면 어떻게 해야 하나요?

  • 새 모델이 프로덕션에서 올바르게 실행되고 있는지 확인하려면 어떻게 해야 하나요?

  • 시간 경과에 따른 모델 평가 기록을 확인할 수 있나요?

  • 모델에 문제가 있는 경우 어떻게 알 수 있나요?

  • 모델에 관한 내용을 언급하는 페이지/버그를 할당받았습니다. 어떻게 해야 하나요?

파이프라인
  • 데이터 생성/학습/평가를 맞춤설정하려면 어떻게 해야 하나요? 어떻게 해야 할까요?

  • 완전히 새로운 파이프라인을 언제, 어떻게 만들어야 하나요?

SQL
  • 데이터를 생성하려면 SQL이 필요합니다. 어디에 배치해야 하나요?

인프라
  • 모델 서빙은 어떻게 작동하나요? 다이어그램이 있습니까?

  • 어떤 업스트림 시스템이 필요한지에 따라 알고 있나요?

커뮤니케이션
  • 뭐가 있는지 모르겠어. 누구에게 어떻게 문의해야 하나요?

주의사항

'ML 권장사항'의 구성 회사, 팀 및 있습니다. 대상 예를 들어 일부 팀원은 실험용 Colab을 주요 기능으로 R로 일하기를 원하는 사람들도 있습니다. 어떤 사람들은 열정을 가지고 모니터링이 가장 중요하다고 생각하는 사람도 있습니다. 다른 누군가가 좋은 특성 생성 관행을 알고 있지만 Scala를 사용하려고 합니다 모두가 '맞습니다' 자신의 관점에서 바라보고 올바른 방향으로 조종하면 믹스가 강력한 원동력이 될 것입니다. 그렇지 않으면 혼란스러울 수 있습니다.

팀이 사용할 도구, 프로세스, 인프라를 확립하기 전에 코드 한 줄의 작성에 따라 프로젝트가 실패하는 경우와 일정보다 4분의 1 앞선 출시를 목표로 할 수 있습니다

실적 평가

ML에 내재된 모호성과 불확실성으로 인해 인사 관리자는 결과를 조기에 정의하는 것이 중요합니다

기대치와 결과물을 결정할 때 어떻게 제공될지 고려하세요. 평가를 받습니다. 다시 말해 팀원의 성과가 도움이 될 수 있습니다 예를 들어 팀원이 항상 문제를 조사했습니다. 이러한 고품질 코드, 철저한 문서화 및 효과적인 대응을 위해 긍정적인 영향을 주어야 합니다.

이해도 확인

우수한 절차 문서를 갖추는 주된 이유는 무엇인가요? 공통된 관행을 수립해야 할까요?
프로젝트 속도 향상
정답입니다. 적절한 프로세스 문서를 갖추고 공통된 프로세스와 혼동을 줄이고 개발 프로세스를 간소화합니다.
전사적으로 권장사항을 수립합니다.
ML 개발은 프로젝트마다 다르므로 팀은 일반적으로 작업 진행을 위한 권장사항 집합을 속도를 높일 수 있습니다
팀의 모든 엔지니어가 동일한 수준의 전문성을 갖추도록 합니다.
ML팀에는 일반적으로 다양한 기술과 역량을 갖춘 엔지니어가 있습니다. 프로세스 문서는 엔지니어가 권장사항에 맞게 조정하는 데 도움이 됩니다 속도를 높일 수 있습니다.