TechRadar 全站搜索
跨模块搜索路线图、情报、工具、踩坑指南和专业术语。 共索引 61 条内容。
路线图
(17)- 路线图devops→Linux 系统基础
Shell / Bash / SSH / tmux / 进程管理,AI 开发者的必备工作环境 熟练使用命令行 远程操控 GPU 服务器
#devops - 路线图devops→Git & GitHub 协作
版本控制、分支管理、GitHub PR 协作流程 独立参与开源项目协作 代码 Code Review 能力
#devops - 路线图devops→Docker 容器化
镜像构建 / 容器编排 / GPU 容器 / Docker Compose 模型服务容器化部署 GPU 训练环境隔离
#devops - 路线图math→线性代数
向量空间、矩阵运算、特征值、SVD——用 NumPy/PyTorch 实战理解 能在代码中理解权重矩阵的维度意义 能推导反向传播的矩阵形式
#math - 路线图math→概率与统计
分布、贝叶斯、假设检验、信息论——理解不确定性与交叉熵 解释 loss 函数的概率意义 评估模型的统计显著性
#math - 路线图cv→PyTorch 框架
Tensor / Dataset / DataLoader / 优化器 / 分布式训练 熟练用 PyTorch 搭建任意模型结构 分布式训练基础
#cv - 路线图cv→CNN 经典架构
卷积感受野 / ResNet / 迁移学习 / 特征可视化 理解 CNN 设计原理 能复现经典论文架构并训练
#cv - 路线图cv→目标检测
边界框回归 / IoU / YOLO / Ultralytics / 导出 ONNX 训练自定义目标检测数据集 推理优化与部署
#cv - 路线图nlp→NLP 基础与 RNN
分词 / 词向量 / RNN LSTM / 文本分类 / Seq2Seq 理解序列建模核心原理 完成文本分类任务
#nlp - 路线图nlp→Transformer 与预训练模型
自注意力 / Multi-Head / BERT / HuggingFace 熟练使用 HuggingFace 微调 BERT 做文本分类
#nlp - 路线图nlp→LLM 微调与对齐
LoRA / QLoRA / 聊天格式 / 数据准备 / 评估 能在消费级 GPU 上微调一个 7B 模型 搭建聊天 demo
#nlp - 路线图project→综合实战项目
从选题到上线:需求/数据/模型/部署/文档/答辩 独立完成可演示项目 产出简历可用作品集
#project - 路线图cv→YOLOv8-seg 实例分割实战
围绕 YOLOv8-seg 的实例分割实战。重点讲解如何将标注好的多边形数据集转化为 YOLO 格式并进行模型微调训练。 掌握多边形标注到 YOLO 格式的转换流程 完成 YOLOv8-seg 微调训练并推理
#cv - 路线图project→ESP32 传感器数据链路
围绕软硬件结合的数据链路打通。重点讲解如何使用 ESP32 采集传感器数据,并通过 WiFi 发送 HTTP 请求到 FastAPI 构建的后端接收端点。 ESP32 传感器数据采集与 WiFi HTTP 上报 FastAPI 接收端点 + 数据持久化
#project - 路线图nlp→本地知识库 RAG 系统
围绕本地知识库构建。重点讲如何使用脚本自动化解析学术文献或网页内容,并结合向量数据库搭建一个轻量级的本地 RAG(检索增强生成)系统。 自动化文档解析与分块 向量数据库存储与相似度检索 本地 LLM 生成回答
#nlp - 路线图devops→模型服务 Docker 化部署
围绕模型服务化部署。重点讲如何编写 Dockerfile,将一个包含了深度学习推理逻辑的 Python/FastAPI 服务打包成体积优化的镜像。 Dockerfile 多阶段构建优化 FastAPI 模型推理服务容器化 镜像体积控制 < 2GB
#devops - 路线图math→PyTorch 张量运算与广播机制
围绕深度学习中的矩阵运算。重点解析 PyTorch 中的高维张量乘法(如 torch.matmul)与广播机制(Broadcasting)在实际神经网络前向传播中的应用。 理解高维张量的维度语义 掌握 matmul / mm / bmm 差异 熟练运用广播机制避免显式维度扩展
#math
情报
(18)- 情报deep-learning→Transformer 架构
所有大模型(GPT、BERT、LLaMA)的底层架构。理解它就能理解现代 AI 是怎样工作的。
#transformer#attention#self-attention#multi-head#positional encoding#encoder decoder - 情报computer-vision→YOLO 目标检测
单阶段端到端目标检测方案,看一张图一次前向传播就定位所有物体,是工业界实时检测的首选
#yolo#object detection#cnn#ultralytics#bounding box#mAP - 情报llm→LLM 微调 - LoRA / QLoRA
仅训练大模型极小一部分参数就能让它适配你的领域任务,4-bit 量化把 7B 模型微调显存压缩到 6GB 级
#lora#qlora#fine-tuning#peft#large language model#llm factory - 情报computer-vision→ResNet 残差网络
通过 shortcut 让超深网络可训练,把深度从几十层推到上百层,是现代视觉模型的核心构件之一
#resnet#residual connection#skip connection#cnn#deep network#image classification - 情报llm→RAG 检索增强生成
让大模型基于私有文档回答问题而非只靠训练数据,是当前 LLM 落地企业场景成本最低的方案之一
#rag#retrieval#vector database#embedding#langchain#knowledge base - 情报computer-vision→卷积神经网络 CNN 基础
从原始像素中自动提取层次化视觉特征,是 ResNet、ViT 等所有现代视觉模型的共同祖先
#cnn#convolution#pooling#feature map#lenet#alexnet - 情报devops→Docker 容器化部署
把应用(含 Python 环境、CUDA、系统库)打包成可在任何 Linux/Windows/Mac 上运行的镜像,一次构建,到处运行
#docker#container#dockerfile#image#volume#compose - 情报devops→Git 版本控制与协作
AI 项目协作的事实标准,让你不会因为误删代码、多人开发不出错、贡献开源项目更顺畅
#git#github#branch#merge#rebase#pull request - 情报devops→Linux 系统基础
深度学习训练几乎都在 Linux 服务器上进行,不会 Linux 就没法跑大规模模型、没法做远程开发与部署
#linux#bash#shell#terminal#ssh#nvidia - 情报data-engineering→NumPy / Pandas 数据处理
深度学习 80% 的时间花在数据上,NumPy 和 Pandas 帮你把原始 CSV/Excel 变成模型能吃的张量
#numpy#pandas#data preprocessing#array#dataframe#csv - 情报deep-learning→PyTorch 深度学习框架
学术界最主流的动态图框架,以清晰直观的方式定义模型,Debug 友好,是深度学习入门与论文复现的首选
#pytorch#tensor#autograd#nn.module#dataloader#optimizer - 情报tools→Streamlit 快速构建 AI 可视化界面
只用 Python 就能把模型变成带滑块/图片/图表的交互式网页,是 AI demo 的第一生产力
#streamlit#web ui#demo#visualization#interactive - 情报data-engineering→Hugging Face Datasets 数据集库
一行代码加载公开数据集,底层用 Apache Arrow 列式存储,比自己解析 CSV/JSON 快 5~10 倍
#datasets#huggingface#dataloader#arrow#parquet - 情报deployment→ONNX 跨框架模型部署
把训练好的 PyTorch 模型打包成通用格式,让你在任意设备和语言里都能拿到更快的推理速度
#onnx#onnxruntime#model export#inference#deployment#opset - 情报llm→RLHF 与大模型对齐
用人类偏好数据把"只会预测下一个 token"的模型拉回正轨,让它输出有用、无害、符合指令的答案
#rlhf#reward model#ppo#dpo#alignment#sft - 情报devops→Linux 服务器深度学习环境配置
从零搭起一台能跑 PyTorch 的 GPU 服务器:驱动、CUDA、Conda、SSH 与远程训练全都能自己搞定
#ubuntu#server setup#nvidia#cuda#conda#ssh - 情报evaluation→模型评估指标详解
分类 / 检测 / 生成任务该用什么指标打分,才能不被一个看起来漂亮的数字骗到
#map#iou#f1 score#precision#recall#auc - 情报tools→MLflow 实验追踪平台
一次把参数、metrics、模型都录下来,以后回头看"这次到底改了什么为什么这么好"不再抓瞎
#mlflow#experiment tracking#pytorch#autolog#model registry#hyperparameter
工具
(14)- 工具CV · 目标检测→Ultralytics YOLO
工业界首选的端到端目标检测框架,YOLOv8/v11/v13 统一维护 一行命令训练自定义数据集 内置 Detection / Segmentation / Pose / OBB ONNX / TensorRT / CoreML 一键导出 Python / CLI / Docker 多运行方式 目标检测 实例分割 关键点检测
#Python#PyTorch#实时检测 - 工具NLP · LLM→Hugging Face Transformers
10 万+ 预训练模型的统一加载接口,PyTorch / JAX 双后端 AutoModel / AutoTokenizer 即插即用 Trainer API 封装分布式训练 / 混合精度 配合 PEFT 支持 LoRA / QLoRA 微调 Tokenizers Rust 底层加速,tokenize 极快 文本生成 文本分类 LLM 推理 模型微调
#LLM#微调#NLP - 工具深度学习框架→PyTorch
研究界最流行的动态计算图深度学习框架,debug 友好,与 Python 完全融合 动态图:代码即模型,可直接 print 中间变量 torch.compile() 编译优化(PyTorch 2.0 新特性) torch.distributed 封装多卡 / 多机分布式训练 torch.jit 脚本化导出 TorchScript 模型训练 研究实验 自定义算子
#深度学习#研究#动态图 - 工具LLM 应用框架→LangChain
大模型应用开发瑞士军刀:RAG / Agent / Chain / Memory 一站式 统一的 VectorStore 抽象(FAISS / Chroma / pgvector) Agent 工具调用与自定义 Tool LangSmith 可观测性与调试面板 LangServe 一键将 Chain 部署为 REST API RAG 检索增强 Agent 智能体 对话系统
#RAG#Agent#应用层 - 工具可视化界面→Streamlit
纯 Python 构建交互式 Web 界面,无需前端知识,快速原型展示 数据可视化图表(折线/柱状/散点/地图) 文件上传 / 滑块 / 下拉框 / 按钮等交互组件 Session State 保持页面状态 部署到 Streamlit Cloud 免费公开访问 快速 Demo 数据看板 原型展示
#Web#Demo#Python - 工具实验追踪→MLflow
开源 ML 生命周期管理平台,自动记录参数/指标/模型,支持超参搜索 自动记录 PyTorch / Keras / XGBoost 等框架的训练指标 Web UI 对比不同实验的参数与 Loss 曲线 Model Registry 版本化管理,支持 Stage(Staging/Production) 可对接 PostgreSQL / S3 等生产级存储后端 实验追踪 模型版本管理 团队协作
#实验管理#MLOps - 工具实验可视化→Weights & Biases
实验可视化 + 超参数 Sweep + 模型版本管理,团队协作友好 一条 wandb.init() 自动记录 Loss / 指标 / 产出 Sweep 超参数搜索(Bayesian / Grid / Random) Artifacts 管理数据集与模型版本 视频/音频/表格等多种数据类型可视化 实验可视化 超参搜索 团队协作
#实验追踪#团队协作 - 工具数据版本管理→DVC (Data Version Control)
用 Git 的方式管理数据集和模型文件,支持大规模数据的版本控制与共享 dvc add data/ 将大文件纳入版本控制(存指针到 Git,内容存远程存储) dvc repro 自动检测数据/代码变化后重新运行训练流程 支持 S3/GCS/Azure/HDFS 等远程存储后端 与 Git 完全兼容,可同仓库管理代码和数据 数据版本控制 流水线复现 大文件管理
#数据管理#MLOps#Git - 工具容器化部署→Docker
将模型或服务封装为 Docker 镜像,实现跨环境无差异部署 Dockerfile 定义镜像构建步骤,一次构建多处运行 nvidia-docker 支持 GPU 容器分配 Docker Compose 编排多容器(API + Redis + 模型) 多阶段构建大幅减小镜像体积 模型部署 环境隔离 服务编排
#DevOps#部署#容器化 - 工具ML 界面框架→Gradio
专为机器学习设计的快速 Web 界面框架,比 Streamlit 更适合 AI 模型展示 chatbot / sketch / image / audio 等 AI 专属组件 内置分享链接生成,可直接分享 Demo 给他人 支持加载 Hugging Face Space 直接嵌入 Blocks API 支持自定义复杂布局与交互 AI Demo 对话系统 Demo 多模态交互
#AI界面#Demo#Python - 工具数据标注→Label Studio
多模态标注平台:图像检测框 / 文本 NER / 音频分段 / 视频 导出格式兼容 COCO / YOLO / Pascal VOC / JSON-MIN 自托管,无用户数限制 可接入 ML 模型做预标注(主动学习) 支持多人协作标注,质量控制工作流 数据标注 主动学习 标注质量控制
#标注#自托管#多模态 - 工具向量数据库→pgvector + PostgreSQL
PostgreSQL 扩展,在 SQL 中直接做 KNN 向量检索,无需引入新组件 与现有 PostgreSQL 无缝融合,零额外运维 支持 HNSW / ivfflat 索引,查询速度可达到毫秒级 Hybrid Search 实现 metadata filter + vector 支持 1536 / 3072 / 3072 等任意维度向量 RAG 检索 向量检索 混合搜索
#RAG#SQL#HNSW - 工具推理引擎→ONNX Runtime
跨框架、高性能模型推理引擎,比原生框架快 1.5-3 倍 支持 PyTorch / TensorFlow / ONNX 模型输入 GPU 加速(CUDA / TensorRT / ROCm) 图优化(常量折叠 / 算子融合 / 内存规划) 支持 CPU / GPU / Mobile / WebAssembly 多平台部署 模型推理加速 跨平台部署 生产环境推理
#推理#部署#ONNX - 工具并行计算→Dask
用纯 Python 代码实现 pandas / numpy / scikit-learn 的并行化,处理 TB 级数据 dask.array / dask.dataframe / dask.delayed 透明并行化 处理比单机内存大几个数量级的数据集 与现有 pandas / numpy API 几乎完全兼容 可对接 Kubernetes / HPC / Yarn 集群 大数据处理 分布式计算 集群调度
#大数据#并行计算#Python
踩坑
(12)- 踩坑环境配置→CUDA 版本与 PyTorch 不匹配
RuntimeError: CUDA error: no kernel image is available torch.cuda.is_available() 返回 False import torch 即崩溃或 segfault 先运行 nvidia-smi,记录驱动支持的最高 CUDA 版本(如 Driver 535.x → CUDA 12.2) 前往 pytorch.org/get-started/locally/ 选择匹配版本,不要自己拼版本号 使用官方给出的 pip install 命令安装对应 CUDA 版本的 PyTorch 用 conda 虚拟环境隔离不同项目的 CUDA 依赖,避免混用 确认 cuDNN 版本与 CUDA 兼容(cuDNN 8.x 匹配 CUDA 11.x,cuDNN 9.x 匹配 CUDA 12.x)
#CUDA#PyTorch#Windows#环境配置 - 踩坑训练→显存不足 (CUDA out of memory)
RuntimeError: CUDA out of memory at torch/csrc/generic/StorageSharing.cpp 训练第一步就 OOM Loss 正常波动,跑几步后突然 OOM 降低 batch_size(最有效,同时要降低 gradient_accumulation_steps) 启用 FP16 / BF16 混合精度(AMP),显存直接减半:model = model.half() 启用梯度检查点(gradient_checkpointing=True),以 30% 速度换 50% 显存 启用 bitsandbytes 4-bit 量化,7B 模型仅需 6GB 显存 多卡并行(DataParallel / DistributedDataParallel)分摊显存 推理时也 OOM:检查是否有张量未从显存释放(del model; torch.cuda.empty_cache())
#OOM#显存#训练#LLM - 踩坑训练→Loss NaN / 梯度爆炸
train_loss 突然跳到 inf / NaN eval_loss 稳定但 train_loss 异常 embedding 参数出现 NaN 或梯度变成 inf 首要:降低学习率(默认 5e-5,中文任务常需降为 2e-5 / 1e-5) 启用 max_grad_norm 梯度裁剪(常见值 1.0):torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) 检查数据中是否存在 NaN 输入 / 长度超限 / tokenizer 未处理字符 AdamW 优化器 + warmup 预热(前 2-3% 的 step 线性预热) FP16 下出现 NaN 可先降为 FP32 定位具体模块 如果发生在第一个 epoch 检查数据本身是否正常(可视化第一批数据)
#Loss#梯度#数值稳定性 - 踩坑部署→ONNX 导出失败 / 动态 shape
torch.onnx.export 报 shape mismatch 或 unsupported op 导出成功但推理输出与 PyTorch 不一致(diff > 1e-3) 输入 shape 可变时结果错误(batch_size / seq_len 变化) 显式指定 dynamic_axes,让输入 batch / seq_len 真的动态 使用 opset_version >= 14,新版算子支持更全 导出前 model.eval() 确保 BatchNorm 不使用 running stats 用 onnx-simplifier 做常量折叠与形状推断:model_simplified, ok = onnxsim.simplify(model) 用 onnxruntime-gpu 而非 CPU 版推理,速度差 10 倍以上 导出后对比 PyTorch 输出与 ONNXRuntime 输出的最大误差(应 < 1e-3)
#ONNX#导出#部署#推理加速 - 踩坑训练→多进程 DataLoader (num_workers > 0) 卡死
Windows 下运行即卡死,Linux 正常 报错: Broken pipe / DataLoader worker (pid xxx) exited unexpectedly Python 进程挂起,无报错日志 Windows 下将 num_workers 设为 0,或改用 WSL2 / Linux 服务器训练 代码入口必须加 if __name__ == "__main__": 保护(spawn 多进程必需) 不要在 Dataset.__getitem__ 中持有未释放的文件句柄/数据库连接 pin_memory=True 在支持 CUDA 时可加速主机到 GPU 的数据搬运 检查 CUDA 是否支持 fork(默认不支持,改用 spawn 或 CUDA_VISIBLE_DEVICES 隔离)
#DataLoader#多进程#Windows - 踩坑部署→RAG 检索到了但回答不对 / 幻觉严重
向量搜索返回了相关文档,但 LLM 回答与文档不符 答案引用了训练知识而非检索文档(幻觉) 中英文混排检索结果差,语义不匹配 为中文任务选用 BGE-M3 / text-embedding-3-large 等中文表现强的 embedding chunk size 取 200-400 token,务必设置 10-20% overlap,避免关键句被切分 用 reranker(bge-reranker-large)对 Top-k 结果二次排序,取 Top-3 给 LLM Prompt 中明确要求:仅基于给定上下文回答,若无法回答则说不知道 可将 query 先让 LLM 改写为更适合检索的标准问题(HyDE 模式) 检查是否向量数据库中真的存入了正确的 chunk(抽查几条 embedding)
#RAG#LLM#检索#Prompt - 踩坑环境配置→SSH 连接远程服务器频繁掉线
SSH 连接服务器后几分钟无操作就自动断开 scp 传输大文件时中途断开 tmux 会话也随 SSH 断开而消失(未正确使用) 客户端编辑 ~/.ssh/config 添加:ServerAliveInterval 60 + ServerAliveCountMax 3 服务器端编辑 /etc/ssh/sshd_config:ClientAliveInterval 60 使用 tmux 或 screen:SSH 断开后会话保持运行 传输大文件使用 rsync -avz --progress 并加 screen 后台运行 长期训练任务用 nohup 或 systemd service 替代 SSH 会话
#SSH#Linux#远程服务器 - 踩坑部署→Docker 容器中无法使用 GPU (nvidia-smi 报错)
容器内 nvidia-smi: No devices were found RuntimeError: CUDA error: no kernel image is available (in container) 训练时 GPU 利用率为 0% 安装 NVIDIA Container Toolkit:curl -fsSL https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor 后续步骤 基础镜像必须使用带 CUDA 的官方镜像(nvidia/cuda:*-runtime-* 或 *-devel-*) 运行容器时加 --gpus all 参数:docker run --gpus all ... 确认宿主机 NVIDIA Driver 版本与容器内 CUDA 版本兼容 验证:docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi
#Docker#GPU#CUDA#容器 - 踩坑训练→模型训练收敛慢 / 几乎不收敛
Loss 下降极慢,几十个 epoch 后仍无明显变化 训练集和验证集 Loss 同时偏高或不下降 Accuracy 始终在随机猜测水平附近 检查数据标注是否正确(随机抽 10 条数据可视化检查标签) 学习率是否合适:尝试 10 倍范围(1e-2 到 1e-5)网格搜索 检查是否使用了正确的 loss(如多分类用 CrossEntropyLoss 而非 BCELoss) 检查数据归一化/标准化是否正确(ImageNet 统计量 vs 自定义统计量) 模型是否太大导致欠拟合(减少层数/换更小模型验证 pipeline 是否正常) 如果用了预训练模型,检查是否正确加载了权重(最后一层 FC 通常需要重新初始化)
#收敛#训练#学习率#数据质量 - 踩坑开发协作→Git 合并冲突处理不当导致代码丢失
git merge 后某些文件变成了旧版本 git pull 后本地修改被覆盖 强制合并后无法找回之前的工作 合并前先 git stash 或 git commit 本地修改:git stash push -m 'wip' git merge 遇到冲突后,用 git status 查看冲突文件列表 手动编辑冲突文件,保留需要的部分,删除 <<< === >>> 标记 冲突解决后 git add <file> + git commit(不要带 -m,让合并提交自动生成) 永远不要在未提交本地修改的情况下做 git pull 或 git merge 如果误操作:git reflog 找回操作历史,git reset --hard HEAD@{N} 回退
#Git#协作#版本控制 - 踩坑环境配置→Python 环境依赖冲突导致 import 失败
ImportError: cannot import name 'xxx' from 'yyy' python -c 'import torch' 报错:libtorch_cuda.so is not a symbol 同一个环境中不同项目需要不兼容的包版本 每个项目使用独立的 conda 或 venv 虚拟环境 conda create -n proj_env python=3.10 创建干净环境 导出项目依赖:pip freeze > requirements.txt(发布时用 pip-compile 锁定精确版本) 避免 pip 和 conda 混用同一批包,优先选择 conda install 需要的包 torch / tensorflow 等大包只用 pip install,不要用 conda install(conda 源版本通常落后) 遇到 .so 文件报错时通常是 CUDA 版本不一致,检查 LD_LIBRARY_PATH
#Python#环境配置#依赖管理 - 踩坑环境配置→SSH 端口被防火墙拦截 / 服务器无法访问
ssh: connect to host x.x.x.x port 22: Connection timed out 云服务器安全组已开端口但仍无法连接 本地端口 22 被 ISP 封锁(家用宽带) 云服务器检查安全组:确认入方向规则包含 SSH(22 端口或自定义端口) 修改 SSH 端口为 443(绕过部分防火墙封锁):Port 443 家用宽带无法直接访问:使用内网穿透工具(frp / nps)或 cloudflare tunnel 使用密钥登录替代密码,减少被暴力破解的风险 安装 fail2ban 自动封禁多次登录失败的 IP:sudo apt install fail2ban 长期解决方案:使用 Tailscale 或 WireGuard 建立 VPN 隧道
#SSH#服务器#网络安全