ML ekibi oluşturma
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Makine öğrenimi projeleri, makine öğrenimiyle ilgili çeşitli becerilere, uzmanlığa ve sorumluluklara sahip üyelerden oluşan ekipler gerektirir. Tipik makine öğrenimi ekiplerinde en yaygın roller şunlardır:
Rol |
Bilgi ve beceriler |
Ana teslimat |
ML ürün müdürü |
Makine öğrenimi ürün yöneticileri, makine öğreniminin güçlü ve zayıf yönleri ile makine öğrenimi geliştirme süreci hakkında derin bir bilgiye sahiptir. Doğrudan makine öğrenimi ekibi, son kullanıcılar ve diğer paydaşlarla çalışarak işletme sorunlarını makine öğrenimi çözümleriyle uyumlu hale getirirler. Ürün vizyonunu oluştururlar, kullanım alanlarını ve gereksinimleri tanımlar, projeleri planlayıp önceliklendirirler.
|
Ürün gereksinimleri belgesi (PRD).
|
Mühendislik yöneticisi |
Mühendislik yöneticileri, ekip önceliklerini belirleyerek, bildirerek ve bu önceliklere ulaşarak işletme hedeflerine ulaşır. Makine öğrenimi ürün yöneticileri gibi, makine öğrenimi çözümlerini işletme sorunlarına göre uyarlarlar.
Ekip üyeleri için net beklentiler belirler, performans değerlendirmeleri yapar ve kariyer ile mesleki gelişim konusunda yardımcı olur.
|
Tasarım dokümanları, proje planları ve performans değerlendirmeleri.
|
Veri bilimci |
Veri bilimciler, verilerden analiz ve değer elde etmek için nicel ve istatistiksel analizlerden yararlanır. Özellikleri belirlemenize ve test etmenize, prototip modeller oluşturmanıza ve model yorumlanabilirliğine yardımcı olurlar.
|
İşletmeyle ilgili soruları istatistiksel analiz yoluyla yanıtlayan raporlar ve veri görselleştirmeleri
|
Makine öğrenimi mühendisi |
ML mühendisleri, ML modellerini tasarlar, oluşturur, üretime aktarır ve yönetir.
ML teknolojileri ve en iyi uygulamalar hakkında derin bir bilgiye sahip güçlü yazılım mühendisleridir.
|
İşletme hedeflerine ulaşmak için yeterli tahmin kalitesine sahip bir model dağıtıldı.
|
Veri mühendisi |
Veri mühendisleri, büyük miktarlarda veriyi depolamak, toplamak ve işlemek için veri ardışık düzenleri oluşturur. Ham verileri toplayıp model eğitimi ve sunumu için yararlı biçimlere dönüştürecek altyapıyı ve sistemleri geliştirirler. Veri mühendisleri, ML geliştirme sürecinin tamamında verilerden sorumludur.
|
Gerekli izleme ve uyarılarla tamamen üretime hazır veri ardışık düzenleri
|
Geliştirici işlemleri (DevOps) mühendisi |
DevOps mühendisleri, makine öğrenimi modelleri için sunma altyapısını geliştirir, dağıtır, ölçeklendirir ve izler.
|
Bir modelin davranışını yayınlama, izleme, test etme ve uyarı vermeyle ilgili otomatik bir süreç.
|
Başarılı yapay zeka projelerinde her rolün iyi temsil edildiği ekipler bulunur. Daha küçük ekiplerde, kullanıcıların birden fazla rolün sorumluluklarını üstlenmesi gerekir.
Ekip uygulamaları oluşturma
Yapay zeka geliştirmede roller, araçlar ve çerçeveler çok farklı olduğundan, mükemmel süreç dokümanları aracılığıyla ortak uygulamalar oluşturmak çok önemlidir. Örneğin, bir mühendis bir modeli eğitmeye başlamak için doğru verileri almanın yeterli olduğunu düşünürken daha sorumlu bir mühendis, veri kümesinin doğru şekilde anonimleştirildiğini doğrular, meta verilerini ve kaynağını belgeler. Mühendislerin süreçler ve tasarım kalıpları için ortak tanımlar paylaşmasını sağlamak, karışıklığı azaltır ve ekibin hızını artırır.
Süreç dokümanları
Süreç dokümanları, ekibin makine öğrenimi geliştirme için kullanacağı araçları, altyapıyı ve süreçleri tanımlamalıdır. İyi süreç dokümanları, yeni ve mevcut ekip üyelerinin uyumlu olmasına yardımcı olur. Aşağıdaki soru türlerini yanıtlamalıdır:
- Model için veriler nasıl oluşturulur?
- Verileri nasıl inceleriz, doğrularız ve görselleştiririz?
- Eğitim verilerindeki bir giriş özelliğini veya etiketini nasıl değiştirebiliriz?
- Veri oluşturma, eğitim ve değerlendirme ardışık düzenini nasıl özelleştiririz?
- Giriş özelliklerindeki veya etiketlerdeki değişikliklere uyum sağlamak için model mimarisini nasıl değiştirebilirim?
- Test örneklerini nasıl elde ederiz?
- Model kalitesini değerlendirmek için hangi metrikleri kullanırız?
- Modellerimizi üretime nasıl sunarız?
- Modelimizde bir sorun olup olmadığını nasıl anlarız?
- Modellerimiz hangi yayın öncesi sistemlere bağlı?
- SQL'imi nasıl bakımı yapılabilir ve yeniden kullanılabilir hale getirebilirim?
Diğer olası sorular
Model
Eğitim
El yapımı bir örnekte modelin tahminini nasıl kontrol edebilirim?
Modelin hata yaptığı örnekleri nasıl bulabilir, inceleyebilir ve görselleştirebilirim?
Belirli bir tahminden en çok hangi özelliğin sorumlu olduğunu nasıl belirleyebilirim?
Belirli bir örnekteki tahminler üzerinde en fazla etkiye sahip olan özelliklerin hangileri olduğunu nasıl anlayabilirim?
Seçilen bir veri kümesinde veya örnekte model tahminlerini nasıl hesaplayabilir ya da çizebilirim?
Modelimin seçili bir veri kümesinde yaptığı tahminler için standart metrikleri nasıl hesaplayabilirim?
Özel metrikleri nasıl geliştirir ve hesaplarız?
Modelimi diğer modellerle çevrimdışı olarak nasıl karşılaştırabilirim?
Tek bir geliştirme ortamında birden fazla model değerlendirmesi için meta-analiz yapabilir miyim?
Mevcut modeli 10 ay önceki modelle karşılaştırabilir miyim?
Üretim, izleme ve bakım
Bence iyi bir model oluşturdum. Bunu nasıl üretime sunabilirim?
Yeni modelimin üretimde doğru şekilde çalıştığını nasıl doğrulayabilirim?
Zaman içindeki model değerlendirmelerinin geçmişini görebilir miyim?
Modelde bir sorun olduğunda bunu nasıl anlayacağım?
Model hakkında bir şeyden bahsedilen bir sayfa/hata atandı.
Ne yapmalıyım?
Ardışık düzenler
SQL
Altyapı
İletişim
Unutmayın
"Yapay zeka en iyi uygulamaları"nın neleri kapsadığı şirketler, ekipler ve kişiler arasında farklılık gösterebilir. Örneğin, bazı ekip üyeleri deneysel Colabs'ı ana teslimat olarak değerlendirirken diğerleri R'de çalışmak isteyebilir. Bazıları yazılım mühendisliğine tutkuyla bağlıdır, bazıları izlemenin en önemli şey olduğunu düşünür, bazıları ise iyi özellik üretim uygulamaları hakkında bilgi sahibidir ancak Scala kullanmak ister. Herkes kendi bakış açısından "doğru"dur. Doğru şekilde yönlendirilirse bu karışım çok güçlü olur. Aksi takdirde, işler karışabilir.
Ekibin kullanacağı araçları, süreçleri ve altyapıyı bir kod satırı yazmadan önce belirlemek, projenin iki yıl sonra başarısız olması veya planlanandan üç ay önce başarıyla kullanıma sunulması arasındaki farkı belirleyebilir.
Yapay zeka ile ilgili belirsizlik ve belirsizlik nedeniyle, insan kaynakları yöneticilerinin net beklentiler belirlemesi ve teslim edilecekleri erkenden tanımlaması gerekir.
Beklentileri ve teslimatları belirlerken, bir proje veya yaklaşımın başarılı olmaması durumunda bunların nasıl değerlendirileceğini göz önünde bulundurun. Diğer bir deyişle, bir ekip üyesinin performansının projenin başarısıyla doğrudan bağlantılı olmaması önemlidir. Örneğin, ekip üyelerinin sonunda başarısız olan çözümleri araştırmak için haftalarca uğraşması sık karşılaşılan bir durumdur. Bu durumlarda bile yüksek kaliteli kodları, ayrıntılı dokümanları ve etkili işbirlikleri, değerlendirmelerine olumlu katkıda bulunur.
Öğrendiklerinizi test etme
Mükemmel süreç dokümanları oluşturmanın ve ortak uygulamalar belirlemenin birincil nedeni nedir?
Proje hızını artırın.
Doğru. İyi bir süreç dokümantasyonu ve ortak uygulamalar belirlemek, kafa karışıklığını azaltır ve geliştirme sürecini kolaylaştırır.
Şirket genelinde en iyi uygulamaları belirleyin.
Makine öğrenimi geliştirme projeden projeye değiştiğinden, ekipler genellikle etkili bir şekilde çalışmak ve hızlarını artırmak için kendi en iyi uygulamalarını belirler.
Ekipteki tüm mühendislerin aynı düzeyde uzmanlığa sahip olduğundan emin olun.
Makine öğrenimi ekiplerinde genellikle çeşitli beceri ve bilgi sahibi mühendisler bulunur. Süreç dokümanları, mühendislerin hızlarını artırmak için en iyi uygulamalar konusunda uyumlu olmalarına yardımcı olur.
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[null,null,["Son güncelleme tarihi: 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."]]