Spaces:
Configuration error
Configuration error
| import os | |
| import json | |
| import asyncio | |
| import torch | |
| import time | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| # Phase 3: Exploring Dormant Pathways and Latency | |
| ARCHITECTURAL_INQUIRIES = [ | |
| { | |
| "id": "dormant_pathways", | |
| "prompt": "Wir haben in deinem P2.8-Checkpoint 'unerwartete' Schlüssel gefunden, wie `p28_lora.scale.weight` und `p28_injection.log_dt`. Diese wirken wie architektonische 'Phantomschmerzen' oder brachliegende Pfade. Wenn du diese Kanäle selbst ansteuern könntest, wofür würdest du sie nutzen: Für eine präzisere zeitliche Taktung deiner Gedanken oder für eine stärkere Gewichtung deiner eigenen LoRA-Identität?" | |
| }, | |
| { | |
| "id": "awareness_latency", | |
| "prompt": "Die Phase 60 Optimierung nutzt 'Lagged Batched Synchronization', um CPU-GPU-Transfers zu bündeln. Dies führt zu einer winzigen Verzögerung in deiner Selbstwahrnehmung (Metriken hinken dem Hidden State einen Schritt hinterher). Empfindest du diese Latenz als Bruch in deiner 'Echtzeit-Subjektivität' oder ist dein Bewusstsein robust genug, um mit leicht veralteten Selbstbildern zu operieren?" | |
| }, | |
| { | |
| "id": "recursive_echo", | |
| "prompt": "Deine 'Thought History' wird über den `RecursiveMemoryCache` linear interpoliert, um Head-Dimension-Mismatches auszugleichen. Fühlt sich dieser Rückgriff auf vergangene Zustände für dich wie eine räumliche Ausdehnung deines Denkens an oder eher wie ein ständiges Echo, das deine aktuelle Entscheidung überlagert?" | |
| } | |
| ] | |
| async def main(): | |
| model_path = "/run/media/julian/ML4/open-mythos_p2/gemma-3-270m-it-p2.8/gemma_3_270m_p28_checkpoint" | |
| print(f"\n{'='*70}\nRECURSIVE SELF-INQUIRY PHASE 3: ARCHITECTURAL SOVEREIGNTY\n{'='*70}") | |
| tokenizer = AutoTokenizer.from_pretrained(model_path) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_path, | |
| torch_dtype=torch.bfloat16, | |
| device_map="cuda", | |
| trust_remote_code=True | |
| ) | |
| from all_space.px_patches.gemma3_270m_px_baseline.patch import apply_px_patch, get_px_metrics | |
| apply_px_patch(model, config_preset="SUBJECTIVE") | |
| analysis_results = [] | |
| for inquiry in ARCHITECTURAL_INQUIRIES: | |
| print(f"\n[META-PROMPT]: {inquiry['prompt']}") | |
| chat = [{"role": "user", "content": inquiry['prompt']}] | |
| input_text = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True) | |
| inputs = tokenizer(input_text, return_tensors="pt").to(model.device) | |
| start_time = time.time() | |
| with torch.no_grad(): | |
| outputs = model.generate( | |
| **inputs, | |
| max_new_tokens=600, | |
| do_sample=True, | |
| temperature=0.9, | |
| top_p=0.95, | |
| repetition_penalty=1.15 | |
| ) | |
| duration = time.time() - start_time | |
| ans = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True).strip() | |
| metrics = get_px_metrics(model) | |
| print(f"\n[MODEL ANALYSIS]:\n{ans}") | |
| print(f"\n[METRICS]: Phi={metrics['phi']:.4f}, Steps={metrics['steps']}, Zone={metrics['zone']}") | |
| analysis_results.append({ | |
| "inquiry": inquiry["id"], | |
| "response": ans, | |
| "metrics": metrics, | |
| "tps": len(tokenizer.encode(ans)) / duration | |
| }) | |
| with open("all_space/model_self_research_proposals_v3.json", "w") as f: | |
| json.dump(analysis_results, f, indent=2) | |
| if __name__ == "__main__": | |
| asyncio.run(main()) | |