mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-31 18:22:22 +01:00
_entry_from_collection_item parsed the repo name (the only source of the "-A3B" active size) only when HF's numParameters was missing, which is almost never. Every MoE model from the HF collection catalog was scored as dense, with speed estimates 3-4x too low. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 lines
1.4 KiB
Python
34 lines
1.4 KiB
Python
from services.hwfit.hf_discovery import _entry_from_collection_item
|
|
|
|
_SOURCE = {"owner": "Qwen", "provider": "Qwen"}
|
|
_COLLECTION = {"title": "Qwen3.6"}
|
|
|
|
|
|
def _item(repo_id, num_params):
|
|
item = {"id": repo_id, "type": "model", "pipeline_tag": "text-generation"}
|
|
if num_params is not None:
|
|
item["numParameters"] = num_params
|
|
return item
|
|
|
|
|
|
def test_moe_active_size_is_read_from_name_when_hf_reports_total():
|
|
# HF collection items carry numParameters for nearly every repo. The MoE
|
|
# active size only exists in the name, so it must still be parsed.
|
|
entry = _entry_from_collection_item(_COLLECTION, _item("Qwen/Qwen3.6-35B-A3B", 35_951_822_704), _SOURCE)
|
|
assert entry["parameters_raw"] == 35_951_822_704
|
|
assert entry["is_moe"] is True
|
|
assert entry["active_parameters"] == 3_000_000_000
|
|
|
|
|
|
def test_moe_entry_without_hf_count_falls_back_to_name():
|
|
entry = _entry_from_collection_item(_COLLECTION, _item("Qwen/Qwen3-Coder-30B-A3B-Instruct", None), _SOURCE)
|
|
assert entry["parameters_raw"] == 30_000_000_000
|
|
assert entry["is_moe"] is True
|
|
assert entry["active_parameters"] == 3_000_000_000
|
|
|
|
|
|
def test_dense_entry_keeps_hf_count_and_is_not_moe():
|
|
entry = _entry_from_collection_item(_COLLECTION, _item("Qwen/Qwen3.6-27B", 27_781_427_952), _SOURCE)
|
|
assert entry["parameters_raw"] == 27_781_427_952
|
|
assert "is_moe" not in entry
|