Como montar uma equipe de ML
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os projetos de ML exigem equipes com membros que tenham uma variedade de habilidades, conhecimentos
e responsabilidades relacionadas ao aprendizado de máquina. Estes são os papéis
mais comuns em equipes de ML típicas:
Papel |
Conhecimentos e habilidades |
Resultado principal |
Gerente de produtos de ML |
Os gerentes de produtos de ML têm um conhecimento profundo dos pontos fortes e
fracos do ML e do processo de desenvolvimento de ML. Eles alinham problemas de negócios
a soluções de ML trabalhando diretamente com a equipe de ML, usuários finais
e outras partes interessadas. Eles
criam a visão do produto, definem casos de uso e
requisitos e planejam e priorizam projetos.
|
Documento de requisitos do produto (PRD, na sigla em inglês).
|
Gerente de engenharia |
Os gerentes de engenharia alcançam as metas de negócios definindo, comunicando e
cumprindo as prioridades da equipe. Assim como os gerentes de produto de ML, eles alinham as soluções de ML aos problemas de negócios.
Eles definem expectativas claras para os membros da equipe,
conduzem avaliações de desempenho e ajudam no desenvolvimento de carreira e
profissional.
|
Documentos de design, planos de projeto e avaliações de desempenho.
|
Cientista de dados |
Os cientistas de dados usam análises quantitativas e estatísticas para extrair insights e valor dos dados. Eles ajudam a identificar e testar
recursos, modelos de protótipo e a interpretabilidade do modelo.
|
Relatórios e visualizações de dados que respondem a perguntas de negócios
por meio de análise estatística.
|
Engenheiros de ML |
Os engenheiros de ML projetam, criam, colocam em produção e gerenciam modelos de ML.
Eles são engenheiros de software fortes com um profundo entendimento das tecnologias
de ML e das práticas recomendadas.
|
Modelo implantado com qualidade de previsão suficiente para atender às metas
de negócios.
|
Engenheiro de dados |
Engenheiros de dados criam pipelines de dados para armazenar, agregar e
processar grandes quantidades de dados. Eles desenvolvem a infraestrutura e os sistemas para coletar e transformar dados brutos em formatos úteis para treinamento e fornecimento de modelos. Os engenheiros de dados são
responsáveis pelos dados em todo o processo de desenvolvimento de ML.
|
Pipelines de dados totalmente produzidos com o monitoramento e os alertas necessários.
|
Engenheiro de operações de desenvolvimento (DevOps) |
Os engenheiros de DevOps desenvolvem, implantam, dimensionam e monitoram
a infraestrutura de disponibilização de modelos de ML.
|
Um processo automatizado para exibir, monitorar, testar e alertar sobre o comportamento de um modelo.
|
Projetos de ML bem-sucedidos têm equipes com cada função bem
representada. Em equipes menores, os indivíduos precisam lidar com as
responsabilidades de várias funções.
Estabelecer práticas de equipe
Como as funções, ferramentas e frameworks variam muito no desenvolvimento de ML, é fundamental estabelecer práticas comuns com uma excelente documentação de processo. Por exemplo, um engenheiro pode
achar que apenas coletar os dados certos é suficiente para começar a treinar um modelo,
enquanto um engenheiro mais responsável vai validar se o conjunto de dados está anonimizado
corretamente e documentar os metadados e a procedência dele. Garantir que os engenheiros compartilhem
definições comuns de processos e padrões de design reduz a confusão e
aumenta a velocidade da equipe.
Documentação do processo
Os documentos de processo devem definir as ferramentas, a infraestrutura e os processos que a equipe
vai usar para o desenvolvimento de ML. Documentos de processo bons ajudam a alinhar os membros novos e atuais
da equipe. Elas precisam responder aos seguintes tipos de perguntas:
- Como os dados são gerados para o modelo?
- Como examinamos, validamos e visualizamos os dados?
- Como modificar um atributo ou rótulo de entrada nos dados de treinamento?
- Como personalizar o pipeline de geração, treinamento e avaliação de dados?
- Como mudar a arquitetura do modelo para acomodar mudanças nos rótulos ou
recursos de entrada?
- Como podemos conseguir exemplos de testes?
- Quais métricas vamos usar para avaliar a qualidade do modelo?
- Como lançamos nossos modelos em produção?
- Como saberemos se algo está errado com nosso modelo?
- De quais sistemas upstream nossos modelos dependem?
- Como faço para manter e reutilizar meu SQL?
Mais perguntas possíveis
Modelo
Posso treinar modelos em diferentes conjuntos de dados no mesmo pipeline, como para ajustes?
Como adiciono um novo conjunto de dados de teste ao meu pipeline?
Treinamento
Como verificar a previsão do modelo em um exemplo criado manualmente?
Como encontrar, examinar e visualizar exemplos em que o modelo cometeu erros?
Como determinar qual recurso foi mais responsável por uma determinada
previsão?
Como posso entender quais atributos têm mais impacto nas previsões de uma determinada amostra?
Como faço para calcular ou representar graficamente as previsões do modelo em um conjunto de dados ou amostra escolhidos?
Como calcular as métricas padrão para as previsões do modelo em um conjunto de dados escolhido?
Como desenvolver e calcular métricas personalizadas?
Como comparar meu modelo com outros modelos off-line?
Posso realizar uma meta-análise para várias avaliações de modelo em um único
ambiente de desenvolvimento?
Posso comparar o modelo atual com o de 10 meses atrás?
Produção, monitoramento e manutenção
Acho que criei um bom modelo. Como posso lançar na produção?
Como verificar se o novo modelo está sendo executado corretamente na produção?
Posso acessar o histórico de avaliações de modelos ao longo do tempo?
Como saber quando algo está errado com o modelo?
Recebi uma página/bug mencionando algo sobre o modelo.
O que devo fazer?
Pipelines
SQL
Infraestrutura
Comunicação
Observação importante
O que constitui as "práticas recomendadas de ML" pode variar entre empresas, equipes e
indivíduos. Por
exemplo, alguns membros da equipe podem considerar o Colabs experimental como o principal
entregável, enquanto outros podem querer trabalhar no R. Alguns podem ter paixão pela
engenharia de software, outros podem achar que o monitoramento é a coisa mais
importante, e outros podem conhecer boas práticas de produção de recursos, mas
querem usar o Scala. Todos estão "certos" do ponto de vista deles, e se
forem direcionados corretamente, a mistura será uma potência. Caso contrário, pode ser uma bagunça.
Estabelecer as ferramentas, os processos e a infraestrutura que a equipe vai usar antes
de escrever uma linha de código pode ser a diferença entre o fracasso do projeto após
dois anos ou o lançamento com sucesso um trimestre antes do previsto.
Devido à ambiguidade e incerteza inerentes ao ML, os gerentes de pessoas precisam definir
expectativas claras e definir os resultados com antecedência.
Ao determinar as expectativas e os resultados, considere como eles serão
avaliados se um projeto ou abordagem não tiver sucesso. Em outras palavras, é
importante que a performance de um membro da equipe não esteja diretamente conectada ao
sucesso do projeto. Por exemplo, não é incomum que os membros da equipe passem
semanas investigando soluções que não funcionam. Mesmo nesses
casos, o código de alta qualidade, a documentação completa e a colaboração
eficaz devem contribuir positivamente para a avaliação.
Teste seu conhecimento
Qual é o principal motivo para ter uma excelente documentação de processo
e estabelecer práticas comuns?
Aumentar a velocidade do projeto.
Correto. Ter uma boa documentação do processo e estabelecer práticas
comuns reduz a confusão e simplifica o processo de desenvolvimento.
Estabelecer práticas recomendadas em toda a empresa.
Como o desenvolvimento de ML varia de um projeto para outro,
as equipes geralmente estabelecem os próprios conjuntos de práticas recomendadas para trabalhar
de maneira eficaz e aumentar a velocidade.
Garanta que todos os engenheiros da equipe tenham o mesmo nível de experiência.
As equipes de ML geralmente têm engenheiros com uma variedade de habilidades e
conhecimentos. A documentação de processo ajuda os engenheiros a se alinharem às práticas recomendadas
para aumentar a velocidade.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-07-27 UTC.
[null,null,["Última atualização 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."]]