| """
|
| Checkpoint processing: SafeTensors ingestion and weight selection.
|
|
|
| Supports:
|
| - Synthetic checkpoint generation (demo mode)
|
| - Real safetensors file loading (requires safetensors package)
|
| - Deterministic weight selection (lexicographic order)
|
| """
|
|
|
| import numpy as np
|
| from pathlib import Path
|
| from .sovereign_shift import Q, N_ACTIVE
|
|
|
| HAS_SAFETENSORS = False
|
| try:
|
| from safetensors.numpy import load_file, save_file
|
| HAS_SAFETENSORS = True
|
| except ImportError:
|
| pass
|
|
|
|
|
| def generate_synthetic(seed: int = 42, path: str = "llama3_demo.safetensors") -> str:
|
| """
|
| Generate synthetic Llama 3-like checkpoint for demo.
|
| 1M parameters, deterministic from seed.
|
| """
|
| if not HAS_SAFETENSORS:
|
| raise ImportError("safetensors required: pip install safetensors")
|
|
|
| rng = np.random.default_rng(seed)
|
|
|
| weights = {
|
| "model.embed_tokens.weight": rng.normal(0, 0.02, (32000, 4)).astype(np.float32),
|
| "model.layers.0.self_attn.q_proj.weight": rng.normal(0, 0.02, (4096, 4)).astype(np.float32),
|
| "model.layers.0.self_attn.k_proj.weight": rng.normal(0, 0.02, (4096, 4)).astype(np.float32),
|
| "model.layers.0.self_attn.v_proj.weight": rng.normal(0, 0.02, (4096, 4)).astype(np.float32),
|
| "model.layers.0.self_attn.o_proj.weight": rng.normal(0, 0.02, (4096, 4)).astype(np.float32),
|
| "model.layers.0.mlp.gate_proj.weight": rng.normal(0, 0.02, (11008, 4)).astype(np.float32),
|
| "model.layers.0.mlp.up_proj.weight": rng.normal(0, 0.02, (11008, 4)).astype(np.float32),
|
| "model.layers.0.mlp.down_proj.weight": rng.normal(0, 0.02, (4096, 4)).astype(np.float32),
|
| "model.layers.0.input_layernorm.weight": np.ones(4096, dtype=np.float32),
|
| "lm_head.weight": rng.normal(0, 0.02, (32000, 4)).astype(np.float32),
|
| }
|
|
|
|
|
| halluc_mask = rng.random(weights["model.layers.0.mlp.gate_proj.weight"].shape) < 0.001
|
| weights["model.layers.0.mlp.gate_proj.weight"][halluc_mask] += 10.0
|
|
|
| save_file(weights, path, metadata={"format": "pt", "generator": "quantumap"})
|
| return path
|
|
|
|
|
| def load_checkpoint(path: str) -> dict:
|
| """
|
| Load safetensors checkpoint.
|
| Returns dict of {tensor_name: np.ndarray}.
|
| """
|
| if not HAS_SAFETENSORS:
|
| raise ImportError("safetensors required: pip install safetensors")
|
| return load_file(path)
|
|
|
|
|
| def extract_weights_lexicographic(tensors: dict, max_weights: int = None) -> np.ndarray:
|
| """
|
| Extract weights in deterministic lexicographic order.
|
| Sort by tensor name, then flatten in row-major order.
|
| Returns 1D array of all weights (or first max_weights).
|
| """
|
| all_weights = []
|
| for name in sorted(tensors.keys()):
|
| flat = tensors[name].flatten()
|
| all_weights.append(flat)
|
|
|
| combined = np.concatenate(all_weights)
|
|
|
| if max_weights is not None and len(combined) > max_weights:
|
| combined = combined[:max_weights]
|
|
|
| return combined
|
|
|
|
|
| def extract_weights_from_numpy(raw_weights: np.ndarray) -> np.ndarray:
|
| """Extract from raw numpy array (for demo mode without safetensors)."""
|
| return raw_weights.flatten()
|
|
|
|
|
| def generate_demo_weights(seed: int = 42, n_weights: int = None) -> np.ndarray:
|
| """
|
| Generate demo weights without safetensors dependency.
|
| Deterministic from seed. Mimics Llama 3 weight distribution.
|
| """
|
| if n_weights is None:
|
| n_weights = Q * 4
|
|
|
| rng = np.random.default_rng(seed)
|
| weights = rng.normal(0, 0.02, n_weights).astype(np.float64)
|
|
|
|
|
| n_halluc = max(1, int(n_weights * 0.001))
|
| halluc_idx = rng.choice(n_weights, size=n_halluc, replace=False)
|
| weights[halluc_idx] += rng.choice([-10.0, 10.0], size=n_halluc)
|
|
|
| return weights
|
|
|