Chapter 49. Monitor Your Model Dependencies!

Ori Cohen

Algorithms rely on various packages, and each one of these packages will have multiple versions throughout its lifetime.1 The following are several situations, out of many, where dependencies may break your model or deployment—and when that happens, you’ll wish you had some sort of mechanism to monitor your dependencies, in addition to alerts that notify you when and where a problem has happened.

At times you will have requirements.txt discrepancies between environments. For example, your research environment is always up-to-date when it comes to scientific packages, such as pandas and scikit-learn, but your deployment has a lock on a specific version. Once new code or a serialized model is uploaded to staging or production, packages such as pickle or joblib will break when deserializing a model that was serialized using older package versions.

You may be using DeepMoji, a package that converts emojis to text in a preprocessing stage; for example, converting a to happy. Your NLP model relies on a certain mapping of emojis to text and was measured against a specific DeepMoji version. Once you update to a newer version, the mapping will change and directly affect your model, which in turn may ...

Get 97 Things Every Cloud Engineer Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.