Download test_apple_native.py from MarxistLeninist/dbmoe: direct link, hf CLI and curl.
- Browser
- Download file 3.56 kB
-
https://huggingface.co/MarxistLeninist/dbmoe/resolve/main/test_apple_native.py
- Command line
-
hf download hf://MarxistLeninist/dbmoe/test_apple_native.py
-
curl -L -o test_apple_native.py https://huggingface.co/MarxistLeninist/dbmoe/resolve/main/test_apple_native.py
3.56 kB
| """Numerical contract only. These tests do not run Swift, Metal or an Apple app.""" | |
| import importlib.util | |
| import json | |
| import math | |
| from pathlib import Path | |
| import unittest | |
| import torch | |
| ROOT = Path(__file__).resolve().parent | |
| SPEC = importlib.util.spec_from_file_location('native_reference', ROOT / 'apple/generate_parity_fixture.py') | |
| GENERATOR = importlib.util.module_from_spec(SPEC) | |
| SPEC.loader.exec_module(GENERATOR) | |
| class NativeNumericalReferenceTests(unittest.TestCase): | |
| def setUpClass(cls): | |
| cls.fixture = json.loads((ROOT / 'apple/parity.json').read_text()) | |
| cls.actual = GENERATOR.generate(ROOT / 'dbmoe.py') | |
| def test_fixture_contains_only_finite_json(self): | |
| json.dumps(self.fixture, allow_nan=False) | |
| self.assertEqual(self.fixture['format'], 'dbmoe.native.parity.v1') | |
| def test_fixture_has_explicit_noise_and_both_experts(self): | |
| self.assertEqual(self.fixture['batch'], self.actual['batch']) | |
| self.assertEqual(self.fixture['sigma'], self.actual['sigma']) | |
| self.assertEqual(self.fixture['epsilon'], self.actual['epsilon']) | |
| self.assertEqual(self.fixture['cfg'], self.actual['cfg']) | |
| self.assertEqual(self.fixture['expected']['expert_fractions'][0]['data'], [.5, .5]) | |
| def test_losses_gradients_and_adamw_step_replay(self): | |
| expected, actual = self.fixture['expected'], self.actual['expected'] | |
| for name in ('loss', 'ce', 'auxiliary', 'gradient_norm_before_clip'): | |
| self.assertTrue(math.isclose(expected[name], actual[name], rel_tol=1e-5, abs_tol=1e-6), name) | |
| for section in ('initial',): | |
| self.assertEqual(self.fixture[section], self.actual[section]) | |
| for section in ('gradients', 'clipped_gradients', 'after_step', 'deltas'): | |
| self.assertEqual(set(expected[section]), set(actual[section])) | |
| for name, ref in expected[section].items(): | |
| got = actual[section][name] | |
| if ref is None: | |
| self.assertIsNone(got, name) | |
| continue | |
| self.assertEqual(ref['shape'], got['shape'], name) | |
| self.assertEqual(ref['dtype'], got['dtype'], name) | |
| torch.testing.assert_close(torch.tensor(ref['data']), torch.tensor(got['data']), | |
| rtol=1e-5, atol=1e-6, msg=section + ': ' + name) | |
| for name in ('denoised', 'logits'): | |
| torch.testing.assert_close(torch.tensor(expected[name]['data']), torch.tensor(actual[name]['data']), | |
| rtol=1e-5, atol=1e-6, msg=name) | |
| def test_attention_and_clipping_are_exercised(self): | |
| expected = self.fixture['expected'] | |
| self.assertGreater(expected['gradient_norm_before_clip'], 1.) | |
| qkv = expected['gradients']['block.layers.0.qkv.weight']['data'] | |
| self.assertGreater(max(abs(x) for x in qkv), 1e-8) | |
| deltas = expected['deltas']['block.layers.0.qkv.weight']['data'] | |
| self.assertGreater(max(abs(x) for x in deltas), 1e-8) | |
| def test_optional_skewed_fixture_exercises_unequal_usage(self): | |
| result = GENERATOR.generate(ROOT / 'dbmoe.py', skewed=True) | |
| expected = result['expected'] | |
| self.assertEqual(sorted(expected['expert_fractions'][0]['data']), [.25, .75]) | |
| self.assertGreater(abs(expected['auxiliary'] - 1.), 1e-3) | |
| self.assertAlmostEqual(expected['loss'], 3.6444308757781982, places=5) | |
| json.dumps(result, allow_nan=False) | |
| if __name__ == '__main__': | |
| unittest.main() | |