Produkcyjne systemy ML: pytania, które należy zadać
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
W tej lekcji skupiamy się na pytaniach, które należy zadać na temat danych i modelu w systemach produkcyjnych.
Czy każda funkcja jest przydatna?
Twój model powinien być stale monitorowany, aby usuwać z niego właściwości, które w mniejszym lub większym stopniu nie wpływają na jego zdolność przewidywania. Jeśli dane wejściowe dotyczące tej funkcji ulegną nagłej zmianie, zachowanie modelu może się też gwałtownie zmienić w niepożądany sposób.
Zapoznaj się też z tym powiązanym pytaniem:
- Czy użyteczność funkcji uzasadnia koszt jej uwzględnienia?
Zawsze istnieje pokusa, aby dodać do modelu więcej funkcji. Załóżmy na przykład, że znajdziesz nową funkcję, która po dodaniu poprawia nieco trafność przewidywań Twojego modelu. Nieco lepsze prognozy z pewnością wydają się lepsze niż nieco gorsze prognozy, ale dodatkowa funkcja zwiększa nakład pracy związany z konserwacją.
Czy Twoje źródło danych jest wiarygodne?
Oto kilka pytań na temat niezawodności danych wejściowych:
- Czy sygnał będzie zawsze dostępny, czy pochodzi z niewiarygodnego źródła? Na przykład:
- Czy sygnał pochodzi z serwera, który ulega awarii pod wpływem dużego obciążenia?
- Czy sygnał pochodzi od osób, które co roku w sierpniu wyjeżdżają na urlop?
- Czy system, który oblicza dane wejściowe modelu, może się zmienić? Jeśli tak:
- Jak często?
- Jak dowiesz się o zmianach w tym systemie?
Utwórz własną kopię danych otrzymanych z procesu upstream. Następnie przejdź do następnej wersji danych źródłowych dopiero wtedy, gdy będziesz mieć pewność, że jest to bezpieczne.
Czy Twój model jest częścią pętli sprzężenia zwrotnego?
Czasami model może wpływać na własne dane treningowe. Na przykład wyniki z niektórychś modeli stają się (bezpośrednio lub pośrednio) wejściowymi cechami tego samego modelu.
Czasami jeden model może wpływać na inny. Rozważmy na przykład 2 modele do przewidywania cen akcji:
- Model A, który jest złym modelem prognostycznym.
- Model B.
Ponieważ Model A jest pełen błędów, błędnie decyduje się na zakup akcji X.
Te zakupy podnoszą cenę akcji X. Model B używa ceny akcji X jako cechy wejściowej, więc może wyciągać błędne wnioski dotyczące wartości tej akcji. Model B może więc kupować lub sprzedawać akcje X na podstawie błędnego działania modelu A.
Zachowanie modelu B może z kolei wpływać na model A, prawdopodobnie wywołując tulipanową manię lub spadek wartości akcji firmy X.
Ćwiczenie: sprawdź swoją wiedzę
Które 3 z tych modeli są podatne na sprzężenie zwrotne?
Model prognozowania natężenia ruchu, który przewiduje korki na drogach wylotowych w pobliżu plaży, korzystając z liczby osób na plaży jako jednej z cech.
Niektórzy plażowicze prawdopodobnie opierają swoje plany na prognozie natężenia ruchu. Jeśli na plaży jest dużo ludzi, a ruchu przewidywany jest duży, wiele osób może zmienić swoje plany. Może to zmniejszyć liczbę osób na plaży, co spowoduje mniejszy ruch, a to z kolei może zwiększyć liczbę osób na plaży, co spowoduje, że cykl się powtórzy.
Model rekomendacji książek, który sugeruje użytkownikom powieści, które mogą im się spodobać, na podstawie ich popularności (czyli liczby zakupionych książek).
Rekomendacje książek mogą zwiększać liczbę zakupów, a te dodatkowe transakcje będą stanowiły dane wejściowe dla modelu, co zwiększy prawdopodobieństwo rekomendowania tych samych książek w przyszłości.
Model rankingu uniwersytetów, który ocenia szkoły częściowo na podstawie ich selektywności, czyli odsetka przyjętych kandydatów.
Rankingi modela mogą zwiększać zainteresowanie najlepszymi szkołami, co przekłada się na wzrost liczby składanych przez nie wniosków. Jeśli te szkoły będą nadal przyjmować taką samą liczbę uczniów, ich selektywność wzrośnie (procent przyjętych uczniów spadnie). Spowoduje to wzrost rankingu tych szkół, co z kolei zwiększy zainteresowanie potencjalnych uczniów, a co za tym idzie…
Model wyników wyborów, który prognozuje zwycięzcę w wyborach na burmistrza na podstawie ankiety przeprowadzonej wśród 2% wyborców po zamknięciu lokali wyborczych.
Jeśli model nie publikuje prognozy przed zamknięciem głosowania, jego prognozy nie mogą wpływać na zachowanie wyborców.
Model wartości nieruchomości, który przewiduje ceny domów, wykorzystując jako cechy:
wielkość (powierzchnię w metrach kwadratowych), liczbę sypialni i lokalizację geograficzną.
W reakcji na prognozy cen nie można szybko zmienić lokalizacji domu,
jego wielkości ani liczby sypialni,
co utrudnia tworzenie pętli sprzężenia zwrotnego. Może jednak występować korelacja między wielkością a liczbą sypialni (większe domy mają zwykle więcej pokoi), którą należy wziąć pod uwagę.
Model atrybutów twarzy, który wykrywa, czy osoba na zdjęciu się uśmiecha. Jest on regularnie trenowany na podstawie bazy danych fotografii stockowych, która jest automatycznie aktualizowana co miesiąc.
Nie ma tu pętli sprzężenia zwrotnego, ponieważ prognozy modelu nie mają żadnego wpływu na bazę danych zdjęć. Problem stanowi jednak wersjonowanie danych wejściowych, ponieważ te comiesięczne aktualizacje mogą mieć nieprzewidziane skutki dla modelu.
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-27 UTC."],[[["\u003cp\u003eContinuously monitor models in production to evaluate feature importance and potentially remove unnecessary ones, ensuring prediction quality and resource efficiency.\u003c/p\u003e\n"],["\u003cp\u003eData reliability is crucial; consider data source stability, potential changes in upstream data processes, and create local data copies to control versioning and mitigate risks.\u003c/p\u003e\n"],["\u003cp\u003eBe aware of feedback loops where a model's predictions influence future input data, potentially leading to unexpected behavior or biased outcomes, especially in interconnected systems.\u003c/p\u003e\n"],["\u003cp\u003eRegularly assess your model by asking if features are truly helpful and if their value outweighs the costs of inclusion, aiming for a balance between prediction accuracy and maintainability.\u003c/p\u003e\n"],["\u003cp\u003eEvaluate if your model is susceptible to a feedback loop and take steps to isolate it if you find it is.\u003c/p\u003e\n"]]],[],null,["# Production ML systems: Questions to ask\n\nThis lesson focuses on the questions you should ask about your data\nand model in production systems.\n\nIs each feature helpful?\n------------------------\n\nYou should continuously monitor your model to remove features that contribute\nlittle or nothing to the model's predictive ability. If the input data for\nthat feature abruptly changes, your model's behavior might also abruptly\nchange in undesirable ways.\n\nAlso consider the following related question:\n\n- Does the usefulness of the feature justify the cost of including it?\n\nIt is always tempting to add more features to the model. For example,\nsuppose you find a new feature whose addition makes your model's predictions\nslightly better. Slightly better predictions certainly seem better than\nslightly worse predictions; however, the extra feature adds to your\nmaintenance burden.\n\nIs your data source reliable?\n-----------------------------\n\nSome questions to ask about the reliability of your input data:\n\n- Is the signal always going to be available or is it coming from an unreliable source? For example:\n - Is the signal coming from a server that crashes under heavy load?\n - Is the signal coming from humans that go on vacation every August?\n- Does the system that computes your model's input data ever change? If so:\n - How often?\n - How will you know when that system changes?\n\nConsider creating your own copy of the data you receive from the\nupstream process. Then, only advance to the next version of the upstream\ndata when you are certain that it is safe to do so.\n\nIs your model part of a feedback loop?\n--------------------------------------\n\nSometimes a model can affect its own training data. For example, the\nresults from some models, in turn, become (directly or indirectly) input\nfeatures to that same model.\n\nSometimes a model can affect another model. For example, consider two\nmodels for predicting stock prices:\n\n- Model A, which is a bad predictive model.\n- Model B.\n\nSince Model A is buggy, it mistakenly decides to buy stock in Stock X.\nThose purchases drive up the price of Stock X. Model B uses the price\nof Stock X as an input feature, so Model B can come to some false\nconclusions about the value of Stock X. Model B could, therefore,\nbuy or sell shares of Stock X based on the buggy behavior of Model A.\nModel B's behavior, in turn, can affect Model A, possibly triggering a\n[tulip mania](https://wikipedia.org/wiki/Tulip_mania) or a slide in\nCompany X's stock.\n\n### Exercise: Check your understanding\n\nWhich **three** of the following models are susceptible to a feedback loop? \nA traffic-forecasting model that predicts congestion at highway exits near the beach, using beach crowd size as one of its features. \nSome beachgoers are likely to base their plans on the traffic forecast. If there is a large beach crowd and traffic is forecast to be heavy, many people may make alternative plans. This may depress beach turnout, resulting in a lighter traffic forecast, which then may increase attendance, and the cycle repeats. \nA book-recommendation model that suggests novels its users may like based on their popularity (i.e., the number of times the books have been purchased). \nBook recommendations are likely to drive purchases, and these additional sales will be fed back into the model as input, making it more likely to recommend these same books in the future. \nA university-ranking model that rates schools in part by their selectivity---the percentage of students who applied that were admitted. \nThe model's rankings may drive additional interest to top-rated schools, increasing the number of applications they receive. If these schools continue to admit the same number of students, selectivity will increase (the percentage of students admitted will go down). This will boost these schools' rankings, which will further increase prospective student interest, and so on... \nAn election-results model that forecasts the winner of a mayoral race by surveying 2% of voters after the polls have closed. \nIf the model does not publish its forecast until after the polls have closed, it is not possible for its predictions to affect voter behavior. \nA housing-value model that predicts house prices, using size (area in square meters), number of bedrooms, and geographic location as features. \nIt is not possible to quickly change a house's location, size, or number of bedrooms in response to price forecasts, making a feedback loop unlikely. However, there is potentially a correlation between size and number of bedrooms (larger homes are likely to have more rooms) that may need to be teased apart. \nA face-attributes model that detects whether a person is smiling in a photo, which is regularly trained on a database of stock photography that is automatically updated monthly. \nThere is no feedback loop here, as model predictions don't have any impact on the photo database. However, versioning of the input data is a concern here, as these monthly updates could potentially have unforeseen effects on the model. \n[Help Center](https://support.google.com/machinelearningeducation)"]]