ML팀 구성
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
ML 프로젝트에는 머신러닝과 관련된 다양한 기술, 전문 지식, 책임을 가진 구성원이 있는 팀이 필요합니다. 다음은 일반적인 ML팀에서 가장 일반적인 역할입니다.
역할 |
지식 및 기술 |
주요 결과물 |
ML 제품 관리자 |
ML 제품 관리자는 ML의 강점과 약점, ML 개발 프로세스에 대해 깊이 이해하고 있습니다. ML팀, 최종 사용자, 기타 이해관계자와 직접 협력하여 비즈니스 문제를 ML 솔루션에 맞춥니다. 제품 비전을 수립하고, 사용 사례와 요구사항을 정의하며, 프로젝트를 계획하고 우선순위를 지정합니다.
|
제품 요구사항 문서 (PRD)
|
엔지니어링 관리자 |
엔지니어링 관리자는 팀 우선순위를 설정, 전달, 달성하여 비즈니스 목표를 달성합니다. ML 제품 관리자와 마찬가지로 비즈니스 문제에 맞게 ML 솔루션을 조정합니다.
팀원에게 명확한 기대치를 설정하고, 성과 평가를 실시하며, 경력 및 전문성 개발을 지원합니다.
|
설계 문서, 프로젝트 계획, 실적 평가
|
데이터 과학자 |
데이터 과학자는 정량적 및 통계적 분석을 사용하여 데이터에서 통계 및 가치를 추출합니다. 이는 특성, 프로토타입 모델을 식별하고 테스트하는 데 도움이 되며 모델 해석 가능성을 높이는 데 도움이 됩니다.
|
통계 분석을 통해 비즈니스 질문에 답하는 보고서 및 데이터 시각화
|
ML 엔지니어 |
ML 엔지니어는 ML 모델을 설계, 빌드, 프로덕션화, 관리합니다.
ML 기술과 권장사항을 깊이 이해하는 우수한 소프트웨어 엔지니어입니다.
|
비즈니스 목표를 달성하기에 충분한 예측 품질을 갖는 모델을 배포했습니다.
|
데이터 엔지니어 |
데이터 엔지니어는 대량의 데이터를 저장, 집계, 처리하기 위한 데이터 파이프라인을 빌드합니다. 원시 데이터를 수집하고 모델 학습 및 제공에 유용한 형식으로 변환하기 위한 인프라와 시스템을 개발합니다. 데이터 엔지니어는 전체 ML 개발 프로세스 전반에서 데이터를 담당합니다.
|
필요한 모니터링 및 알림이 포함된 완전히 프로덕션화된 데이터 파이프라인
|
개발자 운영 (DevOps) 엔지니어 |
DevOps 엔지니어는 ML 모델의 제공 인프라를 개발, 배포, 확장, 모니터링합니다.
|
모델 동작에 대한 서비스, 모니터링, 테스트, 알림을 위한 자동화된 프로세스입니다.
|
성공적인 ML 프로젝트에는 각 역할이 잘 반영된 팀이 있습니다. 소규모 팀에서는 개인이 여러 역할의 책임을 처리해야 합니다.
팀 관행 수립
ML 개발에서 역할, 도구, 프레임워크는 매우 다양하므로 우수한 프로세스 문서를 통해 일반적인 관행을 수립하는 것이 중요합니다. 예를 들어 한 엔지니어는 적절한 데이터를 가져오기만 하면 모델 학습을 시작할 수 있다고 생각할 수 있지만, 더 책임감 있는 엔지니어는 데이터 세트가 올바르게 익명처리되었는지 확인하고 메타데이터와 출처를 문서화합니다. 엔지니어가 프로세스 및 디자인 패턴에 관한 공통 정의로 소통하면 혼란이 줄고 팀의 속도가 빨라집니다.
프로세스 문서
프로세스 문서에서는 팀이 ML 개발에 사용할 도구, 인프라, 프로세스를 정의해야 합니다. 우수한 프로세스 문서는 신규 및 기존 팀원 간의 조정을 도와줍니다. 다음과 같은 유형의 질문에 답변해야 합니다.
- 모델의 데이터는 어떻게 생성되나요?
- 데이터를 검사, 검증, 시각화하는 방법
- 학습 데이터에서 입력 특징이나 라벨을 수정하려면 어떻게 해야 하나요?
- 데이터 생성, 학습, 평가 파이프라인을 맞춤설정하려면 어떻게 해야 하나요?
- 입력 특성 또는 라벨의 변경사항을 수용하도록 모델 아키텍처를 변경하려면 어떻게 해야 하나요?
- 테스트 예시는 어떻게 얻을 수 있나요?
- 모델 품질을 판단하는 데 어떤 측정항목을 사용하나요?
- 프로덕션에서 모델을 출시하려면 어떻게 해야 하나요?
- 모델에 문제가 있는지 어떻게 알 수 있나요?
- Google의 모델은 어떤 업스트림 시스템에 종속되나요?
- SQL을 유지보수 가능하고 재사용 가능하게 하려면 어떻게 해야 하나요?
기타 예상 질문
모델
교육
직접 만든 예시에서 모델의 예측을 확인하려면 어떻게 해야 하나요?
모델이 실수를 한 예시를 찾아 검사하고 시각화하려면 어떻게 해야 하나요?
특정 예측에 가장 큰 영향을 미친 특성을 어떻게 결정하나요?
특정 샘플 내에서 예측에 가장 큰 영향을 미치는 특성을 파악하려면 어떻게 해야 하나요?
선택한 데이터 세트 또는 샘플에서 모델 예측을 계산하거나 표시하려면 어떻게 해야 하나요?
선택한 데이터 세트에서 모델의 예측에 대한 표준 측정항목을 계산하려면 어떻게 해야 하나요?
맞춤 측정항목을 개발하고 계산하려면 어떻게 해야 하나요?
오프라인에서 내 모델을 다른 모델과 비교하려면 어떻게 해야 하나요?
단일 개발 환경에서 여러 모델 평가에 대한 메타 분석을 실행할 수 있나요?
현재 모델을 10개월 전의 모델과 비교할 수 있나요?
프로덕션화, 모니터링, 유지보수
좋은 모델을 만든 것 같습니다. 프로덕션에서 실행하려면 어떻게 해야 하나요?
새 모델이 프로덕션에서 올바르게 실행 중인지 확인하려면 어떻게 해야 하나요?
시간 경과에 따른 모델 평가 기록을 확인할 수 있나요?
모델에 문제가 있는지 어떻게 알 수 있나요?
모델에 관해 언급된 페이지/버그가 할당되었습니다.
어떻게 해야 하나요?
파이프라인
SQL
인프라
커뮤니케이션
주의사항
'ML 권장사항'의 구성요소는 회사, 팀, 개인마다 다를 수 있습니다. 예를 들어 일부 팀원은 실험용 Colabs를 기본 결과물로 간주할 수 있고 다른 팀원은 R에서 작업하고 싶어 할 수 있습니다. 어떤 사람은 소프트웨어 엔지니어링에 열정을 가지고 있고, 다른 사람은 모니터링이 가장 중요하다고 생각하며, 또 다른 사람은 좋은 기능 프로덕션화 관행을 알고 있지만 Scala를 사용하고 싶어 합니다. 모든 사람은 자신의 관점에서 '옳은' 의견을 가지고 있으며, 올바르게 조종하면 이러한 다양한 의견이 시너지를 발휘할 수 있습니다. 그렇지 않으면 혼란스러울 수 있습니다.
코드 한 줄을 작성하기 전에 팀에서 사용할 도구, 프로세스, 인프라를 설정하면 프로젝트가 2년 후에 실패할지 아니면 예정보다 4분기 앞당겨 출시될지 결정될 수 있습니다.
ML에 내재된 모호성과 불확실성으로 인해 인사 관리자는 명확한 기대치를 설정하고 결과물을 조기에 정의해야 합니다.
기대치와 결과물을 결정할 때는 프로젝트나 접근 방식이 성공하지 못할 경우 어떻게 평가될지 고려하세요. 즉, 팀원의 실적이 프로젝트의 성공과 직접 연결되지 않는 것이 중요합니다. 예를 들어 팀원이 솔루션을 조사하는 데 몇 주를 보냈지만 결국 실패하는 경우가 많습니다. 이러한 경우에도 고품질 코드, 철저한 문서화, 효과적인 공동작업은 평가에 긍정적인 영향을 미칩니다.
이해도 확인
우수한 프로세스 문서를 작성하고 공통 관행을 수립하는 주된 이유는 무엇인가요?
프로젝트 속도를 높입니다.
정답입니다. 적절한 프로세스 문서를 작성하고 공통 관행을 수립하면 혼란을 줄이고 개발 프로세스를 간소화할 수 있습니다.
회사 전반에 권장사항을 수립합니다.
ML 개발은 프로젝트마다 다르므로 팀은 일반적으로 효과적으로 작업하고 속도를 높이기 위해 자체 권장사항을 수립합니다.
팀의 모든 엔지니어가 동일한 수준의 전문성을 갖추도록 합니다.
ML팀에는 일반적으로 다양한 기술과 지식을 보유한 엔지니어가 있습니다. 프로세스 문서는 엔지니어가 속도를 높이기 위한 권장사항을 준수하는 데 도움이 됩니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[null,null,["최종 업데이트: 2025-07-27(UTC)"],[[["\u003cp\u003eMachine learning projects necessitate diverse teams with specialized roles like ML product managers, data scientists, and ML engineers, to address various aspects of development and deployment.\u003c/p\u003e\n"],["\u003cp\u003eComprehensive process documentation is crucial for ML teams to establish common practices, ensure smooth collaboration, and enhance project velocity by reducing confusion and streamlining workflows.\u003c/p\u003e\n"],["\u003cp\u003eProcess documentation should cover key questions regarding data handling, model development, training, evaluation, and productionization to guide the team's approach and decision-making.\u003c/p\u003e\n"],["\u003cp\u003eEstablishing clear expectations, deliverables, and evaluation criteria for team members is essential, emphasizing contributions beyond project success due to the inherent uncertainties in ML development.\u003c/p\u003e\n"],["\u003cp\u003eSuccessful ML teams foster a collaborative environment where diverse perspectives and expertise are valued, enabling efficient problem-solving and innovative solutions.\u003c/p\u003e\n"]]],[],null,["# Assembling an ML team\n\nML projects require teams with members who have a range of skills, expertise,\nand responsibilities related to machine learning. These are the most common\nroles found on typical ML teams:\n\n| Role | Knowledge and skills | Main deliverable |\n|----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|\n| ML product manager | ML product managers have a deep understanding of ML strengths and weaknesses and the ML development process. They align business problems to ML solutions by working directly with the ML team, end-users, and other stakeholders. They create the product vision, define use cases and requirements, and plan and prioritize projects. | Product requirements document (PRD). |\n| Engineering manager | Engineering managers achieve business goals by setting, communicating, and achieving team priorities. Like ML product managers, they align ML solutions to business problems. They set clear expectations for team members, conduct performance evaluations, and assist with career and professional development. | Design docs, project plans, and performance evaluations. |\n| Data scientist | Data scientists use quantitative and statistical analysis to extract insights and value from data. They help to identify and test features, prototype models, and help with model interpretability. | Reports and data visualizations that answer business questions through statistical analysis. |\n| ML engineer | ML engineers design, build, productionize, and manage ML models. They are strong software engineers with a deep understanding of ML technologies and best practices. | Deployed model with sufficient prediction quality to meet business goals. |\n| Data engineer | Data engineers build data pipelines for storing, aggregating, and processing large amounts of data. They develop the infrastructure and systems for collecting and transforming raw data into useful formats for model training and serving. Data engineers are responsible for the data across the entire ML development process. | Fully productionized data pipelines with the necessary monitoring and alerting. |\n| Developer operations (DevOps) engineer | DevOps engineers develop, deploy, scale, and monitor the serving infrastructure for ML models. | An automated process for serving, monitoring, testing, and alerting on a model's behavior. |\n\nSuccessful ML projects have teams with each role well\nrepresented. In smaller teams, individuals will need to handle the\nresponsibilities for multiple roles.\n\n\nEstablish team practices\n------------------------\n\nBecause the roles, tools, and frameworks vary widely in ML\ndevelopment, it's critical to establish common practices through\nexcellent process documentation. For example, one engineer might\nthink that just getting the right data is sufficient to begin training a model,\nwhile a more responsible engineer will validate that the dataset is anonymized\ncorrectly and document its metadata and provenance. Making sure engineers share\ncommon definitions for processes and design patterns reduces confusion and\nincreases the team's velocity.\n\n### Process documentation\n\nProcess docs should define the tools, infrastructure, and processes the team\nwill use for ML development. Good process docs help align new and current\nteam members. They should answer the following types of questions:\n\n- How is the data generated for the model?\n- How do we examine, validate, and visualize the data?\n- How do we modify an input feature or label in the training data?\n- How do we customize the data generation, training, and evaluation pipeline?\n- How do I change the model architecture to accommodate changes in input features or labels?\n- How do we obtain testing examples?\n- What metrics will we use to judge model quality?\n- How do we launch our models in production?\n- How will we know if something is wrong with our model?\n- What upstream systems do our models depend on?\n- How do I make my SQL maintainable and reusable?\n\n#### More potential questions\n\n**Model**\n\n-\n Can I train models on different datasets in the same\n pipeline, like for fine-tuning?\n\n-\n How do I add a new test dataset to my pipeline?\n\n**Training**\n\n-\n How do I check the model's prediction on a hand-crafted example?\n\n-\n How do I find, examine, and visualize examples where the model made\n mistakes?\n\n-\n How do I determine which feature was most responsible for a given\n prediction?\n\n-\n How do I understand which features have the most impact on\n predictions within a given sample?\n\n-\n How do I compute or plot model predictions on a chosen dataset or\n sample?\n\n-\n How do I compute standard metrics for my model's predictions on a\n chosen dataset?\n\n-\n How do I develop and compute custom metrics?\n\n-\n How do I compare my model with other models offline?\n\n-\n Can I perform meta-analysis for multiple model evaluations in a single\n development environment?\n\n-\n Can I compare the current model with the one from 10 months ago?\n\n**Productionization, monitoring, and maintenance**\n\n-\n I think I created a good model. How can I launch it in production?\n\n-\n How do I verify that my new model is running in production correctly?\n\n-\n Can I get the history of model evaluations over time?\n\n-\n How will I know when something is wrong with the model?\n\n-\n I got assigned a page/bug mentioning something about the model.\n What should I do?\n\n**Pipelines**\n\n-\n How could I customize the data generation/training/evaluation\n pipeline?\n\n-\n When and how should I create a completely new pipeline?\n\n**SQL**\n\n-\n I need SQL to generate some data. Where should I put it?\n\n**Infrastructure**\n\n-\n How does our model serving work? Is there a diagram?\n\n-\n What upstream systems does my model depend on that I should be\n aware of?\n\n**Communication**\n\n-\n I can't figure something out. Who (and how) should I contact?\n\n### Keep in mind\n\nWhat constitutes \"ML best practices\" can differ between companies, teams, and\nindividuals. For\nexample, some team members might consider experimental Colabs as the main\ndeliverable, while others will want to work in R. Some might have a passion for\nsoftware engineering, someone else thinks monitoring is the most important\nthing, yet someone else is aware of good feature productionization practices but\nwants to use Scala. Everyone is \"right\" from their own perspective and if\nsteered correctly, the mix will be a powerhouse. If not, it can be a mess.\n\nEstablishing the tools, processes, and infrastructure the team will use before\nwriting a line of code can be the difference between the project failing after\ntwo years or successfully launching a quarter ahead of schedule.\n\nPerformance evaluations\n-----------------------\n\nDue to the ambiguity and uncertainty inherent in ML, people managers need to set\nclear expectations and define deliverables early.\n\nWhen determining expectations and deliverables, consider how they'll be\nevaluated if a project or approach isn't successful. In other words, it's\nimportant that a team member's performance isn't directly connected to the\nsuccess of the project. For example, it's not uncommon for team members to spend\nweeks investigating solutions that are ultimately unsuccessful. Even in these\ncases, their high-quality code, thorough documentation, and effective\ncollaboration should contribute positively toward their evaluation.\n\n### Check Your Understanding\n\nWhat is the primary reason for having excellent process documentation and establishing common practices? \nIncrease project velocity. \nCorrect. Having good process documentation and establishing common practices reduces confusion and streamlines the development process. \nEstablish best practices across a company. \nBecause ML development varies from project to project, teams typically establish their own sets of best practices to work effectively and increase their velocity. \nEnsure all engineers on the team have the same level of expertise. \nML teams typically have engineers with a variety of skills and knowledge. Process documentation helps engineers align on best practices to increase their velocity."]]