Skip to content

Commit 089315f

Browse files
committed
added expectation test for roberta squad v2 qa
Signed-off-by: Joshua Rosenkranz <jmrosenk@us.ibm.com>
1 parent 7c2e627 commit 089315f

File tree

3 files changed

+41
-7
lines changed

3 files changed

+41
-7
lines changed

tests/models/test_model_expectations.py

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,71 @@
88
)
99
import os
1010

11+
if "HF_HOME" not in os.environ:
12+
os.environ["HF_HOME"] = "/tmp/models/hf_cache"
13+
1114
model_dir = os.environ.get("FMS_TESTING_MODEL_DIR", "/tmp/models")
1215
LLAMA_194M = f"{model_dir}/llama-194m"
1316
GRANITE_7B_BASE = f"{model_dir}/granite-7b-base"
1417
GRANITE_8B_CODE_BASE = f"{model_dir}/granite-8b-code-base"
1518
GRANITE_3_8B_CODE_BASE = f"{model_dir}/granite-3-8b-base"
1619

1720
models = [LLAMA_194M, GRANITE_7B_BASE, GRANITE_8B_CODE_BASE, GRANITE_3_8B_CODE_BASE]
21+
mini_models = {LLAMA_194M, GRANITE_7B_BASE, GRANITE_8B_CODE_BASE, GRANITE_3_8B_CODE_BASE}
1822

1923
class AIUModelFixtureMixin(ModelFixtureMixin):
2024

2125
@pytest.fixture(scope="class", autouse=True)
2226
def uninitialized_model(self, model_id):
27+
if model_id in mini_models:
28+
get_model_kwargs = {"architecture": "hf_configured", "nlayers": 3}
29+
else:
30+
get_model_kwargs = {"architecture": "hf_pretrained"}
31+
2332
aiu_model = get_model(
24-
"hf_configured",
25-
model_id,
33+
variant=model_id,
2634
device_type="cpu",
2735
unfuse_weights=True,
28-
nlayers=3
36+
**get_model_kwargs
2937
)
3038
torch.compile(aiu_model, backend="sendnn")
3139
return aiu_model
32-
40+
41+
class TestAIUModels(
42+
ModelConsistencyTestSuite,
43+
AIUModelFixtureMixin,
44+
):
45+
46+
# x is the main parameter for this model which is the input tensor
47+
_get_signature_params = ["x"]
48+
3349
@pytest.fixture(scope="class", autouse=True, params=models)
3450
def model_id(self, request):
3551
return request.param
3652

37-
class TestAIUModels(
53+
def test_model_unfused(self, model, signature):
54+
pytest.skip("All AIU models are already unfused")
55+
56+
57+
ROBERTA_SQUAD_v2 = "deepset/roberta-base-squad2"
58+
tuple_output_models = [ROBERTA_SQUAD_v2]
59+
60+
class TestAIUModelsTupleOutput(
3861
ModelConsistencyTestSuite,
3962
AIUModelFixtureMixin,
4063
):
41-
64+
4265
# x is the main parameter for this model which is the input tensor
4366
_get_signature_params = ["x"]
4467

68+
@pytest.fixture(scope="class", autouse=True, params=tuple_output_models)
69+
def model_id(self, request):
70+
return request.param
71+
72+
@staticmethod
73+
def _get_signature_logits_getter_fn(f_out) -> torch.Tensor:
74+
return torch.cat([f_out[0], f_out[1]], dim=-1)
75+
4576
def test_model_unfused(self, model, signature):
46-
pytest.skip("All AIU models are already unfused")
77+
pytest.skip("All AIU models are already unfused")
78+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9.834766387939453e-07,3.5762786865234375e-07,8.940696716308594e-07,6.258487701416016e-07,8.344650268554688e-07,1.1324882507324219e-06,6.556510925292969e-07,1.2516975402832031e-06,1.6391277313232422e-06,0.0,2.384185791015625e-07,1.1324882507324219e-06,4.172325134277344e-07,9.238719940185547e-07,4.76837158203125e-07,1.1622905731201172e-06,0.2104383111000061,0.2104375958442688,0.21043795347213745,0.21043813228607178,0.21043753623962402,0.21043819189071655,0.2104378342628479,0.21043813228607178,0.21043860912322998,0.21043741703033447,0.21043741703033447,0.21043819189071655,0.21043717861175537,0.21043848991394043,0.21043795347213745,0.21043837070465088
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
base_model.embedding.weight,base_model.enc_norm.bias,base_model.enc_norm.weight,base_model.layers.0.attn.dense.bias,base_model.layers.0.attn.dense.weight,base_model.layers.0.attn.in_proj.qkv_fused.bias,base_model.layers.0.attn.in_proj.qkv_fused.weight,base_model.layers.0.ff_ln.bias,base_model.layers.0.ff_ln.weight,base_model.layers.0.ff_sub_layer.w1.bias,base_model.layers.0.ff_sub_layer.w1.weight,base_model.layers.0.ff_sub_layer.w2.bias,base_model.layers.0.ff_sub_layer.w2.weight,base_model.layers.0.ln.bias,base_model.layers.0.ln.weight,base_model.layers.1.attn.dense.bias,base_model.layers.1.attn.dense.weight,base_model.layers.1.attn.in_proj.qkv_fused.bias,base_model.layers.1.attn.in_proj.qkv_fused.weight,base_model.layers.1.ff_ln.bias,base_model.layers.1.ff_ln.weight,base_model.layers.1.ff_sub_layer.w1.bias,base_model.layers.1.ff_sub_layer.w1.weight,base_model.layers.1.ff_sub_layer.w2.bias,base_model.layers.1.ff_sub_layer.w2.weight,base_model.layers.1.ln.bias,base_model.layers.1.ln.weight,base_model.layers.10.attn.dense.bias,base_model.layers.10.attn.dense.weight,base_model.layers.10.attn.in_proj.qkv_fused.bias,base_model.layers.10.attn.in_proj.qkv_fused.weight,base_model.layers.10.ff_ln.bias,base_model.layers.10.ff_ln.weight,base_model.layers.10.ff_sub_layer.w1.bias,base_model.layers.10.ff_sub_layer.w1.weight,base_model.layers.10.ff_sub_layer.w2.bias,base_model.layers.10.ff_sub_layer.w2.weight,base_model.layers.10.ln.bias,base_model.layers.10.ln.weight,base_model.layers.11.attn.dense.bias,base_model.layers.11.attn.dense.weight,base_model.layers.11.attn.in_proj.qkv_fused.bias,base_model.layers.11.attn.in_proj.qkv_fused.weight,base_model.layers.11.ff_ln.bias,base_model.layers.11.ff_ln.weight,base_model.layers.11.ff_sub_layer.w1.bias,base_model.layers.11.ff_sub_layer.w1.weight,base_model.layers.11.ff_sub_layer.w2.bias,base_model.layers.11.ff_sub_layer.w2.weight,base_model.layers.11.ln.bias,base_model.layers.11.ln.weight,base_model.layers.2.attn.dense.bias,base_model.layers.2.attn.dense.weight,base_model.layers.2.attn.in_proj.qkv_fused.bias,base_model.layers.2.attn.in_proj.qkv_fused.weight,base_model.layers.2.ff_ln.bias,base_model.layers.2.ff_ln.weight,base_model.layers.2.ff_sub_layer.w1.bias,base_model.layers.2.ff_sub_layer.w1.weight,base_model.layers.2.ff_sub_layer.w2.bias,base_model.layers.2.ff_sub_layer.w2.weight,base_model.layers.2.ln.bias,base_model.layers.2.ln.weight,base_model.layers.3.attn.dense.bias,base_model.layers.3.attn.dense.weight,base_model.layers.3.attn.in_proj.qkv_fused.bias,base_model.layers.3.attn.in_proj.qkv_fused.weight,base_model.layers.3.ff_ln.bias,base_model.layers.3.ff_ln.weight,base_model.layers.3.ff_sub_layer.w1.bias,base_model.layers.3.ff_sub_layer.w1.weight,base_model.layers.3.ff_sub_layer.w2.bias,base_model.layers.3.ff_sub_layer.w2.weight,base_model.layers.3.ln.bias,base_model.layers.3.ln.weight,base_model.layers.4.attn.dense.bias,base_model.layers.4.attn.dense.weight,base_model.layers.4.attn.in_proj.qkv_fused.bias,base_model.layers.4.attn.in_proj.qkv_fused.weight,base_model.layers.4.ff_ln.bias,base_model.layers.4.ff_ln.weight,base_model.layers.4.ff_sub_layer.w1.bias,base_model.layers.4.ff_sub_layer.w1.weight,base_model.layers.4.ff_sub_layer.w2.bias,base_model.layers.4.ff_sub_layer.w2.weight,base_model.layers.4.ln.bias,base_model.layers.4.ln.weight,base_model.layers.5.attn.dense.bias,base_model.layers.5.attn.dense.weight,base_model.layers.5.attn.in_proj.qkv_fused.bias,base_model.layers.5.attn.in_proj.qkv_fused.weight,base_model.layers.5.ff_ln.bias,base_model.layers.5.ff_ln.weight,base_model.layers.5.ff_sub_layer.w1.bias,base_model.layers.5.ff_sub_layer.w1.weight,base_model.layers.5.ff_sub_layer.w2.bias,base_model.layers.5.ff_sub_layer.w2.weight,base_model.layers.5.ln.bias,base_model.layers.5.ln.weight,base_model.layers.6.attn.dense.bias,base_model.layers.6.attn.dense.weight,base_model.layers.6.attn.in_proj.qkv_fused.bias,base_model.layers.6.attn.in_proj.qkv_fused.weight,base_model.layers.6.ff_ln.bias,base_model.layers.6.ff_ln.weight,base_model.layers.6.ff_sub_layer.w1.bias,base_model.layers.6.ff_sub_layer.w1.weight,base_model.layers.6.ff_sub_layer.w2.bias,base_model.layers.6.ff_sub_layer.w2.weight,base_model.layers.6.ln.bias,base_model.layers.6.ln.weight,base_model.layers.7.attn.dense.bias,base_model.layers.7.attn.dense.weight,base_model.layers.7.attn.in_proj.qkv_fused.bias,base_model.layers.7.attn.in_proj.qkv_fused.weight,base_model.layers.7.ff_ln.bias,base_model.layers.7.ff_ln.weight,base_model.layers.7.ff_sub_layer.w1.bias,base_model.layers.7.ff_sub_layer.w1.weight,base_model.layers.7.ff_sub_layer.w2.bias,base_model.layers.7.ff_sub_layer.w2.weight,base_model.layers.7.ln.bias,base_model.layers.7.ln.weight,base_model.layers.8.attn.dense.bias,base_model.layers.8.attn.dense.weight,base_model.layers.8.attn.in_proj.qkv_fused.bias,base_model.layers.8.attn.in_proj.qkv_fused.weight,base_model.layers.8.ff_ln.bias,base_model.layers.8.ff_ln.weight,base_model.layers.8.ff_sub_layer.w1.bias,base_model.layers.8.ff_sub_layer.w1.weight,base_model.layers.8.ff_sub_layer.w2.bias,base_model.layers.8.ff_sub_layer.w2.weight,base_model.layers.8.ln.bias,base_model.layers.8.ln.weight,base_model.layers.9.attn.dense.bias,base_model.layers.9.attn.dense.weight,base_model.layers.9.attn.in_proj.qkv_fused.bias,base_model.layers.9.attn.in_proj.qkv_fused.weight,base_model.layers.9.ff_ln.bias,base_model.layers.9.ff_ln.weight,base_model.layers.9.ff_sub_layer.w1.bias,base_model.layers.9.ff_sub_layer.w1.weight,base_model.layers.9.ff_sub_layer.w2.bias,base_model.layers.9.ff_sub_layer.w2.weight,base_model.layers.9.ln.bias,base_model.layers.9.ln.weight,base_model.position_embedding.weight,qa_head.bias,qa_head.weight

0 commit comments

Comments
 (0)