Building a Global Product Catalogue with Multimodal LLMs at Scale

shopify · E-commerce · 2025 · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Global ecommerce product-catalogue understanding

Shopify needed to turn fragmented, merchant-authored product listings from millions of merchants into unified, standardized, machine-readable product knowledge that can power search, recommendations, personalization, conversational commerce, and product matching.

Constraints:

Architecture

Shopify built Global Catalogue as a four-layer system: product data foundation, product understanding, product matching, and reconciliation. The product-understanding layer fine-tunes open-source vision-language models over multi-task, multi-entity catalogue entities. The matching layer clusters equivalent listings, and reconciliation builds canonical product records. Production inference runs through Triton, FP8 quantization, batching/routing, and selective field prompting so surfaces ask only for the fields they need.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  merchant-product-updates[Merchant product updates] --> product-data-foundation[Product data foundation]
  product-data-foundation --> product-understanding-layer[Product understanding layer]
  annotation-pipeline[Annotation pipeline] --> fine-tuned-vlms[Fine-tuned VLMs]
  fine-tuned-vlms --> product-understanding-layer
  product-understanding-layer --> product-matching-layer[Product matching layer]
  product-matching-layer --> reconciliation-layer[Reconciliation layer]
  reconciliation-layer --> global-catalogue[Global Catalogue]
  fine-tuned-vlms --> triton-inference-server[Triton inference server]
  triton-inference-server --> commerce-surfaces[Commerce surfaces]
  global-catalogue --> commerce-surfaces
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Merchant product updates Incoming product data from uploads, APIs, apps, and integrations. Product data foundation
Product data foundation Streaming ingestion, schema evolution, change data capture, historical views, and incremental processing. Merchant product updates, Product understanding layer
Product understanding layer Multimodal LLM layer that extracts standardized metadata, attributes, image understanding, and entity-level inferences. Product data foundation, Fine-tuned VLMs, Product matching layer
Fine-tuned VLMs Open-source vision-language models fine-tuned for Shopify catalogue entities and tasks. Product understanding layer, Annotation pipeline, Triton inference server
Annotation pipeline Data generation and evaluation pipeline combining LLM agents and human expertise. Fine-tuned VLMs
Product matching layer Clusters listings from different merchants that refer to the same product. Product understanding layer, Reconciliation layer
Reconciliation layer Aggregates inferred metadata into canonical product records. Product matching layer, Global Catalogue
Global Catalogue Unified product-knowledge layer used across Shopify. Reconciliation layer, Commerce surfaces
Triton inference server Production model-serving layer with preprocessing, batching, and routing across GPU infrastructure. Fine-tuned VLMs, Commerce surfaces
Commerce surfaces Admin UI, Shop app, APIs, bulk pipelines, search, recommendations, personalization, and conversational commerce consumers. Global Catalogue, Triton inference server

Data flow

Product updates arrive from merchant uploads, APIs, apps, and integrations into the product data foundation. Product-understanding models infer standardized metadata from text and images. Matching builds clusters of equivalent products across merchants, and reconciliation aggregates inferred metadata into canonical product records. Downstream surfaces such as search, recommendations, APIs, bulk pipelines, admin UI, Sidekick, and Shop app chat consume the enriched catalogue.

3 supporting quotes
“It operates through four integrated layers: product data, product understanding, product matching, and reconciliation.”article, stated
“We process over 10 million product updates daily from merchant uploads, APIs, apps, and integrations, in a streaming fashion.”article, stated
“For identified product clusters, the reconciliation layer constructs a canonical product record by aggregating all inferred metadata:”article, stated

Why this architecture

Shopify fine-tuned smaller open-source multimodal models because commercial APIs were too costly at its product-update volume. The multi-task, multi-entity setup captured interdependencies among catalogue fields, while selective field prompting restored generalization and reduced token generation. The four-layer catalogue separated ingestion, understanding, matching, and canonical record construction.

3 supporting quotes
“While commercial APIs like OpenAI and Gemini work well at a smaller scale, our volume makes them prohibitively expensive.”article, stated
“we fine-tune a vision large language model to perform multiple tasks simultaneously, rather than following the traditional approach of building separate models for each task.”article, stated
“Selective field prompting: Different surfaces request only required fields, reducing median latency from 2s to 500ms and GPU token usage by 40%.”article, stated

Models used: LlaVA 1.5 7B · LLaMA 3.2 11B · Qwen2VL 7B · OpenAI · Gemini · LLM agents

Scale

Alternatives considered (roads not taken)

Commercial multimodal APIs at full scale

Rejected because: Shopify's inference volume made OpenAI and Gemini prohibitively expensive.

“While commercial APIs like OpenAI and Gemini work well at a smaller scale, our volume makes them prohibitively expensive.”article, stated

Separate model per extraction task

Rejected because: Multi-task fine-tuning exploited interdependencies among category, summarization, and classification decisions.

“category inferences provide crucial context for text summarization, while text summarization can refine classification decisions”article, stated

Ask the model to predict all fields at inference

Rejected because: Predicting all fields harmed generalizability; selective extraction improved latency and cost.

“asking the model to predict all fields during fine-tuning led to a loss of generalizability at inference time.”article, stated

Patterns

fine-tuning-adaptation (modeling)

Shopify fine-tuned open-source vision-language models for product understanding across catalogue entities and tasks.

“We achieved better performance and control by fine-tuning smaller open source vision large language models.”article, stated

cost-aware-routing (operations)

Selective field prompting and open-source model serving reduced token generation and GPU usage at high inference volume.

“Selective field prompting: Different surfaces request only required fields, reducing median latency from 2s to 500ms and GPU token usage by 40%.”article, stated

latency-optimization (operations)

Triton serving, batching/routing, FP8 quantization, and selective field prompting kept daily multimodal inference practical.

“Triton inference server: Orchestrates model serving across our GPU fleet, handling request preprocessing, batching, and routing from multiple surfaces”article, stated

synthetic-data-generation (data)

The annotation pipeline used multiple LLM agents as annotators before human expertise and evaluation shaped training data.

“we deploy multiple LLM agents that act as annotators. These agents independently analyze the product and suggest appropriate categories.”article, stated

data-quality-loop (data)

The catalogue uses change data capture, schema evolution, annotation/evaluation, matching, and reconciliation to maintain canonical product records.

“A change data capture mechanism records all product modifications, enabling consistent historical views and robust incremental processing.”article, stated

Tradeoffs

Fine-tune open-source VLMs

Chose smaller controlled open-source models over commercial multimodal APIs.

Rationale: Fine-tuning provided better cost control and performance at Shopify's inference volume.

“We achieved better performance and control by fine-tuning smaller open source vision large language models.”article, stated

Use multi-task, multi-entity modeling

Chose one model setup that performs related catalogue tasks together over siloed task-specific models.

Rationale: Related tasks improve one another when modeled together.

“This architectural choice was not only efficient, we found that these tasks have strong interdependencies”article, stated

Use selective field prompting

Chose surface-specific field requests over generating every field for every inference.

Rationale: Selective prompting reduced latency and GPU token usage while preserving generalization.

“Different surfaces request only required fields, reducing median latency from 2s to 500ms and GPU token usage by 40%.”article, stated

Gotchas (what bit them)

Merchant data diversity is hostile to machine understanding.

Root cause: Millions of merchants describe billions of products in unique and inconsistent ways.

Resolution: Use a unified catalogue layer that standardizes and enriches product data.

“That diversity, while an incredible strength for commerce, is kryptonite for machine understanding.”article, stated

Commercial APIs become uneconomic at catalogue scale.

Root cause: The system performs tens of millions of multimodal inferences daily.

Resolution: Fine-tune and serve smaller open-source VLMs with optimized infrastructure.

“our volume makes them prohibitively expensive.”article, stated

All-field extraction reduced generalization.

Root cause: Asking models to predict every field during fine-tuning made them less flexible at inference time.

Resolution: Adopt selective field extraction so each surface requests only required fields.

“models trained with selective field extraction retain better generalization capabilities”article, stated

Evaluation

Shopify evaluates models across accuracy, computational cost, instruction following, training/evaluation data quality, latency, GPU footprint, and production serving throughput.

Metrics: 40 million LLM calls daily · 16 billion tokens per day · 2s to 500ms median latency reduction · 40% GPU token usage reduction · instruction-following metrics

“Instruction metrics: Since our models must respond to selective extraction requests, these metrics measure instruction following capability.”article, stated
“Each transition delivered higher accuracy while reducing GPU requirements.”article, stated

Outcomes

The system processes over 10 million product updates daily and serves 40 million LLM calls daily across Shopify surfaces.

“The catalogue is actively integrated across Shopify’s ecosystem:”article, stated
“AI assistants (e.g., Shopify Sidekick, Shop app’s chat) rely on catalogue data as structured context”article, stated