live: ban gguf/openchat/peft-lora; bake verify_fail marks from 2026-10-17 analysis

This commit is contained in:
Victor Cao
2026-10-17 19:23:51 +08:00
parent 78cfea508d
commit b0d66da881
4 changed files with 115 additions and 1 deletions

View File

@@ -2,6 +2,10 @@
import re import re
RULES = ( RULES = (
('gguf', r'gguf|\.gguf|ggml'),
('openchat', r'openchat'),
# Full-weight exports override adapter hints anywhere in the identifier.
('peft-lora', r'^(?!.*(?:merged|merge|fullft|full-ft)).*(?:\blora\b|adapter_model|adapter-config|peft)'),
('gpt2', r'gpt-?2|dialogpt|distilgpt2'), ('gpt2', r'gpt-?2|dialogpt|distilgpt2'),
('phi', r'phi[-_. ]?(?:3(?:\.5)?|4)(?:\D|$)'), ('phi', r'phi[-_. ]?(?:3(?:\.5)?|4)(?:\D|$)'),
('nemotron-h', r'nemotron-h'), ('olmo2', r'olmo-?2'), ('nemotron-h', r'nemotron-h'), ('olmo2', r'olmo-?2'),

View File

@@ -56,6 +56,62 @@
"code": 60028, "code": 60028,
"reason": "CREATE_CONTEST_TASK_MODEL_VERIFY_RUNNING", "reason": "CREATE_CONTEST_TASK_MODEL_VERIFY_RUNNING",
"date": "2026-10-17" "date": "2026-10-17"
},
{
"model": "Qurtana/Qwen-2.5-0.5B-MathInstruct.rev.2",
"gpu": "Biren_166m",
"code": 60029,
"reason": "VERIFY_FAIL:SCORE_GAP",
"date": "2026-10-17"
},
{
"model": "prithivMLmods/Reasoning-SmolLM2-135M",
"gpu": "Biren_166m",
"code": 60029,
"reason": "VERIFY_FAIL:SCORE_GAP",
"date": "2026-10-17"
},
{
"model": "Qwen/Qwen2.5-Coder-7B-Instruct",
"gpu": "Sunrise_pt-200-x1",
"code": 60029,
"reason": "VERIFY_FAIL:SCORE_GAP",
"date": "2026-10-17"
},
{
"model": "FlofloB/100k_fineweb_continued_pretraining_Qwen2.5-0.5B-Instruct_Unsloth_merged_16bit",
"gpu": "Biren_166m",
"code": 60029,
"reason": "VERIFY_FAIL:SCORE_GAP",
"date": "2026-10-17"
},
{
"model": "prithivMLmods/Bellatrix-Tiny-0.5B",
"gpu": "Biren_166m",
"code": 60029,
"reason": "VERIFY_FAIL:SCORE_GAP",
"date": "2026-10-17"
},
{
"model": "sunmengjie/DeepSeek-R1-Distill-Qwen-1.5B-GRPO",
"gpu": "Biren_166m",
"code": 60029,
"reason": "VERIFY_FAIL:PEFT_UNMERGED",
"date": "2026-10-17"
},
{
"model": "DevQuasar/efficientscaling.Z1-7B-GGUF",
"gpu": "Mthreads_s4000",
"code": 60029,
"reason": "VERIFY_FAIL:NO_IDLE_DEVICE",
"date": "2026-10-17"
},
{
"model": "abaryan/CyberXP_Agent_Llama_3.2_1B",
"gpu": "Biren_166m",
"code": 60029,
"reason": "VERIFY_FAIL:REF_CACHE_MISS",
"date": "2026-10-17"
} }
] ]
} }

36
tests/test_banned.py Normal file
View File

@@ -0,0 +1,36 @@
import unittest
from src.banned import banned_rule
class TestBanned(unittest.TestCase):
def test_default_engine_and_openchat(self):
for model, rule in [('org/Model-GGUF', 'gguf'), ('org/model.gguf', 'gguf'),
('org/GGML-model', 'gguf'), ('OpenChat/model', 'openchat')]:
with self.subTest(model=model):
self.assertEqual(banned_rule(model), rule)
def test_unmerged_adapter_hints(self):
for model in ('org/model-lora', 'org/LORA', 'org/adapter_model',
'org/model-adapter-config', 'org/Model-PEFT'):
with self.subTest(model=model):
self.assertEqual(banned_rule(model), 'peft-lora')
def test_full_weights_and_unrelated_names(self):
for model in ('org/lora-merged', 'org/merge-lora', 'org/PEFT-FULLFT',
'org/full-ft-adapter_model', 'org/adapter-config-MERGED',
'org/flora', 'org/lorax', 'org/model_lora',
'org/model-GRPO', 'abaryan/CyberXP_Agent_Llama_3.2_1B'):
with self.subTest(model=model):
self.assertIsNone(banned_rule(model))
def test_full_weight_hint_does_not_override_other_bans(self):
self.assertEqual(banned_rule('org/lora-merged-GGUF'), 'gguf')
self.assertEqual(banned_rule('org/openchat-fullft'), 'openchat')
def test_existing_rules(self):
for model in ('gpt2', 'org/Phi-3-mini', 'nvidia/Nemotron-H-4B',
'allenai/OLMo-2-7B', 'org/LFM2', 'org/Spark-X2.5',
'org/Breeze', 'org/gemma2', 'org/mistral-v0.1', 'org/tinyllama'):
with self.subTest(model=model):
self.assertIsNotNone(banned_rule(model))

View File

@@ -18,11 +18,29 @@ from src.precheck import precheck_model
class TestMarks(unittest.TestCase): class TestMarks(unittest.TestCase):
def test_baked_marks(self): def test_baked_marks(self):
marks = load_marks() marks = load_marks()
self.assertEqual(len(marks), 8) self.assertEqual(len(marks), 16)
self.assertTrue(all(g in GPU_ENUMS.values() for m, g in marks)) self.assertTrue(all(g in GPU_ENUMS.values() for m, g in marks))
self.assertEqual(marks['madeagents/hammer2.1-0.5b', 'Biren_166m'], 60027) self.assertEqual(marks['madeagents/hammer2.1-0.5b', 'Biren_166m'], 60027)
self.assertEqual(PERMANENT_PAIR_CODES, {60012, *range(60019, 60030)}) self.assertEqual(PERMANENT_PAIR_CODES, {60012, *range(60019, 60030)})
def test_verify_fail_marks(self):
rows = json.loads(Path('src/data/reject-marks.json').read_text())['marks']
keys = [(row['model'].lower(), row['gpu']) for row in rows]
self.assertEqual(len(keys), len(set(keys)))
failures = [row for row in rows if row['reason'].startswith('VERIFY_FAIL:')]
self.assertEqual(len(failures), 8)
self.assertEqual(sorted(row['reason'] for row in failures),
sorted(['VERIFY_FAIL:SCORE_GAP'] * 5 +
['VERIFY_FAIL:PEFT_UNMERGED', 'VERIFY_FAIL:NO_IDLE_DEVICE',
'VERIFY_FAIL:REF_CACHE_MISS']))
marks = load_marks()
for row in failures:
self.assertEqual(row['code'], 60029)
self.assertIn(row['code'], PERMANENT_PAIR_CODES)
self.assertEqual(marks[row['model'].lower(), row['gpu']], 60029)
self.assertEqual(marks['abaryan/cyberxp_agent_llama_3.2_1b', 'Biren_166m'], 60029)
self.assertNotIn(('abaryan/cyberxp_agent_llama_3.2_1b', 'Iluvatar_bi-100'), marks)
def test_invalid_marks(self): def test_invalid_marks(self):
with tempfile.TemporaryDirectory() as directory: with tempfile.TemporaryDirectory() as directory:
path = Path(directory) / 'marks.json' path = Path(directory) / 'marks.json'