Skip to content

recipe(lt-wikidata-comp-multi): add verified CPU fp32/fp16 recipes#1169

Open
codykk wants to merge 1 commit into
mainfrom
yongyue/add-lt-wikidata-comp-multi-support
Open

recipe(lt-wikidata-comp-multi): add verified CPU fp32/fp16 recipes#1169
codykk wants to merge 1 commit into
mainfrom
yongyue/add-lt-wikidata-comp-multi-support

Conversation

@codykk

@codykk codykk commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Add verified CPU recipes (fp32 + fp16) for dell-research-harvard/lt-wikidata-comp-multi. This XLM-RoBERTa checkpoint produces multilingual embeddings for Wikidata entity comparison. Effort L0, Goal L1 (build + perf), Outcome L0 (recipe only). Both precisions build and perf successfully on CPU.

Model metadata

What the model does: Produces dense embeddings from multilingual text for Wikidata entity comparison and linking tasks, fine-tuned from XLM-RoBERTa-large on a multilingual Wikidata entity comparison dataset.

Primary user stories:

  • User supplies multilingual entity descriptions to obtain dense embeddings for entity comparison, deduplication, and linking across Wikidata knowledge bases.

Supported tasks:

  • feature-extraction — Optimum vendor-supported (XLMRobertaModel); winml resolves via TasksManager with generic inference class.

Model architecture:

XLMRobertaModel
├── Embeddings (vocab 250002 x 1024)
├── Encoder stack x 24
│   ├── Self-attention (16 heads, 1024 dim)
│   ├── Feed-forward (1024 → 4096 → 1024, GELU)
│   └── Residual + LayerNorm
└── [No task head — feature-extraction outputs last_hidden_state]
  • Source/confidence: pinned checkpoint config.json (architectures: ["XLMRobertaModel"], model_type: "xlm-roberta") and Optimum vendor Wav2Vec2OnnxConfig export config (verified).

Validation and support evidence

Baseline

  • main commit: 5deebd42 | winml: 0.2.0
  • Optimum probe: VENDOR-ONLY — feature-extraction registered by Optimum for xlm-roberta; winml adds nothing.
  • Build: ✅ PASS (auto-config, no recipe) — AutoModel / feature-extraction
  • Perf: ✅ PASS — CPU avg 120.74 ms, 8.28 samples/sec
  • Goal floor: L1 (build + perf inherited from main)

Goal

  • Effort: L0 — recipe only, no source edits; Optimum vendor fully covers xlm-roberta feature-extraction.
  • Goal ceiling: L1 — baseline already demonstrates L0 + L1; L2 (numeric vs PyTorch) not built into CLI; L3 not applset for feature-extraction).
  • Outcome: L0 — recipe + report.

Outcome

Highest reached: L1 PASS (build + perf on both precisions). Coverage: full (all target tuples passed). Deferred tuples: none.

Shipped recipes:

  • examples/recipes/dell-research-harvard_lt-wikidata-comp-multi/cpu/cpu/feature-extraction_fp32_config.json
  • examples/recipes/dell-research-harvard_lt-wikidata-comp-multi/cpu/cpu/feature-extraction_fp16_config.json

Per-EP/device/precision results

Tier EP / Device Precision Verdict Mean p50 Throughput RAM Δ
L0 CPUExecutionProvider / cpu fp32 PASS
L1 CPUExecutionProvider / cpu fp32 PASS 120.74 ms 120.09 ms 8.28 samples/sec +445.2 MB
L0 CPUExecutionProvider / cpu fp16 PASS
L1 CPUExecutionProvider / cpu fp16 PASS 4.65 samples/sec

Delta

Recipe delta vs winml config (auto-config baseline): identical — filed for verified cpu/cpu coverage. The production recipe README (examples/recipes/README.md) remains untouched.

Analyze summary — component level and op level

Static rule analysis completed; this is compatibility analysis, not runtime execution.

Component-level summary

Artifact Architecture coverage Mapping Actionable EP findings
fp32 embeddings; 24x encoder attention/FFN (Gemm, MatMul, Softmax, Gelu, LayerNorm) 392 total ops (after autoconf: gelu_fusion, matmul_add_fusion) None actionable — CPU is rule-less

Op-level summary

Artifact Graph Dominant ops EP roll-up
fp32 392 ops / 18 types Reshape 120; Gemm 72; Transpose 48; Add 39; Mul 25; LayerNormalization 25; MatMul 24 CP-less EP)

Rule-less EPs (CPU): all operator types classified as unknown — no runtime check rules available.

Reproduce commands

# fp32
winml build -m dell-research-harvard/lt-wikidata-comp-multi `
  -c examples/recipes/dell-research-harvard_lt-wikidata-comp-multi/cpu/cpu/feature-extraction_fp32_config.json `
  -o $OUT --ep cpu --device cpu
winml perf -m $OUT/model.onnx --ep cpu --device cpu

# fp16
winml build -m dell-research-harvard/lt-wikidata-comp-multi `
  -c examples/recipes/dell-research-harvard_lt-wikidata-comp-multi/cpu/cpu/feature-extraction_fp16_config.json `
  -o $OUT_FP16 --ep cpu --device cpu -p fp16
winml perf -m $OUT_FP16/model.onnx --ep cpu --device cpu

@codykk
codykk marked this pull request as ready for review July 22, 2026 12:00
@codykk
codykk requested a review from a team as a code owner July 22, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant