@r1z4x/tezgah 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +738 -0
- package/LICENSE +21 -0
- package/MANIFEST +753 -0
- package/README.de.md +169 -0
- package/README.es.md +168 -0
- package/README.fr.md +166 -0
- package/README.md +161 -0
- package/README.tr.md +163 -0
- package/agents/tezgah-reviewer.md +70 -0
- package/bin/codegen +337 -0
- package/bin/consult +797 -0
- package/bin/tezgah-adhd +50 -0
- package/bin/tezgah-agents +45 -0
- package/bin/tezgah-capture +66 -0
- package/bin/tezgah-context +96 -0
- package/bin/tezgah-decisions +213 -0
- package/bin/tezgah-design +953 -0
- package/bin/tezgah-docs +1199 -0
- package/bin/tezgah-doctor +497 -0
- package/bin/tezgah-dsh +37 -0
- package/bin/tezgah-dsh.cmd +70 -0
- package/bin/tezgah-gate +75 -0
- package/bin/tezgah-import-ai-research +439 -0
- package/bin/tezgah-index +32 -0
- package/bin/tezgah-lessons +148 -0
- package/bin/tezgah-mcp +322 -0
- package/bin/tezgah-migrate +324 -0
- package/bin/tezgah-pony +50 -0
- package/bin/tezgah-research +772 -0
- package/bin/tezgah-rollback +93 -0
- package/bin/tezgah-route +124 -0
- package/bin/tezgah-setup +5798 -0
- package/bin/tezgah-status +383 -0
- package/bin/tezgah-task +607 -0
- package/bin/tezgah-taste +423 -0
- package/bin/tezgah-triage +485 -0
- package/bin/tezgah.js +36 -0
- package/commands/adhd.md +21 -0
- package/commands/ponytail.md +21 -0
- package/docs/README.md +112 -0
- package/docs/architecture.md +226 -0
- package/docs/citations-baseline.json +59 -0
- package/docs/clarity-baseline.json +116 -0
- package/docs/contract.md +416 -0
- package/docs/environment.md +141 -0
- package/docs/evidence.md +831 -0
- package/docs/feature-audit.md +139 -0
- package/docs/gate.md +407 -0
- package/docs/glossary.md +201 -0
- package/docs/hosts.md +400 -0
- package/docs/index.json +471 -0
- package/docs/judge.md +193 -0
- package/docs/layers.md +189 -0
- package/docs/models.md +160 -0
- package/docs/operations.md +666 -0
- package/docs/research.md +809 -0
- package/docs/results/paired-outcome-2026-10.jsonl +254 -0
- package/docs/results/paired-outcome-2026-10.md +204 -0
- package/docs/skills.md +236 -0
- package/docs/status-line.md +315 -0
- package/docs/testing.md +287 -0
- package/docs/vision.md +117 -0
- package/hooks/hooks.json +33 -0
- package/hooks/projects-auto-init.py +98 -0
- package/hooks/projects-posttooluse.py +149 -0
- package/hooks/projects-pretooluse.py +40 -0
- package/hooks/projects-stop.py +60 -0
- package/hooks/tezgah_agents.py +817 -0
- package/hooks/tezgah_apps.py +266 -0
- package/hooks/tezgah_attest.py +255 -0
- package/hooks/tezgah_clarity.py +171 -0
- package/hooks/tezgah_components.py +140 -0
- package/hooks/tezgah_context.py +2953 -0
- package/hooks/tezgah_embed.py +765 -0
- package/hooks/tezgah_gate.py +2736 -0
- package/hooks/tezgah_guard.py +177 -0
- package/hooks/tezgah_index.py +124 -0
- package/hooks/tezgah_integrity.py +5141 -0
- package/hooks/tezgah_judge.py +487 -0
- package/hooks/tezgah_lang.py +230 -0
- package/hooks/tezgah_lessons.py +210 -0
- package/hooks/tezgah_models.py +855 -0
- package/hooks/tezgah_paths.py +1132 -0
- package/hooks/tezgah_policy.py +1039 -0
- package/hooks/tezgah_rank.py +77 -0
- package/hooks/tezgah_replay.py +1109 -0
- package/hooks/tezgah_research.py +5176 -0
- package/hooks/tezgah_shapes.py +305 -0
- package/hooks/tezgah_skill_pick.py +227 -0
- package/hooks/tezgah_snapshot.py +490 -0
- package/hooks/tezgah_stopspec.py +320 -0
- package/hooks/tezgah_task.py +458 -0
- package/hooks/tezgah_taste.py +201 -0
- package/hooks/tezgah_untrusted.py +112 -0
- package/hooks/tezgah_update.py +430 -0
- package/hosts/codex/hook.py +268 -0
- package/hosts/codex/hooks.json +26 -0
- package/hosts/cursor/hook.py +461 -0
- package/hosts/cursor/hooks.json +44 -0
- package/hosts/dsh/hooks.json +21 -0
- package/hosts/dsh/statusline/lib/client.js +138 -0
- package/hosts/dsh/statusline/lib/index.js +104 -0
- package/hosts/dsh/statusline/package.json +28 -0
- package/hosts/omp/hook.py +277 -0
- package/hosts/omp/tezgah-hook.ts.in +701 -0
- package/hosts/opencode/plugins/tezgah.js +2742 -0
- package/hosts/opencode/tui/tezgah-tui.tsx +151 -0
- package/output-styles/tezgah.md +142 -0
- package/package.json +32 -0
- package/packaging/build.sh +342 -0
- package/packaging/install.ps1 +166 -0
- package/packaging/install.sh +56 -0
- package/packaging/upgrade.sh +142 -0
- package/skills/ai-research/0-autoresearch-skill/SKILL.md +411 -0
- package/skills/ai-research/0-autoresearch-skill/references/agent-continuity.md +95 -0
- package/skills/ai-research/0-autoresearch-skill/references/progress-reporting.md +166 -0
- package/skills/ai-research/0-autoresearch-skill/references/skill-routing.md +219 -0
- package/skills/ai-research/0-autoresearch-skill/templates/findings.md +44 -0
- package/skills/ai-research/0-autoresearch-skill/templates/research-log.md +41 -0
- package/skills/ai-research/01-model-architecture/litgpt/SKILL.md +469 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/custom-models.md +569 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/distributed-training.md +452 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/supported-models.md +337 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/training-recipes.md +620 -0
- package/skills/ai-research/01-model-architecture/mamba/SKILL.md +260 -0
- package/skills/ai-research/01-model-architecture/mamba/references/architecture-details.md +207 -0
- package/skills/ai-research/01-model-architecture/mamba/references/benchmarks.md +256 -0
- package/skills/ai-research/01-model-architecture/mamba/references/training-guide.md +389 -0
- package/skills/ai-research/01-model-architecture/nanogpt/SKILL.md +290 -0
- package/skills/ai-research/01-model-architecture/nanogpt/references/architecture.md +383 -0
- package/skills/ai-research/01-model-architecture/nanogpt/references/data.md +477 -0
- package/skills/ai-research/01-model-architecture/nanogpt/references/training.md +565 -0
- package/skills/ai-research/01-model-architecture/rwkv/SKILL.md +260 -0
- package/skills/ai-research/01-model-architecture/rwkv/references/architecture-details.md +345 -0
- package/skills/ai-research/01-model-architecture/rwkv/references/rwkv7.md +387 -0
- package/skills/ai-research/01-model-architecture/rwkv/references/state-management.md +370 -0
- package/skills/ai-research/01-model-architecture/torchtitan/SKILL.md +358 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/checkpoint.md +182 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/custom-models.md +259 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/float8.md +134 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/fsdp.md +127 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/SKILL.md +516 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/algorithms.md +654 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/integration.md +638 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/pipeline.md +724 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/training.md +566 -0
- package/skills/ai-research/02-tokenization/sentencepiece/SKILL.md +235 -0
- package/skills/ai-research/02-tokenization/sentencepiece/references/algorithms.md +201 -0
- package/skills/ai-research/02-tokenization/sentencepiece/references/training.md +305 -0
- package/skills/ai-research/03-fine-tuning/axolotl/SKILL.md +158 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/api.md +5549 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/dataset-formats.md +1030 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/index.md +16 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/other.md +3564 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/SKILL.md +80 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/_images.md +24 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/advanced.md +1056 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/getting_started.md +350 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/index.md +20 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/other.md +32 -0
- package/skills/ai-research/03-fine-tuning/peft/SKILL.md +431 -0
- package/skills/ai-research/03-fine-tuning/peft/references/advanced-usage.md +515 -0
- package/skills/ai-research/03-fine-tuning/peft/references/troubleshooting.md +481 -0
- package/skills/ai-research/03-fine-tuning/unsloth/SKILL.md +80 -0
- package/skills/ai-research/03-fine-tuning/unsloth/references/index.md +8 -0
- package/skills/ai-research/03-fine-tuning/unsloth/references/llms.md +83 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/SKILL.md +436 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/README.md +79 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/api.md +345 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/tutorials.md +301 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/SKILL.md +473 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/README.md +74 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/api.md +384 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/tutorials.md +377 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/SKILL.md +386 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/references/README.md +71 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/references/api.md +334 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/references/tutorials.md +319 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/SKILL.md +346 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/README.md +55 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/api.md +363 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/tutorials.md +340 -0
- package/skills/ai-research/05-data-processing/nemo-curator/SKILL.md +383 -0
- package/skills/ai-research/05-data-processing/nemo-curator/references/deduplication.md +88 -0
- package/skills/ai-research/05-data-processing/nemo-curator/references/filtering.md +103 -0
- package/skills/ai-research/05-data-processing/ray-data/SKILL.md +326 -0
- package/skills/ai-research/05-data-processing/ray-data/references/integration.md +83 -0
- package/skills/ai-research/05-data-processing/ray-data/references/transformations.md +84 -0
- package/skills/ai-research/06-post-training/grpo-rl-training/README.md +98 -0
- package/skills/ai-research/06-post-training/grpo-rl-training/SKILL.md +572 -0
- package/skills/ai-research/06-post-training/miles/SKILL.md +315 -0
- package/skills/ai-research/06-post-training/miles/references/api-reference.md +142 -0
- package/skills/ai-research/06-post-training/miles/references/troubleshooting.md +353 -0
- package/skills/ai-research/06-post-training/openrlhf/SKILL.md +249 -0
- package/skills/ai-research/06-post-training/openrlhf/references/algorithm-comparison.md +405 -0
- package/skills/ai-research/06-post-training/openrlhf/references/custom-rewards.md +531 -0
- package/skills/ai-research/06-post-training/openrlhf/references/hybrid-engine.md +288 -0
- package/skills/ai-research/06-post-training/openrlhf/references/multi-node-training.md +455 -0
- package/skills/ai-research/06-post-training/simpo/SKILL.md +219 -0
- package/skills/ai-research/06-post-training/simpo/references/datasets.md +479 -0
- package/skills/ai-research/06-post-training/simpo/references/hyperparameters.md +453 -0
- package/skills/ai-research/06-post-training/simpo/references/loss-functions.md +351 -0
- package/skills/ai-research/06-post-training/slime/SKILL.md +464 -0
- package/skills/ai-research/06-post-training/slime/references/api-reference.md +393 -0
- package/skills/ai-research/06-post-training/slime/references/troubleshooting.md +387 -0
- package/skills/ai-research/06-post-training/torchforge/SKILL.md +433 -0
- package/skills/ai-research/06-post-training/torchforge/references/api-reference.md +328 -0
- package/skills/ai-research/06-post-training/torchforge/references/troubleshooting.md +410 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/SKILL.md +455 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/dpo-variants.md +228 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/online-rl.md +83 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/reward-modeling.md +123 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/sft-training.md +169 -0
- package/skills/ai-research/06-post-training/verl/SKILL.md +391 -0
- package/skills/ai-research/06-post-training/verl/references/api-reference.md +302 -0
- package/skills/ai-research/06-post-training/verl/references/troubleshooting.md +392 -0
- package/skills/ai-research/07-safety-alignment/constitutional-ai/SKILL.md +290 -0
- package/skills/ai-research/07-safety-alignment/llamaguard/SKILL.md +337 -0
- package/skills/ai-research/07-safety-alignment/nemo-guardrails/SKILL.md +297 -0
- package/skills/ai-research/07-safety-alignment/prompt-guard/SKILL.md +312 -0
- package/skills/ai-research/08-distributed-training/accelerate/SKILL.md +332 -0
- package/skills/ai-research/08-distributed-training/accelerate/references/custom-plugins.md +454 -0
- package/skills/ai-research/08-distributed-training/accelerate/references/megatron-integration.md +490 -0
- package/skills/ai-research/08-distributed-training/accelerate/references/performance.md +526 -0
- package/skills/ai-research/08-distributed-training/deepspeed/SKILL.md +141 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/08.md +18 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/09.md +174 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/2020.md +379 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/2023.md +280 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/assets.md +180 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/index.md +36 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/mii.md +119 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/other.md +1192 -0
- package/skills/ai-research/08-distributed-training/megatron-core/SKILL.md +366 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/benchmarks.md +250 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/parallelism-guide.md +405 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/production-examples.md +474 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/training-recipes.md +548 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/SKILL.md +231 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_async_recipe.md +14 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_overview.md +19 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_recipe.md +18 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_ddp_notes.md +10 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_device_mesh_tutorial.md +22 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_examples_fsdp2.md +15 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp1_api.md +9 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp2_tutorial.md +45 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fully_shard_api.md +49 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_tp_tutorial.md +22 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/ray_train_fsdp2_example.md +13 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/torchtitan_fsdp_notes.md +14 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/SKILL.md +346 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/references/callbacks.md +437 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/references/distributed.md +491 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/references/hyperparameter-tuning.md +557 -0
- package/skills/ai-research/08-distributed-training/ray-train/SKILL.md +406 -0
- package/skills/ai-research/08-distributed-training/ray-train/references/multi-node.md +629 -0
- package/skills/ai-research/09-infrastructure/lambda-labs/SKILL.md +545 -0
- package/skills/ai-research/09-infrastructure/lambda-labs/references/advanced-usage.md +612 -0
- package/skills/ai-research/09-infrastructure/lambda-labs/references/troubleshooting.md +531 -0
- package/skills/ai-research/09-infrastructure/modal/SKILL.md +341 -0
- package/skills/ai-research/09-infrastructure/modal/references/advanced-usage.md +504 -0
- package/skills/ai-research/09-infrastructure/modal/references/troubleshooting.md +495 -0
- package/skills/ai-research/09-infrastructure/skypilot/SKILL.md +509 -0
- package/skills/ai-research/09-infrastructure/skypilot/references/advanced-usage.md +492 -0
- package/skills/ai-research/09-infrastructure/skypilot/references/troubleshooting.md +571 -0
- package/skills/ai-research/10-optimization/awq/SKILL.md +310 -0
- package/skills/ai-research/10-optimization/awq/references/advanced-usage.md +325 -0
- package/skills/ai-research/10-optimization/awq/references/troubleshooting.md +345 -0
- package/skills/ai-research/10-optimization/bitsandbytes/SKILL.md +411 -0
- package/skills/ai-research/10-optimization/bitsandbytes/references/memory-optimization.md +522 -0
- package/skills/ai-research/10-optimization/bitsandbytes/references/qlora-training.md +522 -0
- package/skills/ai-research/10-optimization/bitsandbytes/references/quantization-formats.md +448 -0
- package/skills/ai-research/10-optimization/flash-attention/SKILL.md +367 -0
- package/skills/ai-research/10-optimization/flash-attention/references/benchmarks.md +216 -0
- package/skills/ai-research/10-optimization/flash-attention/references/transformers-integration.md +294 -0
- package/skills/ai-research/10-optimization/gguf/SKILL.md +427 -0
- package/skills/ai-research/10-optimization/gguf/references/advanced-usage.md +505 -0
- package/skills/ai-research/10-optimization/gguf/references/troubleshooting.md +443 -0
- package/skills/ai-research/10-optimization/gptq/SKILL.md +450 -0
- package/skills/ai-research/10-optimization/gptq/references/calibration.md +338 -0
- package/skills/ai-research/10-optimization/gptq/references/integration.md +130 -0
- package/skills/ai-research/10-optimization/gptq/references/troubleshooting.md +96 -0
- package/skills/ai-research/10-optimization/hqq/SKILL.md +445 -0
- package/skills/ai-research/10-optimization/hqq/references/advanced-usage.md +529 -0
- package/skills/ai-research/10-optimization/hqq/references/troubleshooting.md +504 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/SKILL.md +319 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/architecture.md +320 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/biomedical.md +498 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/domain-specific.md +626 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/experiment-loop.md +129 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/optimizers.md +330 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/scaling-and-selection.md +428 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/SKILL.md +405 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/benchmarks.md +394 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/custom-tasks.md +425 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/issues.md +395 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/SKILL.md +490 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/api-evaluation.md +491 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/benchmark-guide.md +489 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/custom-tasks.md +603 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/distributed-eval.md +520 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/SKILL.md +494 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/adapter-system.md +341 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/configuration.md +448 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/custom-benchmarks.md +316 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/execution-backends.md +362 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/SKILL.md +258 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/references/optimization.md +90 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/references/quantization.md +214 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/references/server.md +126 -0
- package/skills/ai-research/12-inference-serving/sglang/SKILL.md +442 -0
- package/skills/ai-research/12-inference-serving/sglang/references/deployment.md +491 -0
- package/skills/ai-research/12-inference-serving/sglang/references/radix-attention.md +414 -0
- package/skills/ai-research/12-inference-serving/sglang/references/structured-generation.md +542 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/SKILL.md +187 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/references/multi-gpu.md +299 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/references/optimization.md +243 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/references/serving.md +471 -0
- package/skills/ai-research/12-inference-serving/vllm/SKILL.md +364 -0
- package/skills/ai-research/12-inference-serving/vllm/references/optimization.md +227 -0
- package/skills/ai-research/12-inference-serving/vllm/references/quantization.md +285 -0
- package/skills/ai-research/12-inference-serving/vllm/references/server-deployment.md +256 -0
- package/skills/ai-research/12-inference-serving/vllm/references/troubleshooting.md +448 -0
- package/skills/ai-research/13-mlops/mlflow/SKILL.md +704 -0
- package/skills/ai-research/13-mlops/mlflow/references/deployment.md +745 -0
- package/skills/ai-research/13-mlops/mlflow/references/model-registry.md +771 -0
- package/skills/ai-research/13-mlops/mlflow/references/tracking.md +681 -0
- package/skills/ai-research/13-mlops/swanlab/SKILL.md +406 -0
- package/skills/ai-research/13-mlops/swanlab/references/integrations.md +305 -0
- package/skills/ai-research/13-mlops/swanlab/references/visualization.md +234 -0
- package/skills/ai-research/13-mlops/tensorboard/SKILL.md +629 -0
- package/skills/ai-research/13-mlops/tensorboard/references/integrations.md +639 -0
- package/skills/ai-research/13-mlops/tensorboard/references/profiling.md +546 -0
- package/skills/ai-research/13-mlops/tensorboard/references/visualization.md +621 -0
- package/skills/ai-research/13-mlops/weights-and-biases/SKILL.md +590 -0
- package/skills/ai-research/13-mlops/weights-and-biases/references/artifacts.md +585 -0
- package/skills/ai-research/13-mlops/weights-and-biases/references/integrations.md +701 -0
- package/skills/ai-research/13-mlops/weights-and-biases/references/sweeps.md +848 -0
- package/skills/ai-research/14-agents/a-evolve/SKILL.md +383 -0
- package/skills/ai-research/14-agents/a-evolve/references/README.md +831 -0
- package/skills/ai-research/14-agents/a-evolve/references/api.md +594 -0
- package/skills/ai-research/14-agents/a-evolve/references/architecture.md +417 -0
- package/skills/ai-research/14-agents/a-evolve/references/design-patterns.md +462 -0
- package/skills/ai-research/14-agents/a-evolve/references/examples.md +352 -0
- package/skills/ai-research/14-agents/a-evolve/references/issues.md +591 -0
- package/skills/ai-research/14-agents/a-evolve/references/releases.md +112 -0
- package/skills/ai-research/14-agents/a-evolve/references/tutorials.md +819 -0
- package/skills/ai-research/14-agents/autogpt/SKILL.md +403 -0
- package/skills/ai-research/14-agents/autogpt/references/advanced-usage.md +536 -0
- package/skills/ai-research/14-agents/autogpt/references/troubleshooting.md +421 -0
- package/skills/ai-research/14-agents/crewai/SKILL.md +498 -0
- package/skills/ai-research/14-agents/crewai/references/flows.md +439 -0
- package/skills/ai-research/14-agents/crewai/references/tools.md +430 -0
- package/skills/ai-research/14-agents/crewai/references/troubleshooting.md +481 -0
- package/skills/ai-research/14-agents/langchain/SKILL.md +480 -0
- package/skills/ai-research/14-agents/langchain/references/agents.md +500 -0
- package/skills/ai-research/14-agents/langchain/references/integration.md +563 -0
- package/skills/ai-research/14-agents/langchain/references/rag.md +601 -0
- package/skills/ai-research/14-agents/llamaindex/SKILL.md +569 -0
- package/skills/ai-research/14-agents/llamaindex/references/agents.md +84 -0
- package/skills/ai-research/14-agents/llamaindex/references/data_connectors.md +109 -0
- package/skills/ai-research/14-agents/llamaindex/references/query_engines.md +407 -0
- package/skills/ai-research/15-rag/chroma/SKILL.md +406 -0
- package/skills/ai-research/15-rag/chroma/references/integration.md +39 -0
- package/skills/ai-research/15-rag/faiss/SKILL.md +221 -0
- package/skills/ai-research/15-rag/faiss/references/index_types.md +281 -0
- package/skills/ai-research/15-rag/pinecone/SKILL.md +358 -0
- package/skills/ai-research/15-rag/pinecone/references/deployment.md +182 -0
- package/skills/ai-research/15-rag/qdrant/SKILL.md +493 -0
- package/skills/ai-research/15-rag/qdrant/references/advanced-usage.md +649 -0
- package/skills/ai-research/15-rag/qdrant/references/troubleshooting.md +632 -0
- package/skills/ai-research/15-rag/sentence-transformers/SKILL.md +255 -0
- package/skills/ai-research/15-rag/sentence-transformers/references/models.md +124 -0
- package/skills/ai-research/16-prompt-engineering/dspy/SKILL.md +590 -0
- package/skills/ai-research/16-prompt-engineering/dspy/references/examples.md +664 -0
- package/skills/ai-research/16-prompt-engineering/dspy/references/modules.md +476 -0
- package/skills/ai-research/16-prompt-engineering/dspy/references/optimizers.md +567 -0
- package/skills/ai-research/16-prompt-engineering/guidance/SKILL.md +572 -0
- package/skills/ai-research/16-prompt-engineering/guidance/references/backends.md +555 -0
- package/skills/ai-research/16-prompt-engineering/guidance/references/constraints.md +675 -0
- package/skills/ai-research/16-prompt-engineering/guidance/references/examples.md +768 -0
- package/skills/ai-research/16-prompt-engineering/instructor/SKILL.md +740 -0
- package/skills/ai-research/16-prompt-engineering/instructor/references/examples.md +108 -0
- package/skills/ai-research/16-prompt-engineering/instructor/references/providers.md +71 -0
- package/skills/ai-research/16-prompt-engineering/instructor/references/validation.md +607 -0
- package/skills/ai-research/16-prompt-engineering/outlines/SKILL.md +652 -0
- package/skills/ai-research/16-prompt-engineering/outlines/references/backends.md +616 -0
- package/skills/ai-research/16-prompt-engineering/outlines/references/examples.md +774 -0
- package/skills/ai-research/16-prompt-engineering/outlines/references/json_generation.md +653 -0
- package/skills/ai-research/17-observability/langsmith/SKILL.md +422 -0
- package/skills/ai-research/17-observability/langsmith/references/advanced-usage.md +549 -0
- package/skills/ai-research/17-observability/langsmith/references/troubleshooting.md +538 -0
- package/skills/ai-research/17-observability/phoenix/SKILL.md +475 -0
- package/skills/ai-research/17-observability/phoenix/references/advanced-usage.md +620 -0
- package/skills/ai-research/17-observability/phoenix/references/troubleshooting.md +539 -0
- package/skills/ai-research/18-multimodal/audiocraft/SKILL.md +564 -0
- package/skills/ai-research/18-multimodal/audiocraft/references/advanced-usage.md +667 -0
- package/skills/ai-research/18-multimodal/audiocraft/references/troubleshooting.md +505 -0
- package/skills/ai-research/18-multimodal/blip-2/SKILL.md +564 -0
- package/skills/ai-research/18-multimodal/blip-2/references/advanced-usage.md +681 -0
- package/skills/ai-research/18-multimodal/blip-2/references/troubleshooting.md +527 -0
- package/skills/ai-research/18-multimodal/clip/SKILL.md +253 -0
- package/skills/ai-research/18-multimodal/clip/references/applications.md +208 -0
- package/skills/ai-research/18-multimodal/cosmos-policy/SKILL.md +402 -0
- package/skills/ai-research/18-multimodal/cosmos-policy/references/libero-commands.md +175 -0
- package/skills/ai-research/18-multimodal/cosmos-policy/references/robocasa-commands.md +147 -0
- package/skills/ai-research/18-multimodal/llava/SKILL.md +304 -0
- package/skills/ai-research/18-multimodal/llava/references/training.md +198 -0
- package/skills/ai-research/18-multimodal/openpi/SKILL.md +480 -0
- package/skills/ai-research/18-multimodal/openpi/references/checkpoints-and-env-map.md +86 -0
- package/skills/ai-research/18-multimodal/openpi/references/config-recipes.md +50 -0
- package/skills/ai-research/18-multimodal/openpi/references/pytorch-gotchas.md +49 -0
- package/skills/ai-research/18-multimodal/openpi/references/remote-client-pattern.md +48 -0
- package/skills/ai-research/18-multimodal/openpi/references/training-debugging.md +46 -0
- package/skills/ai-research/18-multimodal/openvla-oft/SKILL.md +441 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/aloha-workflow.md +141 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/config-troubleshooting.md +97 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/libero-workflow.md +115 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/paper-and-checkpoints.md +84 -0
- package/skills/ai-research/18-multimodal/segment-anything/SKILL.md +500 -0
- package/skills/ai-research/18-multimodal/segment-anything/references/advanced-usage.md +590 -0
- package/skills/ai-research/18-multimodal/segment-anything/references/troubleshooting.md +485 -0
- package/skills/ai-research/18-multimodal/stable-diffusion/SKILL.md +519 -0
- package/skills/ai-research/18-multimodal/stable-diffusion/references/advanced-usage.md +717 -0
- package/skills/ai-research/18-multimodal/stable-diffusion/references/troubleshooting.md +556 -0
- package/skills/ai-research/18-multimodal/whisper/SKILL.md +317 -0
- package/skills/ai-research/18-multimodal/whisper/references/languages.md +190 -0
- package/skills/ai-research/19-emerging-techniques/knowledge-distillation/SKILL.md +458 -0
- package/skills/ai-research/19-emerging-techniques/knowledge-distillation/references/minillm.md +335 -0
- package/skills/ai-research/19-emerging-techniques/long-context/SKILL.md +536 -0
- package/skills/ai-research/19-emerging-techniques/long-context/references/extension_methods.md +469 -0
- package/skills/ai-research/19-emerging-techniques/long-context/references/fine_tuning.md +612 -0
- package/skills/ai-research/19-emerging-techniques/long-context/references/rope.md +403 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/SKILL.md +497 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/coefficient-tuning.md +415 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/evaluation.md +463 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/examples.md +429 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/methods.md +353 -0
- package/skills/ai-research/19-emerging-techniques/model-pruning/SKILL.md +495 -0
- package/skills/ai-research/19-emerging-techniques/model-pruning/references/wanda.md +348 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/SKILL.md +526 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/references/architectures.md +433 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/references/inference.md +349 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/references/training.md +426 -0
- package/skills/ai-research/19-emerging-techniques/speculative-decoding/SKILL.md +467 -0
- package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/lookahead.md +310 -0
- package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/medusa.md +351 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/SKILL.md +479 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/data-visualization.md +509 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/diagram-generation.md +395 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/style-guide.md +305 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/SKILL.md +982 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/checklists.md +348 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/citation-workflow.md +563 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/reviewer-guidelines.md +349 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/sources.md +165 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/writing-guide.md +477 -0
- package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/SKILL.md +298 -0
- package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/references/slide-templates.md +505 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/SKILL.md +270 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/checklist.md +279 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/reviewer-guidelines.md +116 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/section-blueprints.md +400 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/systems-conferences.md +261 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/writing-patterns.md +231 -0
- package/skills/ai-research/21-research-ideation/brainstorming-research-ideas/SKILL.md +384 -0
- package/skills/ai-research/21-research-ideation/creative-thinking-for-research/SKILL.md +366 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/SKILL.md +245 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/references/ara-schema.md +439 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/references/exploration-tree-spec.md +125 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/references/validation-checklist.md +149 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/SKILL.md +324 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/event-taxonomy.md +124 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/provenance-tags.md +190 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/session-protocol.md +162 -0
- package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/SKILL.md +322 -0
- package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/references/review-dimensions.md +182 -0
- package/skills/ai-research/SKILL.md +101 -0
- package/skills/ai-research/SOURCE +38 -0
- package/skills/ai-research/index/1-frame.md +18 -0
- package/skills/ai-research/index/2-data.md +21 -0
- package/skills/ai-research/index/3-train.md +48 -0
- package/skills/ai-research/index/4-measure.md +25 -0
- package/skills/ai-research/index/5-run.md +23 -0
- package/skills/ai-research/index/6-write.md +35 -0
- package/skills/ai-research/library.json +3456 -0
- package/skills/analyze-app/EVALS.md +82 -0
- package/skills/analyze-app/SKILL.md +188 -0
- package/skills/design-contract/EVALS.md +80 -0
- package/skills/design-contract/SKILL.md +171 -0
- package/skills/design-library/EVALS.md +85 -0
- package/skills/design-library/INDEX.md +59 -0
- package/skills/design-library/SKILL.md +58 -0
- package/skills/design-library/SOURCE +131 -0
- package/skills/design-library/adaptive-interfaces/skills/colour-independence/SKILL.md +90 -0
- package/skills/design-library/adaptive-interfaces/skills/flexible-typography/SKILL.md +83 -0
- package/skills/design-library/adaptive-interfaces/skills/information-density/SKILL.md +87 -0
- package/skills/design-library/adaptive-interfaces/skills/preference-audit/SKILL.md +70 -0
- package/skills/design-library/adaptive-interfaces/skills/responsive-accessibility/SKILL.md +86 -0
- package/skills/design-library/adaptive-interfaces/skills/responsive-review/SKILL.md +76 -0
- package/skills/design-library/adaptive-interfaces/skills/simplified-views/SKILL.md +97 -0
- package/skills/design-library/adaptive-interfaces/skills/specify/SKILL.md +63 -0
- package/skills/design-library/adaptive-interfaces/skills/user-preference-respect/SKILL.md +100 -0
- package/skills/design-library/cognitive-accessibility/skills/adaptive-personalisation/SKILL.md +61 -0
- package/skills/design-library/cognitive-accessibility/skills/assess-load/SKILL.md +48 -0
- package/skills/design-library/cognitive-accessibility/skills/cognitive-load-assessment/SKILL.md +60 -0
- package/skills/design-library/cognitive-accessibility/skills/contextual-help-design/SKILL.md +61 -0
- package/skills/design-library/cognitive-accessibility/skills/error-prevention-recovery/SKILL.md +71 -0
- package/skills/design-library/cognitive-accessibility/skills/focus-attention-design/SKILL.md +67 -0
- package/skills/design-library/cognitive-accessibility/skills/memory-load-reduction/SKILL.md +60 -0
- package/skills/design-library/cognitive-accessibility/skills/plain-language-design/SKILL.md +78 -0
- package/skills/design-library/cognitive-accessibility/skills/review/SKILL.md +56 -0
- package/skills/design-library/cognitive-accessibility/skills/simplify/SKILL.md +39 -0
- package/skills/design-library/cognitive-accessibility/skills/wayfinding-navigation/SKILL.md +64 -0
- package/skills/design-library/design-research/skills/behavioural-analytics/SKILL.md +33 -0
- package/skills/design-library/design-research/skills/qual-quant-triangulation/SKILL.md +33 -0
- package/skills/design-library/inclusive-interaction/skills/audit/SKILL.md +50 -0
- package/skills/design-library/inclusive-interaction/skills/design-flow/SKILL.md +58 -0
- package/skills/design-library/inclusive-interaction/skills/feedback-and-status/SKILL.md +76 -0
- package/skills/design-library/inclusive-interaction/skills/gesture-alternatives/SKILL.md +70 -0
- package/skills/design-library/inclusive-interaction/skills/keyboard-navigation/SKILL.md +99 -0
- package/skills/design-library/inclusive-interaction/skills/keyboard-review/SKILL.md +54 -0
- package/skills/design-library/inclusive-interaction/skills/motion-sensitivity/SKILL.md +79 -0
- package/skills/design-library/inclusive-interaction/skills/multi-modal-input/SKILL.md +70 -0
- package/skills/design-library/inclusive-interaction/skills/touch-target-design/SKILL.md +71 -0
- package/skills/design-library/inclusive-interaction/skills/voice-interaction/SKILL.md +68 -0
- package/skills/design-library/visual-critique/skills/critique-affordance/SKILL.md +45 -0
- package/skills/design-library/visual-critique/skills/critique-brand-consistency/SKILL.md +42 -0
- package/skills/design-library/visual-critique/skills/critique-color/SKILL.md +44 -0
- package/skills/design-library/visual-critique/skills/critique-composition/SKILL.md +46 -0
- package/skills/design-library/visual-critique/skills/critique-information-density/SKILL.md +45 -0
- package/skills/design-library/visual-critique/skills/critique-typography/SKILL.md +45 -0
- package/skills/design-library/visual-critique/skills/critique-visual-hierarchy/SKILL.md +40 -0
- package/skills/feature-audit/EVALS.md +83 -0
- package/skills/feature-audit/SKILL.md +326 -0
- package/skills/harness/EVALS.md +81 -0
- package/skills/harness/SKILL.md +88 -0
- package/skills/i-have-adhd/EVALS.md +80 -0
- package/skills/i-have-adhd/SKILL.md +183 -0
- package/skills/no-ai-slop/EVALS.md +89 -0
- package/skills/no-ai-slop/SKILL.md +209 -0
- package/skills/no-ai-slop/eval.md +52 -0
- package/skills/plan-add/EVALS.md +79 -0
- package/skills/plan-add/SKILL.md +179 -0
- package/skills/plan-add/render_table.py +72 -0
- package/skills/plan-status/EVALS.md +78 -0
- package/skills/plan-status/SKILL.md +52 -0
- package/skills/plan-sync/EVALS.md +80 -0
- package/skills/plan-sync/SKILL.md +69 -0
- package/skills/pm-frameworks/SKILL.md +33 -0
- package/skills/pm-frameworks/SOURCE +39 -0
- package/skills/pm-frameworks/intended-vs-implemented/SKILL.md +42 -0
- package/skills/pm-frameworks/opportunity-solution-tree/SKILL.md +64 -0
- package/skills/ponytail/EVALS.md +80 -0
- package/skills/ponytail/SKILL.md +124 -0
- package/skills/product-analysis/EVALS.md +103 -0
- package/skills/product-analysis/SKILL.md +361 -0
- package/skills/research/EVALS.md +104 -0
- package/skills/research/SKILL.md +570 -0
- package/skills/rl-env/SKILL.md +53 -0
- package/skills/rl-env/SOURCE +41 -0
- package/skills/rl-env/generate-nemo-gym-env/SKILL.md +169 -0
- package/skills/rl-env/generate-nemo-gym-env/references/architecture.md +114 -0
- package/skills/rl-env/generate-openenv-env/SKILL.md +183 -0
- package/skills/rl-env/generate-openenv-env/references/architecture.md +82 -0
- package/skills/rl-env/generate-ors-env/SKILL.md +209 -0
- package/skills/rl-env/generate-ors-env/references/architecture.md +113 -0
- package/skills/rl-env/generate-verifiers-env/SKILL.md +188 -0
- package/skills/rl-env/generate-verifiers-env/references/architecture.md +119 -0
- package/skills/rl-env/rl-env-from-description/SKILL.md +124 -0
- package/skills/rl-env/rl-env-from-description/references/interview.md +75 -0
- package/skills/rl-env/rl-env-from-description/references/nemo_gym.md +41 -0
- package/skills/rl-env/rl-env-from-description/references/openenv.md +35 -0
- package/skills/rl-env/rl-env-from-description/references/ors.md +50 -0
- package/skills/rl-env/rl-env-from-description/references/verifiers.md +39 -0
- package/skills/tezgah-contract/EVALS.md +78 -0
- package/skills/tezgah-contract/SKILL.md +792 -0
- package/statusline.py +129 -0
- package/workflows/graph-impact.js +153 -0
- package/workflows/graph-map.js +158 -0
- package/workflows/graph-review.js +170 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
<!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 10-optimization/ml-training-recipes/references/experiment-loop.md; MIT (c) Orchestra Research -->
|
|
2
|
+
# Autonomous Experiment Loop (autoresearch pattern)
|
|
3
|
+
|
|
4
|
+
A systematic workflow for rapid ML experimentation, drawn from Karpathy's autoresearch project.
|
|
5
|
+
Use this when iterating on architecture or hyperparameters and you want to run many quick experiments.
|
|
6
|
+
|
|
7
|
+
## Core idea
|
|
8
|
+
|
|
9
|
+
Run every experiment with a **fixed time budget** (e.g., 5 minutes) so results are directly comparable.
|
|
10
|
+
This enables ~12 experiments/hour or ~100 overnight. The key insight: wall-clock time is a better
|
|
11
|
+
budget unit than steps or epochs because it naturally accounts for throughput differences between configs.
|
|
12
|
+
|
|
13
|
+
## The experiment loop
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
1. Read current state (results.tsv, train.py)
|
|
17
|
+
2. Decide what to try next (one change at a time)
|
|
18
|
+
3. Modify train.py
|
|
19
|
+
4. git commit -m "description of change"
|
|
20
|
+
5. Run training (with timeout)
|
|
21
|
+
6. Parse results from stdout
|
|
22
|
+
7. Decision:
|
|
23
|
+
- If val_bpb improved → KEEP (advance branch)
|
|
24
|
+
- If val_bpb worsened → DISCARD (git reset --hard HEAD~1)
|
|
25
|
+
- If crashed → FIX trivial bugs and retry, or LOG and move on
|
|
26
|
+
8. Append result to results.tsv
|
|
27
|
+
9. Repeat
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Results tracking
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
commit val_bpb memory_gb status description
|
|
34
|
+
a1b2c3d 0.9979 44.0 keep baseline
|
|
35
|
+
b2c3d4e 0.9932 44.2 keep increase matrix LR to 0.04
|
|
36
|
+
c3d4e5f 1.0050 44.0 discard switch to GeLU activation
|
|
37
|
+
d4e5f6g 0.0000 0.0 crash double model width (OOM)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Key principles
|
|
41
|
+
|
|
42
|
+
### Single-file constraint
|
|
43
|
+
Confine all changes to one file (e.g., `train.py`). This makes diffs reviewable and rollbacks clean.
|
|
44
|
+
Everything — model, optimizer, data loading, evaluation — lives in one file during experimentation.
|
|
45
|
+
Refactor into modules only after the experiment phase.
|
|
46
|
+
|
|
47
|
+
### Keep/discard discipline
|
|
48
|
+
- **Keep**: val metric improved (or equal with less memory/time)
|
|
49
|
+
- **Discard**: val metric worsened, regardless of how clever the idea was
|
|
50
|
+
- **The simplicity criterion**: all else being equal, simpler is better. Removing something and
|
|
51
|
+
getting equal results is a great outcome — it means the removed thing was dead weight.
|
|
52
|
+
|
|
53
|
+
### Crash recovery
|
|
54
|
+
- **Trivial crash** (typo, shape mismatch): fix and retry the same experiment
|
|
55
|
+
- **Fundamental crash** (OOM, numerical instability): log as `crash`, move on
|
|
56
|
+
- **Timeout** (>2x budget): kill the process, log as `timeout`
|
|
57
|
+
|
|
58
|
+
### Fixed budget comparison
|
|
59
|
+
```python
|
|
60
|
+
import time
|
|
61
|
+
|
|
62
|
+
TIME_BUDGET = 300 # 5 minutes
|
|
63
|
+
t_start = time.time()
|
|
64
|
+
|
|
65
|
+
for step in range(max_steps):
|
|
66
|
+
# ... training step ...
|
|
67
|
+
elapsed = time.time() - t_start
|
|
68
|
+
if elapsed >= TIME_BUDGET:
|
|
69
|
+
break
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Tokenizer training
|
|
73
|
+
|
|
74
|
+
When training from scratch, train a BPE tokenizer on your data:
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
import rustbpe
|
|
78
|
+
|
|
79
|
+
# GPT-4 split pattern (handles code, numbers, whitespace well)
|
|
80
|
+
SPLIT_PATTERN = r"""'(?i:[sdmt]|ll|ve|re)|[^\r\n\p{L}\p{N}]?+\p{L}+|\p{N}{1,3}| ?[^\s\p{L}\p{N}]++[\r\n]*|\s*[\r\n]|\s+(?!\S)|\s+"""
|
|
81
|
+
|
|
82
|
+
# Train tokenizer
|
|
83
|
+
tokenizer = rustbpe.Tokenizer()
|
|
84
|
+
tokenizer.train(
|
|
85
|
+
text_iterator, # yields text chunks
|
|
86
|
+
vocab_size=8192, # small vocab for quick experiments; 32K+ for production
|
|
87
|
+
split_pattern=SPLIT_PATTERN,
|
|
88
|
+
special_tokens=["<|bos|>"]
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
# Build token_bytes lookup for BPB evaluation
|
|
92
|
+
token_bytes = torch.zeros(vocab_size, dtype=torch.long)
|
|
93
|
+
for i in range(vocab_size):
|
|
94
|
+
token_bytes[i] = len(tokenizer.decode([i]).encode("utf-8"))
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Vocab size tradeoffs
|
|
98
|
+
|
|
99
|
+
| Vocab Size | Use Case | Notes |
|
|
100
|
+
|-----------|----------|-------|
|
|
101
|
+
| 4K-8K | Quick experiments, small models | Faster tokenizer training, more tokens per doc |
|
|
102
|
+
| 32K | Standard LLM pretraining | Good balance of compression and vocab coverage |
|
|
103
|
+
| 64K-128K | Multilingual, code-heavy | Better compression but larger embedding table |
|
|
104
|
+
|
|
105
|
+
## Data preparation
|
|
106
|
+
|
|
107
|
+
### Shard-based train/val split
|
|
108
|
+
```python
|
|
109
|
+
# Use last shard as validation (always the same data for consistent eval)
|
|
110
|
+
shard_files = sorted(glob("data/shard_*.bin"))
|
|
111
|
+
val_shard = shard_files[-1] # pinned validation
|
|
112
|
+
train_shards = shard_files[:-1] # everything else
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Split by shard, not by random sampling — this ensures no data leakage and makes
|
|
116
|
+
the val set deterministic across experiments.
|
|
117
|
+
|
|
118
|
+
## Environment setup
|
|
119
|
+
|
|
120
|
+
```python
|
|
121
|
+
import os
|
|
122
|
+
os.environ["PYTORCH_ALLOC_CONF"] = "expandable_segments:True" # BEFORE torch import
|
|
123
|
+
os.environ["HF_HUB_DISABLE_PROGRESS_BARS"] = "1" # clean logs
|
|
124
|
+
|
|
125
|
+
import torch
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Setting `PYTORCH_ALLOC_CONF` before importing torch is important — it configures the
|
|
129
|
+
CUDA allocator at initialization time.
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
<!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 10-optimization/ml-training-recipes/references/optimizers.md; MIT (c) Orchestra Research -->
|
|
2
|
+
# Optimizer Patterns Reference
|
|
3
|
+
|
|
4
|
+
Deep dive into optimizer configurations for modern LLM training. Referenced from the main SKILL.md.
|
|
5
|
+
|
|
6
|
+
## Table of Contents
|
|
7
|
+
|
|
8
|
+
1. [AdamW Best Practices](#adamw-best-practices)
|
|
9
|
+
2. [Muon Optimizer](#muon-optimizer)
|
|
10
|
+
3. [Hybrid MuonAdamW](#hybrid-muonadamw)
|
|
11
|
+
4. [Per-Parameter-Group Configuration](#per-parameter-group-configuration)
|
|
12
|
+
5. [LR Scaling Rules](#lr-scaling-rules)
|
|
13
|
+
6. [Weight Decay Strategies](#weight-decay-strategies)
|
|
14
|
+
7. [Momentum Scheduling](#momentum-scheduling)
|
|
15
|
+
8. [Compiled Optimizer Steps](#compiled-optimizer-steps)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## AdamW Best Practices
|
|
20
|
+
|
|
21
|
+
AdamW (decoupled weight decay) is the baseline optimizer for everything that isn't a 2D matrix
|
|
22
|
+
in modern LLM training.
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
# Typical hyperparameters for LLM pretraining
|
|
26
|
+
optimizer = torch.optim.AdamW(
|
|
27
|
+
params,
|
|
28
|
+
lr=3e-4,
|
|
29
|
+
betas=(0.9, 0.95), # β1=0.9, β2=0.95 (not the default 0.999)
|
|
30
|
+
eps=1e-8,
|
|
31
|
+
weight_decay=0.1,
|
|
32
|
+
)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Key differences from default PyTorch AdamW
|
|
36
|
+
|
|
37
|
+
- **β2 = 0.95** (not 0.999): Faster adaptation to changing gradient statistics. The default 0.999
|
|
38
|
+
has a ~1000-step memory, too slow for the rapidly changing loss landscape of LLM training.
|
|
39
|
+
- **β1 = 0.8-0.9**: Some modern recipes use 0.8 for faster momentum.
|
|
40
|
+
- **eps = 1e-10** (not 1e-8): Smaller epsilon for bf16 training where gradients can be very small. autoresearch uses 1e-10; 1e-8 can cause stale updates when gradient second moments are tiny.
|
|
41
|
+
|
|
42
|
+
### Fused step (for torch.compile)
|
|
43
|
+
|
|
44
|
+
To avoid recompilation when hyperparameters change, use 0-D CPU tensors:
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
# Create once at init
|
|
48
|
+
self._lr_t = torch.tensor(0.0, dtype=torch.float32, device="cpu")
|
|
49
|
+
|
|
50
|
+
# Fill before each step (no recompile)
|
|
51
|
+
self._lr_t.fill_(group['lr'])
|
|
52
|
+
|
|
53
|
+
@torch.compile(dynamic=False, fullgraph=True)
|
|
54
|
+
def adamw_step_fused(p, grad, exp_avg, exp_avg_sq, step_t, lr_t, beta1_t, beta2_t, eps_t, wd_t):
|
|
55
|
+
p.mul_(1 - lr_t * wd_t)
|
|
56
|
+
exp_avg.lerp_(grad, 1 - beta1_t)
|
|
57
|
+
exp_avg_sq.lerp_(grad.square(), 1 - beta2_t)
|
|
58
|
+
bias1 = 1 - beta1_t ** step_t
|
|
59
|
+
bias2 = 1 - beta2_t ** step_t
|
|
60
|
+
denom = (exp_avg_sq / bias2).sqrt() + eps_t
|
|
61
|
+
p.add_(exp_avg / denom, alpha=-lr_t / bias1)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Muon Optimizer
|
|
67
|
+
|
|
68
|
+
Muon is designed for 2D matrix (weight) parameters. It uses Nesterov momentum followed by
|
|
69
|
+
"Polar Express" orthogonalization — a fast Newton-Schulz iteration that approximates the
|
|
70
|
+
matrix polar decomposition (finding the nearest orthogonal matrix to the gradient).
|
|
71
|
+
|
|
72
|
+
### Why orthogonalize gradients?
|
|
73
|
+
|
|
74
|
+
Standard gradient descent updates can create rank-deficient weight matrices over time.
|
|
75
|
+
Orthogonalizing the update direction encourages diverse feature learning and prevents
|
|
76
|
+
mode collapse in the weight space. Think of it as giving every update direction "equal voice."
|
|
77
|
+
|
|
78
|
+
### Core algorithm
|
|
79
|
+
|
|
80
|
+
1. **Nesterov momentum**: Standard momentum with look-ahead
|
|
81
|
+
2. **Polar Express**: Newton-Schulz iterations to orthogonalize the gradient matrix
|
|
82
|
+
3. **NorMuon**: Variance reduction that normalizes per-row or per-column
|
|
83
|
+
4. **Cautious update**: Only update weights where the gradient agrees with the parameter sign
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
@torch.compile(dynamic=False, fullgraph=True)
|
|
87
|
+
def muon_step_fused(grads, params, momentum_buf, second_momentum_buf,
|
|
88
|
+
momentum, lr, wd, beta2, ns_steps, red_dim):
|
|
89
|
+
# 1. Nesterov momentum
|
|
90
|
+
momentum_buf.lerp_(grads, 1 - momentum)
|
|
91
|
+
g = grads.lerp_(momentum_buf, momentum)
|
|
92
|
+
|
|
93
|
+
# 2. Polar Express (Newton-Schulz orthogonalization)
|
|
94
|
+
X = g.bfloat16()
|
|
95
|
+
X = X / (X.norm(dim=(-2, -1), keepdim=True) * 1.02 + 1e-6)
|
|
96
|
+
coeffs = [ # Pre-computed optimal coefficients
|
|
97
|
+
(8.16, -22.48, 15.88),
|
|
98
|
+
(4.04, -2.81, 0.50),
|
|
99
|
+
(3.89, -2.77, 0.51),
|
|
100
|
+
(3.29, -2.37, 0.46),
|
|
101
|
+
(2.35, -1.71, 0.42),
|
|
102
|
+
]
|
|
103
|
+
# Choose which dimension to contract based on matrix shape
|
|
104
|
+
if g.size(-2) > g.size(-1): # tall matrix
|
|
105
|
+
for a, b, c in coeffs[:ns_steps]:
|
|
106
|
+
A = X.mT @ X
|
|
107
|
+
B = b * A + c * (A @ A)
|
|
108
|
+
X = a * X + X @ B
|
|
109
|
+
else: # wide matrix
|
|
110
|
+
for a, b, c in coeffs[:ns_steps]:
|
|
111
|
+
A = X @ X.mT
|
|
112
|
+
B = b * A + c * (A @ A)
|
|
113
|
+
X = a * X + B @ X
|
|
114
|
+
g = X
|
|
115
|
+
|
|
116
|
+
# 3. NorMuon variance reduction
|
|
117
|
+
v_mean = g.float().square().mean(dim=red_dim, keepdim=True)
|
|
118
|
+
second_momentum_buf.lerp_(v_mean, 1 - beta2)
|
|
119
|
+
step_size = second_momentum_buf.clamp_min(1e-10).rsqrt()
|
|
120
|
+
# Normalize so total norm is preserved
|
|
121
|
+
...
|
|
122
|
+
|
|
123
|
+
# 4. Cautious weight decay + update
|
|
124
|
+
mask = (g * params) >= 0 # only decay where gradient agrees
|
|
125
|
+
params.sub_(lr * g + lr * wd * params * mask)
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Muon hyperparameters
|
|
129
|
+
|
|
130
|
+
| Parameter | Typical Value | Notes |
|
|
131
|
+
|-----------|--------------|-------|
|
|
132
|
+
| lr | 0.02-0.04 | Scaled by `max(1, rows/cols)^0.5` for non-square matrices |
|
|
133
|
+
| momentum | 0.95 | Warm up from 0.85 over first 300 steps |
|
|
134
|
+
| ns_steps | 5 | Number of Newton-Schulz iterations (more = better approx, slower) |
|
|
135
|
+
| beta2 | 0.95 | For second moment tracking in NorMuon |
|
|
136
|
+
| weight_decay | 0.1-0.2 | Cautious (only where gradient agrees with param) |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Hybrid MuonAdamW
|
|
141
|
+
|
|
142
|
+
The key insight: different parameter types benefit from different optimization strategies.
|
|
143
|
+
|
|
144
|
+
| Parameter Type | Optimizer | Why |
|
|
145
|
+
|---------------|-----------|-----|
|
|
146
|
+
| 2D weight matrices (attention, MLP) | Muon | Benefits from orthogonalization |
|
|
147
|
+
| Token embeddings | AdamW | Sparse updates, not a matrix transform |
|
|
148
|
+
| Unembedding (lm_head) | AdamW | Needs lower LR for stability |
|
|
149
|
+
| Per-layer scalars | AdamW | Too small for matrix methods |
|
|
150
|
+
| Value embeddings | AdamW | Same as token embeddings |
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
class MuonAdamW(torch.optim.Optimizer):
|
|
154
|
+
def step(self):
|
|
155
|
+
for group in self.param_groups:
|
|
156
|
+
if group['kind'] == 'adamw':
|
|
157
|
+
self._step_adamw(group)
|
|
158
|
+
elif group['kind'] == 'muon':
|
|
159
|
+
self._step_muon(group)
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Grouping Muon parameters
|
|
163
|
+
|
|
164
|
+
Group Muon parameters by shape for efficient stacked updates:
|
|
165
|
+
|
|
166
|
+
```python
|
|
167
|
+
# Group same-shape params together
|
|
168
|
+
for shape in sorted({p.shape for p in matrix_params}):
|
|
169
|
+
group_params = [p for p in matrix_params if p.shape == shape]
|
|
170
|
+
param_groups.append({
|
|
171
|
+
'kind': 'muon',
|
|
172
|
+
'params': group_params,
|
|
173
|
+
'lr': matrix_lr,
|
|
174
|
+
'momentum': 0.95,
|
|
175
|
+
'ns_steps': 5,
|
|
176
|
+
})
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
This enables `torch.stack` for vectorized Newton-Schulz across all params of the same shape.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Per-Parameter-Group Configuration
|
|
184
|
+
|
|
185
|
+
A complete optimizer setup for modern LLM training:
|
|
186
|
+
|
|
187
|
+
```python
|
|
188
|
+
def setup_optimizer(model, d_model=768):
|
|
189
|
+
lr_scale = (d_model / 768) ** -0.5
|
|
190
|
+
|
|
191
|
+
param_groups = [
|
|
192
|
+
# Unembedding: low LR, no weight decay
|
|
193
|
+
{
|
|
194
|
+
'kind': 'adamw',
|
|
195
|
+
'params': list(model.lm_head.parameters()),
|
|
196
|
+
'lr': 0.004 * lr_scale,
|
|
197
|
+
'betas': (0.8, 0.95),
|
|
198
|
+
'eps': 1e-10,
|
|
199
|
+
'weight_decay': 0.0,
|
|
200
|
+
},
|
|
201
|
+
# Token embeddings: higher LR (sparse updates need bigger steps)
|
|
202
|
+
{
|
|
203
|
+
'kind': 'adamw',
|
|
204
|
+
'params': list(model.wte.parameters()),
|
|
205
|
+
'lr': 0.6 * lr_scale,
|
|
206
|
+
'betas': (0.8, 0.95),
|
|
207
|
+
'eps': 1e-10,
|
|
208
|
+
'weight_decay': 0.0,
|
|
209
|
+
},
|
|
210
|
+
# Transformer matrices: Muon
|
|
211
|
+
{
|
|
212
|
+
'kind': 'muon',
|
|
213
|
+
'params': list(model.transformer.h.parameters()),
|
|
214
|
+
'lr': 0.04,
|
|
215
|
+
'momentum': 0.95,
|
|
216
|
+
'ns_steps': 5,
|
|
217
|
+
'beta2': 0.95,
|
|
218
|
+
'weight_decay': 0.2,
|
|
219
|
+
},
|
|
220
|
+
# Per-layer scalars: separate AdamW
|
|
221
|
+
{
|
|
222
|
+
'kind': 'adamw',
|
|
223
|
+
'params': [model.resid_lambdas],
|
|
224
|
+
'lr': 0.005 * lr_scale,
|
|
225
|
+
'betas': (0.8, 0.95),
|
|
226
|
+
'eps': 1e-10,
|
|
227
|
+
'weight_decay': 0.0,
|
|
228
|
+
},
|
|
229
|
+
]
|
|
230
|
+
|
|
231
|
+
# Store initial LR for scheduling
|
|
232
|
+
optimizer = MuonAdamW(param_groups)
|
|
233
|
+
for group in optimizer.param_groups:
|
|
234
|
+
group["initial_lr"] = group["lr"]
|
|
235
|
+
return optimizer
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## LR Scaling Rules
|
|
241
|
+
|
|
242
|
+
### By model dimension
|
|
243
|
+
|
|
244
|
+
As models get wider, per-parameter learning rates should decrease:
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
lr_effective = lr_base * (d_model / d_reference) ^ (-0.5)
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
This comes from the observation that larger matrices amplify gradient norms. Scaling by `1/√d`
|
|
251
|
+
keeps the effective step size constant across model sizes.
|
|
252
|
+
|
|
253
|
+
### By matrix shape (Muon specific)
|
|
254
|
+
|
|
255
|
+
Non-square matrices need LR adjustment:
|
|
256
|
+
|
|
257
|
+
```python
|
|
258
|
+
effective_lr = lr * max(1.0, rows / cols) ** 0.5
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
This compensates for the asymmetry in the orthogonalization process.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Weight Decay Strategies
|
|
266
|
+
|
|
267
|
+
### Linear decay to zero
|
|
268
|
+
|
|
269
|
+
```python
|
|
270
|
+
def get_weight_decay(progress):
|
|
271
|
+
return base_wd * (1 - progress)
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Rationale: early in training, regularization prevents overfitting to initial data distribution.
|
|
275
|
+
Late in training, we want the model to fully commit to learned features.
|
|
276
|
+
|
|
277
|
+
### Cautious weight decay (Muon)
|
|
278
|
+
|
|
279
|
+
Only apply weight decay where the gradient and parameter have the same sign:
|
|
280
|
+
|
|
281
|
+
```python
|
|
282
|
+
mask = (gradient * parameter) >= 0
|
|
283
|
+
parameter -= lr * (gradient + wd * parameter * mask)
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
This prevents weight decay from fighting the gradient — if the gradient says "increase this weight"
|
|
287
|
+
but weight decay says "decrease it", cautious WD skips the decay for that element.
|
|
288
|
+
|
|
289
|
+
### What to weight-decay
|
|
290
|
+
|
|
291
|
+
- **Yes**: Transformer weight matrices (attention projections, MLP weights)
|
|
292
|
+
- **No**: Embeddings, biases, layer norm parameters, per-layer scalars
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Momentum Scheduling
|
|
297
|
+
|
|
298
|
+
Warm up momentum over the first few hundred steps:
|
|
299
|
+
|
|
300
|
+
```python
|
|
301
|
+
def get_muon_momentum(step, warmup_steps=300):
|
|
302
|
+
frac = min(step / warmup_steps, 1.0)
|
|
303
|
+
return 0.85 + frac * (0.95 - 0.85) # 0.85 → 0.95
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
Lower momentum early in training allows faster adaptation when the loss landscape is changing
|
|
307
|
+
rapidly. As training stabilizes, higher momentum smooths the updates.
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Compiled Optimizer Steps
|
|
312
|
+
|
|
313
|
+
When using `torch.compile`, avoid recompilation from changing scalar values by using 0-D tensors:
|
|
314
|
+
|
|
315
|
+
```python
|
|
316
|
+
class CompiledOptimizer:
|
|
317
|
+
def __init__(self):
|
|
318
|
+
# 0-D CPU tensors: changing their values doesn't trigger recompile
|
|
319
|
+
self._lr = torch.tensor(0.0, dtype=torch.float32, device="cpu")
|
|
320
|
+
self._wd = torch.tensor(0.0, dtype=torch.float32, device="cpu")
|
|
321
|
+
|
|
322
|
+
def step(self, group):
|
|
323
|
+
self._lr.fill_(group['lr']) # update value
|
|
324
|
+
self._wd.fill_(group['weight_decay'])
|
|
325
|
+
compiled_step(params, grads, self._lr, self._wd) # no recompile
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
This is critical for training loops where LR changes every step — without this pattern,
|
|
329
|
+
`torch.compile` would recompile the optimizer step function every time the LR changes,
|
|
330
|
+
defeating the purpose of compilation.
|