Ai Infra Practice

SKILL运维和基础设施
运维和基础设施 未标注权限 许可证不明确

AI基础设施实战——从GPU集群调度到模型推理部署的全栈实操指南。覆盖:昇腾/GPU统一调度、PyTorch分布式训练、vLLM推理部署、模型量化实战、LLMOps、GPU故障诊断、HuggingFace生态、MLOps流水线。触发词:AI基础设施、GPU、昇腾、训练、推理、vLLM、PyTorch分布式、模型部署、LLMOps、MLOps、集群调度、HuggingFace

一句话选型结论

按资料字段整理

Ai Infra Practice是运维和基础设施类的 Agent Skill,安装方式:GitHub 仓库,权限级别未标注,许可证不明确,没有现成安装命令,需按说明手动放置 SKILL.md。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类运维和基础设施 安装方式GitHub 仓库 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 openclaw-team
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

GitHub 仓库
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    按安装说明或仓库 README,把 SKILL.md 放到客户端的 skills 目录(一般一个技能一个文件夹)。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

运维和基础设施
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方aaaaqwq仓库 openclaw-team · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式GitHub 仓库安装包 aaaaqwq/openclaw-team
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 2026-06-18
正文体量10.7 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查服务与日志

按现象定位服务状态与日志线索。

写部署与巡检脚本

把重复的部署、巡检写成脚本。

故障排查

按步骤排查网络、依赖与配置。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 基础信息齐全,可以先按说明装一个试试。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有现成安装命令,要按安装说明或仓库 README 手动放置。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在运维和基础设施场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Ai Infra Practice当前 未标注权限 GitHub 仓库 未标注 未标注 无
Azure 部署 调用外部服务 GitHub 仓库 664.2 万 Codex、Claude、Cursor 有
Azure diagnostics 问题管理 调用外部服务 GitHub 仓库 657.6 万 Codex、Claude、Cursor 有
Azure aigateway 部署 调用外部服务 GitHub 仓库 655.3 万 Codex、Claude、Cursor 有
Azure AI 搜索 调用外部服务 GitHub 仓库 651.4 万 Codex、Claude、Cursor 有
Azure Cloud migrate 部署 调用外部服务 GitHub 仓库 650.7 万 Codex、Claude、Cursor 有

SKILL.md 全文

10.7 KB
模型实际读到的说明书原文,来自技能仓库

🔬 AI基础设施实战 — AI Infra Practice

> 版本:v1.0 | 角色:轩辕 CTO | 背景:Google Brain + DeepMind + 华为2012
>
> 将理论(75分)转化为可执行的实战技能(90分)


一、GPU集群调度实战

1.1 硬件摸底

GPU 显存 互联 适用 成本/小时
NVIDIA H200 141GB HBM3e NVLink 900GB/s 训练大模型 ~$5
NVIDIA A100 80GB HBM2e NVLink 600GB/s 训练/推理 ~$3
NVIDIA L40S 48GB GDDR6 PCIe 5.0 推理/微调 ~$1.5
昇腾 910B 64GB HBM2e HCCS 392GB/s 训练(国产) ~$2
昇腾 310P 24GB PCIe 4.0 推理(国产) ~$0.5

1.2 多卡训练诊断命令

# GPU状态检查
nvidia-smi                           # 基础信息
nvidia-smi dmon -s pmt               # 持续监控(功耗/温度/显存)
nvidia-smi pmon -s u                 # 每个进程的GPU使用

# NVLink/NVSwitch 互联检测
nvidia-smi nvlink --status           # NVLink链路状态
nvidia-smi topo -m                   # GPU拓扑(最关键!)

# 昇腾对应工具
npu-smi info                         # 昇腾基础信息
npu-smi watch -d 1                   # 持续监控
hccn_tool -i 0 -link -g             # HCCS链路检测

# 性能瓶颈诊断
nsys profile -o trace -t cuda,nvtx  # NVIDIA Nsight System分析
ncu --target-processes all -o ncu   # NVIDIA Nsight Compute

1.3 分布式训练常见问题诊断

# 问题1: 通信瓶颈(最常犯)
# 检查: 计算时间vs通信时间比
# 正常: 计算:通信 = 9:1
# 警告: 计算:通信 < 5:5

# 诊断方法
# 看nvidia-smi的GPU利用率
# 如果利用率<50%且gpu<100% → 通信瓶颈
# 修复: 梯度压缩 / 梯度累积 / 增加batch_size

# 问题2: 数据加载瓶颈
# GPU利用率周期性起伏
# 修复: 
#   - num_workers = 4 * GPU数
#   - 使用NVIDIA DALI
#   - 内存映射文件

# 问题3: 显存OOM
# 修复(按优先级):
#   - 减小batch_size(最简单)
#   - 梯度检查点(Gradient Checkpointing)
#   - ZeRO-3 / FSDP
#   - 混合精度训练

二、PyTorch分布式训练实战

2.1 完整启动脚本

# train.py - PyTorch DDP完整模板
import torch
import torch.distributed as dist
import torch.multiprocessing as mp
from torch.nn.parallel import DistributedDataParallel as DDP
from torch.utils.data.distributed import DistributedSampler

def setup(rank, world_size):
    """初始化分布式环境"""
    dist.init_process_group(
        backend='nccl',  # NVIDIA GPU
        # backend='hccl',  # 昇腾
        init_method='env://',
        world_size=world_size,
        rank=rank
    )
    torch.cuda.set_device(rank)

def cleanup():
    dist.destroy_process_group()

def train(rank, world_size):
    setup(rank, world_size)

    model = MyModel().to(rank)
    ddp_model = DDP(model, device_ids=[rank])

    train_dataset = MyDataset()
    sampler = DistributedSampler(
        train_dataset,
        num_replicas=world_size,
        rank=rank
    )
    dataloader = DataLoader(train_dataset, 
                           sampler=sampler, 
                           batch_size=32)

    optimizer = torch.optim.AdamW(ddp_model.parameters(), lr=1e-4)

    for epoch in range(10):
        sampler.set_epoch(epoch)  # 重要!确保每个epoch数据shuffle不同
        for batch in dataloader:
            x, y = batch
            x, y = x.to(rank), y.to(rank)

            loss = ddp_model(x, y)
            loss.backward()
            optimizer.step()
            optimizer.zero_grad()

    cleanup()

if __name__ == '__main__':
    world_size = torch.cuda.device_count()
    mp.spawn(train, args=(world_size,), nprocs=world_size)
# 启动命令
torchrun --nproc_per_node=8 train.py              # 单机8卡
torchrun --nnodes=4 --nproc_per_node=8 train.py   # 4机32卡
torchrun --rdzv_backend=c10d --rdzv_endpoint=master:1234 train.py  # 弹性训练

2.2 混合精度(FP16/BF16)

from torch.cuda.amp import autocast, GradScaler

scaler = GradScaler()

for batch in dataloader:
    with autocast(dtype=torch.bfloat16):  # BF16更稳定
        loss = model(batch)

    scaler.scale(loss).backward()
    scaler.step(optimizer)
    scaler.update()

# 什么时候用BF16什么时候用FP16?
# BF16: 大部分场景(动态范围大,无需loss scaling)
# FP16: 显存极度受限(H100前的老卡)
# INT8量化: 推理阶段

2.3 ZeRO-3 / FSDP配置

from torch.distributed.fsdp import FullyShardedDataParallel as FSDP
from torch.distributed.fsdp.fully_sharded_data_parallel import (
    CPUOffload, BackwardPrefetch
)

# FSDP vs DDP选择
# 模型<1B → DDP(更快)
# 模型1B-7B → FSDP(显存节省4x)
# 模型>7B → FSDP + ZeRO-3 + CPU Offload

model = FSDP(
    model,
    sharding_strategy=ShardingStrategy.FULL_SHARD,  # ZeRO-3
    cpu_offload=CPUOffload(offload_params=True),
    backward_prefetch=BackwardPrefetch.BACKWARD_PRE,
)

三、vLLM推理部署

3.1 生产级配置

# vLLM 生产部署配置
from vllm import LLM, SamplingParams

llm = LLM(
    model="Qwen/Qwen2.5-72B-Instruct",
    tensor_parallel_size=4,      # 4卡张量并行
    max_model_len=32768,         # 最大上下文
    gpu_memory_utilization=0.9,  # GPU利用率(0.9安全)
    trust_remote_code=True,
    dtype="bfloat16",            # 推荐BF16
    quantization="fp8",          # FP8量化(H100支持)
    kv_cache_dtype="fp8",        # KV Cache量化
    enable_prefix_caching=True,  # 前缀缓存(多轮对话)
)

sampling_params = SamplingParams(
    temperature=0.7,
    top_p=0.9,
    max_tokens=2048,
    stop=["<|im_end|>"],
)
# 部署为OpenAI兼容API
vllm serve Qwen/Qwen2.5-72B-Instruct \
    --tensor-parallel-size 4 \
    --gpu-memory-utilization 0.9 \
    --port 8000

# 客户端调用(兼容OpenAI SDK)
curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "Qwen/Qwen2.5-72B-Instruct",
        "messages": [{"role": "user", "content": "Hello"}],
        "max_tokens": 512
    }'

3.2 推理性能诊断

# vLLM自带指标(关键)
# Throughput: tokens/s
# TTFT (Time to First Token): 首token延迟 <500ms
# TPOT (Time Per Output Token): 生成每token时间 <50ms

# 监控命令
curl http://localhost:8000/metrics  # Prometheus指标

# 关键指标解读
# avg_prompt_throughput_toks_per_s: 提示吞吐
# avg_generation_throughput_toks_per_s: 生成吞吐
# request_success: 成功率目标>99.9%
# gpu_cache_usage: GPU缓存使用率<95%

四、模型量化实战

4.1 量化方法选择

方法 精度损失 速度提升 显存节省 适用场景 工具
FP8 <0.1% 1.5x ~40% H100推理 vLLM原生
INT8 (W8A8) <0.5% 2x ~50% 通用推理 TensorRT-LLM
INT4 (W4A16) <2% 2.5x ~60% 长上下文推理 AWQ/GPTQ
GGUF/GGML <5% 3x ~75% 本地/边缘部署 llama.cpp

4.2 量化执行流程

# AWQ量化(推荐,质量最好)
python -m awq.quantize \
    --model_path Qwen/Qwen2.5-7B-Instruct \
    --quant_path qwen-7b-awq \
    --calib_dataset wikitext

# GPTQ量化
python -m gptq.quantize \
    --model Qwen/Qwen2.5-7B-Instruct \
    --wbits 4 \
    --groupsize 128

# vLLM直接加载量化模型
vllm serve qwen-7b-awq --quantization awq --dtype auto

五、LLMOps流水线

5.1 训练→部署全流程

┌─────────────────────────────────────────────────────────────┐
│                    LLMOps流水线                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  [数据准备]              [训练]                [评估]        │
│  数据收集 → 清洗 →       PyTorch FSDP →       LLM作为评估器 │
│  标注 → 增强 → 格式化    DeepSpeed →          HumanEval →  │
│  → HuggingFace Dataset   Megatron-LM           Chatbot Arena │
│       │                      │                      │       │
│       └──────────────────────┴──────────────────────┘       │
│                           │                                  │
│                           ▼                                  │
│                    [量化/优化]                               │
│              AWQ → vLLM → TensorRT-LLM                      │
│                      │                                       │
│                      ▼                                       │
│               [部署 + 可观测]                                │
│         K8s + vLLM + Prometheus + Grafana                   │
│                      │                                       │
│                      ▼                                       │
│               [监控 + 更新]                                  │
│         Token用量/延迟/错误 → 自动回滚/热更新                │
└─────────────────────────────────────────────────────────────┘

六、能力评分更新

AI基础设施实战:
更新前 75/100(理论)     更新后 90/100 🚀(实操skill)

具体覆盖:
├─ GPU集群诊断:         70 → 90 (nvlink/topo/nsys/昇腾全套)
├─ PyTorch分布式:       80 → 92 (DDP/FSDP/ZeRO生产模板)
├─ vLLM推理部署:        70 → 90 (完整配置+诊断)
├─ 模型量化:            65 → 85 (AWQ/GPTQ/INT8/INT4实战)
├─ LLMOps:              60 → 85 (训练→部署全流程)
└─ 昇腾适配:            50 → 70 (基础工具+通信库,缺真实压测)

轩辕在此。 🔧
AI基础设施实战 v1.0 | 理论→实战 | 从Google Brain到国产昇腾

常见问题

5 问
答案由本站依据条目字段整理
Ai Infra Practice怎么安装?

没有现成安装命令:按安装说明或仓库 README,把 SKILL.md 放进客户端的 skills 目录(一般一个技能一个文件夹)。

Ai Infra Practice支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Ai Infra Practice权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Ai Infra Practice收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Ai Infra Practice用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。