Blog

Rules of Machine Learning: Best Practices for ML Engineering (part 1)

The engineers at Google introduced a compelling concept:”To create exceptional products, approach machine learning as the skilled engineer you are, not as the machine learning expert you are not.”

In essence, this emphasizes leveraging your engineering prowess over pure machine learning expertise. The crux lies in recognizing that many challenges are fundamentally engineering-related. Even for seasoned machine learning practitioners, success hinges more on robust features than on sophisticated algorithms. Hence, the key principles to abide by are:

  1. Initiate with a Seamless End-to-End Pipeline
  2. Set Attainable Initial Objectives
  3. Augment Features Intuitively from Common Knowledge
  4. Ensure Ongoing Pipeline Efficiency

This straightforward methodology consistently proves its efficacy in practice. Straying from this approach only leads to sluggish product development. Complexity should only be introduced when basic strategies become mundane, a concept elaborated on in subsequent sections.

Insights

Why prioritize pipeline construction over immediate model development? Consider the analogy of a tracer bullet from “The Pragmatic Programmer.” This guiding bullet signifies the need for direction when venturing into uncharted territories. By creating a comprehensive pipeline – outlining inputs, outputs, and user interface – you gain a holistic perspective. This scaffolded approach allows for rapid progress without getting bogged down in intricate details.For instance, envision crafting a recommendation system. Rather than fixating on intricate algorithms or cutting-edge research, focus on building a foundational framework. Define inputs, data preprocessing steps, output formats, and user interfaces. The model need not be elaborate initially; a rudimentary selection suffices. The goal is to visualize the entire system in operation before delving into finer components.

Benefits of this Methodology:

  1. Early User Engagement: Users access the product sooner, enabling valuable feedback for course correction.
  2. Structured Development: Establishing a foundational structure simplifies subsequent tasks, facilitating parallel development by multiple team members.
  3. Functional Demo: A complete, operational system allows for effective demonstrations.
  4. Clear Progress Tracking: Milestones provide a tangible sense of advancement.

This serves as a prelude to forthcoming segments inspired by Google’s original discourse, covering topics such as:

  • Initiating Machine Learning Projects
  • Deploying Initial Pipelines
  • Progressive Feature Development and Evaluation
  • Navigating Deadlocks

Stay tuned for the continuation of this series, delving deeper into the intricacies of machine learning system development.