人工智能大模型模型优化模型量化模型压缩【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载ModelOpt Launcher 是 Model-Optimizer 仓库内置的一套任务提交框架位于tools/launcher它把 PTQ 量化、训练、推理评估、投机解码EAGLE3/DFLASH等实验封装为 YAML 声明式流水线一条命令即可在本地 Docker 环境或远程 Slurm 集群上运行并自动完成代码打包、容器挂载、版本记录与结果元数据落盘。读完本文你将掌握 launcher 的安装与快速上手、YAML 流水线的全部编写形式typed task / raw script / inline 命令、CLI 覆盖与调试技巧、hf_local模型缓存机制以及基于core.py的工厂系统与打包挂载原理可直接复制示例跑通第一个端到端量化任务。ModelOpt Launcher 是什么Model-Optimizer 是一个模型优化库覆盖量化、蒸馏、剪枝、NAS、投机解码等方向而tools/launcher是这个库的“任务编排层”通过 launch.py 入口将一条由多个任务组成的流水线提交到两种执行环境Slurm 集群经 SSH 隧道连接登录节点PatternPackager将源码打成 tar.gz 并 rsync 到远端通过srun/sbatch调度 GPU 容器任务本地 Docker使用 NVIDIA 容器运行时在单机单卡上跑适合快速调试。启动器基于 nemo_runpyproject.toml中声明依赖nemo-run0.8.0构建实验、执行器与依赖关系并在其上封装了统一的SandboxTask/SandboxPipeline抽象与工厂注册机制。README 中将定位概括为“Submit ModelOpt quantization, training, and evaluation jobs to Slurm clusters or run them locally with Docker”即量化、训练、评估三类任务的一键提交。快速上手安装与首次运行环境准备# 安装 uv 包管理器 curl -LsSf https://astral.sh/uv/install.sh | sh # 初始化子模块Megatron-LM 等依赖仓库 git submodule update --init --recursivegit submodule update会拉取tools/launcher/modules/下的依赖子模块如 Megatron-LM。模型优化库本体则通过一个自动创建的符号链接挂载进来见下文“Model-Optimizer Symlink”无需重复克隆。本地单卡运行Dockercd Model-Optimizer/tools/launcher uv run launch.py --yaml examples/Qwen/Qwen3-8B/megatron_lm_ptq_local.yaml hf_local/mnt/hf-local --yes--yaml指定流水线配置文件hf_local/mnt/hf-local以 CLI 覆盖方式指定模型与数据集的本地根目录会被挂载进容器为/hf-local--yes跳过提交前的确认提示。hf_local一旦指定launch.py会走 Docker 执行器分支并把 job 产物目录自动改为当前目录下的local_experiments见 launch.py 中if hf_local is not None: job_dir os.path.join(os.getcwd(), local_experiments)。Slurm 集群运行export SLURM_HOSTlogin-node.example.com export SLURM_ACCOUNTmy_account export SLURM_HF_LOCAL/mnt/hf-local export SLURM_JOB_DIR/shared/experiments uv run launch.py --yaml examples/Qwen/Qwen3-8B/megatron_lm_ptq.yaml --yes四个环境变量分别提供登录节点主机名、计费账户、集群侧 HuggingFace 缓存路径作为容器挂载源、远端产物目录。本地 vs 集群README 中提示megatron_lm_ptq.yaml面向多卡 Slurm、megatron_lm_ptq_local.yaml面向单卡本地 Docker。以当前仓库实际文件为准两个示例的slurm_config均为 1 节点 / 1 GPUnodes: 1、gpus_per_node: 1并行度TPPPEPETP1多卡运行时可在 YAML 或命令行中调大这些字段见下文 CLI Overrides。目录结构入口、核心与任务脚本tools/launcher/ ├── launch.py # 主入口nemo_run CLI entrypoint ├── core.py # 核心逻辑dataclasses、执行器构造、run loop ├── slurm_config.py # SlurmConfig dataclass 与 slurm_factory ├── common/ # 脚本与类型化任务 │ ├── megatron_lm/quantize/ │ │ ├── quantize.sh # PTQ 量化 MMLU 评估 HF 导出 │ │ └── task.py # MegatronLMQuantizeTask类型化配置 │ ├── tensorrt_llm/query.sh # TRT-LLM 服务 查询 │ ├── vllm/query.sh # vLLM 服务 查询 │ ├── eagle3/ # EAGLE3 投机解码脚本 │ └── specdec_bench/ # 投机解码基准测试 ├── examples/ # 示例配置 │ └── Qwen/Qwen3-8B/ │ ├── megatron_lm_ptq.yaml # PTQ多卡/Slurm │ ├── megatron_lm_ptq_local.yaml # PTQ单卡/Docker │ └── hf_offline_eagle3.yaml # EAGLE3 离线流水线 ├── tests/ # 单元测试 ├── modules/ # 依赖 │ ├── Megatron-LM/ # Git 子模块 │ └── Model-Optimizer - ../.. # 符号链接自动创建 └── docs/ # 文档 ├── configuration.md # YAML 格式、覆盖、hf_local ├── architecture.md # 设计、工厂系统、类型化任务 ├── testing.md # 测试与 CI ├── claude_code.md # Claude Code 工作流 └── contributing.md # 添加模型、Bug 报告除 README 中列举的目录外仓库实际还包含common/hf/HuggingFace PTQ 脚本、common/megatron_bridge/、common/megatron_lm/train/sft.sh、common/megatron_lm/export/export.sh、common/smoke/hostname.sh、nvidia_smi.sh冒烟测试、common/specdec/等以及覆盖 MiniMax、Qwen、Kimi、Nemotron、Gemma、gpt-oss 等多个模型的示例配置examples。tests/下现有 8 个测试模块含test_examples_resolve.py、test_slurm_executor.py等对应约 64 个单元测试。配置体系环境变量与三类 YAML 任务环境变量一览变量说明是否必需SLURM_HOSTSlurm 登录节点主机名是远端运行SLURM_ACCOUNTSlurm 计费账户是远端运行SLURM_JOB_DIR远端任务产物目录是远端运行SLURM_HF_LOCAL集群上 HuggingFace 模型缓存路径是远端运行HF_TOKENHuggingFace API 令牌否NEMORUN_HOMENeMo Run 主目录默认当前目录否此外launch.py 的 docstring 还补充了SLURM_USER远端 SSH 用户名默认本机登录名、SLURM_PARTITION、SLURM_QOS、SLURM_MEM均被 slurm_factory 读取为SlurmConfig默认值。形式一类型化任务配置推荐形态通过_target_引用类型化任务类使用具名字段job_name: Qwen3-8B_NVFP4_DEFAULT_CFG pipeline: task_0: _target_: common.megatron_lm.quantize.task.MegatronLMQuantizeTask config: model: Qwen/Qwen3-8B quant_cfg: NVFP4_DEFAULT_CFG tp: 4 calib_size: 32 hf_local: /hf-local/ slurm_config: _factory_: slurm_factory nodes: 1 ntasks_per_node: 4 gpus_per_node: 4MegatronLMQuantizeConfig的字段默认值task.py包括modelQwen/Qwen3-8B、quant_cfgNVFP4_DEFAULT_CFG、tp4、pp1、ep1、etp1、calib_datasetabisee/cnn_dailymail、calib_size32、calib_max_sequence_length512、mmlu_datasetcais/mmlu、mmlu_fraction0.01、mmlu_lower_bound0.38、hf_local/hf-local/。materialize_from_config()会把类型化配置展开为底层script/args/environment字段。重要事实说明由于 nemo_run/Fiddle 在 YAML 加载时先于嵌套字段填充执行__post_init__当前版本的类型化任务尚未重新接入SandboxPipeline详见 task.py 的 NOTE 注释。因此仓库内 Qwen3-8B 的实际示例 YAML 使用的是下面两种“raw”形式类型化形态保留作未来启用参考——从源码结构看这是当前唯一可直接跑通的写法。形式二Raw SandboxTask当前示例实际采用的形态适用于无类型化任务类的脚本直接指定脚本路径、参数与环境变量job_name: Qwen3-8B_NVFP4_DEFAULT_CFG pipeline: task_0: script: common/megatron_lm/quantize/quantize.sh args: - --calib-dataset-path-or-name /hf-local/abisee/cnn_dailymail - --calib-size 32 environment: - MLM_MODEL_CFG: Qwen/Qwen3-8B - QUANT_CFG: NVFP4_DEFAULT_CFG - TP: 4 slurm_config: _factory_: slurm_factory nodes: 1 ntasks_per_node: 4 gpus_per_node: 4参考仓库中 megatron_lm_ptq.yaml一个 3 步流水线——task_0用quantize.sh做 NVFP4 量化含 MMLU 评估与导出MMLU_LOWER_BOUND0.68、task_1做 FP8 量化MMLU_LOWER_BOUND0.75、task_2用common/tensorrt_llm/eval.sh对导出 checkpoint 做 TRT-LLM 端侧 MMLU 评测HF_MODEL_CKPT: /scratchspace/export。quantize.sh内部依次调用 Megatron-LM 的quantize.sh→mmlu.sh→export.sh脚本源码并支持RUN_MMLUfalse RUN_EXPORTfalse关闭可选步骤、MLM_MODEL_SAVE指定 PTQ 产物持久化路径。形式三Inline 命令无需包装脚本任务可直接携带inlineshell 命令如 Megatron-Bridge 的torchrun单行任务无需.sh包装脚本job_name: Qwen3-8B_mbridge_prune pipeline: global_vars: output_dir: /cicd/megatron-bridge task_0: environment: - LAUNCH_SCRIPT: torchrun --nproc_per_node 2 inline: - $LAUNCH_SCRIPT modules/Model-Optimizer/examples/megatron_bridge/prune_minitron.py --hf_model_name_or_path Qwen/Qwen3-8B --pp_size 2 --prune_target_params 6e9 --output_hf_path global_vars.output_dir/Qwen3-8B-Pruned-6B slurm_config: _factory_: slurm_factory container: nvcr.io/nvidia/nemo:26.08 modelopt_install_path: /opt/venv/lib/python3.12/site-packages/modelopt nodes: 1 ntasks_per_node: 2 gpus_per_node: 2使用约束在 core.py 的run_jobs中有硬性校验inline必须为单行CLI 层会拒绝多行值YAML 中用折叠标量-而非字面块|命令间用串联inline与args互斥同时设置非空args会抛ValueError打包后的仓库位于modules/Model-Optimizer/...运行目录即 CWD启动器在本地用torchrun、Slurm 上用pythonsrun脚本内引用$LAUNCH_SCRIPT普通$VAR不要用${...}否则与配置加载器冲突Slurm 上启动器会将其覆盖为python因此需保证ntasks_per_node gpus_per_nodeglobal_vars.X会被解析替换为全局变量值。容器内预装 pip 依赖reqs/reqs_file任务可在容器内命令执行前先pip install拼接为pip install [-r reqs_file] [reqs] commandtask_0: reqs: transformers5 # 或 transformers5 fire 一次装多个 inline: - python .../prune_minitron.py ... task_2: reqs_file: modules/Model-Optimizer/examples/llm_eval/requirements.txt inline: - python .../lm_eval_hf.py ...reqs原始pip install参数字符串无需引号包裹版本符启动器会对每个 token 做 shell 引号处理均安全reqs_file指向运行目录即modules/Model-Optimizer/...下的 requirements.txt两者均可与inline、script任务搭配并支持global_vars.XSlurm 上安装只在每个节点的 local rank 0 执行一次以 job/step/node ID 命名的文件系统屏障标记多节点任务安全且避免同节点并发 pip 污染环境run_jobs 中reqs_prefix的实现。多任务流水线串行依赖与全局变量任务按顺序执行task_1只在task_0完成后启动global_vars.X语法在任务间共享值由SandboxPipeline.__post_init__用正则global_vars\.(\w)替换解析job_name: Qwen3-8B_quantize_export pipeline: global_vars: hf_model: /hf-local/Qwen/Qwen3-8B task_0: script: common/megatron_lm/quantize/quantize.sh environment: - HF_MODEL_CKPT: global_vars.hf_model slurm_config: _factory_: slurm_factory nodes: 1 task_1: script: common/megatron_lm/export/export.sh environment: - HF_MODEL_CKPT: global_vars.hf_model slurm_config: _factory_: slurm_factory nodes: 1SandboxPipeline支持最多task_0到task_4五个槽位另有global_vars、assets提交前校验的 HF 仓库路径、test_level、allow_to_fail、skip、note、task_configs等字段core.py。GlobalVariables内置hf_model、hf_data、hf_local、output_dir、draft_model投机解码草稿模型路径供 SPEED-bench 类 YAML 复用等具名字段。若设置allow_to_fail: true依赖类型会切换为afterany前置任务失败也会继续执行下游任务。两种配置入口--yaml与pipeline--yaml config.yaml推荐把顶层键映射为函数参数包含job_name与pipelineuv run launch.py --yaml examples/Qwen/Qwen3-8B/megatron_lm_ptq.yaml --yespipelineconfig.yaml裸的SandboxPipeline无job_name包装uv run launch.py pipelinebare_pipeline.yaml job_namemy_job --yesCLI 覆盖与常用 Flag任意参数都可在命令行覆盖点路径语法# 修改节点数 uv run launch.py --yaml config.yaml pipeline.task_0.slurm_config.nodes2 --yes # 修改容器镜像 uv run launch.py --yaml config.yaml \ pipeline.task_0.slurm_config.containernvcr.io/nvidia/tensorrt-llm/release:1.2.0 --yes # 修改类型化配置字段 uv run launch.py --yaml config.yaml pipeline.task_0.config.tp1 --yesFlag说明--yes/-y跳过确认提示-v输出详细信息--dryrun只打印解析后的配置不真正运行--to-yaml output.yaml把解析后的配置导出到文件detachtrue提交后立即返回不阻塞等待--dryrun是提交前的必备验证手段见下文贡献指南--to-yaml则可用于生成可复现的 Bug 报告配置。launch()入口还支持job_name、job_dir、user、identitySSH 私钥、detach、clean对 examples 执行git clean -xdf等参数launch.py。hf_local模型与数据集的自管理存储流水线 YAML 用hf_local作为模型权重与数据集的路径前缀它应是镜像 HuggingFace Hub 层级结构的自管理目录/hf-local/ ├── Qwen/Qwen3-8B/ ├── meta-llama/Llama-3.1-8B/ ├── abisee/cnn_dailymail/ └── cais/mmlu/使用专用目录优于 HuggingFace 默认缓存~/.cache/huggingface可避免并发任务导致缓存损坏# 预下载 huggingface-cli download Qwen/Qwen3-8B --local-dir /hf-local/Qwen/Qwen3-8B # CLI 覆盖路径 uv run launch.py --yaml config.yaml pipeline.task_0.config.hf_local/mnt/models/ --yes # 直接从 Hub 下载不落本地缓存 uv run launch.py --yaml config.yaml pipeline.task_0.config.hf_local --yes对 Slurm 集群SLURM_HF_LOCAL决定容器挂载路径在 slurm_factory 中默认生成{SLURM_HF_LOCAL}:/hf-local挂载而本地 Docker 分支由 build_docker_executor 无条件挂载f{hf_local}:/hf-local。架构设计core 共享核心、工厂系统与挂载机制共享核心与入口职责core.py 是全部逻辑所在core.py ├── Dataclasses: SandboxTask, SandboxPipeline, GlobalVariables ├── Executor builders: build_slurm_executor(), build_docker_executor() ├── Job runner: run_jobs() ├── Version reporter: report_versions() ├── Factory registry: register_factory(), set_slurm_config_type() └── Default env: get_default_env() launch.py ├── imports core.py ├── slurm_config.py (env-var driven) ├── registers: slurm_factory ├── packager (LAUNCHER_DIR relative) └── launch() entrypointset_slurm_config_type(SlurmConfig)会把task_0..task_4字段的slurm_config类型替换为具体类让 nemo-run 的 CLI 解析器能识别register_factory(slurm_factory, slurm_factory)注册工厂。run_jobs循环按test_level过滤任务、顺序构造run.Script与执行器、通过exp.add(..., dependencies[dependency])建立串行依赖最终写出metadata.json。工厂系统Factory SystemYAML 中通过_factory_按名引用工厂slurm_config: _factory_: slurm_factory nodes: 1工厂在 import 时经register_factory()注册。slurm_factoryslurm_config.py读取环境变量SLURM_HOST、SLURM_ACCOUNT、SLURM_PARTITION默认batch、SLURM_QOS、SLURM_MEM生成SlurmConfig。SandboxPipeline.__post_init__中还有一层“工厂回填”逻辑当 nemo_run 直接由 YAML 构造SlurmConfig导致hostNone时会以注册的slurm_factory为基底、叠加 YAML 中显式书写的字段避免 SSH 连接报TypeError。SlurmConfig关键字段与默认值字段默认值说明hostNone登录节点由SLURM_HOST注入port22SSH 端口accountNone计费账户SLURM_ACCOUNTpartitionbatch分区SLURM_PARTITIONcontainernvcr.io/nvidia/tensorrt-llm/release:1.3.0rc20容器镜像modelopt_install_path/usr/local/lib/python3.12/dist-packages/modelopt容器内 ModelOpt 安装路径container_mounts[{SLURM_HF_LOCAL}:/hf-local]额外容器挂载srun_args[--no-container-mount-home]srun 附加参数nodes/ntasks_per_node1节点数 / 每节点任务数gpus_per_node1每节点 GPU 数None表示不请求 GRES适用于无 GRES 的集群time04:00:00时间上限mem0由SLURM_MEM覆盖内存requeueFalse任务失败自动 requeue会同步调高retriessegmentNone--segmentN将节点固定在同一拓扑块如 GB200 NVL72 的 NVLink 域docker_userNone仅 Docker 生效本地docker run用户如root以读取镜像内 root 专属路径代码打包PatternPackagerPatternPackager将源码打成 tar.gz 并 rsync 到集群code/目录镜像 launcher 结构code/ ├── modules/ │ ├── Megatron-LM/megatron/... │ └── Model-Optimizer/modelopt/... └── common/ ├── megatron_lm/quantize/quantize.sh ├── tensorrt_llm/query.sh ├── vllm/query.sh ├── eagle3/ └── query.pylaunch.py 把examples、common、modules/Megatron-LM/megatron、modules/Megatron-LM/examples、modules/Model-Optimizer/modelopt、modelopt_recipes、examples等路径加入 include pattern在 dev 检出时生效。ModelOpt 挂载机制与符号链接容器镜像自带预装的 ModelOptlauncher 会把本地modelopt/目录 bind-mount 覆盖到镜像内安装路径使本地改动无需重建容器即可生效Slurm{job_dir}/{experiment_title}/{exp_id}/{task}/code/modules/Model-Optimizer/modelopt→{modelopt_install_path}Docker{LAUNCHER_DIR}/modules/Model-Optimizer/modelopt→{modelopt_install_path}同理还会把modelopt_recipes挂载到安装路径的同级目录。查询某个容器内 ModelOpt 实际安装路径docker run --rm image python3 -c import modelopt; print(modelopt.__file__)tools/launcher/modules/Model-Optimizer是指向仓库根../../..的符号链接而非子模块从而避免递归嵌套Git 原生跟踪符号链接git clone后保留、launch.py首次运行若缺失会自动创建、打包器的find会跟随符号链接展开内容。版本报告与元数据每次运行开始会打印版本报告report_versions()读取 launcher 及各子模块的 git commit 与分支 Version Report Launcher d28acd33 (main) Megatron-LM 1e064f361 (main) Model-Optimizer 69c0d479 (main) 每个实验在experiments/title/id/下写入metadata.json{ experiment_id: cicd_1773420387, job_name: Qwen3-8B_NVFP4_DEFAULT_CFG, allow_to_fail: false, note: }默认环境注入get_default_env()为每个任务注入默认环境变量TRITON_CACHE_DIR、HF_HOME默认/{title}/hf-cacheSlurm 侧另有HF_TOKEN与LAUNCH_SCRIPTpython、MLM_SKIP_INSTALL1以及SPECDEC_BENCH_S3_*三个上传凭据用于common/specdec_bench/upload_to_s3.sh发布基准结果凭据无需写进 YAML。测试与 CI在 launcher 目录本地运行测试cd Model-Optimizer/tools/launcher uv pip install -e . pytest uv run pytest -v64 个单元测试覆盖范围统计来自 docs/testing.md文件测试数覆盖test_core.py16Dataclasses、工厂注册、global_vars、env、版本test_core_extended.py12错误分支、env 合并、test_level、skip、detachtest_slurm_config.py9SlurmConfig 默认值、环境变量覆盖、工厂test_docker_execution.py10Docker 执行器挂载、run_jobs 路径选择test_slurm_executor.py5Slurm 执行器挂载、隧道参数mocktest_yaml_formats.py7YAML 解析、task_configs、覆盖test_docker_launch.py2端到端 Docker 启动subprocessCI 侧在每次 PR 都会运行 launcher 测试工作流要求submodules: recursive检出并安装 uv 后uv run pytest -v该 job 为 required check测试失败则无法合入。按设计不在单测覆盖范围需真实基础设施、手工验证的是真实 SSH 隧道与 sbatch 提交、带 GPU 负载的 Docker 容器启动、PatternPackager 的 tar.gz 与 rsync、nemo 实验状态/日志轮询。扩展与贡献指南添加一个新模型创建examples/Organization/ModelName/目录使用类型化任务类添加 YAML 配置job_name: MyModel_NVFP4 pipeline: task_0: _target_: common.megatron_lm.quantize.task.MegatronLMQuantizeTask config: model: org/my-model quant_cfg: NVFP4_DEFAULT_CFG tp: 4 slurm_config: _factory_: slurm_factory nodes: 1 ntasks_per_node: 4 gpus_per_node: 4用 dry run 验证uv run launch.py --yaml path --dryrun --yes -v创建_local.yaml变体tp: 1用于单卡测试。添加一个新的类型化任务在它包装的 shell 脚本旁创建common/workflow/task.py定义配置 dataclassdataclass class MyWorkflowConfig: Typed config with named fields and defaults. model: str default/model param: int 4 hf_local: str /hf-local/继承SandboxTask在__post_init__中把类型化配置转换为script/args/environmentdataclass class MyWorkflowTask(SandboxTask): config: MyWorkflowConfig None def __post_init__(self): if self.config: self.script common/workflow/run.sh self.args [f--param {self.config.param}] self.environment [{MODEL: self.config.model}]在 YAML 中通过_target_引用task_0: _target_: common.workflow.task.MyWorkflowTask config: model: org/my-model报告 Bug提交 issue 时附带三样东西版本汇总——每次运行开头打印的 Version Report见上文可复现配置——用--to-yaml导出uv run launch.py --yaml config --to-yaml bug_report.yaml错误输出——job 日志中的相关 traceback。深入阅读指南说明ConfigurationYAML 格式、CLI 覆盖、Flag、hf_localArchitecture共享核心、工厂系统、类型化任务、挂载机制Testing本地与 CI 测试运行Claude Code提交、监控、诊断工作流Contributing添加模型、类型化任务、Bug 报告从一条uv run launch.py --yaml ... --yes命令出发launcher 串联了 YAML 声明 → 工厂解析 → 代码打包 → SSH/Docker 执行器 → 串行任务依赖 → 版本与元数据记录的全链路是 Model-Optimizer 中把“量化/训练/评估实验从单机验证推进到集群规模化”的标准化入口。如果你需要快速验证某个 PTQ 配置先用_local.yaml变体在本机跑通再通过 CLI 覆盖并行度与容器镜像切换到大集群即可。赞分享人工智能大模型模型优化模型量化模型压缩【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址https://gitcode.com/GitHub_Trending/te/Model-Optimizer点击查看免费下载相关推荐ModelOpt Launcher 实战指南用 SLURM / Docker 一键批量执行 HF PTQ 量化任务ModelOpt Launcher 实战指南用 SLURM / Docker 一键批量执行 HF PTQ 量化任务 本指南围绕 Model Optimizer人工智能大模型模型优化模型量化模型压缩使用 oumi launch 在云端与 HPC 集群上运行训练评估任务Oumi Launcher 实战指南使用 oumi launch 在云端与 HPC 集群上运行训练评估任务Oumi Launcher 实战指南 Oumi 不仅支持在本机运行训练与评估还通过 C人工智能大模型预训练微调强化学习模型推理服务模型评测MCP 服务分布式训练模型量化IsaacLab 集群部署实战Docker 镜像转 Singularity 并向 SLURM/PBS 集群提交训练任务IsaacLab 集群部署实战Docker 镜像转 Singularity 并向 SLURM/PBS 集群提交训练任务 本文以 IsaacLab 官方文档的「人工智能强化学习机器人具身智能深度学习创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考