ML チームの編成
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ML プロジェクトには、ML に関連するさまざまなスキル、専門知識、責任を持つメンバーが参加するチームが必要です。一般的な ML チームで最も一般的なロールは次のとおりです。
ロール |
知識とスキル |
主な成果物 |
ML プロダクト マネージャー |
ML プロダクト マネージャーは、ML の長所と短所、ML 開発プロセスを深く理解しています。ML チーム、エンドユーザー、その他の関係者と直接連携して、ビジネス上の問題を ML ソリューションに適合させます。プロダクトのビジョンを策定し、ユースケースと要件を定義し、プロジェクトを計画して優先順位を付けます。 |
プロダクト要件ドキュメント(PRD)。
|
エンジニアリング マネージャー |
エンジニアリング マネージャーは、チームの優先事項を設定し、伝え、達成することでビジネス目標を達成します。ML プロダクト マネージャーと同様に、ML ソリューションをビジネスの問題に合わせます。チームメンバーに明確な期待値を設定し、業績評価を行い、キャリアと専門能力の向上を支援します。
|
設計ドキュメント、プロジェクト計画、パフォーマンス評価。
|
データ サイエンティスト |
データ サイエンティストは、定量的分析と統計分析を使用して、データから分析情報と価値を抽出します。特徴の特定とテスト、モデルのプロトタイプ化、モデルの解釈に役立ちます。 |
統計分析によってビジネス上の疑問に答えるレポートとデータ ビジュアリゼーション。 |
ML エンジニア |
ML エンジニアは、ML モデルの設計、構築、本番環境への移行、管理を行います。ML テクノロジーとベスト プラクティスに関する深い知識を持つ優秀なソフトウェア エンジニアです。 |
ビジネス目標を達成するのに十分な予測品質を持つモデルをデプロイします。 |
データ エンジニア |
データ エンジニアは、大量のデータを保存、集約、処理するためのデータ パイプラインを構築します。元データを収集してモデルのトレーニングとサービングに役立つ形式に変換するためのインフラストラクチャとシステムを開発します。データ エンジニアは、ML 開発プロセス全体のデータの責任を負います。 |
必要なモニタリングとアラート機能を備えた、完全に本番環境化されたデータ パイプライン。 |
デベロッパー オペレーション(DevOps)エンジニア |
DevOps エンジニアは、ML モデルのサービス提供インフラストラクチャを開発、デプロイ、スケーリング、モニタリングします。 |
モデルの動作のサービング、モニタリング、テスト、アラートを自動化するプロセス。 |
成功する ML プロジェクトでは、各ロールが適切に代表されるチームがあります。小規模なチームでは、1 人で複数の役割の責任を負う必要があります。
チームのプラクティスを確立する
ML 開発ではロール、ツール、フレームワークが大きく異なるため、優れたプロセスのドキュメント化を通じて一般的なプラクティスを確立することが重要です。たとえば、あるエンジニアは、適切なデータを取得するだけでモデルのトレーニングを開始できると考えますが、より責任あるエンジニアは、データセットが正しく匿名化されていることを検証し、メタデータと来歴を記録します。エンジニアがプロセスと設計パターンの共通の定義を共有することで、混乱を軽減し、チームの速度を向上させることができます。
プロセスのドキュメント
プロセスのドキュメントには、チームが ML 開発に使用するツール、インフラストラクチャ、プロセスを定義する必要があります。優れたプロセスのドキュメントは、新旧のチームメンバーの調整に役立ちます。次の種類の質問に回答する必要があります。
- モデル用のデータはどのように生成されますか?
- データを調べ、検証し、可視化する方法
- トレーニングデータの入力特徴またはラベルを変更するにはどうすればよいですか?
- データ生成、トレーニング、評価のパイプラインをカスタマイズするにはどうすればよいですか?
- 入力特徴やラベルの変更に対応するようにモデル アーキテクチャを変更するにはどうすればよいですか?
- テスト例を入手するにはどうすればよいですか?
- モデルの品質を判断するために使用する指標は何ですか?
- モデルを本番環境でリリースする方法
- モデルに問題があるかどうかを把握するにはどうすればよいですか?
- モデルはどのアップストリーム システムに依存していますか?
- SQL をメンテナンス可能で再利用可能にするにはどうすればよいですか?
その他の質問
モデル
トレーニング
手動で作成した例でモデルの予測を確認するにはどうすればよいですか?
モデルが誤った例を見つけて調べ、可視化する方法を教えてください。
特定の予測に最も寄与した特徴を特定するにはどうすればよいですか?
特定のサンプル内の予測に最も影響を与えている特徴を把握するにはどうすればよいですか?
選択したデータセットまたはサンプルでモデルの予測を計算またはプロットするにはどうすればよいですか?
選択したデータセットに対するモデルの予測の標準指標を計算するにはどうすればよいですか?
カスタム指標を開発して計算するにはどうすればよいですか?
モデルをオフラインで他のモデルと比較するにはどうすればよいですか?
1 つの開発環境で複数のモデル評価のメタ分析を実行できますか?
現在のモデルと 10 か月前のモデルを比較できますか?
本番環境への移行、モニタリング、メンテナンス
良いモデルを作成したと思います。本番環境でリリースするにはどうすればよいですか?
新しいモデルが本番環境で正しく実行されていることを確認するにはどうすればよいですか?
モデル評価の履歴を取得できますか?
モデルに問題があるかどうかはどのようにわかりますか?
モデルに関するページ/バグが割り当てられました。
どうすればよいですか?
パイプライン
SQL
インフラストラクチャ
コミュニケーション
留意点
「ML のベスト プラクティス」の内容は、企業、チーム、個人によって異なる場合があります。たとえば、一部のチームメンバーは試験運用版の Colab を主な成果物と見なす一方で、他のチームメンバーは R で作業することを望む場合があります。ソフトウェア エンジニアリングに情熱を持っている人もいれば、モニタリングが最も重要だと考える人もいます。また、優れた機能の製品化手法を知りながら、Scala の使用を希望する人もいます。誰もが自分の視点から「正しい」判断を下します。正しい方向に導けば、その組み合わせは強力な武器になります。そうでない場合、混乱が生じる可能性があります。
コードを 1 行も記述する前に、チームが使用するツール、プロセス、インフラストラクチャを確立しておくことで、2 年後にプロジェクトが失敗するか、予定より 4 か月早くリリースに成功するかの違いが生じます。
ML には曖昧さと不確実性がつきまといます。そのため、人事マネージャーは明確な期待値を設定し、成果物について早い段階で定義する必要があります。
期待値と成果物について決定する際は、プロジェクトやアプローチが成功しなかった場合にどのように評価されるかを検討してください。つまり、チームメンバーのパフォーマンスがプロジェクトの成功に直接結び付かないことが重要です。たとえば、チームメンバーが解決策を調査するために数週間を費やしても、最終的に失敗に終わることも珍しくありません。このような場合でも、質の高いコード、徹底したドキュメント、効果的なコラボレーションは、評価にプラスの影響を与えるはずです。
理解度を確認する
優れたプロセスのドキュメント化と共通のプラクティスを確立する主な理由は何ですか。
プロジェクトの速度を上げる。
正解です。適切なプロセスのドキュメント化と共通のプラクティスの確立により、混乱を減らし、開発プロセスを効率化できます。
企業全体でベスト プラクティスを確立する。
ML 開発はプロジェクトごとに異なるため、チームは通常、効率的に作業し、速度を上げるために独自のベスト プラクティスを確立します。
チーム内のすべてのエンジニアが同じレベルの専門知識を持っていることを確認します。
通常、ML チームにはさまざまなスキルと知識を持つエンジニアがいます。プロセスのドキュメント化は、エンジニアがベスト プラクティスを調整して速度を向上させるのに役立ちます。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は 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."]]