from safetensors.torch import load_file from model import GPT, GPTConfig EXPECTED_PARAMETER_COUNT = 4_782_336 def test_state_dict_keys_match(config_data, model): state_names = set(model.state_dict().keys()) loaded = load_file( "model.safetensors", device="cpu", ) assert set(loaded.keys()) == state_names def test_strict_load_succeeds(config_data, model): loaded = load_file( "model.safetensors", device="cpu", ) result = GPT(config=GPTConfig.from_json(config_data)).load_state_dict( loaded, strict=True, ) assert not result.missing_keys assert not result.unexpected_keys def test_parameter_count(model): parameters = sum( parameter.numel() for parameter in model.parameters() if parameter.requires_grad ) assert parameters == EXPECTED_PARAMETER_COUNT