Tangle saves months of compute time, makes every experiment automatically reproducible, and allows teammates to share computation without coordination.
Overview
Shopify open-sources Tangle, an ML experimentation platform built to solve six common failure modes in machine learning development. The platform features visual pipeline editing, content-based caching, language-agnostic architecture, and has been battle-tested at Shopify's Search & Discovery scale, processing millions of queries across billions of products while saving over a year of compute time.
What You'll Learn
How to build ML pipelines visually using a drag-and-drop DAG interface instead of writing notebook code
Why content-based caching outperforms lineage-based caching for ML experimentation workflows
How to wrap existing CLI programs in any language as reusable pipeline components using YAML specifications
How to deploy Tangle on HuggingFace Spaces or locally with Docker for ML experimentation
Why platform-agnostic, language-neutral architecture eliminates dependency conflicts in ML pipelines
Prerequisites & Requirements
- Basic understanding of ML workflows including data preparation, model training, and evaluation
- Familiarity with directed acyclic graphs (DAGs) and pipeline concepts(optional)
- Docker or Podman for local installation
- uv package manager for local installation
- HuggingFace Pro subscription ($9/month) for cloud execution(optional)
Key Questions Answered
What is Tangle and how does it solve ML experimentation problems?
How does content-based caching differ from lineage-based caching in ML pipelines?
How do Tangle components work with any programming language?
How do you get started with Tangle on HuggingFace?
How does Tangle handle data flow between pipeline components?
What is Tangle's execution flow when a pipeline is submitted?
How does Tangle ensure ML experiment reproducibility?
How do you deploy a private Tangle instance on HuggingFace?
Key Statistics & Figures
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Key Actionable Insights
1Adopt content-based caching over lineage-based caching for ML pipelines to dramatically reduce redundant compute. When upstream components change but produce identical outputs, downstream tasks automatically reuse cached results, turning 10-hour pipeline reruns into 20-minute executions.This is especially impactful for teams where multiple data scientists run experiments sharing common preprocessing steps, as the global cache eliminates thousands of redundant compute hours monthly.
2Design ML pipeline components as pure functions with deterministic behavior—identical inputs should always produce identical outputs with no side effects. This enables effective caching, artifact reuse, and safe sharing across teams without unexpected state mutations.Tangle enforces this by defining components as YAML specifications that wrap containerized CLI programs reading and writing files, ensuring complete isolation between executions.
3Use language-agnostic component architecture to eliminate dependency conflicts in ML workflows. By wrapping existing CLI programs in container specifications rather than requiring framework-specific code, teams can mix Python, Java, JavaScript, Rust, and other languages in a single pipeline without compatibility issues.This approach also means existing codebases can be integrated without modification, reducing the barrier to adoption and allowing gradual migration of existing workflows.
4Implement visual DAG-based pipeline editors to make ML experimentation accessible to non-engineers. Product managers and analysts can create and run pipelines without writing code, enabling them to run experiments and track metrics independently while engineers focus on component development.Tangle's drag-and-drop interface renders complete data flow as a directed acyclic graph, providing immediate visibility into pipeline structure without parsing notebook code.
5Version ML components independently using content hashes rather than relying on package management systems. This allows teams to reference exact versions, mix different component versions in the same pipeline for comparison, and share specific component versions without dependency hell.Unlike Python packages installed globally, YAML-based component specifications can be organized into libraries, indexed, searched, and safely loaded from any source including GitHub, web, or cloud storage.
6Start with HuggingFace deployment for quick evaluation before investing in local or cloud infrastructure. The hosted multi-tenant service provides immediate access to Tangle's capabilities with HuggingFace handling storage, compute, and authentication at $9/month.For teams needing data isolation, duplicating the Space to an organization account creates a private instance with shared org-wide cache while maintaining complete control over data.