Add deepset/roberta-large-squad2 question-answering recipe#1100
Open
ssss141414 wants to merge 4 commits into
Open
Add deepset/roberta-large-squad2 question-answering recipe#1100ssss141414 wants to merge 4 commits into
ssss141414 wants to merge 4 commits into
Conversation
85cdf55 to
5399c34
Compare
5399c34 to
a2fceeb
Compare
Add fp16 recipe for deepset/roberta-large-squad2 (question-answering), mirroring the existing deepset/roberta-base-squad2 recipe. Bumps the recipe README total 75 -> 76. Validated CPU-only: genuine fp16 (FLOAT16=394, FLOAT32=0), build 331.4s, perf P50 1002.91ms. All-10-bucket coverage inferred from the certified roberta-base-squad2 QA recipe and certified roberta-large backbone; per-EP CI eval to confirm.
…or all-10-bucket README)
a2fceeb to
40e9971
Compare
Contributor
Author
Independent skill-workflow verdict: APPROVEA separate read-only reviewer pass verified current
No blocking issues. A formal GitHub APPROVE attempt from the independent Enterprise Managed User account was rejected by GitHub authorization policy, so this structured verdict is posted as a comment. The PR intentionally remains draft. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds verified CPU/fp32 and CPU/fp16 recipes for
deepset/roberta-large-squad2extractive question answering. The contribution is Effort L0 / Outcome L0 and reaches Goal L3 on both required CPU tuples, with measured perf, PyTorch parity, SQuAD v2 task metrics, and component/op-level analysis. Currentmainalready reaches L3 for CPU/fp32; these recipes add auditable tuple coverage plus checkpoint-specific evaluation metadata rather than masking an auto-config failure.Model metadata
Frozen model-breakdown report:
temp/pr1100_skill_run/model_breakdown_roberta_large_squad2.json; SHA-256607d12fdea398260f67d551cd9007f5466058b387297fc46fec3d5ebd27d05a6. Markdown report:temp/pr1100_skill_run/model_breakdown_roberta_large_squad2.md.What the model does
An English RoBERTa-large extractive-question-answering checkpoint that maps a question and context to start and end token-position logits, including the SQuAD 2.0 unanswerable-question setting.
Confidence: verified. Evidence: Hugging Face checkpoint config and model card at pinned revision 78fb38a59ea3cb6902e04d96da93efc87aeeff76; temp/pr1100_skill_run/04_inspect.json; Transformers v4.57.6 RobertaForQuestionAnswering.forward.
Primary user stories
Supported tasks
question-answeringModel architecture
RobertaForQuestionAnswering uses a pooler-free RoBERTa encoder: embedding block, 24 repeated encoder layers with 16-head self-attention and 1024-to-4096-to-1024 GELU feed-forward blocks, followed by a per-token 1024-to-2 linear span head split into start_logits and end_logits.
Confidence: verified. Components:
embeddings,encoder.layers[],encoder.layers[].attention,encoder.layers[].ffn,qa_outputs. Evidence: Pinned checkpoint config: 24 layers, hidden_size=1024, 16 heads, intermediate_size=4096; Transformers v4.57.6 modeling_roberta.py class construction and forward paths.Validation and support evidence
Baseline
76d48ad38f894c3fc5a5e760de67f0a096e438a6winml, version 0.2.0VENDOR-ONLY; vendor['feature-extraction', 'fill-mask', 'multiple-choice', 'question-answering', 'text-classification', 'token-classification']; after WinML registration['feature-extraction', 'fill-mask', 'multiple-choice', 'question-answering', 'text-classification', 'token-classification']; added by WinML[].C:/repo/winml-cli-pr1100-baseline/temp/pr1100_baseline (generated config file)Baseline commands:
Goal
fp32andfp16; no tuple omitted.Outcome
[]examples/recipes/deepset_roberta-large-squad2/cpu/cpu/question-answering_fp32_config.jsonexamples/recipes/deepset_roberta-large-squad2/cpu/cpu/question-answering_fp16_config.jsonroberta-001incopilot-skills/dev_skill/adding-model-support/model_knowledge/roberta.json(Lane A skills branch)._meta-077and reviewer-loop_meta-078are committed and pushed through78231091on the required separate ModelKitArtifacts Lane A branch. They record schema/fp16 handoff validation and the lint/methodology gate contradiction found by independent review. Skill files cannot be mixed into this winml-cli L0 model PR.Per-EP/device/precision results — including perf and eval data
Goal ladder
Perf
Eval
rajpurkar/squad_v2Nonerajpurkar/squad_v2NoneDelta
/eval: taskquestion-answering, datasetrajpurkar/squad_v2, validation split, 100 samples, and the question/context/id/answers column mapping. Auto-config's/compile: nullomission is not a behavior change./evaldelta is checkpoint-specific human intent and is not safely derivable as a class-wide RoBERTa rule.True.examples/recipes/README.mdremains untouched.Analyze results — component level and op level
Command status: PASS, exit code
0. Artifact:temp/pr1100_skill_run/17_analyze_all_fp32.json. Error:None.Component-level analysis
Mapped report:
temp/pr1100_skill_run/model_breakdown_roberta_large_squad2_mapped.json; SHA-256288c9a6529df2cba5a603af2aa95f3bfc9b67471a92f98998e9dde023f099d4e.embeddingsencoder.layers[]encoder.layers[].attentionencoder.layers[].ffnqa_outputsUnmapped: 10 of 865 nodes — graph-input preparation and final split/squeeze plumbing remain explicit gaps rather than heuristic component assignments.
Op-level analysis
Gather2,Add244,Cast5,Equal1,Not1,CumSum1,Mul97,LayerNormalization49,MatMul193,Reshape96,Transpose96,Unsqueeze2,Expand1,Sub1,Where1,Softmax24,Div24,Erf24,Split1,Squeeze2.verdict_table.json. CPU has no rule-backed runtime support, so its 20 op types are explicitly unknown rather than omitted.Reproduce commands