Production Machine Learning involves hosting multiple versions of models over time, often with many model versions running at once. When model performance does not meet expectations, Machine Learning Engineers (MLEs) debug issues by exploring and analyzing numerous prior versions of code and training data to identify root causes and mitigate problems. Traditional debugging and logging tools often fall short in managing this experimental, multi-version context. To address the challenges in this domain, novel approaches are required for logging and log data management. FlorDB introduces Multiversion Hindsight Logging, which allows engineers to use the most recent version's logging statements to explore past versions, even when older versions logged different data. Log statement propagation enables consistent injection of logging statements into past code versions, regardless of changes to the codebase. Once log statements are propagated across code versions, the remaining challenges in Multiversion Hindsight Logging relate to efficiently replaying the new log statements based on checkpoints from previous runs. Finally, a coherent user experience is required to help MLEs debug across all versions of code and data. To this end, FlorDB presents a unified relational model for efficient handling of historical queries, offering a comprehensive view of the log history to simplify the exploration of past code iterations. In sum, FlorDB provides a robust tool tailored to the specific needs of MLEs, significantly enhancing their ability to navigate the intricate landscape of ML experimentation.
翻译:暂无翻译