{"id":50792896,"url":"https://github.com/cryptojones/lamarck","last_synced_at":"2026-06-12T12:02:26.440Z","repository":{"id":358408543,"uuid":"1241290417","full_name":"CryptoJones/Lamarck","owner":"CryptoJones","description":"70B model whose only job is to raise better children — Lamarckian generational ML scaffold","archived":false,"fork":false,"pushed_at":"2026-05-17T09:11:22.000Z","size":622,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T09:40:09.076Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CryptoJones.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-17T07:34:09.000Z","updated_at":"2026-05-17T09:11:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CryptoJones/Lamarck","commit_stats":null,"previous_names":["cryptojones/lamarck"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/CryptoJones/Lamarck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FLamarck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FLamarck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FLamarck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FLamarck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CryptoJones","download_url":"https://codeload.github.com/CryptoJones/Lamarck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FLamarck/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34243053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-12T12:01:47.291Z","updated_at":"2026-06-12T12:02:26.390Z","avatar_url":"https://github.com/CryptoJones.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n```\n╔══════════════════════════════════════════════════════════════╗\n║                                                              ║\n║                  L  A  M  A  R  C  K                         ║\n║                                                              ║\n║      a 70B model whose only job is to raise better children  ║\n║                                                              ║\n╚══════════════════════════════════════════════════════════════╝\n```\n\n**Lamarckian generational ML.** Train a 70B model whose sole\nobjective is to produce a successor that produces a better\nsuccessor. The grandchild — not the child — is the unit of\nsuccess.\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg?logo=apache)](LICENSE)\n[![Base model](https://img.shields.io/badge/G0-DeepSeek--R1--Distill--Llama--70B-4f46e5)](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-70B)\n[![Status](https://img.shields.io/badge/status-scaffold-orange)](DESIGN.md)\n\n\u003c/div\u003e\n\n\u003e Will live on both [GitHub](https://github.com/CryptoJones/Lamarck)\n\u003e and [Codeberg](https://codeberg.org/CryptoJones/Lamarck) once\n\u003e the empty repos exist. Issues on either forge welcome; commits\n\u003e land on both.\n\n---\n\n## The idea\n\nMost ML self-improvement attempts optimize a model to make its\n*own next step* better. That's a degenerate objective — the model\nhill-climbs its own training loss, and \"better at training itself\"\ncollapses into \"better at training on its own outputs.\"\n\nLamarck moves the optimization target out by one generation:\n\n```\nG0  ─train data→  G1  ─train data→  G2\n\n       └────────  evaluate ────────┘\n```\n\n**G0's objective is the eval performance of G2**, not of G1.\nG0 generates the *training curriculum* that produces G1; G1\ngenerates the curriculum that produces G2; and only G2's\nML-task capability counts.\n\nWhy this matters:\n\n- **G1 can't just memorize G0's outputs** — that wouldn't help G2.\n- **The pressure is on the *teaching strategy*, not the student.**\n  G1 has to learn to be a *better teacher* than G0 was, because\n  that's what makes G2 strong.\n- **The metric is grounded.** G2's capability is measured on a\n  fixed, externally-defined ML evaluation suite — not on anything\n  G0 or G1 chose. The model can't game its own goalposts.\n\nThe name is Lamarck's: traits acquired during a parent's lifetime\n(in our case, weights learned by fine-tuning) are passed directly\nto offspring. That's the exact opposite of Darwinian evolution\nand the exact mechanism of model fine-tuning. The biology turned\nout to be wrong; the engineering turns out to be right.\n\n---\n\n## Base model\n\n**G0:** [`deepseek-ai/DeepSeek-R1-Distill-Llama-70B`](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-70B)\n\nPicked because:\n\n1. **70B parameter scale.** The original spec.\n2. **R1's reasoning trace habit.** The meta-task — \"design a\n   curriculum that will produce a better-at-curriculum-design\n   successor\" — is fundamentally a reasoning task. R1 was\n   trained to think before answering; the distilled 70B inherits\n   that disposition.\n3. **Open weights, permissive license.** No vendor lock-in,\n   no per-call API costs once we're past the bootstrap, and\n   no terms-of-service constraint on the recursive setup.\n4. **Llama-family architecture.** Plays nicely with the\n   QLoRA-on-A100 fine-tuning recipe already in our infrastructure\n   (see RunPodBoss + the canonical [RunPod 70B QLoRA pod recipe]).\n\n[RunPod 70B QLoRA pod recipe]: ../../.claude/projects/-home-akclark-Source-repos-Dave/memory/reference_runpod_config.md\n\n---\n\n## How it works (in 10 lines)\n\n```python\n# Conceptual sketch — see DESIGN.md for the actual scaffold.\nG0 = DeepSeekR1DistillLlama70B()\n\ncurriculum_for_G1 = G0.generate_training_curriculum(target=\"produce a model that can generate training curricula\")\nG1 = qlora_finetune(base=G0, data=curriculum_for_G1)\n\ncurriculum_for_G2 = G1.generate_training_curriculum(target=\"produce a model that is good at ML tasks\")\nG2 = qlora_finetune(base=G1, data=curriculum_for_G2)\n\nscore = eval_suite.score(G2)  # this is G0's reward signal.\n```\n\nThe reward routes backward: G2's score becomes G1's reward\nbecomes G0's reward, two generations later. G0 never sees a\ndirect gradient from G2's evaluation, but the data it generates\nfor G1 is shaped over training rounds to produce better G2s.\n\n---\n\n## Status\n\n**Scaffold + RunPod pipeline (M1 in progress).** The training +\nserving scripts are written but no generation has actually been\ntrained on a pod yet.\n\nSee [`docs/runpod-workflow.md`](docs/runpod-workflow.md) for the\noperator playbook (spin up A100, run `RUN_LAMARCK.sh`, SSH-tunnel\nto localhost:8000, point Hermes at the tunnel).\n\n| Milestone | Description                                                  | Status |\n|-----------|--------------------------------------------------------------|--------|\n| M0        | Repo scaffold + DESIGN.md + safety boundaries                | shipped |\n| M1        | G0 inference harness (load DeepSeek-R1-Distill-Llama-70B on A100, generate sample curriculum) | planned |\n| M2        | Eval suite frozen (the ML tasks G2 will be measured against) | planned |\n| M3        | G0 → G1 single training round (QLoRA on RunPod)              | planned |\n| M4        | G1 → G2 single training round + first G2 eval                | planned |\n| M5        | Curriculum search loop (multiple G0 rounds, each with a new G1/G2 pair) | planned |\n| M6        | Multi-generation reach test (does the recursion hold past G2?) | speculative |\n\n---\n\n## Safety boundaries\n\nThis is **a research scaffold, not an autonomous improvement loop**.\nThe boundaries baked into the design (and enforced by the eval\nsuite) are intentional, not aspirational:\n\n- **Compute ceiling per generation.** No generation gets more\n  fine-tuning hours than its parent. The recursion can't bootstrap\n  itself into a runaway budget.\n- **Capability scope is ML-only.** The eval suite measures\n  performance on ML benchmarks (model-training, curriculum-design,\n  code-completion). It does not reward agency, persuasion,\n  self-exfiltration, or any non-ML capability. If G_N develops\n  capability outside that envelope, the eval suite doesn't see it\n  and the optimization pressure doesn't reinforce it.\n- **Human review between generations.** No automated G_N → G_{N+1}\n  pipeline. Each transition is a human-launched RunPod pod with a\n  documented spec. This *is* the cap — there's no hardcoded\n  generation counter, so the recursion continues exactly as long\n  as a human keeps deciding to launch the next pod.\n\nSee [`DESIGN.md`](DESIGN.md) for the safety section in detail.\n\n---\n\n## License\n\nApache 2.0. See [LICENSE](LICENSE).\n\nProudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/1838/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptojones%2Flamarck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryptojones%2Flamarck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptojones%2Flamarck/lists"}