top of page

Sharing ML Assets Across Teams Without Duplication

  • ShiftQuality Contributor
  • Aug 12, 2025
  • 5 min read

As soon as an organization has more than one ML project, the duplication starts. Team A builds a feature pipeline for user engagement. Team B builds a nearly identical pipeline for churn prediction. Team C builds a third version because they didn't know the first two existed. Each pipeline has a slightly different definition of "active user," which produces slightly different results, which nobody notices until the models disagree and someone spends a week figuring out why.

This isn't a tooling problem. It's an organizational problem that tooling can help solve. Sharing ML assets — features, datasets, models, and pipelines — across teams requires both infrastructure and agreement.

What Gets Duplicated and Why

Features

Feature engineering is the most commonly duplicated work in ML teams. Computing "average transaction value over 30 days" or "days since last login" seems simple enough that every team writes their own version. But each version handles edge cases differently (what about users with zero transactions?), uses different data sources (the real-time event stream vs. the nightly batch), and produces subtly different values.

These inconsistencies are invisible until they cause problems. A model trained on one definition of a feature and served with another definition of the "same" feature will silently degrade. Nobody files a bug because nobody knows the definitions differ.

Datasets

Curated datasets for training and evaluation represent significant work — data cleaning, labeling, split creation, bias checking. Without a shared catalog, each team creates their own evaluation sets, often with different quality standards and different coverage of edge cases.

Pipelines

Data extraction, transformation, and loading pipelines are infrastructure-heavy and time-consuming to build. When teams can't reuse pipelines, they rebuild them — and each rebuild makes slightly different choices about error handling, schema validation, and scheduling.

Models

A trained model that solves one team's sub-problem (e.g., text classification, entity extraction) might be directly usable by another team. But without a shared registry, teams retrain from scratch because they don't know a suitable model already exists.

Feature Stores: The Core Infrastructure

A feature store is a centralized system for defining, computing, storing, and serving ML features. It solves the feature duplication problem by making features a shared organizational resource rather than a per-team artifact.

What a Feature Store Does

Single definition per feature. "Active user" is defined once, computed once, and available to every team. The definition includes the computation logic, the data source, the update frequency, and the owner.

Consistent serving. The same feature values used during training are available during inference. This prevents training-serving skew — one of the most common and hardest-to-diagnose ML bugs.

Discovery. Teams can search for existing features before building new ones. A catalog with descriptions, owners, and usage statistics makes existing work visible.

Time travel. Feature stores typically store historical feature values, enabling point-in-time lookups for training data creation. This prevents data leakage — accidentally using future information when creating training examples.

Starting Simple

You don't need Feast, Tecton, or a custom platform to get started. The first version of a feature store can be:

  • A shared database table with standardized columns (entity_id, feature_name, feature_value, computed_at)

  • A documented catalog (even a spreadsheet) listing available features, their definitions, and owners

  • A shared computation library that implements feature definitions as reusable functions

The important part isn't the tooling — it's the discipline. One definition per feature. One source of truth. Discoverable by other teams.

When to Invest in a Real Feature Store

When the simple approach breaks down — typically when you have more than 10 shared features, more than 3 teams using them, or real-time serving requirements — a dedicated feature store is worth the investment.

Feast is the most common open-source option. It handles offline (batch) and online (real-time) feature serving, integrates with common data warehouses and databases, and has a growing ecosystem.

Managed options (Tecton, AWS SageMaker Feature Store, Databricks Feature Store) reduce operational overhead at higher cost.

Model Registries

A model registry catalogs trained models with their metadata — training data, hyperparameters, evaluation metrics, serving requirements, and ownership.

The problem it solves: Team B needs a text classifier. Team A trained one six months ago. Without a registry, Team B doesn't know it exists and trains their own. With a registry, they find it, evaluate it against their requirements, and either use it directly or use it as a starting point.

What to track per model:

  • Model version and training date

  • Training data description and version

  • Evaluation metrics on standard benchmarks

  • Known limitations and failure modes

  • Serving requirements (latency, memory, dependencies)

  • Owner and contact for questions

MLflow is the standard open-source model registry. It tracks experiments, packages models, and serves them through a consistent API. It's worth adopting even for small teams because the organizational overhead is minimal and the benefit grows with every model you train.

Dataset Catalogs

A dataset catalog is simpler than a feature store but addresses a different problem: making curated datasets discoverable and documented.

Each dataset entry should include:

  • Description of the data and its intended use

  • Source and collection methodology

  • Known biases or limitations

  • Size and schema

  • Quality checks that have been run

  • Version history

  • License and usage restrictions

This can be as simple as a shared directory with standardized README files per dataset. The key is that it exists, is maintained, and is the first place anyone checks before creating a new dataset.

Making Sharing Actually Happen

Infrastructure enables sharing. Culture determines whether it happens.

Make discovery the path of least resistance. If finding an existing feature is harder than building a new one, people will build new ones. Feature stores, registries, and catalogs need to be easy to search and well-documented.

Recognize contributions. If building a reusable feature takes 50% more effort than building a single-use one, but the team gets no recognition for the extra effort, they'll build single-use features. Make shared asset creation visible and valued.

Assign ownership. Every shared asset needs an owner — someone responsible for its quality, documentation, and maintenance. Unowned shared assets degrade into unmaintained liabilities.

Start with the highest-value assets. Don't try to share everything at once. Identify the 5-10 features that are most commonly duplicated and share those first. The wins build momentum for broader adoption.

Key Takeaway

ML asset duplication wastes engineering time and introduces subtle inconsistencies that degrade model quality. Feature stores provide single definitions, consistent serving, and discovery for shared features. Model registries make trained models findable and reusable. Dataset catalogs prevent redundant data curation. The infrastructure matters, but the culture of sharing — making discovery easy, recognizing contributions, and assigning ownership — determines whether sharing actually happens.

This completes the ML Beyond Tutorials learning path. You've covered the transition from notebooks to production, data pipelines, reproducible experiments, and sharing ML assets across teams. The throughline: production ML isn't about model accuracy alone — it's about the infrastructure and practices that make ML work reliably at organizational scale.

Comments


bottom of page