Üretim makine öğrenimi sistemleri: Statik ve dinamik çıkarım
Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Tahmin, eğitilmiş bir modeli etiketlenmemiş örneklere uygulayarak tahmin yapma işlemidir. Genel olarak bir model, tahminleri iki şekilde çıkarabilir:
Statik çıkarım (çevrimdışı çıkarım veya toplu çıkarım olarak da bilinir), modelin bir dizi yaygın etiketlenmemiş örnek hakkında tahminler yapması ve ardından bu tahminleri bir yerde önbelleğe alması anlamına gelir.
Dinamik çıkarım (online çıkarım veya gerçek zamanlı çıkarım olarak da bilinir), modelin yalnızca talep üzerine (ör. bir müşteri tahmin istediğinde) tahmin yaptığı anlamına gelir.
Aşırı bir örnek vermek gerekirse, tahminde bulunması bir saat süren çok karmaşık bir model düşünün. Bu durum, statik çıkarım için mükemmel bir örnek olabilir:
Şekil 4. Statik çıkarım işleminde bir model, tahminler oluşturur ve bu tahminler daha sonra bir sunucuda önbelleğe alınır.
Aynı karmaşık modelin yanlışlıkla statik çıkarım yerine dinamik çıkarım kullandığını varsayalım. Birçok istemci aynı saatte tahmin isteğinde bulunursa çoğu saatler veya günler boyunca bu tahmini almaz.
Şimdi, nispeten az miktarda hesaplama kaynağı kullanarak hızlıca (ör. 2 milisaniyede) çıkarım yapan bir model düşünün. Bu durumda istemciler, Şekil 5'te önerildiği gibi dinamik çıkarım yoluyla tahminleri hızlı ve verimli bir şekilde alabilir.
Şekil 5. Dinamik çıkarımda, model isteğe bağlı olarak tahminler çıkarır.
Statik çıkarım
Statik çıkarım belirli avantaj ve dezavantajlara sahiptir.
Avantajlar
Çıkarsama maliyeti konusunda çok fazla endişelenmenize gerek yoktur.
Tahminleri yayınlamadan önce tahminlerin doğrulamasını yapabilir.
Dezavantajları
Yalnızca önbelleğe alınmış tahminler sunabilir. Bu nedenle sistem, yaygın olmayan giriş örnekleri için tahmin sunamayabilir.
Güncelleme gecikmesi muhtemelen saat veya gün olarak ölçülür.
Dinamik çıkarım
Dinamik çıkarım, belirli avantajlar ve dezavantajlar sunar.
Avantajlar
Yeni öğeler geldikçe herhangi bir öğeyle ilgili tahminde bulunabilir. Bu, az kullanılan öğelerle ilgili tahminler için mükemmeldir.
Dezavantajları
Bilgi işlem yoğun ve gecikmeye duyarlı. Bu kombinasyon, model karmaşıklığını sınırlayabilir. Yani, karmaşık bir modelden daha hızlı tahminler çıkarabilecek daha basit bir model oluşturmanız gerekebilir.
İzleme ihtiyaçları daha yoğundur.
Alıştırmalar: Öğrendiklerinizi test edin
Aşağıdaki dört ifadeden hangi üçü statik çıkarım için doğrudur?
Model, tüm olası girişler için tahminler oluşturmalıdır.
Evet, model tüm olası girişler için tahminler yapmalı ve bunları bir önbellekte veya arama tablosunda saklamalıdır. Modelin tahmin ettiği öğe grubu sınırlıysa statik çıkarım iyi bir seçim olabilir. Ancak, sıra dışı veya nadir öğelerin çok fazla olduğu kullanıcı sorguları gibi serbest biçimli girişler için statik çıkarım tam kapsamlı bir çözüm sunamaz.
Sistem, çıkartılabilecek tahminleri sunmadan önce doğrulayabilir.
Evet, bu sabit çıkarım özelliğinin yararlı bir yönüdür.
Belirli bir giriş için model, dinamik çıkarımdan daha hızlı tahmin sunabilir.
Evet, statik çıkarım neredeyse her zaman tahminleri dinamik çıkarıma kıyasla daha hızlı yayınlayabilir.
Dünyadaki değişikliklere hızlı bir şekilde tepki verebilirsiniz.
Hayır, bu durum statik çıkarımla ilgili bir dezavantajdır.
Aşağıdaki ifadelerden hangisi dinamik çıkarım için doğrudur?
Olası tüm öğeler için tahminler sağlayabilirsiniz.
Evet, bu dinamik çıkarım özelliğinin bir avantajıdır. Gelen her istek bir puan alır. Dinamik çıkarım, film yorumlarında yazılan tüm olası cümlelerin alanı gibi uzun kuyruk dağılımlarını (çok sayıda nadir öğe içerenler) işler.
Tahminleri kullanılmadan önce doğrulama sonrası işlem yapabilirsiniz.
Genel olarak, tahminler isteğe bağlı olarak yapıldığından tüm tahminlerin kullanılmadan önce doğrulanması mümkün değildir. Ancak, belirli bir düzeyde kalite kontrolü sağlamak için toplu tahmin kalitesini izleyebilirsiniz. Ancak bu değerler, yangın alarmını yalnızca yangının yayılmasından sonra verir.
Dinamik çıkarım yaparken, statik çıkarım yaparken olduğu kadar tahmin gecikmesi (tahminlerin döndürülmesi için gecikme süresi) hakkında endişelenmenize gerek yoktur.
Tahmin gecikmesi, dinamik çıkarım için genellikle gerçek bir endişe kaynağıdır. Maalesef daha fazla çıkarım sunucusu ekleyerek tahmin gecikmesi sorunlarını her zaman düzeltemezsiniz.
[null,null,["Son güncelleme tarihi: 2025-07-27 UTC."],[[["\u003cp\u003eInference involves using a trained model to make predictions on unlabeled examples, and it can be done statically or dynamically.\u003c/p\u003e\n"],["\u003cp\u003eStatic inference generates predictions in advance and caches them, making it suitable for scenarios where prediction speed is critical but limiting its ability to handle uncommon inputs.\u003c/p\u003e\n"],["\u003cp\u003eDynamic inference generates predictions on demand, offering flexibility for diverse inputs but potentially increasing latency and computational demands.\u003c/p\u003e\n"],["\u003cp\u003eChoosing between static and dynamic inference depends on factors like model complexity, desired prediction speed, and the nature of the input data.\u003c/p\u003e\n"],["\u003cp\u003eStatic inference is advantageous when cost and prediction verification are prioritized, while dynamic inference excels in handling diverse, real-time predictions.\u003c/p\u003e\n"]]],[],null,["# Production ML systems: Static versus dynamic inference\n\n[**Inference**](/machine-learning/glossary#inference) is the process of\nmaking predictions by applying a trained model to\n[**unlabeled examples**](/machine-learning/glossary#unlabeled_example).\nBroadly speaking, a model can infer predictions in one of two ways:\n\n- **Static inference** (also called **offline inference** or **batch inference** ) means the model makes predictions on a bunch of common [**unlabeled examples**](/machine-learning/glossary#unlabeled_example) and then caches those predictions somewhere.\n- **Dynamic inference** (also called **online inference** or real-time inference) means that the model only makes predictions on demand, for example, when a client requests a prediction.\n\nTo use an extreme example, imagine a very complex model that\ntakes one hour to infer a prediction.\nThis would probably be an excellent situation for static inference:\n**Figure 4.** In static inference, a model generates predictions, which are then cached on a server.\n\nSuppose this same complex model mistakenly uses dynamic inference instead of\nstatic inference. If many clients request predictions around the same time,\nmost of them won't receive that prediction for hours or days.\n\nNow consider a model that infers quickly, perhaps in 2 milliseconds using a\nrelative minimum of computational resources. In this situation, clients can\nreceive predictions quickly and efficiently through dynamic inference, as\nsuggested in Figure 5.\n**Figure 5.** In dynamic inference, a model infers predictions on demand.\n\nStatic inference\n----------------\n\nStatic inference offers certain advantages and disadvantages.\n\nAdvantages\n\n- Don't need to worry much about cost of inference.\n- Can do post-verification of predictions before pushing.\n\nDisadvantages\n\n- Can only serve cached predictions, so the system might not be able to serve predictions for uncommon input examples.\n- Update latency is likely measured in hours or days.\n\nDynamic inference\n-----------------\n\nDynamic inference offers certain advantages and disadvantages.\n\nAdvantages\n\n- Can infer a prediction on *any* new item as it comes in, which is great for long tail (less common) predictions.\n\nDisadvantages\n\n- Compute intensive and latency sensitive. This combination may limit model complexity; that is, you might have to build a simpler model that can infer predictions more quickly than a complex model could.\n- Monitoring needs are more intensive.\n\nExercises: Check your understanding\n-----------------------------------\n\nWhich **three** of the following four statements are true of static inference? \nThe model must create predictions for all possible inputs. \nYes, the model must make predictions for all possible inputs and store them in a cache or lookup table. If the set of things that the model is predicting is limited, then static inference might be a good choice. However, for free-form inputs like user queries that have a long tail of unusual or rare items, static inference can't provide full coverage. \nThe system can verify inferred predictions before serving them. \nYes, this is a useful aspect of static inference. \nFor a given input, the model can serve a prediction more quickly than *dynamic* inference. \nYes, static inference can almost always serve predictions faster than dynamic inference. \nYou can react quickly to changes in the world. \nNo, this is a disadvantage of static inference. \nWhich **one** of the following statements is true of dynamic inference? \nYou can provide predictions for all possible items. \nYes, this is a strength of dynamic inference. Any request that comes in will be given a score. Dynamic inference handles long-tail distributions (those with many rare items), like the space of all possible sentences written in movie reviews. \nYou can do post-verification of predictions before they are used. \nIn general, it's not possible to do a post-verification of all predictions before they get used because predictions are being made on demand. You can, however, potentially monitor *aggregate* prediction qualities to provide some level of quality checking, but these will signal fire alarms only after the fire has already spread. \nWhen performing dynamic inference, you don't need to worry about prediction latency (the lag time for returning predictions) as much as when performing static inference. \nPrediction latency is often a real concern in dynamic inference. Unfortunately, you can't necessarily fix prediction latency issues by adding more inference servers.\n| **Key terms:**\n|\n| - [Example](/machine-learning/glossary#example)\n| - [Inference](/machine-learning/glossary#inference)\n- [Unlabeled example](/machine-learning/glossary#unlabeled_example) \n[Help Center](https://support.google.com/machinelearningeducation)"]]