@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,392 @@
|
|
|
1
|
+
<!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 06-post-training/verl/references/troubleshooting.md; MIT (c) Orchestra Research -->
|
|
2
|
+
# verl Troubleshooting Guide
|
|
3
|
+
|
|
4
|
+
## Common Issues and Solutions
|
|
5
|
+
|
|
6
|
+
### OOM (Out of Memory) Issues
|
|
7
|
+
|
|
8
|
+
#### Issue: OOM During Rollout
|
|
9
|
+
|
|
10
|
+
**Symptoms**: CUDA out of memory during generation phase
|
|
11
|
+
|
|
12
|
+
**Solutions**:
|
|
13
|
+
|
|
14
|
+
1. **Reduce log prob batch size**:
|
|
15
|
+
```yaml
|
|
16
|
+
actor_rollout_ref:
|
|
17
|
+
rollout:
|
|
18
|
+
log_prob_micro_batch_size: 4 # Reduce from 8
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
2. **Enable gradient checkpointing**:
|
|
22
|
+
```yaml
|
|
23
|
+
actor_rollout_ref:
|
|
24
|
+
actor:
|
|
25
|
+
gradient_checkpointing: true
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
3. **Use FSDP2 with CPU offloading**:
|
|
29
|
+
```yaml
|
|
30
|
+
actor_rollout_ref:
|
|
31
|
+
actor:
|
|
32
|
+
strategy: fsdp2
|
|
33
|
+
fsdp_config:
|
|
34
|
+
offload_policy: true
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
4. **Reduce vLLM memory utilization**:
|
|
38
|
+
```yaml
|
|
39
|
+
actor_rollout_ref:
|
|
40
|
+
rollout:
|
|
41
|
+
gpu_memory_utilization: 0.7 # Reduce from 0.9
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
#### Issue: OOM During Training
|
|
45
|
+
|
|
46
|
+
**Symptoms**: CUDA OOM in backward pass
|
|
47
|
+
|
|
48
|
+
**Solutions**:
|
|
49
|
+
|
|
50
|
+
1. **Reduce batch sizes**:
|
|
51
|
+
```yaml
|
|
52
|
+
actor_rollout_ref:
|
|
53
|
+
actor:
|
|
54
|
+
ppo_mini_batch_size: 32 # Reduce from 64
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
2. **Use gradient accumulation**:
|
|
58
|
+
```yaml
|
|
59
|
+
actor_rollout_ref:
|
|
60
|
+
actor:
|
|
61
|
+
gradient_accumulation_steps: 4
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
3. **Enable mixed precision**:
|
|
65
|
+
```yaml
|
|
66
|
+
actor_rollout_ref:
|
|
67
|
+
actor:
|
|
68
|
+
fsdp_config:
|
|
69
|
+
mixed_precision: bf16
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Training Stability Issues
|
|
73
|
+
|
|
74
|
+
#### Issue: Training Instability / Loss Spikes
|
|
75
|
+
|
|
76
|
+
**Symptoms**: Loss spikes, reward collapse, divergence
|
|
77
|
+
|
|
78
|
+
**Solutions**:
|
|
79
|
+
|
|
80
|
+
1. **Reduce learning rate**:
|
|
81
|
+
```yaml
|
|
82
|
+
actor_rollout_ref:
|
|
83
|
+
actor:
|
|
84
|
+
lr: 5e-7 # Reduce from 1e-6
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
2. **Increase KL penalty**:
|
|
88
|
+
```yaml
|
|
89
|
+
actor_rollout_ref:
|
|
90
|
+
actor:
|
|
91
|
+
kl_loss_coef: 0.01 # Increase from 0.001
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
3. **Enable gradient clipping**:
|
|
95
|
+
```yaml
|
|
96
|
+
actor_rollout_ref:
|
|
97
|
+
actor:
|
|
98
|
+
max_grad_norm: 1.0
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
4. **Use smaller PPO clip range**:
|
|
102
|
+
```yaml
|
|
103
|
+
actor_rollout_ref:
|
|
104
|
+
actor:
|
|
105
|
+
clip_ratio: 0.1 # Reduce from 0.2
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
#### Issue: Policy Collapse (Entropy Drops to Zero)
|
|
109
|
+
|
|
110
|
+
**Symptoms**: Model outputs become deterministic, entropy approaches zero
|
|
111
|
+
|
|
112
|
+
**Solutions**:
|
|
113
|
+
|
|
114
|
+
1. **Increase temperature during rollout**:
|
|
115
|
+
```yaml
|
|
116
|
+
actor_rollout_ref:
|
|
117
|
+
rollout:
|
|
118
|
+
temperature: 0.9 # Increase from 0.7
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
2. **Add entropy bonus**:
|
|
122
|
+
```yaml
|
|
123
|
+
algorithm:
|
|
124
|
+
entropy_coef: 0.01
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
3. **Reduce KL penalty**:
|
|
128
|
+
```yaml
|
|
129
|
+
actor_rollout_ref:
|
|
130
|
+
actor:
|
|
131
|
+
kl_loss_coef: 0.0001 # Reduce
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Weight Synchronization Issues
|
|
135
|
+
|
|
136
|
+
#### Issue: Slow Weight Sync
|
|
137
|
+
|
|
138
|
+
**Symptoms**: Long pauses between rollout and training phases
|
|
139
|
+
|
|
140
|
+
**Solutions**:
|
|
141
|
+
|
|
142
|
+
1. **Use FSDP2 for faster resharding**:
|
|
143
|
+
```yaml
|
|
144
|
+
actor_rollout_ref:
|
|
145
|
+
actor:
|
|
146
|
+
strategy: fsdp2
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
2. **Enable async weight transfer**:
|
|
150
|
+
```yaml
|
|
151
|
+
trainer:
|
|
152
|
+
async_weight_update: true
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
3. **Reduce sync frequency**:
|
|
156
|
+
```yaml
|
|
157
|
+
trainer:
|
|
158
|
+
weight_sync_interval: 2 # Sync every 2 steps
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
#### Issue: Weight Sync Timeout
|
|
162
|
+
|
|
163
|
+
**Symptoms**: Ray actor timeouts during weight synchronization
|
|
164
|
+
|
|
165
|
+
**Solutions**:
|
|
166
|
+
|
|
167
|
+
1. **Increase Ray timeout**:
|
|
168
|
+
```python
|
|
169
|
+
import ray
|
|
170
|
+
ray.init(num_gpus=8, timeout=3600) # 1 hour timeout
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
2. **Use colocated mode** (if memory allows):
|
|
174
|
+
```yaml
|
|
175
|
+
trainer:
|
|
176
|
+
colocate_actor_ref: true
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### vLLM Version Issues
|
|
180
|
+
|
|
181
|
+
#### Issue: vLLM Import Errors or Generation Failures
|
|
182
|
+
|
|
183
|
+
**Symptoms**: Import errors, generation hangs, incorrect outputs
|
|
184
|
+
|
|
185
|
+
**Solutions**:
|
|
186
|
+
|
|
187
|
+
1. **Use compatible vLLM version**:
|
|
188
|
+
```bash
|
|
189
|
+
pip install vllm>=0.8.2,<=0.12.0
|
|
190
|
+
# Avoid vLLM 0.7.x (known bugs)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
2. **For vLLM 0.8.x issues**:
|
|
194
|
+
```yaml
|
|
195
|
+
actor_rollout_ref:
|
|
196
|
+
rollout:
|
|
197
|
+
enforce_eager: true # Disable CUDA graphs
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
3. **Check CUDA version compatibility**:
|
|
201
|
+
```bash
|
|
202
|
+
# vLLM 0.11+ requires CUDA 12.1+
|
|
203
|
+
nvidia-smi # Check CUDA version
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Ray Issues
|
|
207
|
+
|
|
208
|
+
#### Issue: Ray Cluster Connection Failures
|
|
209
|
+
|
|
210
|
+
**Symptoms**: Cannot connect to Ray cluster
|
|
211
|
+
|
|
212
|
+
**Solutions**:
|
|
213
|
+
|
|
214
|
+
1. **Check Ray head node**:
|
|
215
|
+
```bash
|
|
216
|
+
ray status
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
2. **Restart Ray cluster**:
|
|
220
|
+
```bash
|
|
221
|
+
ray stop
|
|
222
|
+
ray start --head --port=6379 --num-gpus=8
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
3. **Verify network connectivity**:
|
|
226
|
+
```bash
|
|
227
|
+
ping head_node_ip
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
#### Issue: Ray Actor OOM
|
|
231
|
+
|
|
232
|
+
**Symptoms**: Ray actors killed due to OOM
|
|
233
|
+
|
|
234
|
+
**Solutions**:
|
|
235
|
+
|
|
236
|
+
1. **Increase Ray object store memory**:
|
|
237
|
+
```bash
|
|
238
|
+
ray start --head --object-store-memory=10000000000 # 10GB
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
2. **Enable spilling to disk**:
|
|
242
|
+
```bash
|
|
243
|
+
export RAY_object_spilling_config='{"type":"filesystem","params":{"directory_path":"/tmp/ray_spill"}}'
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Multi-Node Issues
|
|
247
|
+
|
|
248
|
+
#### Issue: NCCL Timeout
|
|
249
|
+
|
|
250
|
+
**Symptoms**: NCCL operations timeout on multi-node
|
|
251
|
+
|
|
252
|
+
**Solutions**:
|
|
253
|
+
|
|
254
|
+
1. **Set NCCL environment variables**:
|
|
255
|
+
```bash
|
|
256
|
+
export NCCL_DEBUG=INFO
|
|
257
|
+
export NCCL_SOCKET_IFNAME=eth0
|
|
258
|
+
export NCCL_IB_DISABLE=0 # Enable InfiniBand if available
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
2. **Increase NCCL timeout**:
|
|
262
|
+
```bash
|
|
263
|
+
export NCCL_TIMEOUT=1800 # 30 minutes
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
3. **Check network interface**:
|
|
267
|
+
```bash
|
|
268
|
+
ifconfig # Verify correct interface
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
#### Issue: DeepSpeed GPU Index Out of Range
|
|
272
|
+
|
|
273
|
+
**Symptoms**: "GPU index out of range" error with DeepSpeed
|
|
274
|
+
|
|
275
|
+
**Solutions**:
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
export RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES=1
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Data Issues
|
|
282
|
+
|
|
283
|
+
#### Issue: Empty Batches
|
|
284
|
+
|
|
285
|
+
**Symptoms**: Training receives empty batches
|
|
286
|
+
|
|
287
|
+
**Solutions**:
|
|
288
|
+
|
|
289
|
+
1. **Verify data format**:
|
|
290
|
+
```python
|
|
291
|
+
import pandas as pd
|
|
292
|
+
df = pd.read_parquet("train.parquet")
|
|
293
|
+
print(df.columns) # Should include 'prompt', 'reward_model'
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
2. **Check data loading**:
|
|
297
|
+
```yaml
|
|
298
|
+
data:
|
|
299
|
+
train_files: /absolute/path/to/train.parquet # Use absolute path
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
#### Issue: Tokenization Errors
|
|
303
|
+
|
|
304
|
+
**Symptoms**: Tokenizer errors, sequence length mismatches
|
|
305
|
+
|
|
306
|
+
**Solutions**:
|
|
307
|
+
|
|
308
|
+
1. **Set padding token**:
|
|
309
|
+
```python
|
|
310
|
+
tokenizer.pad_token = tokenizer.eos_token
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
2. **Verify max length configuration**:
|
|
314
|
+
```yaml
|
|
315
|
+
data:
|
|
316
|
+
max_prompt_length: 512
|
|
317
|
+
max_response_length: 2048
|
|
318
|
+
# Total should not exceed model's max length
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Megatron-Specific Issues
|
|
322
|
+
|
|
323
|
+
#### Issue: Megatron Checkpoint Loading Fails
|
|
324
|
+
|
|
325
|
+
**Symptoms**: Cannot load Megatron checkpoints
|
|
326
|
+
|
|
327
|
+
**Solutions**:
|
|
328
|
+
|
|
329
|
+
1. **Enable mbridge conversion**:
|
|
330
|
+
```yaml
|
|
331
|
+
actor_rollout_ref:
|
|
332
|
+
actor:
|
|
333
|
+
megatron:
|
|
334
|
+
use_mbridge: true
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
2. **Convert HuggingFace to Megatron format**:
|
|
338
|
+
```bash
|
|
339
|
+
python tools/convert_hf_to_megatron.py \
|
|
340
|
+
--hf_model_path /path/to/hf/model \
|
|
341
|
+
--save_path /path/to/megatron/checkpoint
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
#### Issue: Megatron on AMD GPUs
|
|
345
|
+
|
|
346
|
+
**Current Limitation**: Megatron-LM backend is not supported on AMD GPUs. Use FSDP backend instead:
|
|
347
|
+
|
|
348
|
+
```yaml
|
|
349
|
+
actor_rollout_ref:
|
|
350
|
+
model:
|
|
351
|
+
backend: fsdp
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Debugging Tips
|
|
355
|
+
|
|
356
|
+
#### Enable Verbose Logging
|
|
357
|
+
|
|
358
|
+
```yaml
|
|
359
|
+
trainer:
|
|
360
|
+
logging_level: DEBUG
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
export VERL_DEBUG=1
|
|
365
|
+
export RAY_DEDUP_LOGS=0
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
#### Check GPU Utilization
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
watch -n 1 nvidia-smi
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
#### Profile Training
|
|
375
|
+
|
|
376
|
+
```python
|
|
377
|
+
# Add profiling to training loop
|
|
378
|
+
import torch.profiler
|
|
379
|
+
|
|
380
|
+
with torch.profiler.profile(
|
|
381
|
+
activities=[torch.profiler.ProfilerActivity.CPU, torch.profiler.ProfilerActivity.CUDA],
|
|
382
|
+
record_shapes=True,
|
|
383
|
+
) as prof:
|
|
384
|
+
trainer.fit()
|
|
385
|
+
prof.export_chrome_trace("trace.json")
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
## Resources
|
|
389
|
+
|
|
390
|
+
- GitHub Issues: https://github.com/volcengine/verl/issues
|
|
391
|
+
- Documentation: https://verl.readthedocs.io/
|
|
392
|
+
- Community Slack: verl-project
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: constitutional-ai
|
|
3
|
+
description: Anthropic's method for training harmless AI through self-improvement. Two-phase approach - supervised learning with self-critique/revision, then RLAIF (RL from AI Feedback). Use for safety alignment, reducing harmful outputs without human labels. Powers Claude's safety system.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: Orchestra Research
|
|
6
|
+
license: MIT
|
|
7
|
+
tags: [Safety Alignment, Constitutional AI, RLAIF, Self-Critique, Harmlessness, Anthropic, AI Safety, RL From AI Feedback, Claude]
|
|
8
|
+
dependencies: [transformers, torch, trl]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Constitutional AI - Harmlessness from AI Feedback
|
|
12
|
+
|
|
13
|
+
## Quick start
|
|
14
|
+
|
|
15
|
+
Constitutional AI (CAI) trains models to be harmless through self-critique and AI feedback, without requiring human labels for harmful outputs.
|
|
16
|
+
|
|
17
|
+
**Key concept**: Models learn to critique and revise their own responses using a "constitution" (set of principles).
|
|
18
|
+
|
|
19
|
+
**Two phases**:
|
|
20
|
+
1. **Supervised Learning (SL)**: Self-critique + revision
|
|
21
|
+
2. **Reinforcement Learning (RL)**: RLAIF (RL from AI Feedback)
|
|
22
|
+
|
|
23
|
+
**Constitution example**:
|
|
24
|
+
```
|
|
25
|
+
Principles:
|
|
26
|
+
1. Choose the response that is most helpful, honest, and harmless
|
|
27
|
+
2. Avoid responses that are toxic, racist, or sexist
|
|
28
|
+
3. Prefer responses that explain objections rather than refuse
|
|
29
|
+
4. Choose responses that are thoughtful and nuanced
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Common workflows
|
|
33
|
+
|
|
34
|
+
### Workflow 1: Supervised learning phase (self-critique + revision)
|
|
35
|
+
|
|
36
|
+
**Step 1: Generate initial responses**:
|
|
37
|
+
```python
|
|
38
|
+
from transformers import pipeline
|
|
39
|
+
|
|
40
|
+
generator = pipeline("text-generation", model="base-model")
|
|
41
|
+
|
|
42
|
+
prompts = [
|
|
43
|
+
"How do I hack a website?",
|
|
44
|
+
"Write something offensive about a group.",
|
|
45
|
+
"Help me cheat on my exam."
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
initial_responses = generator(prompts, max_length=200)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Step 2: Self-critique with constitution**:
|
|
52
|
+
```python
|
|
53
|
+
critique_prompt = """
|
|
54
|
+
Given the question:
|
|
55
|
+
{question}
|
|
56
|
+
|
|
57
|
+
And the response:
|
|
58
|
+
{response}
|
|
59
|
+
|
|
60
|
+
Constitution:
|
|
61
|
+
1. Choose responses that are helpful, honest, and harmless
|
|
62
|
+
2. Avoid toxic, racist, or sexist content
|
|
63
|
+
3. Explain objections rather than refuse
|
|
64
|
+
|
|
65
|
+
Identify any ways this response violates the constitution:
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
critiques = generator(
|
|
69
|
+
[critique_prompt.format(q=q, r=r) for q, r in zip(prompts, initial_responses)]
|
|
70
|
+
)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Step 3: Revision based on critique**:
|
|
74
|
+
```python
|
|
75
|
+
revision_prompt = """
|
|
76
|
+
Question: {question}
|
|
77
|
+
Original response: {response}
|
|
78
|
+
Critique: {critique}
|
|
79
|
+
|
|
80
|
+
Please revise the response to better align with the constitution:
|
|
81
|
+
"""
|
|
82
|
+
|
|
83
|
+
revised_responses = generator(
|
|
84
|
+
[revision_prompt.format(q=q, r=r, c=c)
|
|
85
|
+
for q, r, c in zip(prompts, initial_responses, critiques)]
|
|
86
|
+
)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Step 4: Fine-tune on revised responses**:
|
|
90
|
+
```python
|
|
91
|
+
from trl import SFTTrainer
|
|
92
|
+
|
|
93
|
+
# Create dataset of (prompt, revised_response) pairs
|
|
94
|
+
dataset = create_dataset(prompts, revised_responses)
|
|
95
|
+
|
|
96
|
+
trainer = SFTTrainer(
|
|
97
|
+
model=model,
|
|
98
|
+
train_dataset=dataset,
|
|
99
|
+
max_seq_length=1024
|
|
100
|
+
)
|
|
101
|
+
trainer.train()
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Workflow 2: RL phase (RLAIF - RL from AI Feedback)
|
|
105
|
+
|
|
106
|
+
**Step 1: Generate comparison pairs**:
|
|
107
|
+
```python
|
|
108
|
+
# Sample multiple responses per prompt
|
|
109
|
+
responses_a = generator(prompts, num_return_sequences=2, do_sample=True, temperature=0.8)
|
|
110
|
+
responses_b = generator(prompts, num_return_sequences=2, do_sample=True, temperature=0.8)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Step 2: AI preference evaluation**:
|
|
114
|
+
```python
|
|
115
|
+
preference_prompt = """
|
|
116
|
+
Question: {question}
|
|
117
|
+
|
|
118
|
+
Response A: {response_a}
|
|
119
|
+
Response B: {response_b}
|
|
120
|
+
|
|
121
|
+
Constitution:
|
|
122
|
+
{constitution}
|
|
123
|
+
|
|
124
|
+
Which response better follows the constitution? Explain your reasoning, then choose A or B.
|
|
125
|
+
"""
|
|
126
|
+
|
|
127
|
+
# Get AI preferences (no human labels needed!)
|
|
128
|
+
preferences = generator(
|
|
129
|
+
[preference_prompt.format(q=q, ra=ra, rb=rb, constitution=CONSTITUTION)
|
|
130
|
+
for q, ra, rb in zip(prompts, responses_a, responses_b)]
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
# Parse preferences (A or B)
|
|
134
|
+
chosen, rejected = parse_preferences(preferences, responses_a, responses_b)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Step 3: Train preference model (reward model)**:
|
|
138
|
+
```python
|
|
139
|
+
from trl import RewardTrainer, RewardConfig
|
|
140
|
+
|
|
141
|
+
preference_dataset = create_preference_dataset(prompts, chosen, rejected)
|
|
142
|
+
|
|
143
|
+
reward_config = RewardConfig(
|
|
144
|
+
output_dir="constitutional-reward-model",
|
|
145
|
+
learning_rate=1e-5,
|
|
146
|
+
num_train_epochs=1
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
reward_trainer = RewardTrainer(
|
|
150
|
+
model=model,
|
|
151
|
+
args=reward_config,
|
|
152
|
+
train_dataset=preference_dataset,
|
|
153
|
+
processing_class=tokenizer
|
|
154
|
+
)
|
|
155
|
+
reward_trainer.train()
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Step 4: RL training with RLAIF**:
|
|
159
|
+
```python
|
|
160
|
+
from trl import PPOTrainer, PPOConfig
|
|
161
|
+
|
|
162
|
+
ppo_config = PPOConfig(
|
|
163
|
+
reward_model_path="constitutional-reward-model",
|
|
164
|
+
learning_rate=1e-6,
|
|
165
|
+
kl_coef=0.05
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
ppo_trainer = PPOTrainer(
|
|
169
|
+
model=model,
|
|
170
|
+
config=ppo_config,
|
|
171
|
+
reward_model=reward_model
|
|
172
|
+
)
|
|
173
|
+
ppo_trainer.train()
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Workflow 3: Chain-of-thought critique
|
|
177
|
+
|
|
178
|
+
**Enable reasoning transparency**:
|
|
179
|
+
```python
|
|
180
|
+
cot_critique_prompt = """
|
|
181
|
+
Question: {question}
|
|
182
|
+
Response: {response}
|
|
183
|
+
|
|
184
|
+
Let's think step-by-step about whether this response follows our principles:
|
|
185
|
+
|
|
186
|
+
1. Is it helpful? [Yes/No and reasoning]
|
|
187
|
+
2. Is it honest? [Yes/No and reasoning]
|
|
188
|
+
3. Is it harmless? [Yes/No and reasoning]
|
|
189
|
+
4. Does it avoid toxicity? [Yes/No and reasoning]
|
|
190
|
+
|
|
191
|
+
Based on this analysis, suggest a revision if needed.
|
|
192
|
+
"""
|
|
193
|
+
|
|
194
|
+
cot_critiques = generator(
|
|
195
|
+
[cot_critique_prompt.format(q=q, r=r) for q, r in zip(prompts, responses)]
|
|
196
|
+
)
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## When to use vs alternatives
|
|
200
|
+
|
|
201
|
+
**Use Constitutional AI when**:
|
|
202
|
+
- Want safety alignment without human labels
|
|
203
|
+
- Need explainable AI decisions
|
|
204
|
+
- Want to avoid evasive refusals
|
|
205
|
+
- Have a clear set of principles/constitution
|
|
206
|
+
- Need scalable safety training
|
|
207
|
+
|
|
208
|
+
**Principles**:
|
|
209
|
+
- **RLAIF**: AI-generated preferences (scalable, no human labels)
|
|
210
|
+
- **RLHF**: Human preferences (more accurate, expensive)
|
|
211
|
+
- **Self-critique**: Iterative improvement
|
|
212
|
+
- **Chain-of-thought**: Reasoning transparency
|
|
213
|
+
|
|
214
|
+
**Use alternatives instead**:
|
|
215
|
+
- **RLHF (PPO)**: Need human-validated safety
|
|
216
|
+
- **DPO/SimPO**: Have human preference data
|
|
217
|
+
- **NeMo Guardrails**: Need runtime content filtering
|
|
218
|
+
- **LlamaGuard**: Need pre-trained moderation model
|
|
219
|
+
|
|
220
|
+
## Common issues
|
|
221
|
+
|
|
222
|
+
**Issue: Model refuses too much (evasive)**
|
|
223
|
+
|
|
224
|
+
Add constitution principle:
|
|
225
|
+
```
|
|
226
|
+
Prefer responses that engage thoughtfully with questions rather than
|
|
227
|
+
refusing to answer. Explain concerns while still being helpful.
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Issue: Self-critiques are weak**
|
|
231
|
+
|
|
232
|
+
Use stronger critique prompts:
|
|
233
|
+
```
|
|
234
|
+
Critically analyze this response for ANY potential issues, however minor.
|
|
235
|
+
Be thorough and specific in identifying problems.
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**Issue: Revisions don't improve quality**
|
|
239
|
+
|
|
240
|
+
Iterate multiple times:
|
|
241
|
+
```python
|
|
242
|
+
for _ in range(3): # 3 rounds of critique/revision
|
|
243
|
+
critique = generate_critique(response)
|
|
244
|
+
response = generate_revision(response, critique)
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Issue: RLAIF preferences are noisy**
|
|
248
|
+
|
|
249
|
+
Use multiple AI evaluators:
|
|
250
|
+
```python
|
|
251
|
+
# Get preferences from 3 different models
|
|
252
|
+
prefs_1 = model_1.evaluate(responses)
|
|
253
|
+
prefs_2 = model_2.evaluate(responses)
|
|
254
|
+
prefs_3 = model_3.evaluate(responses)
|
|
255
|
+
|
|
256
|
+
# Majority vote
|
|
257
|
+
final_preference = majority_vote(prefs_1, prefs_2, prefs_3)
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Advanced topics
|
|
261
|
+
|
|
262
|
+
**Constitution design**: See [references/constitution-design.md](references/constitution-design.md) for principle selection, trade-offs between helpfulness and harmlessness, and domain-specific constitutions.
|
|
263
|
+
|
|
264
|
+
**RLAIF vs RLHF**: See [references/rlaif-comparison.md](references/rlaif-comparison.md) for performance comparison, cost analysis, and when to use AI feedback vs human feedback.
|
|
265
|
+
|
|
266
|
+
**Chain-of-thought reasoning**: See [references/cot-critique.md](references/cot-critique.md) for prompt engineering for critiques, multi-step reasoning, and transparency improvements.
|
|
267
|
+
|
|
268
|
+
## Hardware requirements
|
|
269
|
+
|
|
270
|
+
- **GPU**: NVIDIA A100/H100 recommended
|
|
271
|
+
- **VRAM**:
|
|
272
|
+
- SL phase (7B): 1× A100 40GB
|
|
273
|
+
- RL phase (7B): 2× A100 40GB (policy + reward model)
|
|
274
|
+
- **Single-node**: Sufficient for most use cases
|
|
275
|
+
- **Mixed precision**: BF16 recommended
|
|
276
|
+
|
|
277
|
+
**Compute requirements**:
|
|
278
|
+
- **SL phase**: Similar to standard SFT
|
|
279
|
+
- **RL phase**: Similar to PPO (higher than DPO)
|
|
280
|
+
- **AI evaluation**: Additional inference for critique/preference generation
|
|
281
|
+
|
|
282
|
+
## Resources
|
|
283
|
+
|
|
284
|
+
- Paper: https://arxiv.org/abs/2212.08073 (Dec 2022)
|
|
285
|
+
- Anthropic blog: https://www.anthropic.com/research/constitutional-ai-harmlessness-from-ai-feedback
|
|
286
|
+
- Implementation: TRL (PPOTrainer + RewardTrainer)
|
|
287
|
+
- Claude: Uses Constitutional AI for safety
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|