@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,147 @@
|
|
|
1
|
+
<!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 18-multimodal/cosmos-policy/references/robocasa-commands.md; MIT (c) Orchestra Research -->
|
|
2
|
+
# RoboCasa Command Matrix
|
|
3
|
+
|
|
4
|
+
Command variations for running Cosmos Policy RoboCasa evaluation on local machines, interactive GPU shells, or batch systems. All commands use the official public `cosmos_policy.experiments.robot.robocasa.run_robocasa_eval` module.
|
|
5
|
+
|
|
6
|
+
## Preferred path: interactive GPU shell
|
|
7
|
+
|
|
8
|
+
Acquire one GPU, then run evaluations directly:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
# Slurm example
|
|
12
|
+
srun --partition=gpu --gpus-per-node=1 \
|
|
13
|
+
--time=01:00:00 --mem=64G --cpus-per-task=8 --pty bash
|
|
14
|
+
|
|
15
|
+
cd /path/to/cosmos-policy
|
|
16
|
+
|
|
17
|
+
# Set headless rendering environment
|
|
18
|
+
export CUDA_VISIBLE_DEVICES=0
|
|
19
|
+
export MUJOCO_EGL_DEVICE_ID=0
|
|
20
|
+
export MUJOCO_GL=egl
|
|
21
|
+
export PYOPENGL_PLATFORM=egl
|
|
22
|
+
|
|
23
|
+
# Smoke eval on one task (2 trials)
|
|
24
|
+
uv run --extra cu128 --group robocasa --python 3.10 \
|
|
25
|
+
python -m cosmos_policy.experiments.robot.robocasa.run_robocasa_eval \
|
|
26
|
+
--config cosmos_predict2_2b_480p_robocasa_50_demos_per_task__inference \
|
|
27
|
+
--ckpt_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B \
|
|
28
|
+
--config_file cosmos_policy/config/config.py \
|
|
29
|
+
--use_wrist_image True \
|
|
30
|
+
--num_wrist_images 1 \
|
|
31
|
+
--use_proprio True \
|
|
32
|
+
--normalize_proprio True \
|
|
33
|
+
--unnormalize_actions True \
|
|
34
|
+
--dataset_stats_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_dataset_statistics.json \
|
|
35
|
+
--t5_text_embeddings_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_t5_embeddings.pkl \
|
|
36
|
+
--trained_with_image_aug True \
|
|
37
|
+
--chunk_size 32 \
|
|
38
|
+
--num_open_loop_steps 16 \
|
|
39
|
+
--task_name TurnOffMicrowave \
|
|
40
|
+
--obj_instance_split A \
|
|
41
|
+
--num_trials_per_task 2 \
|
|
42
|
+
--local_log_dir cosmos_policy/experiments/robot/robocasa/logs/ \
|
|
43
|
+
--seed 195 \
|
|
44
|
+
--randomize_seed False \
|
|
45
|
+
--deterministic True \
|
|
46
|
+
--run_id_note smoke \
|
|
47
|
+
--use_variance_scale False \
|
|
48
|
+
--use_jpeg_compression True \
|
|
49
|
+
--flip_images True \
|
|
50
|
+
--num_denoising_steps_action 5 \
|
|
51
|
+
--num_denoising_steps_future_state 1 \
|
|
52
|
+
--num_denoising_steps_value 1 \
|
|
53
|
+
--data_collection False
|
|
54
|
+
|
|
55
|
+
# Full eval on one task (50 trials)
|
|
56
|
+
uv run --extra cu128 --group robocasa --python 3.10 \
|
|
57
|
+
python -m cosmos_policy.experiments.robot.robocasa.run_robocasa_eval \
|
|
58
|
+
--config cosmos_predict2_2b_480p_robocasa_50_demos_per_task__inference \
|
|
59
|
+
--ckpt_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B \
|
|
60
|
+
--config_file cosmos_policy/config/config.py \
|
|
61
|
+
--use_wrist_image True \
|
|
62
|
+
--num_wrist_images 1 \
|
|
63
|
+
--use_proprio True \
|
|
64
|
+
--normalize_proprio True \
|
|
65
|
+
--unnormalize_actions True \
|
|
66
|
+
--dataset_stats_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_dataset_statistics.json \
|
|
67
|
+
--t5_text_embeddings_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_t5_embeddings.pkl \
|
|
68
|
+
--trained_with_image_aug True \
|
|
69
|
+
--chunk_size 32 \
|
|
70
|
+
--num_open_loop_steps 16 \
|
|
71
|
+
--task_name TurnOffMicrowave \
|
|
72
|
+
--obj_instance_split A \
|
|
73
|
+
--num_trials_per_task 50 \
|
|
74
|
+
--local_log_dir cosmos_policy/experiments/robot/robocasa/logs/ \
|
|
75
|
+
--seed 195 \
|
|
76
|
+
--randomize_seed False \
|
|
77
|
+
--deterministic True \
|
|
78
|
+
--run_id_note full \
|
|
79
|
+
--use_variance_scale False \
|
|
80
|
+
--use_jpeg_compression True \
|
|
81
|
+
--flip_images True \
|
|
82
|
+
--num_denoising_steps_action 5 \
|
|
83
|
+
--num_denoising_steps_future_state 1 \
|
|
84
|
+
--num_denoising_steps_value 1 \
|
|
85
|
+
--data_collection False
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Local GPU workstation path
|
|
89
|
+
|
|
90
|
+
Skip `srun` and run the same `uv run ... python -m` commands directly. Set EGL env vars first. If host-Python binaries are unstable, prefer the official container/runtime from `SETUP.md`.
|
|
91
|
+
|
|
92
|
+
## Blank-machine setup reminder
|
|
93
|
+
|
|
94
|
+
Before running any command below:
|
|
95
|
+
|
|
96
|
+
- clone `https://github.com/NVlabs/cosmos-policy.git`
|
|
97
|
+
- follow `SETUP.md` and enter the supported Docker container
|
|
98
|
+
- run `uv sync --extra cu128 --group robocasa --python 3.10`
|
|
99
|
+
- clone `https://github.com/moojink/robocasa-cosmos-policy.git` and install it with `uv pip install -e robocasa-cosmos-policy`
|
|
100
|
+
- run `python -m robocasa.scripts.setup_macros` and `python -m robocasa.scripts.download_kitchen_assets` before the first eval
|
|
101
|
+
|
|
102
|
+
## Batch fallback
|
|
103
|
+
|
|
104
|
+
Only use batch submission after the direct command path works interactively:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
sbatch --partition=gpu --time=01:00:00 --wrap="
|
|
108
|
+
export CUDA_VISIBLE_DEVICES=0 MUJOCO_EGL_DEVICE_ID=0 MUJOCO_GL=egl PYOPENGL_PLATFORM=egl
|
|
109
|
+
cd /path/to/cosmos-policy
|
|
110
|
+
uv run --extra cu128 --group robocasa --python 3.10 \
|
|
111
|
+
python -m cosmos_policy.experiments.robot.robocasa.run_robocasa_eval \
|
|
112
|
+
--config cosmos_predict2_2b_480p_robocasa_50_demos_per_task__inference \
|
|
113
|
+
--ckpt_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B \
|
|
114
|
+
--config_file cosmos_policy/config/config.py \
|
|
115
|
+
--use_wrist_image True \
|
|
116
|
+
--num_wrist_images 1 \
|
|
117
|
+
--use_proprio True \
|
|
118
|
+
--normalize_proprio True \
|
|
119
|
+
--unnormalize_actions True \
|
|
120
|
+
--dataset_stats_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_dataset_statistics.json \
|
|
121
|
+
--t5_text_embeddings_path nvidia/Cosmos-Policy-RoboCasa-Predict2-2B/robocasa_t5_embeddings.pkl \
|
|
122
|
+
--trained_with_image_aug True \
|
|
123
|
+
--chunk_size 32 \
|
|
124
|
+
--num_open_loop_steps 16 \
|
|
125
|
+
--task_name TurnOffMicrowave \
|
|
126
|
+
--obj_instance_split A \
|
|
127
|
+
--num_trials_per_task 50 \
|
|
128
|
+
--local_log_dir cosmos_policy/experiments/robot/robocasa/logs/ \
|
|
129
|
+
--seed 195 \
|
|
130
|
+
--randomize_seed False \
|
|
131
|
+
--deterministic True \
|
|
132
|
+
--run_id_note batch \
|
|
133
|
+
--use_variance_scale False \
|
|
134
|
+
--use_jpeg_compression True \
|
|
135
|
+
--flip_images True \
|
|
136
|
+
--num_denoising_steps_action 5 \
|
|
137
|
+
--num_denoising_steps_future_state 1 \
|
|
138
|
+
--num_denoising_steps_value 1 \
|
|
139
|
+
--data_collection False
|
|
140
|
+
"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## High-signal gotchas
|
|
144
|
+
|
|
145
|
+
- If host-Python binaries fail to import cleanly, return to the official container/runtime from `SETUP.md` before debugging Python package state.
|
|
146
|
+
- Keep task name, object split, seed, and trial count fixed across repeated runs for comparability.
|
|
147
|
+
- Always align `CUDA_VISIBLE_DEVICES` and `MUJOCO_EGL_DEVICE_ID` to the same GPU index.
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: llava
|
|
3
|
+
description: Large Language and Vision Assistant. Enables visual instruction tuning and image-based conversations. Combines CLIP vision encoder with Vicuna/LLaMA language models. Supports multi-turn image chat, visual question answering, and instruction following. Use for vision-language chatbots or image understanding tasks. Best for conversational image analysis.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: Orchestra Research
|
|
6
|
+
license: MIT
|
|
7
|
+
tags: [LLaVA, Vision-Language, Multimodal, Visual Question Answering, Image Chat, CLIP, Vicuna, Conversational AI, Instruction Tuning, VQA]
|
|
8
|
+
dependencies: [transformers, torch, pillow]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# LLaVA - Large Language and Vision Assistant
|
|
12
|
+
|
|
13
|
+
Open-source vision-language model for conversational image understanding.
|
|
14
|
+
|
|
15
|
+
## When to use LLaVA
|
|
16
|
+
|
|
17
|
+
**Use when:**
|
|
18
|
+
- Building vision-language chatbots
|
|
19
|
+
- Visual question answering (VQA)
|
|
20
|
+
- Image description and captioning
|
|
21
|
+
- Multi-turn image conversations
|
|
22
|
+
- Visual instruction following
|
|
23
|
+
- Document understanding with images
|
|
24
|
+
|
|
25
|
+
**Metrics**:
|
|
26
|
+
- **23,000+ GitHub stars**
|
|
27
|
+
- GPT-4V level capabilities (targeted)
|
|
28
|
+
- Apache 2.0 License
|
|
29
|
+
- Multiple model sizes (7B-34B params)
|
|
30
|
+
|
|
31
|
+
**Use alternatives instead**:
|
|
32
|
+
- **GPT-4V**: Highest quality, API-based
|
|
33
|
+
- **CLIP**: Simple zero-shot classification
|
|
34
|
+
- **BLIP-2**: Better for captioning only
|
|
35
|
+
- **Flamingo**: Research, not open-source
|
|
36
|
+
|
|
37
|
+
## Quick start
|
|
38
|
+
|
|
39
|
+
### Installation
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Clone repository
|
|
43
|
+
git clone https://github.com/haotian-liu/LLaVA
|
|
44
|
+
cd LLaVA
|
|
45
|
+
|
|
46
|
+
# Install
|
|
47
|
+
pip install -e .
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Basic usage
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
from llava.model.builder import load_pretrained_model
|
|
54
|
+
from llava.mm_utils import get_model_name_from_path, process_images, tokenizer_image_token
|
|
55
|
+
from llava.constants import IMAGE_TOKEN_INDEX, DEFAULT_IMAGE_TOKEN
|
|
56
|
+
from llava.conversation import conv_templates
|
|
57
|
+
from PIL import Image
|
|
58
|
+
import torch
|
|
59
|
+
|
|
60
|
+
# Load model
|
|
61
|
+
model_path = "liuhaotian/llava-v1.5-7b"
|
|
62
|
+
tokenizer, model, image_processor, context_len = load_pretrained_model(
|
|
63
|
+
model_path=model_path,
|
|
64
|
+
model_base=None,
|
|
65
|
+
model_name=get_model_name_from_path(model_path)
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
# Load image
|
|
69
|
+
image = Image.open("image.jpg")
|
|
70
|
+
image_tensor = process_images([image], image_processor, model.config)
|
|
71
|
+
image_tensor = image_tensor.to(model.device, dtype=torch.float16)
|
|
72
|
+
|
|
73
|
+
# Create conversation
|
|
74
|
+
conv = conv_templates["llava_v1"].copy()
|
|
75
|
+
conv.append_message(conv.roles[0], DEFAULT_IMAGE_TOKEN + "\nWhat is in this image?")
|
|
76
|
+
conv.append_message(conv.roles[1], None)
|
|
77
|
+
prompt = conv.get_prompt()
|
|
78
|
+
|
|
79
|
+
# Generate response
|
|
80
|
+
input_ids = tokenizer_image_token(prompt, tokenizer, IMAGE_TOKEN_INDEX, return_tensors='pt').unsqueeze(0).to(model.device)
|
|
81
|
+
|
|
82
|
+
with torch.inference_mode():
|
|
83
|
+
output_ids = model.generate(
|
|
84
|
+
input_ids,
|
|
85
|
+
images=image_tensor,
|
|
86
|
+
do_sample=True,
|
|
87
|
+
temperature=0.2,
|
|
88
|
+
max_new_tokens=512
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
response = tokenizer.decode(output_ids[0], skip_special_tokens=True).strip()
|
|
92
|
+
print(response)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Available models
|
|
96
|
+
|
|
97
|
+
| Model | Parameters | VRAM | Quality |
|
|
98
|
+
|-------|------------|------|---------|
|
|
99
|
+
| LLaVA-v1.5-7B | 7B | ~14 GB | Good |
|
|
100
|
+
| LLaVA-v1.5-13B | 13B | ~28 GB | Better |
|
|
101
|
+
| LLaVA-v1.6-34B | 34B | ~70 GB | Best |
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
# Load different models
|
|
105
|
+
model_7b = "liuhaotian/llava-v1.5-7b"
|
|
106
|
+
model_13b = "liuhaotian/llava-v1.5-13b"
|
|
107
|
+
model_34b = "liuhaotian/llava-v1.6-34b"
|
|
108
|
+
|
|
109
|
+
# 4-bit quantization for lower VRAM
|
|
110
|
+
load_4bit = True # Reduces VRAM by ~4×
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## CLI usage
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Single image query
|
|
117
|
+
python -m llava.serve.cli \
|
|
118
|
+
--model-path liuhaotian/llava-v1.5-7b \
|
|
119
|
+
--image-file image.jpg \
|
|
120
|
+
--query "What is in this image?"
|
|
121
|
+
|
|
122
|
+
# Multi-turn conversation
|
|
123
|
+
python -m llava.serve.cli \
|
|
124
|
+
--model-path liuhaotian/llava-v1.5-7b \
|
|
125
|
+
--image-file image.jpg
|
|
126
|
+
# Then type questions interactively
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Web UI (Gradio)
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Launch Gradio interface
|
|
133
|
+
python -m llava.serve.gradio_web_server \
|
|
134
|
+
--model-path liuhaotian/llava-v1.5-7b \
|
|
135
|
+
--load-4bit # Optional: reduce VRAM
|
|
136
|
+
|
|
137
|
+
# Access at http://localhost:7860
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Multi-turn conversations
|
|
141
|
+
|
|
142
|
+
```python
|
|
143
|
+
# Initialize conversation
|
|
144
|
+
conv = conv_templates["llava_v1"].copy()
|
|
145
|
+
|
|
146
|
+
# Turn 1
|
|
147
|
+
conv.append_message(conv.roles[0], DEFAULT_IMAGE_TOKEN + "\nWhat is in this image?")
|
|
148
|
+
conv.append_message(conv.roles[1], None)
|
|
149
|
+
response1 = generate(conv, model, image) # "A dog playing in a park"
|
|
150
|
+
|
|
151
|
+
# Turn 2
|
|
152
|
+
conv.messages[-1][1] = response1 # Add previous response
|
|
153
|
+
conv.append_message(conv.roles[0], "What breed is the dog?")
|
|
154
|
+
conv.append_message(conv.roles[1], None)
|
|
155
|
+
response2 = generate(conv, model, image) # "Golden Retriever"
|
|
156
|
+
|
|
157
|
+
# Turn 3
|
|
158
|
+
conv.messages[-1][1] = response2
|
|
159
|
+
conv.append_message(conv.roles[0], "What time of day is it?")
|
|
160
|
+
conv.append_message(conv.roles[1], None)
|
|
161
|
+
response3 = generate(conv, model, image)
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Common tasks
|
|
165
|
+
|
|
166
|
+
### Image captioning
|
|
167
|
+
|
|
168
|
+
```python
|
|
169
|
+
question = "Describe this image in detail."
|
|
170
|
+
response = ask(model, image, question)
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Visual question answering
|
|
174
|
+
|
|
175
|
+
```python
|
|
176
|
+
question = "How many people are in the image?"
|
|
177
|
+
response = ask(model, image, question)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Object detection (textual)
|
|
181
|
+
|
|
182
|
+
```python
|
|
183
|
+
question = "List all the objects you can see in this image."
|
|
184
|
+
response = ask(model, image, question)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Scene understanding
|
|
188
|
+
|
|
189
|
+
```python
|
|
190
|
+
question = "What is happening in this scene?"
|
|
191
|
+
response = ask(model, image, question)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Document understanding
|
|
195
|
+
|
|
196
|
+
```python
|
|
197
|
+
question = "What is the main topic of this document?"
|
|
198
|
+
response = ask(model, document_image, question)
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Training custom model
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Stage 1: Feature alignment (558K image-caption pairs)
|
|
205
|
+
bash scripts/v1_5/pretrain.sh
|
|
206
|
+
|
|
207
|
+
# Stage 2: Visual instruction tuning (150K instruction data)
|
|
208
|
+
bash scripts/v1_5/finetune.sh
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Quantization (reduce VRAM)
|
|
212
|
+
|
|
213
|
+
```python
|
|
214
|
+
# 4-bit quantization
|
|
215
|
+
tokenizer, model, image_processor, context_len = load_pretrained_model(
|
|
216
|
+
model_path="liuhaotian/llava-v1.5-13b",
|
|
217
|
+
model_base=None,
|
|
218
|
+
model_name=get_model_name_from_path("liuhaotian/llava-v1.5-13b"),
|
|
219
|
+
load_4bit=True # Reduces VRAM ~4×
|
|
220
|
+
)
|
|
221
|
+
|
|
222
|
+
# 8-bit quantization
|
|
223
|
+
load_8bit=True # Reduces VRAM ~2×
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Best practices
|
|
227
|
+
|
|
228
|
+
1. **Start with 7B model** - Good quality, manageable VRAM
|
|
229
|
+
2. **Use 4-bit quantization** - Reduces VRAM significantly
|
|
230
|
+
3. **GPU required** - CPU inference extremely slow
|
|
231
|
+
4. **Clear prompts** - Specific questions get better answers
|
|
232
|
+
5. **Multi-turn conversations** - Maintain conversation context
|
|
233
|
+
6. **Temperature 0.2-0.7** - Balance creativity/consistency
|
|
234
|
+
7. **max_new_tokens 512-1024** - For detailed responses
|
|
235
|
+
8. **Batch processing** - Process multiple images sequentially
|
|
236
|
+
|
|
237
|
+
## Performance
|
|
238
|
+
|
|
239
|
+
| Model | VRAM (FP16) | VRAM (4-bit) | Speed (tokens/s) |
|
|
240
|
+
|-------|-------------|--------------|------------------|
|
|
241
|
+
| 7B | ~14 GB | ~4 GB | ~20 |
|
|
242
|
+
| 13B | ~28 GB | ~8 GB | ~12 |
|
|
243
|
+
| 34B | ~70 GB | ~18 GB | ~5 |
|
|
244
|
+
|
|
245
|
+
*On A100 GPU*
|
|
246
|
+
|
|
247
|
+
## Benchmarks
|
|
248
|
+
|
|
249
|
+
LLaVA achieves competitive scores on:
|
|
250
|
+
- **VQAv2**: 78.5%
|
|
251
|
+
- **GQA**: 62.0%
|
|
252
|
+
- **MM-Vet**: 35.4%
|
|
253
|
+
- **MMBench**: 64.3%
|
|
254
|
+
|
|
255
|
+
## Limitations
|
|
256
|
+
|
|
257
|
+
1. **Hallucinations** - May describe things not in image
|
|
258
|
+
2. **Spatial reasoning** - Struggles with precise locations
|
|
259
|
+
3. **Small text** - Difficulty reading fine print
|
|
260
|
+
4. **Object counting** - Imprecise for many objects
|
|
261
|
+
5. **VRAM requirements** - Need powerful GPU
|
|
262
|
+
6. **Inference speed** - Slower than CLIP
|
|
263
|
+
|
|
264
|
+
## Integration with frameworks
|
|
265
|
+
|
|
266
|
+
### LangChain
|
|
267
|
+
|
|
268
|
+
```python
|
|
269
|
+
from langchain.llms.base import LLM
|
|
270
|
+
|
|
271
|
+
class LLaVALLM(LLM):
|
|
272
|
+
def _call(self, prompt, stop=None):
|
|
273
|
+
# Custom LLaVA inference
|
|
274
|
+
return response
|
|
275
|
+
|
|
276
|
+
llm = LLaVALLM()
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Gradio App
|
|
280
|
+
|
|
281
|
+
```python
|
|
282
|
+
import gradio as gr
|
|
283
|
+
|
|
284
|
+
def chat(image, text, history):
|
|
285
|
+
response = ask_llava(model, image, text)
|
|
286
|
+
return response
|
|
287
|
+
|
|
288
|
+
demo = gr.ChatInterface(
|
|
289
|
+
chat,
|
|
290
|
+
additional_inputs=[gr.Image(type="pil")],
|
|
291
|
+
title="LLaVA Chat"
|
|
292
|
+
)
|
|
293
|
+
demo.launch()
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
## Resources
|
|
297
|
+
|
|
298
|
+
- **GitHub**: https://github.com/haotian-liu/LLaVA ⭐ 23,000+
|
|
299
|
+
- **Paper**: https://arxiv.org/abs/2304.08485
|
|
300
|
+
- **Demo**: https://llava.hliu.cc
|
|
301
|
+
- **Models**: https://huggingface.co/liuhaotian
|
|
302
|
+
- **License**: Apache 2.0
|
|
303
|
+
|
|
304
|
+
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
<!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 18-multimodal/llava/references/training.md; MIT (c) Orchestra Research -->
|
|
2
|
+
# LLaVA Training Guide
|
|
3
|
+
|
|
4
|
+
Guide to training and fine-tuning LLaVA models.
|
|
5
|
+
|
|
6
|
+
## Training stages
|
|
7
|
+
|
|
8
|
+
### Stage 1: Feature alignment (Pretraining)
|
|
9
|
+
|
|
10
|
+
**Purpose**: Align vision encoder with language model
|
|
11
|
+
|
|
12
|
+
**Data**: 558K image-caption pairs (CC3M subset)
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Download pretrained projector or train from scratch
|
|
16
|
+
bash scripts/v1_5/pretrain.sh
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Configuration:**
|
|
20
|
+
- Base model: Vicuna-7B or LLaMA-2-7B
|
|
21
|
+
- Vision encoder: CLIP ViT-L/14
|
|
22
|
+
- Training time: ~20 hours on 8× A100
|
|
23
|
+
|
|
24
|
+
### Stage 2: Visual instruction tuning
|
|
25
|
+
|
|
26
|
+
**Purpose**: Teach model to follow visual instructions
|
|
27
|
+
|
|
28
|
+
**Data**: 150K GPT-generated multimodal instruction data
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Fine-tune with instruction data
|
|
32
|
+
bash scripts/v1_5/finetune.sh
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Configuration:**
|
|
36
|
+
- Epochs: 1
|
|
37
|
+
- Batch size: 128 (across 8 GPUs)
|
|
38
|
+
- Learning rate: 2e-5
|
|
39
|
+
- Training time: ~24 hours on 8× A100
|
|
40
|
+
|
|
41
|
+
## Data format
|
|
42
|
+
|
|
43
|
+
### Instruction data format
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
[
|
|
47
|
+
{
|
|
48
|
+
"id": "001",
|
|
49
|
+
"image": "path/to/image.jpg",
|
|
50
|
+
"conversations": [
|
|
51
|
+
{
|
|
52
|
+
"from": "human",
|
|
53
|
+
"value": "<image>\nWhat is in this image?"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"from": "gpt",
|
|
57
|
+
"value": "The image shows a dog playing in a park."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"from": "human",
|
|
61
|
+
"value": "What breed is the dog?"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"from": "gpt",
|
|
65
|
+
"value": "It appears to be a Golden Retriever."
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Fine-tuning on custom data
|
|
73
|
+
|
|
74
|
+
### Prepare your data
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
import json
|
|
78
|
+
|
|
79
|
+
# Create instruction data
|
|
80
|
+
data = []
|
|
81
|
+
for image_path, qa_pairs in your_dataset:
|
|
82
|
+
conversations = []
|
|
83
|
+
for q, a in qa_pairs:
|
|
84
|
+
conversations.append({"from": "human", "value": f"<image>\n{q}"})
|
|
85
|
+
conversations.append({"from": "gpt", "value": a})
|
|
86
|
+
|
|
87
|
+
data.append({
|
|
88
|
+
"id": str(len(data)),
|
|
89
|
+
"image": image_path,
|
|
90
|
+
"conversations": conversations
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
# Save
|
|
94
|
+
with open("custom_data.json", "w") as f:
|
|
95
|
+
json.dump(data, f, indent=2)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Fine-tune script
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
#!/bin/bash
|
|
102
|
+
|
|
103
|
+
# Set paths
|
|
104
|
+
DATA_PATH="custom_data.json"
|
|
105
|
+
IMAGE_FOLDER="path/to/images"
|
|
106
|
+
MODEL_PATH="liuhaotian/llava-v1.5-7b"
|
|
107
|
+
OUTPUT_DIR="./checkpoints/llava-custom"
|
|
108
|
+
|
|
109
|
+
# Fine-tune
|
|
110
|
+
deepspeed llava/train/train_mem.py \
|
|
111
|
+
--deepspeed ./scripts/zero2.json \
|
|
112
|
+
--model_name_or_path $MODEL_PATH \
|
|
113
|
+
--version v1 \
|
|
114
|
+
--data_path $DATA_PATH \
|
|
115
|
+
--image_folder $IMAGE_FOLDER \
|
|
116
|
+
--vision_tower openai/clip-vit-large-patch14-336 \
|
|
117
|
+
--mm_projector_type mlp2x_gelu \
|
|
118
|
+
--mm_vision_select_layer -2 \
|
|
119
|
+
--mm_use_im_start_end False \
|
|
120
|
+
--mm_use_im_patch_token False \
|
|
121
|
+
--image_aspect_ratio pad \
|
|
122
|
+
--group_by_modality_length True \
|
|
123
|
+
--bf16 True \
|
|
124
|
+
--output_dir $OUTPUT_DIR \
|
|
125
|
+
--num_train_epochs 1 \
|
|
126
|
+
--per_device_train_batch_size 16 \
|
|
127
|
+
--per_device_eval_batch_size 4 \
|
|
128
|
+
--gradient_accumulation_steps 1 \
|
|
129
|
+
--evaluation_strategy "no" \
|
|
130
|
+
--save_strategy "steps" \
|
|
131
|
+
--save_steps 50000 \
|
|
132
|
+
--save_total_limit 1 \
|
|
133
|
+
--learning_rate 2e-5 \
|
|
134
|
+
--weight_decay 0. \
|
|
135
|
+
--warmup_ratio 0.03 \
|
|
136
|
+
--lr_scheduler_type "cosine" \
|
|
137
|
+
--logging_steps 1 \
|
|
138
|
+
--tf32 True \
|
|
139
|
+
--model_max_length 2048 \
|
|
140
|
+
--gradient_checkpointing True \
|
|
141
|
+
--dataloader_num_workers 4 \
|
|
142
|
+
--lazy_preprocess True \
|
|
143
|
+
--report_to wandb
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## LoRA fine-tuning (memory efficient)
|
|
147
|
+
|
|
148
|
+
```python
|
|
149
|
+
from peft import LoraConfig, get_peft_model
|
|
150
|
+
|
|
151
|
+
# LoRA config
|
|
152
|
+
lora_config = LoraConfig(
|
|
153
|
+
r=8, # LoRA rank
|
|
154
|
+
lora_alpha=16,
|
|
155
|
+
target_modules=["q_proj", "v_proj"],
|
|
156
|
+
lora_dropout=0.05,
|
|
157
|
+
bias="none",
|
|
158
|
+
task_type="CAUSAL_LM"
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
# Apply LoRA
|
|
162
|
+
model = get_peft_model(base_model, lora_config)
|
|
163
|
+
|
|
164
|
+
# Train with much lower memory
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Hardware requirements
|
|
168
|
+
|
|
169
|
+
### Full fine-tuning
|
|
170
|
+
|
|
171
|
+
- **7B model**: 8× A100 (40GB)
|
|
172
|
+
- **13B model**: 8× A100 (80GB)
|
|
173
|
+
- **Training time**: 20-48 hours
|
|
174
|
+
|
|
175
|
+
### LoRA fine-tuning
|
|
176
|
+
|
|
177
|
+
- **7B model**: 1× A100 (40GB)
|
|
178
|
+
- **13B model**: 2× A100 (40GB)
|
|
179
|
+
- **Training time**: 10-24 hours
|
|
180
|
+
|
|
181
|
+
## Best practices
|
|
182
|
+
|
|
183
|
+
1. **Start with pretrained** - Don't train from scratch
|
|
184
|
+
2. **Use LoRA for efficiency** - 10× less memory
|
|
185
|
+
3. **Quality over quantity** - 1K high-quality > 10K low-quality
|
|
186
|
+
4. **Multi-turn conversations** - More engaging than single Q&A
|
|
187
|
+
5. **Diverse images** - Cover different scenarios
|
|
188
|
+
6. **Clear instructions** - Specific questions get better answers
|
|
189
|
+
7. **Monitor loss** - Should decrease smoothly
|
|
190
|
+
8. **Save checkpoints** - Training can fail
|
|
191
|
+
9. **Test regularly** - Validate on held-out set
|
|
192
|
+
10. **Use DeepSpeed** - For multi-GPU training
|
|
193
|
+
|
|
194
|
+
## Resources
|
|
195
|
+
|
|
196
|
+
- **Training script**: https://github.com/haotian-liu/LLaVA/tree/main/scripts
|
|
197
|
+
- **Data format**: https://github.com/haotian-liu/LLaVA/blob/main/docs/Data.md
|
|
198
|
+
- **Paper**: https://arxiv.org/abs/2304.08485
|