@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.
Files changed (582) hide show
  1. package/CHANGELOG.md +738 -0
  2. package/LICENSE +21 -0
  3. package/MANIFEST +753 -0
  4. package/README.de.md +169 -0
  5. package/README.es.md +168 -0
  6. package/README.fr.md +166 -0
  7. package/README.md +161 -0
  8. package/README.tr.md +163 -0
  9. package/agents/tezgah-reviewer.md +70 -0
  10. package/bin/codegen +337 -0
  11. package/bin/consult +797 -0
  12. package/bin/tezgah-adhd +50 -0
  13. package/bin/tezgah-agents +45 -0
  14. package/bin/tezgah-capture +66 -0
  15. package/bin/tezgah-context +96 -0
  16. package/bin/tezgah-decisions +213 -0
  17. package/bin/tezgah-design +953 -0
  18. package/bin/tezgah-docs +1199 -0
  19. package/bin/tezgah-doctor +497 -0
  20. package/bin/tezgah-dsh +37 -0
  21. package/bin/tezgah-dsh.cmd +70 -0
  22. package/bin/tezgah-gate +75 -0
  23. package/bin/tezgah-import-ai-research +439 -0
  24. package/bin/tezgah-index +32 -0
  25. package/bin/tezgah-lessons +148 -0
  26. package/bin/tezgah-mcp +322 -0
  27. package/bin/tezgah-migrate +324 -0
  28. package/bin/tezgah-pony +50 -0
  29. package/bin/tezgah-research +772 -0
  30. package/bin/tezgah-rollback +93 -0
  31. package/bin/tezgah-route +124 -0
  32. package/bin/tezgah-setup +5798 -0
  33. package/bin/tezgah-status +383 -0
  34. package/bin/tezgah-task +607 -0
  35. package/bin/tezgah-taste +423 -0
  36. package/bin/tezgah-triage +485 -0
  37. package/bin/tezgah.js +36 -0
  38. package/commands/adhd.md +21 -0
  39. package/commands/ponytail.md +21 -0
  40. package/docs/README.md +112 -0
  41. package/docs/architecture.md +226 -0
  42. package/docs/citations-baseline.json +59 -0
  43. package/docs/clarity-baseline.json +116 -0
  44. package/docs/contract.md +416 -0
  45. package/docs/environment.md +141 -0
  46. package/docs/evidence.md +831 -0
  47. package/docs/feature-audit.md +139 -0
  48. package/docs/gate.md +407 -0
  49. package/docs/glossary.md +201 -0
  50. package/docs/hosts.md +400 -0
  51. package/docs/index.json +471 -0
  52. package/docs/judge.md +193 -0
  53. package/docs/layers.md +189 -0
  54. package/docs/models.md +160 -0
  55. package/docs/operations.md +666 -0
  56. package/docs/research.md +809 -0
  57. package/docs/results/paired-outcome-2026-10.jsonl +254 -0
  58. package/docs/results/paired-outcome-2026-10.md +204 -0
  59. package/docs/skills.md +236 -0
  60. package/docs/status-line.md +315 -0
  61. package/docs/testing.md +287 -0
  62. package/docs/vision.md +117 -0
  63. package/hooks/hooks.json +33 -0
  64. package/hooks/projects-auto-init.py +98 -0
  65. package/hooks/projects-posttooluse.py +149 -0
  66. package/hooks/projects-pretooluse.py +40 -0
  67. package/hooks/projects-stop.py +60 -0
  68. package/hooks/tezgah_agents.py +817 -0
  69. package/hooks/tezgah_apps.py +266 -0
  70. package/hooks/tezgah_attest.py +255 -0
  71. package/hooks/tezgah_clarity.py +171 -0
  72. package/hooks/tezgah_components.py +140 -0
  73. package/hooks/tezgah_context.py +2953 -0
  74. package/hooks/tezgah_embed.py +765 -0
  75. package/hooks/tezgah_gate.py +2736 -0
  76. package/hooks/tezgah_guard.py +177 -0
  77. package/hooks/tezgah_index.py +124 -0
  78. package/hooks/tezgah_integrity.py +5141 -0
  79. package/hooks/tezgah_judge.py +487 -0
  80. package/hooks/tezgah_lang.py +230 -0
  81. package/hooks/tezgah_lessons.py +210 -0
  82. package/hooks/tezgah_models.py +855 -0
  83. package/hooks/tezgah_paths.py +1132 -0
  84. package/hooks/tezgah_policy.py +1039 -0
  85. package/hooks/tezgah_rank.py +77 -0
  86. package/hooks/tezgah_replay.py +1109 -0
  87. package/hooks/tezgah_research.py +5176 -0
  88. package/hooks/tezgah_shapes.py +305 -0
  89. package/hooks/tezgah_skill_pick.py +227 -0
  90. package/hooks/tezgah_snapshot.py +490 -0
  91. package/hooks/tezgah_stopspec.py +320 -0
  92. package/hooks/tezgah_task.py +458 -0
  93. package/hooks/tezgah_taste.py +201 -0
  94. package/hooks/tezgah_untrusted.py +112 -0
  95. package/hooks/tezgah_update.py +430 -0
  96. package/hosts/codex/hook.py +268 -0
  97. package/hosts/codex/hooks.json +26 -0
  98. package/hosts/cursor/hook.py +461 -0
  99. package/hosts/cursor/hooks.json +44 -0
  100. package/hosts/dsh/hooks.json +21 -0
  101. package/hosts/dsh/statusline/lib/client.js +138 -0
  102. package/hosts/dsh/statusline/lib/index.js +104 -0
  103. package/hosts/dsh/statusline/package.json +28 -0
  104. package/hosts/omp/hook.py +277 -0
  105. package/hosts/omp/tezgah-hook.ts.in +701 -0
  106. package/hosts/opencode/plugins/tezgah.js +2742 -0
  107. package/hosts/opencode/tui/tezgah-tui.tsx +151 -0
  108. package/output-styles/tezgah.md +142 -0
  109. package/package.json +32 -0
  110. package/packaging/build.sh +342 -0
  111. package/packaging/install.ps1 +166 -0
  112. package/packaging/install.sh +56 -0
  113. package/packaging/upgrade.sh +142 -0
  114. package/skills/ai-research/0-autoresearch-skill/SKILL.md +411 -0
  115. package/skills/ai-research/0-autoresearch-skill/references/agent-continuity.md +95 -0
  116. package/skills/ai-research/0-autoresearch-skill/references/progress-reporting.md +166 -0
  117. package/skills/ai-research/0-autoresearch-skill/references/skill-routing.md +219 -0
  118. package/skills/ai-research/0-autoresearch-skill/templates/findings.md +44 -0
  119. package/skills/ai-research/0-autoresearch-skill/templates/research-log.md +41 -0
  120. package/skills/ai-research/01-model-architecture/litgpt/SKILL.md +469 -0
  121. package/skills/ai-research/01-model-architecture/litgpt/references/custom-models.md +569 -0
  122. package/skills/ai-research/01-model-architecture/litgpt/references/distributed-training.md +452 -0
  123. package/skills/ai-research/01-model-architecture/litgpt/references/supported-models.md +337 -0
  124. package/skills/ai-research/01-model-architecture/litgpt/references/training-recipes.md +620 -0
  125. package/skills/ai-research/01-model-architecture/mamba/SKILL.md +260 -0
  126. package/skills/ai-research/01-model-architecture/mamba/references/architecture-details.md +207 -0
  127. package/skills/ai-research/01-model-architecture/mamba/references/benchmarks.md +256 -0
  128. package/skills/ai-research/01-model-architecture/mamba/references/training-guide.md +389 -0
  129. package/skills/ai-research/01-model-architecture/nanogpt/SKILL.md +290 -0
  130. package/skills/ai-research/01-model-architecture/nanogpt/references/architecture.md +383 -0
  131. package/skills/ai-research/01-model-architecture/nanogpt/references/data.md +477 -0
  132. package/skills/ai-research/01-model-architecture/nanogpt/references/training.md +565 -0
  133. package/skills/ai-research/01-model-architecture/rwkv/SKILL.md +260 -0
  134. package/skills/ai-research/01-model-architecture/rwkv/references/architecture-details.md +345 -0
  135. package/skills/ai-research/01-model-architecture/rwkv/references/rwkv7.md +387 -0
  136. package/skills/ai-research/01-model-architecture/rwkv/references/state-management.md +370 -0
  137. package/skills/ai-research/01-model-architecture/torchtitan/SKILL.md +358 -0
  138. package/skills/ai-research/01-model-architecture/torchtitan/references/checkpoint.md +182 -0
  139. package/skills/ai-research/01-model-architecture/torchtitan/references/custom-models.md +259 -0
  140. package/skills/ai-research/01-model-architecture/torchtitan/references/float8.md +134 -0
  141. package/skills/ai-research/01-model-architecture/torchtitan/references/fsdp.md +127 -0
  142. package/skills/ai-research/02-tokenization/huggingface-tokenizers/SKILL.md +516 -0
  143. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/algorithms.md +654 -0
  144. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/integration.md +638 -0
  145. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/pipeline.md +724 -0
  146. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/training.md +566 -0
  147. package/skills/ai-research/02-tokenization/sentencepiece/SKILL.md +235 -0
  148. package/skills/ai-research/02-tokenization/sentencepiece/references/algorithms.md +201 -0
  149. package/skills/ai-research/02-tokenization/sentencepiece/references/training.md +305 -0
  150. package/skills/ai-research/03-fine-tuning/axolotl/SKILL.md +158 -0
  151. package/skills/ai-research/03-fine-tuning/axolotl/references/api.md +5549 -0
  152. package/skills/ai-research/03-fine-tuning/axolotl/references/dataset-formats.md +1030 -0
  153. package/skills/ai-research/03-fine-tuning/axolotl/references/index.md +16 -0
  154. package/skills/ai-research/03-fine-tuning/axolotl/references/other.md +3564 -0
  155. package/skills/ai-research/03-fine-tuning/llama-factory/SKILL.md +80 -0
  156. package/skills/ai-research/03-fine-tuning/llama-factory/references/_images.md +24 -0
  157. package/skills/ai-research/03-fine-tuning/llama-factory/references/advanced.md +1056 -0
  158. package/skills/ai-research/03-fine-tuning/llama-factory/references/getting_started.md +350 -0
  159. package/skills/ai-research/03-fine-tuning/llama-factory/references/index.md +20 -0
  160. package/skills/ai-research/03-fine-tuning/llama-factory/references/other.md +32 -0
  161. package/skills/ai-research/03-fine-tuning/peft/SKILL.md +431 -0
  162. package/skills/ai-research/03-fine-tuning/peft/references/advanced-usage.md +515 -0
  163. package/skills/ai-research/03-fine-tuning/peft/references/troubleshooting.md +481 -0
  164. package/skills/ai-research/03-fine-tuning/unsloth/SKILL.md +80 -0
  165. package/skills/ai-research/03-fine-tuning/unsloth/references/index.md +8 -0
  166. package/skills/ai-research/03-fine-tuning/unsloth/references/llms.md +83 -0
  167. package/skills/ai-research/04-mechanistic-interpretability/nnsight/SKILL.md +436 -0
  168. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/README.md +79 -0
  169. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/api.md +345 -0
  170. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/tutorials.md +301 -0
  171. package/skills/ai-research/04-mechanistic-interpretability/pyvene/SKILL.md +473 -0
  172. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/README.md +74 -0
  173. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/api.md +384 -0
  174. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/tutorials.md +377 -0
  175. package/skills/ai-research/04-mechanistic-interpretability/saelens/SKILL.md +386 -0
  176. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/README.md +71 -0
  177. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/api.md +334 -0
  178. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/tutorials.md +319 -0
  179. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/SKILL.md +346 -0
  180. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/README.md +55 -0
  181. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/api.md +363 -0
  182. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/tutorials.md +340 -0
  183. package/skills/ai-research/05-data-processing/nemo-curator/SKILL.md +383 -0
  184. package/skills/ai-research/05-data-processing/nemo-curator/references/deduplication.md +88 -0
  185. package/skills/ai-research/05-data-processing/nemo-curator/references/filtering.md +103 -0
  186. package/skills/ai-research/05-data-processing/ray-data/SKILL.md +326 -0
  187. package/skills/ai-research/05-data-processing/ray-data/references/integration.md +83 -0
  188. package/skills/ai-research/05-data-processing/ray-data/references/transformations.md +84 -0
  189. package/skills/ai-research/06-post-training/grpo-rl-training/README.md +98 -0
  190. package/skills/ai-research/06-post-training/grpo-rl-training/SKILL.md +572 -0
  191. package/skills/ai-research/06-post-training/miles/SKILL.md +315 -0
  192. package/skills/ai-research/06-post-training/miles/references/api-reference.md +142 -0
  193. package/skills/ai-research/06-post-training/miles/references/troubleshooting.md +353 -0
  194. package/skills/ai-research/06-post-training/openrlhf/SKILL.md +249 -0
  195. package/skills/ai-research/06-post-training/openrlhf/references/algorithm-comparison.md +405 -0
  196. package/skills/ai-research/06-post-training/openrlhf/references/custom-rewards.md +531 -0
  197. package/skills/ai-research/06-post-training/openrlhf/references/hybrid-engine.md +288 -0
  198. package/skills/ai-research/06-post-training/openrlhf/references/multi-node-training.md +455 -0
  199. package/skills/ai-research/06-post-training/simpo/SKILL.md +219 -0
  200. package/skills/ai-research/06-post-training/simpo/references/datasets.md +479 -0
  201. package/skills/ai-research/06-post-training/simpo/references/hyperparameters.md +453 -0
  202. package/skills/ai-research/06-post-training/simpo/references/loss-functions.md +351 -0
  203. package/skills/ai-research/06-post-training/slime/SKILL.md +464 -0
  204. package/skills/ai-research/06-post-training/slime/references/api-reference.md +393 -0
  205. package/skills/ai-research/06-post-training/slime/references/troubleshooting.md +387 -0
  206. package/skills/ai-research/06-post-training/torchforge/SKILL.md +433 -0
  207. package/skills/ai-research/06-post-training/torchforge/references/api-reference.md +328 -0
  208. package/skills/ai-research/06-post-training/torchforge/references/troubleshooting.md +410 -0
  209. package/skills/ai-research/06-post-training/trl-fine-tuning/SKILL.md +455 -0
  210. package/skills/ai-research/06-post-training/trl-fine-tuning/references/dpo-variants.md +228 -0
  211. package/skills/ai-research/06-post-training/trl-fine-tuning/references/online-rl.md +83 -0
  212. package/skills/ai-research/06-post-training/trl-fine-tuning/references/reward-modeling.md +123 -0
  213. package/skills/ai-research/06-post-training/trl-fine-tuning/references/sft-training.md +169 -0
  214. package/skills/ai-research/06-post-training/verl/SKILL.md +391 -0
  215. package/skills/ai-research/06-post-training/verl/references/api-reference.md +302 -0
  216. package/skills/ai-research/06-post-training/verl/references/troubleshooting.md +392 -0
  217. package/skills/ai-research/07-safety-alignment/constitutional-ai/SKILL.md +290 -0
  218. package/skills/ai-research/07-safety-alignment/llamaguard/SKILL.md +337 -0
  219. package/skills/ai-research/07-safety-alignment/nemo-guardrails/SKILL.md +297 -0
  220. package/skills/ai-research/07-safety-alignment/prompt-guard/SKILL.md +312 -0
  221. package/skills/ai-research/08-distributed-training/accelerate/SKILL.md +332 -0
  222. package/skills/ai-research/08-distributed-training/accelerate/references/custom-plugins.md +454 -0
  223. package/skills/ai-research/08-distributed-training/accelerate/references/megatron-integration.md +490 -0
  224. package/skills/ai-research/08-distributed-training/accelerate/references/performance.md +526 -0
  225. package/skills/ai-research/08-distributed-training/deepspeed/SKILL.md +141 -0
  226. package/skills/ai-research/08-distributed-training/deepspeed/references/08.md +18 -0
  227. package/skills/ai-research/08-distributed-training/deepspeed/references/09.md +174 -0
  228. package/skills/ai-research/08-distributed-training/deepspeed/references/2020.md +379 -0
  229. package/skills/ai-research/08-distributed-training/deepspeed/references/2023.md +280 -0
  230. package/skills/ai-research/08-distributed-training/deepspeed/references/assets.md +180 -0
  231. package/skills/ai-research/08-distributed-training/deepspeed/references/index.md +36 -0
  232. package/skills/ai-research/08-distributed-training/deepspeed/references/mii.md +119 -0
  233. package/skills/ai-research/08-distributed-training/deepspeed/references/other.md +1192 -0
  234. package/skills/ai-research/08-distributed-training/megatron-core/SKILL.md +366 -0
  235. package/skills/ai-research/08-distributed-training/megatron-core/references/benchmarks.md +250 -0
  236. package/skills/ai-research/08-distributed-training/megatron-core/references/parallelism-guide.md +405 -0
  237. package/skills/ai-research/08-distributed-training/megatron-core/references/production-examples.md +474 -0
  238. package/skills/ai-research/08-distributed-training/megatron-core/references/training-recipes.md +548 -0
  239. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/SKILL.md +231 -0
  240. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_async_recipe.md +14 -0
  241. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_overview.md +19 -0
  242. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_recipe.md +18 -0
  243. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_ddp_notes.md +10 -0
  244. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_device_mesh_tutorial.md +22 -0
  245. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_examples_fsdp2.md +15 -0
  246. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp1_api.md +9 -0
  247. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp2_tutorial.md +45 -0
  248. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fully_shard_api.md +49 -0
  249. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_tp_tutorial.md +22 -0
  250. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/ray_train_fsdp2_example.md +13 -0
  251. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/torchtitan_fsdp_notes.md +14 -0
  252. package/skills/ai-research/08-distributed-training/pytorch-lightning/SKILL.md +346 -0
  253. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/callbacks.md +437 -0
  254. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/distributed.md +491 -0
  255. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/hyperparameter-tuning.md +557 -0
  256. package/skills/ai-research/08-distributed-training/ray-train/SKILL.md +406 -0
  257. package/skills/ai-research/08-distributed-training/ray-train/references/multi-node.md +629 -0
  258. package/skills/ai-research/09-infrastructure/lambda-labs/SKILL.md +545 -0
  259. package/skills/ai-research/09-infrastructure/lambda-labs/references/advanced-usage.md +612 -0
  260. package/skills/ai-research/09-infrastructure/lambda-labs/references/troubleshooting.md +531 -0
  261. package/skills/ai-research/09-infrastructure/modal/SKILL.md +341 -0
  262. package/skills/ai-research/09-infrastructure/modal/references/advanced-usage.md +504 -0
  263. package/skills/ai-research/09-infrastructure/modal/references/troubleshooting.md +495 -0
  264. package/skills/ai-research/09-infrastructure/skypilot/SKILL.md +509 -0
  265. package/skills/ai-research/09-infrastructure/skypilot/references/advanced-usage.md +492 -0
  266. package/skills/ai-research/09-infrastructure/skypilot/references/troubleshooting.md +571 -0
  267. package/skills/ai-research/10-optimization/awq/SKILL.md +310 -0
  268. package/skills/ai-research/10-optimization/awq/references/advanced-usage.md +325 -0
  269. package/skills/ai-research/10-optimization/awq/references/troubleshooting.md +345 -0
  270. package/skills/ai-research/10-optimization/bitsandbytes/SKILL.md +411 -0
  271. package/skills/ai-research/10-optimization/bitsandbytes/references/memory-optimization.md +522 -0
  272. package/skills/ai-research/10-optimization/bitsandbytes/references/qlora-training.md +522 -0
  273. package/skills/ai-research/10-optimization/bitsandbytes/references/quantization-formats.md +448 -0
  274. package/skills/ai-research/10-optimization/flash-attention/SKILL.md +367 -0
  275. package/skills/ai-research/10-optimization/flash-attention/references/benchmarks.md +216 -0
  276. package/skills/ai-research/10-optimization/flash-attention/references/transformers-integration.md +294 -0
  277. package/skills/ai-research/10-optimization/gguf/SKILL.md +427 -0
  278. package/skills/ai-research/10-optimization/gguf/references/advanced-usage.md +505 -0
  279. package/skills/ai-research/10-optimization/gguf/references/troubleshooting.md +443 -0
  280. package/skills/ai-research/10-optimization/gptq/SKILL.md +450 -0
  281. package/skills/ai-research/10-optimization/gptq/references/calibration.md +338 -0
  282. package/skills/ai-research/10-optimization/gptq/references/integration.md +130 -0
  283. package/skills/ai-research/10-optimization/gptq/references/troubleshooting.md +96 -0
  284. package/skills/ai-research/10-optimization/hqq/SKILL.md +445 -0
  285. package/skills/ai-research/10-optimization/hqq/references/advanced-usage.md +529 -0
  286. package/skills/ai-research/10-optimization/hqq/references/troubleshooting.md +504 -0
  287. package/skills/ai-research/10-optimization/ml-training-recipes/SKILL.md +319 -0
  288. package/skills/ai-research/10-optimization/ml-training-recipes/references/architecture.md +320 -0
  289. package/skills/ai-research/10-optimization/ml-training-recipes/references/biomedical.md +498 -0
  290. package/skills/ai-research/10-optimization/ml-training-recipes/references/domain-specific.md +626 -0
  291. package/skills/ai-research/10-optimization/ml-training-recipes/references/experiment-loop.md +129 -0
  292. package/skills/ai-research/10-optimization/ml-training-recipes/references/optimizers.md +330 -0
  293. package/skills/ai-research/10-optimization/ml-training-recipes/references/scaling-and-selection.md +428 -0
  294. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/SKILL.md +405 -0
  295. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/benchmarks.md +394 -0
  296. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/custom-tasks.md +425 -0
  297. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/issues.md +395 -0
  298. package/skills/ai-research/11-evaluation/lm-evaluation-harness/SKILL.md +490 -0
  299. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/api-evaluation.md +491 -0
  300. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/benchmark-guide.md +489 -0
  301. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/custom-tasks.md +603 -0
  302. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/distributed-eval.md +520 -0
  303. package/skills/ai-research/11-evaluation/nemo-evaluator/SKILL.md +494 -0
  304. package/skills/ai-research/11-evaluation/nemo-evaluator/references/adapter-system.md +341 -0
  305. package/skills/ai-research/11-evaluation/nemo-evaluator/references/configuration.md +448 -0
  306. package/skills/ai-research/11-evaluation/nemo-evaluator/references/custom-benchmarks.md +316 -0
  307. package/skills/ai-research/11-evaluation/nemo-evaluator/references/execution-backends.md +362 -0
  308. package/skills/ai-research/12-inference-serving/llama-cpp/SKILL.md +258 -0
  309. package/skills/ai-research/12-inference-serving/llama-cpp/references/optimization.md +90 -0
  310. package/skills/ai-research/12-inference-serving/llama-cpp/references/quantization.md +214 -0
  311. package/skills/ai-research/12-inference-serving/llama-cpp/references/server.md +126 -0
  312. package/skills/ai-research/12-inference-serving/sglang/SKILL.md +442 -0
  313. package/skills/ai-research/12-inference-serving/sglang/references/deployment.md +491 -0
  314. package/skills/ai-research/12-inference-serving/sglang/references/radix-attention.md +414 -0
  315. package/skills/ai-research/12-inference-serving/sglang/references/structured-generation.md +542 -0
  316. package/skills/ai-research/12-inference-serving/tensorrt-llm/SKILL.md +187 -0
  317. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/multi-gpu.md +299 -0
  318. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/optimization.md +243 -0
  319. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/serving.md +471 -0
  320. package/skills/ai-research/12-inference-serving/vllm/SKILL.md +364 -0
  321. package/skills/ai-research/12-inference-serving/vllm/references/optimization.md +227 -0
  322. package/skills/ai-research/12-inference-serving/vllm/references/quantization.md +285 -0
  323. package/skills/ai-research/12-inference-serving/vllm/references/server-deployment.md +256 -0
  324. package/skills/ai-research/12-inference-serving/vllm/references/troubleshooting.md +448 -0
  325. package/skills/ai-research/13-mlops/mlflow/SKILL.md +704 -0
  326. package/skills/ai-research/13-mlops/mlflow/references/deployment.md +745 -0
  327. package/skills/ai-research/13-mlops/mlflow/references/model-registry.md +771 -0
  328. package/skills/ai-research/13-mlops/mlflow/references/tracking.md +681 -0
  329. package/skills/ai-research/13-mlops/swanlab/SKILL.md +406 -0
  330. package/skills/ai-research/13-mlops/swanlab/references/integrations.md +305 -0
  331. package/skills/ai-research/13-mlops/swanlab/references/visualization.md +234 -0
  332. package/skills/ai-research/13-mlops/tensorboard/SKILL.md +629 -0
  333. package/skills/ai-research/13-mlops/tensorboard/references/integrations.md +639 -0
  334. package/skills/ai-research/13-mlops/tensorboard/references/profiling.md +546 -0
  335. package/skills/ai-research/13-mlops/tensorboard/references/visualization.md +621 -0
  336. package/skills/ai-research/13-mlops/weights-and-biases/SKILL.md +590 -0
  337. package/skills/ai-research/13-mlops/weights-and-biases/references/artifacts.md +585 -0
  338. package/skills/ai-research/13-mlops/weights-and-biases/references/integrations.md +701 -0
  339. package/skills/ai-research/13-mlops/weights-and-biases/references/sweeps.md +848 -0
  340. package/skills/ai-research/14-agents/a-evolve/SKILL.md +383 -0
  341. package/skills/ai-research/14-agents/a-evolve/references/README.md +831 -0
  342. package/skills/ai-research/14-agents/a-evolve/references/api.md +594 -0
  343. package/skills/ai-research/14-agents/a-evolve/references/architecture.md +417 -0
  344. package/skills/ai-research/14-agents/a-evolve/references/design-patterns.md +462 -0
  345. package/skills/ai-research/14-agents/a-evolve/references/examples.md +352 -0
  346. package/skills/ai-research/14-agents/a-evolve/references/issues.md +591 -0
  347. package/skills/ai-research/14-agents/a-evolve/references/releases.md +112 -0
  348. package/skills/ai-research/14-agents/a-evolve/references/tutorials.md +819 -0
  349. package/skills/ai-research/14-agents/autogpt/SKILL.md +403 -0
  350. package/skills/ai-research/14-agents/autogpt/references/advanced-usage.md +536 -0
  351. package/skills/ai-research/14-agents/autogpt/references/troubleshooting.md +421 -0
  352. package/skills/ai-research/14-agents/crewai/SKILL.md +498 -0
  353. package/skills/ai-research/14-agents/crewai/references/flows.md +439 -0
  354. package/skills/ai-research/14-agents/crewai/references/tools.md +430 -0
  355. package/skills/ai-research/14-agents/crewai/references/troubleshooting.md +481 -0
  356. package/skills/ai-research/14-agents/langchain/SKILL.md +480 -0
  357. package/skills/ai-research/14-agents/langchain/references/agents.md +500 -0
  358. package/skills/ai-research/14-agents/langchain/references/integration.md +563 -0
  359. package/skills/ai-research/14-agents/langchain/references/rag.md +601 -0
  360. package/skills/ai-research/14-agents/llamaindex/SKILL.md +569 -0
  361. package/skills/ai-research/14-agents/llamaindex/references/agents.md +84 -0
  362. package/skills/ai-research/14-agents/llamaindex/references/data_connectors.md +109 -0
  363. package/skills/ai-research/14-agents/llamaindex/references/query_engines.md +407 -0
  364. package/skills/ai-research/15-rag/chroma/SKILL.md +406 -0
  365. package/skills/ai-research/15-rag/chroma/references/integration.md +39 -0
  366. package/skills/ai-research/15-rag/faiss/SKILL.md +221 -0
  367. package/skills/ai-research/15-rag/faiss/references/index_types.md +281 -0
  368. package/skills/ai-research/15-rag/pinecone/SKILL.md +358 -0
  369. package/skills/ai-research/15-rag/pinecone/references/deployment.md +182 -0
  370. package/skills/ai-research/15-rag/qdrant/SKILL.md +493 -0
  371. package/skills/ai-research/15-rag/qdrant/references/advanced-usage.md +649 -0
  372. package/skills/ai-research/15-rag/qdrant/references/troubleshooting.md +632 -0
  373. package/skills/ai-research/15-rag/sentence-transformers/SKILL.md +255 -0
  374. package/skills/ai-research/15-rag/sentence-transformers/references/models.md +124 -0
  375. package/skills/ai-research/16-prompt-engineering/dspy/SKILL.md +590 -0
  376. package/skills/ai-research/16-prompt-engineering/dspy/references/examples.md +664 -0
  377. package/skills/ai-research/16-prompt-engineering/dspy/references/modules.md +476 -0
  378. package/skills/ai-research/16-prompt-engineering/dspy/references/optimizers.md +567 -0
  379. package/skills/ai-research/16-prompt-engineering/guidance/SKILL.md +572 -0
  380. package/skills/ai-research/16-prompt-engineering/guidance/references/backends.md +555 -0
  381. package/skills/ai-research/16-prompt-engineering/guidance/references/constraints.md +675 -0
  382. package/skills/ai-research/16-prompt-engineering/guidance/references/examples.md +768 -0
  383. package/skills/ai-research/16-prompt-engineering/instructor/SKILL.md +740 -0
  384. package/skills/ai-research/16-prompt-engineering/instructor/references/examples.md +108 -0
  385. package/skills/ai-research/16-prompt-engineering/instructor/references/providers.md +71 -0
  386. package/skills/ai-research/16-prompt-engineering/instructor/references/validation.md +607 -0
  387. package/skills/ai-research/16-prompt-engineering/outlines/SKILL.md +652 -0
  388. package/skills/ai-research/16-prompt-engineering/outlines/references/backends.md +616 -0
  389. package/skills/ai-research/16-prompt-engineering/outlines/references/examples.md +774 -0
  390. package/skills/ai-research/16-prompt-engineering/outlines/references/json_generation.md +653 -0
  391. package/skills/ai-research/17-observability/langsmith/SKILL.md +422 -0
  392. package/skills/ai-research/17-observability/langsmith/references/advanced-usage.md +549 -0
  393. package/skills/ai-research/17-observability/langsmith/references/troubleshooting.md +538 -0
  394. package/skills/ai-research/17-observability/phoenix/SKILL.md +475 -0
  395. package/skills/ai-research/17-observability/phoenix/references/advanced-usage.md +620 -0
  396. package/skills/ai-research/17-observability/phoenix/references/troubleshooting.md +539 -0
  397. package/skills/ai-research/18-multimodal/audiocraft/SKILL.md +564 -0
  398. package/skills/ai-research/18-multimodal/audiocraft/references/advanced-usage.md +667 -0
  399. package/skills/ai-research/18-multimodal/audiocraft/references/troubleshooting.md +505 -0
  400. package/skills/ai-research/18-multimodal/blip-2/SKILL.md +564 -0
  401. package/skills/ai-research/18-multimodal/blip-2/references/advanced-usage.md +681 -0
  402. package/skills/ai-research/18-multimodal/blip-2/references/troubleshooting.md +527 -0
  403. package/skills/ai-research/18-multimodal/clip/SKILL.md +253 -0
  404. package/skills/ai-research/18-multimodal/clip/references/applications.md +208 -0
  405. package/skills/ai-research/18-multimodal/cosmos-policy/SKILL.md +402 -0
  406. package/skills/ai-research/18-multimodal/cosmos-policy/references/libero-commands.md +175 -0
  407. package/skills/ai-research/18-multimodal/cosmos-policy/references/robocasa-commands.md +147 -0
  408. package/skills/ai-research/18-multimodal/llava/SKILL.md +304 -0
  409. package/skills/ai-research/18-multimodal/llava/references/training.md +198 -0
  410. package/skills/ai-research/18-multimodal/openpi/SKILL.md +480 -0
  411. package/skills/ai-research/18-multimodal/openpi/references/checkpoints-and-env-map.md +86 -0
  412. package/skills/ai-research/18-multimodal/openpi/references/config-recipes.md +50 -0
  413. package/skills/ai-research/18-multimodal/openpi/references/pytorch-gotchas.md +49 -0
  414. package/skills/ai-research/18-multimodal/openpi/references/remote-client-pattern.md +48 -0
  415. package/skills/ai-research/18-multimodal/openpi/references/training-debugging.md +46 -0
  416. package/skills/ai-research/18-multimodal/openvla-oft/SKILL.md +441 -0
  417. package/skills/ai-research/18-multimodal/openvla-oft/references/aloha-workflow.md +141 -0
  418. package/skills/ai-research/18-multimodal/openvla-oft/references/config-troubleshooting.md +97 -0
  419. package/skills/ai-research/18-multimodal/openvla-oft/references/libero-workflow.md +115 -0
  420. package/skills/ai-research/18-multimodal/openvla-oft/references/paper-and-checkpoints.md +84 -0
  421. package/skills/ai-research/18-multimodal/segment-anything/SKILL.md +500 -0
  422. package/skills/ai-research/18-multimodal/segment-anything/references/advanced-usage.md +590 -0
  423. package/skills/ai-research/18-multimodal/segment-anything/references/troubleshooting.md +485 -0
  424. package/skills/ai-research/18-multimodal/stable-diffusion/SKILL.md +519 -0
  425. package/skills/ai-research/18-multimodal/stable-diffusion/references/advanced-usage.md +717 -0
  426. package/skills/ai-research/18-multimodal/stable-diffusion/references/troubleshooting.md +556 -0
  427. package/skills/ai-research/18-multimodal/whisper/SKILL.md +317 -0
  428. package/skills/ai-research/18-multimodal/whisper/references/languages.md +190 -0
  429. package/skills/ai-research/19-emerging-techniques/knowledge-distillation/SKILL.md +458 -0
  430. package/skills/ai-research/19-emerging-techniques/knowledge-distillation/references/minillm.md +335 -0
  431. package/skills/ai-research/19-emerging-techniques/long-context/SKILL.md +536 -0
  432. package/skills/ai-research/19-emerging-techniques/long-context/references/extension_methods.md +469 -0
  433. package/skills/ai-research/19-emerging-techniques/long-context/references/fine_tuning.md +612 -0
  434. package/skills/ai-research/19-emerging-techniques/long-context/references/rope.md +403 -0
  435. package/skills/ai-research/19-emerging-techniques/model-merging/SKILL.md +497 -0
  436. package/skills/ai-research/19-emerging-techniques/model-merging/references/coefficient-tuning.md +415 -0
  437. package/skills/ai-research/19-emerging-techniques/model-merging/references/evaluation.md +463 -0
  438. package/skills/ai-research/19-emerging-techniques/model-merging/references/examples.md +429 -0
  439. package/skills/ai-research/19-emerging-techniques/model-merging/references/methods.md +353 -0
  440. package/skills/ai-research/19-emerging-techniques/model-pruning/SKILL.md +495 -0
  441. package/skills/ai-research/19-emerging-techniques/model-pruning/references/wanda.md +348 -0
  442. package/skills/ai-research/19-emerging-techniques/moe-training/SKILL.md +526 -0
  443. package/skills/ai-research/19-emerging-techniques/moe-training/references/architectures.md +433 -0
  444. package/skills/ai-research/19-emerging-techniques/moe-training/references/inference.md +349 -0
  445. package/skills/ai-research/19-emerging-techniques/moe-training/references/training.md +426 -0
  446. package/skills/ai-research/19-emerging-techniques/speculative-decoding/SKILL.md +467 -0
  447. package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/lookahead.md +310 -0
  448. package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/medusa.md +351 -0
  449. package/skills/ai-research/20-ml-paper-writing/academic-plotting/SKILL.md +479 -0
  450. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/data-visualization.md +509 -0
  451. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/diagram-generation.md +395 -0
  452. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/style-guide.md +305 -0
  453. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/SKILL.md +982 -0
  454. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/checklists.md +348 -0
  455. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/citation-workflow.md +563 -0
  456. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/reviewer-guidelines.md +349 -0
  457. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/sources.md +165 -0
  458. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/writing-guide.md +477 -0
  459. package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/SKILL.md +298 -0
  460. package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/references/slide-templates.md +505 -0
  461. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/SKILL.md +270 -0
  462. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/checklist.md +279 -0
  463. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/reviewer-guidelines.md +116 -0
  464. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/section-blueprints.md +400 -0
  465. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/systems-conferences.md +261 -0
  466. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/writing-patterns.md +231 -0
  467. package/skills/ai-research/21-research-ideation/brainstorming-research-ideas/SKILL.md +384 -0
  468. package/skills/ai-research/21-research-ideation/creative-thinking-for-research/SKILL.md +366 -0
  469. package/skills/ai-research/22-agent-native-research-artifact/compiler/SKILL.md +245 -0
  470. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/ara-schema.md +439 -0
  471. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/exploration-tree-spec.md +125 -0
  472. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/validation-checklist.md +149 -0
  473. package/skills/ai-research/22-agent-native-research-artifact/research-manager/SKILL.md +324 -0
  474. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/event-taxonomy.md +124 -0
  475. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/provenance-tags.md +190 -0
  476. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/session-protocol.md +162 -0
  477. package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/SKILL.md +322 -0
  478. package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/references/review-dimensions.md +182 -0
  479. package/skills/ai-research/SKILL.md +101 -0
  480. package/skills/ai-research/SOURCE +38 -0
  481. package/skills/ai-research/index/1-frame.md +18 -0
  482. package/skills/ai-research/index/2-data.md +21 -0
  483. package/skills/ai-research/index/3-train.md +48 -0
  484. package/skills/ai-research/index/4-measure.md +25 -0
  485. package/skills/ai-research/index/5-run.md +23 -0
  486. package/skills/ai-research/index/6-write.md +35 -0
  487. package/skills/ai-research/library.json +3456 -0
  488. package/skills/analyze-app/EVALS.md +82 -0
  489. package/skills/analyze-app/SKILL.md +188 -0
  490. package/skills/design-contract/EVALS.md +80 -0
  491. package/skills/design-contract/SKILL.md +171 -0
  492. package/skills/design-library/EVALS.md +85 -0
  493. package/skills/design-library/INDEX.md +59 -0
  494. package/skills/design-library/SKILL.md +58 -0
  495. package/skills/design-library/SOURCE +131 -0
  496. package/skills/design-library/adaptive-interfaces/skills/colour-independence/SKILL.md +90 -0
  497. package/skills/design-library/adaptive-interfaces/skills/flexible-typography/SKILL.md +83 -0
  498. package/skills/design-library/adaptive-interfaces/skills/information-density/SKILL.md +87 -0
  499. package/skills/design-library/adaptive-interfaces/skills/preference-audit/SKILL.md +70 -0
  500. package/skills/design-library/adaptive-interfaces/skills/responsive-accessibility/SKILL.md +86 -0
  501. package/skills/design-library/adaptive-interfaces/skills/responsive-review/SKILL.md +76 -0
  502. package/skills/design-library/adaptive-interfaces/skills/simplified-views/SKILL.md +97 -0
  503. package/skills/design-library/adaptive-interfaces/skills/specify/SKILL.md +63 -0
  504. package/skills/design-library/adaptive-interfaces/skills/user-preference-respect/SKILL.md +100 -0
  505. package/skills/design-library/cognitive-accessibility/skills/adaptive-personalisation/SKILL.md +61 -0
  506. package/skills/design-library/cognitive-accessibility/skills/assess-load/SKILL.md +48 -0
  507. package/skills/design-library/cognitive-accessibility/skills/cognitive-load-assessment/SKILL.md +60 -0
  508. package/skills/design-library/cognitive-accessibility/skills/contextual-help-design/SKILL.md +61 -0
  509. package/skills/design-library/cognitive-accessibility/skills/error-prevention-recovery/SKILL.md +71 -0
  510. package/skills/design-library/cognitive-accessibility/skills/focus-attention-design/SKILL.md +67 -0
  511. package/skills/design-library/cognitive-accessibility/skills/memory-load-reduction/SKILL.md +60 -0
  512. package/skills/design-library/cognitive-accessibility/skills/plain-language-design/SKILL.md +78 -0
  513. package/skills/design-library/cognitive-accessibility/skills/review/SKILL.md +56 -0
  514. package/skills/design-library/cognitive-accessibility/skills/simplify/SKILL.md +39 -0
  515. package/skills/design-library/cognitive-accessibility/skills/wayfinding-navigation/SKILL.md +64 -0
  516. package/skills/design-library/design-research/skills/behavioural-analytics/SKILL.md +33 -0
  517. package/skills/design-library/design-research/skills/qual-quant-triangulation/SKILL.md +33 -0
  518. package/skills/design-library/inclusive-interaction/skills/audit/SKILL.md +50 -0
  519. package/skills/design-library/inclusive-interaction/skills/design-flow/SKILL.md +58 -0
  520. package/skills/design-library/inclusive-interaction/skills/feedback-and-status/SKILL.md +76 -0
  521. package/skills/design-library/inclusive-interaction/skills/gesture-alternatives/SKILL.md +70 -0
  522. package/skills/design-library/inclusive-interaction/skills/keyboard-navigation/SKILL.md +99 -0
  523. package/skills/design-library/inclusive-interaction/skills/keyboard-review/SKILL.md +54 -0
  524. package/skills/design-library/inclusive-interaction/skills/motion-sensitivity/SKILL.md +79 -0
  525. package/skills/design-library/inclusive-interaction/skills/multi-modal-input/SKILL.md +70 -0
  526. package/skills/design-library/inclusive-interaction/skills/touch-target-design/SKILL.md +71 -0
  527. package/skills/design-library/inclusive-interaction/skills/voice-interaction/SKILL.md +68 -0
  528. package/skills/design-library/visual-critique/skills/critique-affordance/SKILL.md +45 -0
  529. package/skills/design-library/visual-critique/skills/critique-brand-consistency/SKILL.md +42 -0
  530. package/skills/design-library/visual-critique/skills/critique-color/SKILL.md +44 -0
  531. package/skills/design-library/visual-critique/skills/critique-composition/SKILL.md +46 -0
  532. package/skills/design-library/visual-critique/skills/critique-information-density/SKILL.md +45 -0
  533. package/skills/design-library/visual-critique/skills/critique-typography/SKILL.md +45 -0
  534. package/skills/design-library/visual-critique/skills/critique-visual-hierarchy/SKILL.md +40 -0
  535. package/skills/feature-audit/EVALS.md +83 -0
  536. package/skills/feature-audit/SKILL.md +326 -0
  537. package/skills/harness/EVALS.md +81 -0
  538. package/skills/harness/SKILL.md +88 -0
  539. package/skills/i-have-adhd/EVALS.md +80 -0
  540. package/skills/i-have-adhd/SKILL.md +183 -0
  541. package/skills/no-ai-slop/EVALS.md +89 -0
  542. package/skills/no-ai-slop/SKILL.md +209 -0
  543. package/skills/no-ai-slop/eval.md +52 -0
  544. package/skills/plan-add/EVALS.md +79 -0
  545. package/skills/plan-add/SKILL.md +179 -0
  546. package/skills/plan-add/render_table.py +72 -0
  547. package/skills/plan-status/EVALS.md +78 -0
  548. package/skills/plan-status/SKILL.md +52 -0
  549. package/skills/plan-sync/EVALS.md +80 -0
  550. package/skills/plan-sync/SKILL.md +69 -0
  551. package/skills/pm-frameworks/SKILL.md +33 -0
  552. package/skills/pm-frameworks/SOURCE +39 -0
  553. package/skills/pm-frameworks/intended-vs-implemented/SKILL.md +42 -0
  554. package/skills/pm-frameworks/opportunity-solution-tree/SKILL.md +64 -0
  555. package/skills/ponytail/EVALS.md +80 -0
  556. package/skills/ponytail/SKILL.md +124 -0
  557. package/skills/product-analysis/EVALS.md +103 -0
  558. package/skills/product-analysis/SKILL.md +361 -0
  559. package/skills/research/EVALS.md +104 -0
  560. package/skills/research/SKILL.md +570 -0
  561. package/skills/rl-env/SKILL.md +53 -0
  562. package/skills/rl-env/SOURCE +41 -0
  563. package/skills/rl-env/generate-nemo-gym-env/SKILL.md +169 -0
  564. package/skills/rl-env/generate-nemo-gym-env/references/architecture.md +114 -0
  565. package/skills/rl-env/generate-openenv-env/SKILL.md +183 -0
  566. package/skills/rl-env/generate-openenv-env/references/architecture.md +82 -0
  567. package/skills/rl-env/generate-ors-env/SKILL.md +209 -0
  568. package/skills/rl-env/generate-ors-env/references/architecture.md +113 -0
  569. package/skills/rl-env/generate-verifiers-env/SKILL.md +188 -0
  570. package/skills/rl-env/generate-verifiers-env/references/architecture.md +119 -0
  571. package/skills/rl-env/rl-env-from-description/SKILL.md +124 -0
  572. package/skills/rl-env/rl-env-from-description/references/interview.md +75 -0
  573. package/skills/rl-env/rl-env-from-description/references/nemo_gym.md +41 -0
  574. package/skills/rl-env/rl-env-from-description/references/openenv.md +35 -0
  575. package/skills/rl-env/rl-env-from-description/references/ors.md +50 -0
  576. package/skills/rl-env/rl-env-from-description/references/verifiers.md +39 -0
  577. package/skills/tezgah-contract/EVALS.md +78 -0
  578. package/skills/tezgah-contract/SKILL.md +792 -0
  579. package/statusline.py +129 -0
  580. package/workflows/graph-impact.js +153 -0
  581. package/workflows/graph-map.js +158 -0
  582. package/workflows/graph-review.js +170 -0
@@ -0,0 +1,182 @@
1
+ <!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 01-model-architecture/torchtitan/references/checkpoint.md; MIT (c) Orchestra Research -->
2
+ # Checkpointing in TorchTitan
3
+
4
+ TorchTitan uses PyTorch Distributed Checkpoint (DCP) for fault-tolerant, interoperable checkpointing.
5
+
6
+ ## Basic Configuration
7
+
8
+ ```toml
9
+ [checkpoint]
10
+ enable = true
11
+ folder = "checkpoint"
12
+ interval = 500
13
+ ```
14
+
15
+ ## Save Model Only (Smaller Checkpoints)
16
+
17
+ Exclude optimizer state and training metadata:
18
+
19
+ ```toml
20
+ [checkpoint]
21
+ enable = true
22
+ last_save_model_only = true
23
+ export_dtype = "bfloat16" # Optional: export in lower precision
24
+ ```
25
+
26
+ ## Excluding Keys from Loading
27
+
28
+ Partial checkpoint loading for modified settings:
29
+
30
+ ```toml
31
+ [checkpoint]
32
+ enable = true
33
+ exclude_from_loading = ["data_loader", "lr_scheduler"]
34
+ ```
35
+
36
+ CLI equivalent:
37
+ ```bash
38
+ --checkpoint.exclude_from_loading data_loader,lr_scheduler
39
+ ```
40
+
41
+ ## Creating Seed Checkpoints
42
+
43
+ Required for Pipeline Parallelism to ensure consistent initialization:
44
+
45
+ ```bash
46
+ NGPU=1 CONFIG_FILE=<path_to_config> ./run_train.sh \
47
+ --checkpoint.enable \
48
+ --checkpoint.create_seed_checkpoint \
49
+ --parallelism.data_parallel_replicate_degree 1 \
50
+ --parallelism.data_parallel_shard_degree 1 \
51
+ --parallelism.tensor_parallel_degree 1 \
52
+ --parallelism.pipeline_parallel_degree 1 \
53
+ --parallelism.context_parallel_degree 1 \
54
+ --parallelism.expert_parallel_degree 1
55
+ ```
56
+
57
+ This initializes on single CPU for reproducible initialization across any GPU count.
58
+
59
+ ## Async Checkpointing
60
+
61
+ Reduce checkpoint overhead with async writes:
62
+
63
+ ```toml
64
+ [checkpoint]
65
+ enable = true
66
+ async_mode = "async" # Options: "disabled", "async", "async_with_pinned_mem"
67
+ ```
68
+
69
+ ## HuggingFace Conversion
70
+
71
+ ### During Training
72
+
73
+ Save directly in HuggingFace format:
74
+
75
+ ```toml
76
+ [checkpoint]
77
+ last_save_in_hf = true
78
+ last_save_model_only = true
79
+ ```
80
+
81
+ Load from HuggingFace:
82
+
83
+ ```toml
84
+ [checkpoint]
85
+ initial_load_in_hf = true
86
+
87
+ [model]
88
+ hf_assets_path = "./path/to/hf/checkpoint"
89
+ ```
90
+
91
+ ### Offline Conversion
92
+
93
+ Convert without running training:
94
+
95
+ ```bash
96
+ # HuggingFace -> TorchTitan
97
+ python ./scripts/checkpoint_conversion/convert_from_hf.py \
98
+ <input_dir> <output_dir> \
99
+ --model_name llama3 \
100
+ --model_flavor 8B
101
+
102
+ # TorchTitan -> HuggingFace
103
+ python ./scripts/checkpoint_conversion/convert_to_hf.py \
104
+ <input_dir> <output_dir> \
105
+ --hf_assets_path ./assets/hf/Llama3.1-8B \
106
+ --model_name llama3 \
107
+ --model_flavor 8B
108
+ ```
109
+
110
+ ### Example
111
+
112
+ ```bash
113
+ python ./scripts/convert_from_hf.py \
114
+ ~/.cache/huggingface/hub/models--meta-llama--Meta-Llama-3-8B/snapshots/8cde5ca8380496c9a6cc7ef3a8b46a0372a1d920/ \
115
+ ./initial_load_path/ \
116
+ --model_name llama3 \
117
+ --model_flavor 8B
118
+ ```
119
+
120
+ ## Converting to Single .pt File
121
+
122
+ Convert DCP sharded checkpoint to single PyTorch file:
123
+
124
+ ```bash
125
+ python -m torch.distributed.checkpoint.format_utils \
126
+ dcp_to_torch \
127
+ torchtitan/outputs/checkpoint/step-1000 \
128
+ checkpoint.pt
129
+ ```
130
+
131
+ ## Checkpoint Structure
132
+
133
+ DCP saves sharded checkpoints that can be resharded for different parallelism configurations:
134
+
135
+ ```
136
+ checkpoint/
137
+ ├── step-500/
138
+ │ ├── .metadata
139
+ │ ├── __0_0.distcp
140
+ │ ├── __0_1.distcp
141
+ │ └── ...
142
+ └── step-1000/
143
+ └── ...
144
+ ```
145
+
146
+ ## Resume Training
147
+
148
+ Training auto-resumes from the latest checkpoint in the configured folder. To resume from a specific step:
149
+
150
+ ```toml
151
+ [checkpoint]
152
+ load_step = 500 # Resume from step 500
153
+ ```
154
+
155
+ ## Interoperability with TorchTune
156
+
157
+ Checkpoints saved with `last_save_model_only = true` can be loaded directly into [torchtune](https://github.com/pytorch/torchtune) for fine-tuning.
158
+
159
+ ## Full Configuration Example
160
+
161
+ ```toml
162
+ [checkpoint]
163
+ enable = true
164
+ folder = "checkpoint"
165
+ interval = 500
166
+ load_step = -1 # -1 = latest, or specify step number
167
+ last_save_model_only = true
168
+ export_dtype = "bfloat16"
169
+ async_mode = "async"
170
+ exclude_from_loading = []
171
+ last_save_in_hf = false
172
+ initial_load_in_hf = false
173
+ create_seed_checkpoint = false
174
+ ```
175
+
176
+ ## Best Practices
177
+
178
+ 1. **Large models**: Use `async_mode = "async"` to overlap checkpoint saves with training
179
+ 2. **Fine-tuning export**: Enable `last_save_model_only` and `export_dtype = "bfloat16"` for smaller files
180
+ 3. **Pipeline parallelism**: Always create seed checkpoint first
181
+ 4. **Debugging**: Save frequent checkpoints during development, reduce for production
182
+ 5. **HF interop**: Use conversion scripts for offline conversion, direct save/load for training workflows
@@ -0,0 +1,259 @@
1
+ <!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 01-model-architecture/torchtitan/references/custom-models.md; MIT (c) Orchestra Research -->
2
+ # Adding Custom Models to TorchTitan
3
+
4
+ This guide explains how to add a new model to TorchTitan following the established patterns.
5
+
6
+ ## Directory Structure
7
+
8
+ ```
9
+ torchtitan/models/your_model/
10
+ ├── model/
11
+ │ ├── __init__.py
12
+ │ ├── args.py # Model arguments
13
+ │ ├── model.py # Model definition
14
+ │ └── state_dict_adapter.py # HF conversion (optional)
15
+ ├── infra/
16
+ │ ├── __init__.py
17
+ │ ├── parallelize.py # TP, FSDP, compile application
18
+ │ └── pipeline.py # PP application (optional)
19
+ ├── train_configs/
20
+ │ ├── debug_model.toml
21
+ │ └── your_model_XB.toml
22
+ ├── __init__.py # TrainSpec registration
23
+ └── README.md
24
+ ```
25
+
26
+ ## Step 1: Define Model Arguments
27
+
28
+ Inherit from `BaseModelArgs`:
29
+
30
+ ```python
31
+ # model/args.py
32
+ from torchtitan.protocols.model import BaseModelArgs
33
+ from dataclasses import dataclass
34
+
35
+ @dataclass
36
+ class YourModelArgs(BaseModelArgs):
37
+ dim: int = 4096
38
+ n_layers: int = 32
39
+ n_heads: int = 32
40
+ vocab_size: int = 128256
41
+
42
+ def get_nparams_and_flops(self, seq_len: int) -> tuple[int, int]:
43
+ """Return (num_params, flops_per_token) for throughput calculation."""
44
+ nparams = self.vocab_size * self.dim + ... # Calculate params
45
+ flops = 6 * nparams # Approximate: 6 * params for forward+backward
46
+ return nparams, flops
47
+
48
+ def update_from_config(self, job_config) -> "YourModelArgs":
49
+ """Update args from training config."""
50
+ # Override specific args from job_config if needed
51
+ return self
52
+ ```
53
+
54
+ ## Step 2: Define Model
55
+
56
+ Inherit from `ModelProtocol`:
57
+
58
+ ```python
59
+ # model/model.py
60
+ import torch.nn as nn
61
+ from torchtitan.protocols.model import ModelProtocol
62
+ from .args import YourModelArgs
63
+
64
+ class YourModel(ModelProtocol):
65
+ def __init__(self, args: YourModelArgs):
66
+ super().__init__()
67
+ self.args = args
68
+ self.tok_embeddings = nn.Embedding(args.vocab_size, args.dim)
69
+ self.layers = nn.ModuleDict({
70
+ str(i): TransformerBlock(args) for i in range(args.n_layers)
71
+ })
72
+ self.norm = RMSNorm(args.dim)
73
+ self.output = nn.Linear(args.dim, args.vocab_size, bias=False)
74
+
75
+ def forward(self, tokens: torch.Tensor) -> torch.Tensor:
76
+ h = self.tok_embeddings(tokens)
77
+ for layer in self.layers.values():
78
+ h = layer(h)
79
+ h = self.norm(h)
80
+ return self.output(h)
81
+
82
+ def init_weights(self):
83
+ """Initialize weights recursively."""
84
+ for module in self.modules():
85
+ if hasattr(module, 'init_weights') and module is not self:
86
+ module.init_weights()
87
+ elif isinstance(module, nn.Linear):
88
+ nn.init.normal_(module.weight, std=0.02)
89
+ ```
90
+
91
+ **Important guidelines**:
92
+ - Write single-device model code (parallelism applied externally)
93
+ - Use `nn.ModuleDict` for layers (preserves FQNs when deleting for PP)
94
+ - Make input/output layers optional for PP compatibility
95
+ - Define `init_weights()` recursively
96
+
97
+ ## Step 3: Parallelize Function
98
+
99
+ ```python
100
+ # infra/parallelize.py
101
+ from torch.distributed._composable.fsdp import fully_shard
102
+ from torch.distributed.tensor.parallel import parallelize_module
103
+
104
+ def parallelize_your_model(
105
+ model: YourModel,
106
+ world_mesh: DeviceMesh,
107
+ parallel_dims: ParallelDims,
108
+ job_config: JobConfig,
109
+ ):
110
+ # Apply in this order: TP -> AC -> compile -> FSDP
111
+
112
+ # 1. Tensor Parallelism
113
+ if parallel_dims.tp_enabled:
114
+ apply_tp(model, world_mesh["tp"], job_config)
115
+
116
+ # 2. Activation Checkpointing
117
+ if job_config.activation_checkpoint.mode == "full":
118
+ apply_ac(model, job_config)
119
+
120
+ # 3. torch.compile
121
+ if job_config.compile.enable:
122
+ model = torch.compile(model)
123
+
124
+ # 4. FSDP
125
+ if parallel_dims.dp_enabled:
126
+ apply_fsdp(model, world_mesh["dp"], job_config)
127
+
128
+ return model
129
+ ```
130
+
131
+ ## Step 4: Create TrainSpec
132
+
133
+ ```python
134
+ # __init__.py
135
+ from torchtitan.protocols.train_spec import TrainSpec, register_train_spec
136
+ from .model.model import YourModel
137
+ from .model.args import YourModelArgs
138
+ from .infra.parallelize import parallelize_your_model
139
+
140
+ MODEL_CONFIGS = {
141
+ "8B": YourModelArgs(dim=4096, n_layers=32, n_heads=32),
142
+ "70B": YourModelArgs(dim=8192, n_layers=80, n_heads=64),
143
+ }
144
+
145
+ def get_train_spec(flavor: str) -> TrainSpec:
146
+ return TrainSpec(
147
+ model_cls=YourModel,
148
+ model_args=MODEL_CONFIGS[flavor],
149
+ parallelize_fn=parallelize_your_model,
150
+ pipeline_fn=None, # Or your_pipeline_fn for PP
151
+ build_optimizer_fn=build_optimizer, # Reuse existing
152
+ build_lr_scheduler_fn=build_lr_scheduler, # Reuse existing
153
+ build_dataloader_fn=build_dataloader, # Reuse existing
154
+ build_tokenizer_fn=build_tokenizer, # Reuse existing
155
+ build_loss_fn=build_loss, # Reuse existing
156
+ state_dict_adapter=None, # Or YourStateDictAdapter
157
+ )
158
+
159
+ # Register so train.py can find it
160
+ register_train_spec("your_model", get_train_spec)
161
+ ```
162
+
163
+ ## Step 5: State Dict Adapter (Optional)
164
+
165
+ For HuggingFace checkpoint conversion:
166
+
167
+ ```python
168
+ # model/state_dict_adapter.py
169
+ from torchtitan.protocols.state_dict_adapter import BaseStateDictAdapter
170
+
171
+ class YourStateDictAdapter(BaseStateDictAdapter):
172
+ def to_hf(self, state_dict: dict) -> dict:
173
+ """Convert torchtitan state dict to HF format."""
174
+ hf_state_dict = {}
175
+ for key, value in state_dict.items():
176
+ hf_key = self._convert_key_to_hf(key)
177
+ hf_state_dict[hf_key] = value
178
+ return hf_state_dict
179
+
180
+ def from_hf(self, state_dict: dict) -> dict:
181
+ """Convert HF state dict to torchtitan format."""
182
+ tt_state_dict = {}
183
+ for key, value in state_dict.items():
184
+ tt_key = self._convert_key_from_hf(key)
185
+ tt_state_dict[tt_key] = value
186
+ return tt_state_dict
187
+ ```
188
+
189
+ ## Step 6: Training Config
190
+
191
+ ```toml
192
+ # train_configs/your_model_8b.toml
193
+ [job]
194
+ dump_folder = "./outputs"
195
+ description = "Your Model 8B training"
196
+
197
+ [model]
198
+ name = "your_model"
199
+ flavor = "8B"
200
+
201
+ [optimizer]
202
+ name = "AdamW"
203
+ lr = 3e-4
204
+
205
+ [training]
206
+ local_batch_size = 2
207
+ seq_len = 8192
208
+ steps = 1000
209
+ dataset = "c4"
210
+
211
+ [parallelism]
212
+ data_parallel_shard_degree = -1
213
+ tensor_parallel_degree = 1
214
+ ```
215
+
216
+ ## Step 7: Register Model
217
+
218
+ Add to `torchtitan/models/__init__.py`:
219
+
220
+ ```python
221
+ from .your_model import get_train_spec as get_your_model_train_spec
222
+
223
+ MODEL_REGISTRY["your_model"] = get_your_model_train_spec
224
+ ```
225
+
226
+ ## Testing
227
+
228
+ ### Numerics Test
229
+
230
+ Compare output with HuggingFace implementation:
231
+
232
+ ```python
233
+ def test_numerics():
234
+ # Load same checkpoint into both implementations
235
+ tt_model = YourModel(args).load_checkpoint(...)
236
+ hf_model = HFYourModel.from_pretrained(...)
237
+
238
+ # Compare outputs
239
+ input_ids = torch.randint(0, vocab_size, (1, 128))
240
+ tt_output = tt_model(input_ids)
241
+ hf_output = hf_model(input_ids).logits
242
+
243
+ torch.testing.assert_close(tt_output, hf_output, atol=1e-4, rtol=1e-4)
244
+ ```
245
+
246
+ ### Loss Convergence
247
+
248
+ Compare loss curves with verified baseline (see `docs/converging.md`).
249
+
250
+ ### Performance Benchmark
251
+
252
+ Add benchmark config to `benchmarks/` folder.
253
+
254
+ ## Guiding Principles
255
+
256
+ 1. **Readability over flexibility**: Don't over-abstract
257
+ 2. **Minimal model changes**: Parallelism applied externally
258
+ 3. **Clean, minimal codebase**: Reuse existing components where possible
259
+ 4. **Single-device semantics**: Model code should work on single GPU
@@ -0,0 +1,134 @@
1
+ <!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 01-model-architecture/torchtitan/references/float8.md; MIT (c) Orchestra Research -->
2
+ # Float8 Training in TorchTitan
3
+
4
+ Float8 training provides substantial speedups for models where GEMMs are large enough that the FP8 tensorcore speedup outweighs dynamic quantization overhead.
5
+
6
+ ## Hardware Requirements
7
+
8
+ - NVIDIA H100 or newer GPUs (FP8 Tensor Cores)
9
+ - Blackwell GPUs for MXFP8 training
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ USE_CPP=0 pip install git+https://github.com/pytorch/ao.git
15
+ ```
16
+
17
+ ## Usage: Tensorwise Scaling
18
+
19
+ Standard Float8 with tensorwise dynamic scaling:
20
+
21
+ ```bash
22
+ CONFIG_FILE="./torchtitan/models/llama3/train_configs/llama3_8b.toml" ./run_train.sh \
23
+ --model.converters="quantize.linear.float8" \
24
+ --quantize.linear.float8.enable_fsdp_float8_all_gather \
25
+ --quantize.linear.float8.precompute_float8_dynamic_scale_for_fsdp \
26
+ --compile.enable
27
+ ```
28
+
29
+ ### Key Arguments
30
+
31
+ | Argument | Description |
32
+ |----------|-------------|
33
+ | `--model.converters="quantize.linear.float8"` | Swap `nn.Linear` with `Float8Linear` |
34
+ | `--quantize.linear.float8.enable_fsdp_float8_all_gather` | Communicate in float8 to save bandwidth |
35
+ | `--quantize.linear.float8.precompute_float8_dynamic_scale_for_fsdp` | Single all-reduce for all AMAX/scales |
36
+ | `--compile.enable` | Required - fuses float8 scaling/casting kernels |
37
+
38
+ ## Usage: Rowwise Scaling
39
+
40
+ Higher accuracy than tensorwise scaling:
41
+
42
+ ```bash
43
+ CONFIG_FILE="./torchtitan/models/llama3/train_configs/llama3_8b.toml" ./run_train.sh \
44
+ --model.converters="quantize.linear.float8" \
45
+ --quantize.linear.float8.recipe_name rowwise \
46
+ --compile.enable
47
+ ```
48
+
49
+ ## Filtering Layers
50
+
51
+ Not all layers benefit from Float8. Filter small layers:
52
+
53
+ ```bash
54
+ --quantize.linear.float8.filter_fqns="attention.wk,attention.wv,output"
55
+ ```
56
+
57
+ ### Auto-filtering
58
+
59
+ Automatically skip layers too small to benefit:
60
+
61
+ ```bash
62
+ --quantize.linear.float8.filter_fqns="auto_filter_small_kn"
63
+ ```
64
+
65
+ Thresholds based on H100 microbenchmarks where speedup > overhead.
66
+
67
+ ## TOML Configuration
68
+
69
+ ```toml
70
+ [model]
71
+ converters = ["quantize.linear.float8"]
72
+
73
+ [quantize.linear.float8]
74
+ enable_fsdp_float8_all_gather = true
75
+ precompute_float8_dynamic_scale_for_fsdp = true
76
+ filter_fqns = ["output", "auto_filter_small_kn"]
77
+
78
+ [compile]
79
+ enable = true
80
+ components = ["model", "loss"]
81
+ ```
82
+
83
+ ## How Float8 Works with Distributed Training
84
+
85
+ ### Single Device
86
+
87
+ Cast input and weight to float8 inside forward before calling `torch._scaled_mm`:
88
+
89
+ ```python
90
+ # Float8 matmul requires scales
91
+ torch._scaled_mm(input_fp8, weight_fp8, scale_a=scale_input, scale_b=scale_weight)
92
+ ```
93
+
94
+ ### FSDP + Float8
95
+
96
+ 1. Cast sharded high-precision weights (1/N per rank) to float8
97
+ 2. Perform float8 all-gather (saves bandwidth vs bf16/fp32)
98
+ 3. Communicate `max(abs)` across ranks for scale computation
99
+ 4. At forward start, have unsharded float8 weights ready
100
+
101
+ **Net benefit**: Float8 all-gather + amax communication can beat bf16/fp32 all-gather, depending on world size and message size.
102
+
103
+ ### TP + Float8
104
+
105
+ - **Input**: Cast sharded input to float8, all-gather in float8
106
+ - **Weights**: Communicate `max(abs)` for sharded weights
107
+ - **Matmul**: Float8 input (unsharded) x float8 weight (sharded) with global scales
108
+
109
+ ## Scaling Strategies
110
+
111
+ | Strategy | Status | Description |
112
+ |----------|--------|-------------|
113
+ | Tensorwise dynamic | Stable | Single scale per tensor |
114
+ | Rowwise dynamic | Alpha | Scale per row, higher accuracy |
115
+
116
+ ## Performance Gains
117
+
118
+ From benchmarks on H100:
119
+
120
+ | Configuration | TPS/GPU | vs Baseline |
121
+ |---------------|---------|-------------|
122
+ | FSDP only | 5,762 | - |
123
+ | FSDP + compile | 6,667 | +16% |
124
+ | FSDP + compile + Float8 | 8,532 | +48% |
125
+
126
+ ## Determining Float8 Benefit
127
+
128
+ Check [torchao microbenchmarks](https://github.com/pytorch/ao/tree/main/torchao/float8#performance) for forward+backward pass speedups on "layer norm => linear => sigmoid" for different M,N,K sizes.
129
+
130
+ Rule of thumb: GEMMs with K,N > 4096 typically benefit from Float8.
131
+
132
+ ## MXFP8 Training (Blackwell)
133
+
134
+ For NVIDIA Blackwell GPUs, TorchTitan supports MXFP8 (Microscaling FP8) for both dense and MoE models. See [docs/mxfp8.md](https://github.com/pytorch/torchtitan/blob/main/docs/mxfp8.md) for details.
@@ -0,0 +1,127 @@
1
+ <!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 01-model-architecture/torchtitan/references/fsdp.md; MIT (c) Orchestra Research -->
2
+ # FSDP2 in TorchTitan
3
+
4
+ ## Why FSDP2?
5
+
6
+ FSDP2 is a rewrite of PyTorch's Fully Sharded Data Parallel (FSDP) API, removing the `FlatParameter` abstraction for better composability and simpler implementation.
7
+
8
+ ### Key improvements over FSDP1
9
+
10
+ - **DTensor-based sharding**: Sharded parameters are `DTensor`s on dim-0, enabling easy manipulation and communication-free sharded state dicts
11
+ - **Better memory management**: Deterministic and lower GPU memory (7% reduction) by avoiding `recordStream`
12
+ - **Simplified API**: Fewer arguments, no wrapper class
13
+
14
+ ### Performance
15
+
16
+ On Llama-7B with 8x H100s, FSDP2 achieves higher MFU with 7% lower peak memory than FSDP1, matching the same loss curve.
17
+
18
+ ## API Reference
19
+
20
+ ```python
21
+ from torch.distributed._composable.fsdp import fully_shard, MixedPrecisionPolicy, OffloadPolicy
22
+
23
+ @contract(state_cls=FSDPState)
24
+ def fully_shard(
25
+ module: nn.Module,
26
+ *,
27
+ mesh: Optional[DeviceMesh] = None,
28
+ reshard_after_forward: Union[bool, int] = True,
29
+ mp_policy: MixedPrecisionPolicy = MixedPrecisionPolicy(),
30
+ offload_policy: OffloadPolicy = OffloadPolicy(),
31
+ ) -> nn.Module:
32
+ ```
33
+
34
+ ## Sharding Strategies (ZeRO Equivalents)
35
+
36
+ | FSDP2 Configuration | FSDP1 Equivalent | DeepSpeed |
37
+ |---------------------|------------------|-----------|
38
+ | 1D mesh + `reshard_after_forward=True` | FULL_SHARD | ZeRO-3 |
39
+ | 1D mesh + `reshard_after_forward=False` | SHARD_GRAD_OP | ZeRO-2 |
40
+ | 2D mesh + `reshard_after_forward=True` | HYBRID_SHARD | MiCS |
41
+ | 1D/2D mesh + `reshard_after_forward=8` (int) | - | ZeRO++ hpZ |
42
+
43
+ ## Meta-Device Initialization
44
+
45
+ FSDP2 supports materializing tensors onto GPU _after_ sharding:
46
+
47
+ ```python
48
+ # Initialize on meta device (no memory)
49
+ with torch.device("meta"):
50
+ model = Transformer()
51
+
52
+ # Apply FSDP2 sharding
53
+ for module in model.modules():
54
+ if isinstance(module, TransformerBlock):
55
+ fully_shard(module)
56
+ fully_shard(model)
57
+
58
+ # Parameters still on meta device
59
+ for tensor in itertools.chain(model.parameters(), model.buffers()):
60
+ assert tensor.device == torch.device("meta")
61
+
62
+ # Allocate sharded parameters on GPU
63
+ model.to_empty(device="cuda")
64
+
65
+ # Initialize weights
66
+ model.init_weights()
67
+ ```
68
+
69
+ ## State Dict Differences
70
+
71
+ | Operation | FSDP1 | FSDP2 |
72
+ |-----------|-------|-------|
73
+ | `model.state_dict()` | Full state dict | Sharded state dict (no communication) |
74
+ | `optim.state_dict()` | Local state dict | Sharded state dict (no communication) |
75
+ | `summon_full_params()` | Supported | Use `DTensor` APIs like `full_tensor()` |
76
+ | Gradient clipping | `FSDP.clip_grad_norm_()` | `nn.utils.clip_grad_norm_()` |
77
+
78
+ ## Mixed Precision
79
+
80
+ ```python
81
+ from torch.distributed._composable.fsdp import MixedPrecisionPolicy
82
+
83
+ mp_policy = MixedPrecisionPolicy(
84
+ param_dtype=torch.bfloat16,
85
+ reduce_dtype=torch.float32,
86
+ output_dtype=torch.bfloat16,
87
+ cast_forward_inputs=True,
88
+ )
89
+
90
+ fully_shard(model, mp_policy=mp_policy)
91
+ ```
92
+
93
+ ## HSDP (Hybrid Sharded Data Parallel)
94
+
95
+ For 2D parallelism with replication + sharding:
96
+
97
+ ```python
98
+ from torch.distributed.device_mesh import init_device_mesh
99
+
100
+ # Replicate across 4 groups, shard within 8 GPUs each
101
+ mesh = init_device_mesh("cuda", (4, 8), mesh_dim_names=("replicate", "shard"))
102
+
103
+ fully_shard(model, mesh=mesh)
104
+ ```
105
+
106
+ ## Configuration in TorchTitan
107
+
108
+ ```toml
109
+ [parallelism]
110
+ # FSDP sharding degree (-1 = auto, use all available GPUs)
111
+ data_parallel_shard_degree = -1
112
+
113
+ # HSDP replication degree (1 = pure FSDP, >1 = HSDP)
114
+ data_parallel_replicate_degree = 1
115
+ ```
116
+
117
+ ## Removed Arguments from FSDP1
118
+
119
+ These FSDP1 arguments are no longer needed:
120
+
121
+ - `auto_wrap_policy`: Apply `fully_shard` directly to modules
122
+ - `backward_prefetch`: Always uses BACKWARD_PRE
123
+ - `param_init_fn`: Use meta-device initialization
124
+ - `device_id`: Uses mesh's device automatically
125
+ - `sync_module_states`: Not needed with DTensor
126
+ - `limit_all_gathers`: New memory management doesn't need it
127
+ - `use_orig_params`: Always true (no FlatParameter)