Atri Website

Back

PyTorch 学习路线#

1. 经典机器学习#

  • 机器学习核心概念:
    • 监督学习 vs. 无监督学习
    • 分类问题 vs. 回归问题
    • 特征 (Feature) 和标签 (Label)
    • 训练集 (Training Set) 和测试集 (Test Set)
  • 数据预处理:
    • 特征工程: 理解其重要性,如识别和处理无效数据(例如将 0 值替换为均值/中位数)。
    • 数据标准化/归一化: 理解为什么需要它,以及 StandardScaler 的工作原理。
  • Scikit-learn 库:
    • 数据划分: model_selection.train_test_split
    • 数据预处理: preprocessing.StandardScaler
    • 模型: linear_model.LogisticRegression (逻辑回归)
    • 模型训练与预测: .fit() 和 .predict() 方法
    • 模型评估: metrics.accuracy_score (准确率), metrics.confusion_matrix (混淆矩阵)
    • 模型解释: 如何从训练好的模型中提取信息,如 .coef_ (特征权重)

2. 深度学习与 PyTorch#

  • PyTorch 入门:

    • 官方教程是最好的老师: 跟随 PyTorch 官网的 “60 Minute Blitz” (60 分钟入门) 教程。它会带你走过 Tensor、数据加载、模型构建和训练的全过程。
    • 拆解学习:
      1. 数据加载: 专门学习 torchvision.datasets.CIFAR10 和 DataLoader 如何配合使用,加载并批量化数据。
      2. 模型构建: 练习用 nn.Module 搭建一个简单的 CNN。先模仿,再尝试自己修改。
      3. 训练循环: 把训练循环的五个核心步骤背下来,并理解每一步的作用。这是 PyTorch 的灵魂。
  • 深度学习核心概念:

    • 神经网络、多层感知机 (MLP)
    • 卷积神经网络 (CNN): 核心组件及其作用(卷积层 Conv2d, 池化层 MaxPool2d, 激活函数 ReLU)
    • 前向传播 (Forward Pass) 和反向传播 (Backpropagation)
    • 损失函数 (Loss Function),特别是交叉熵损失 (Cross-Entropy Loss)
    • 优化器 (Optimizer),如 SGD 和 Adam
    • Epoch, Batch Size, Iteration 的概念
    • 过拟合 (Overfitting) 和欠拟合 (Underfitting)
  • PyTorch 框架:

    • Tensor (张量): PyTorch 的基本数据结构,及其与 NumPy 数组的转换。
    • 数据集处理:
      • torchvision.datasets (如 CIFAR10)
      • torchvision.transforms (数据预处理和增强,如 ToTensor, Normalize)
      • torch.utils.data.Dataset 和 DataLoader (构建数据加载管道)
    • 模型构建:
      • torch.nn.Module: 构建自定义网络模型的基类
      • 常用层: nn.Conv2d, nn.MaxPool2d, nn.Linear, nn.ReLU, nn.Flatten
    • 训练流程:
      • 定义损失函数 (如 nn.CrossEntropyLoss)
      • 定义优化器 (如 optim.Adam)
      • 训练循环 (Training Loop):
        1. optimizer.zero_grad() # 清空梯度
        2. outputs = model(inputs) # 前向传播
        3. loss = criterion(outputs, labels) # 计算损失
        4. loss.backward() # 反向传播
        5. optimizer.step() # 更新权重
    • 模型评估与使用:
      • model.train() 和 model.eval() 模式的切换
      • torch.no_grad(): 在评估时关闭梯度计算
      • 模型保存与加载 (torch.save, model.load_state_dict)
    • 可视化:
      • torch.utils.tensorboard.SummaryWriter: 使用 TensorBoard 记录训练过程

AI agent 构建学习路线#

前提:已学习了机器学习基础和 PyTorch#

至少要掌握的 AI 算法内容#

作为一个工程师,不需要深入学习算法的底层原理,但起码要知道这些算法是什么、怎么工作、以及如何构建并参与到工作流中

机器学习#

  • 过拟合

    ​ 这是最重要的概念。

    ​ 需要能判断出 Agent 在某些任务上表现不佳,是不是因为它“背诵”了某些模式而不是学会了泛化

  • 分类 vs. 回归

    理解 Agent 在做决策时,本质上是在进行哪种类型的预测。

  • 评估指标

    ​ 知道什么时候用准确率,什么时候用精确率/召回率。比如,一个医疗诊断 Agent,你绝对不希望它漏诊(高召回率)

神经网络#

知道:

  • 基本结构:

    ​ 知道它是由“层”(Layers)和“神经元”组成的,并且通过“激活函数”加入了非线性,这使得它能学习复杂模式

  • 输入与输出

    ​ 明白一个神经网络接收什么样的数据(通常是数字向量/张量),输出什么样的数据

  • “深度”的意义

    ​ 直观理解为什么网络越深,通常能学习到的特征越抽象、越高级(比如从像素点到边缘,再到物体的部件,最后到整个物体)

NLP 中的词嵌入技术:核心#

这部分和 agent 里的 RAG深度相关,如果要构建一个高质量的 RAG 系统,就要熟练掌握 Embedding 技术的实现

必须掌握以下几点:

  • 核心思想

    ​ 深刻理解**“词嵌入就是把词语/句子映射到一个高维的数学空间,在这个空间里,意思相近的词语/句子,它们的向量在空间中的距离也相近”**

    ​ 这是构建所有 RAG 应用和语义搜索的基石。

  • 工作原理

    ​ 知道 Embeddings 是如何生成的(通过调用 OpenAI text-embedding-ada-002 或其他模型的 API),以及它们是如何使用的(通过计算向量间的相似度,如余弦相似度,来找到最相关的文本片段)

  • 实践应用

    ​ 能够熟练地将一段文本转换成向量,将这些向量存入向量数据库,并根据一个新的查询向量,从数据库中高效地检索出最相似的几个向量。

知识清单#

第一部分:掌握大脑核心:大语言模型(LLM)的 API 和工程化#

  1. LLM API 熟练使用:

    • OpenAI API (GPT-4, GPT-4o)

      这是行业标准,必须掌握。学习如何进行 API 调用、处理响应、管理 API 密钥

    • Anthropic Claude API / Google Gemini API

      了解其他主流模型的 API,知道它们各自的特点(例如 Claude 的长上下文窗口)

    • 开源模型

      学习如何通过 Hugging Face、Ollama 或 Replicate 等平台,在本地或云端调用开源 LLM(如 Llama 3)

  2. 提示工程

    • 核心技能:

      这是与 LLM 沟通的语言。你不是在训练模型,而是在指导模型。

    • 基础:

      ​角色扮演、零样本 (Zero-shot)、少样本 (Few-shot) 提示

    • 进阶:

      ​思维链 (Chain-of-Thought, CoT) 引导模型进行复杂推理、生成结构化输出 (JSON)

  3. 核心概念理解:

    • Tokens: 理解文本是如何被量化和计费的

    • Context Window: 知道每个模型的“短期记忆”有多长,以及超出后会发生什么

    • Embeddings: 理解它是一种将文本转换为“意义向量”的技术,是实现记忆和知识库搜索的基础

第二部分:赋予大脑记忆和知识:RAG 与向量数据库#

  1. RAG (Retrieval-Augmented Generation):

    • 核心架构:

      ​这是目前最重要、最流行的 LLM 应用架构。它解决了 LLM 不知道私有数据/近期数据的问题

    • 流程:

      ​必须能清晰地解释并实现 Query -> Embed -> Search -> Retrieve -> Augment -> Generate 的完整流程

  2. 向量数据库:

    • 作用: 存储和高效检索 Embeddings。这是 RAG 的长期记忆模块

    • 技术选型:

      • 本地/轻量级:

        ChromaDB, FAISS (一个库,不是数据库)。适合快速原型开发

      • 云服务/生产级:

        Pinecone, Weaviate 了解它们的 API 和使用场景

第三部分:构建智能体的“身体”和“行动能力”:框架与工具#

  1. AI Agent 框架
  • 作用:

    ​这些框架将上述所有组件(LLM,Prompt, Memory, Tools)粘合在一起,极大简化了 Agent 的开发

  • LangChain:

    必学。最流行、最全面的框架。学习它的核心概念:Chains (执行链), Agents (智能体循环), Tools (工具)

  • LlamaIndex: 专注于 RAG,是构建知识库应用的强大工具

  • AutoGen / CrewAI: 专注于多智能体协作的框架

  1. 工具使用 / 函数调用

    • Agent 的核心:

      让 LLM 从一个聊天机器人变成一个行动者的关键

    • 原理:

      让 LLM 能够决定调用哪个外部 API 或代码函数来获取信息或执行操作

    • 实践:

      学习 OpenAI 的 Function Calling API,并掌握如何在 LangChain 中为 Agent 定义和使用工具(例如,一个能查询天气的 API、一个计算器、一个能访问公司数据库的工具)

第四部分:将应用落地——部署与工程实践#

  1. Web 框架:
    • 作用: 为 AI Agent 提供一个用户界面或 API 接口
    • FastAPI: Python 的首选。非常适合为 Agent 构建高性能的 API 后端
    • Streamlit / Gradio: 用于快速构建漂亮的前端 Demo 和原型,非常适合展示项目
  2. 部署与运维:
    • 容器化: Docker 基础。学习如何将你的 AI 应用打包成一个 Docker 镜像
    • 云平台: 了解如何在 Hugging Face Spaces、Streamlit Community Cloud 或主流云平台(AWS, GCP, Azure)上部署你的应用

合适的学习路线#

第一阶段:成为一个 LLM API 调用大师#

  1. 学习 LLM API 调用:

    • 技术:

      学习如何使用 Python 的 requests 库或官方的 openai 库,来调用一个 LLM 的 API(推荐从 OpenAI 的 GPT 系列开始,因为它的文档和社区最好)

    • 需要理解: 什么是 API Key,如何构建请求,如何解析返回的 JSON 数据

  2. 学习提示工程:

    • 技术: 这不是写代码,而是学习如何用自然语言精确地指导 LLM
    • 需要掌握:
      • 角色设定: 如何通过系统提示让 LLM 扮演一个特定角色(例如“你是一个资深的语音助手”)
      • 思维链 (Chain-of-Thought): 如何通过一步一步地思考这样的指令,引导 LLM 解决复杂问题
      • 输出格式化: 如何要求 LLM 返回特定格式的输出,比如 JSON,这对于你用 FastAPI 进行后端处理至关重要
  • 项目 1:构建一个多功能角色聊天机器人

    • 目标: 熟练使用 OpenAI API 和 Prompt Engineering
    • 任务: 创建一个简单的 Web 界面(用 Streamlit),用户可以选择不同的角色(如“Python 编程助手”、“英语口语教练”、“苏格拉底”),程序会根据选择,使用不同的 System Prompt 与用户进行高质量对话
    • 收获: 精通 API 调用、掌握核心的提示工程技巧
  • 项目 2:构建一个高级 API 封装器

    • 任务: 使用 FastAPI,创建一个简单的后端服务。它接收一个任务描述(比如“总结这段文字”或“把这段英文翻译成中文”),然后在内部构建一个高质量的 Prompt,调用 LLM API,最后将 LLM 返回的干净结果作为 API 的响应返回
    • 目的: 将 LLM 的强大能力,封装成你可以轻松调用的、可靠的后端服务

第二阶段:构建一个有记忆的专家#

  1. 学习词嵌入的概念与应用:

    • 需要理解:

      ​Embeddings 是一种将文本(对话历史)转换成数字向量的技术。在向量空间中,意思相近的文本,它们的向量也相近。 这就是实现智能记忆搜索的魔法

    • 实践:

      ​学会如何调用 API(如 OpenAI 的 Embedding API)或使用本地库(如 sentence-transformers)来将任何一句话变成一个向量

  2. 学习本地向量存储与搜索:

    • 技术: 学习一个轻量级的本地向量索引库,FAISS 或 ChromaDB 是最佳选择

    • 需要理解:

      ​它们就像一个专门为向量设计的数据库。你可以把成千上万个对话向量存进去,然后用一个新的查询向量,瞬间找出与它最相似的几个历史对话向量

  3. 学习 RAG 架构:

    • 技术: 这是将记忆和大脑结合起来的黄金准则
    • 流程: 用户提问 -> 向量化 -> 在向量索引中搜索相关历史 -> 将历史和问题一起打包给LLM -> LLM给出带上下文的回答
  • 项目 3:与 JSON 对话

    • 任务: 编写一个 Python 脚本,它可以:
      1. 读取一个包含多段对话的 JSON 文件
      2. 使用 Embeddings 将每一段对话向量化,并存入一个本地 FAISS 索引文件
      3. 接收一个新的用户输入,向量化后在 FAISS 中进行搜索,找出最相关的历史对话
      4. 打印出这些相关的历史对话
  • 项目 4:与 PDF 对话——构建一个 RAG 应用

    • 目标: 掌握 RAG 架构、Embeddings 和向量数据库。
    • 任务: 创建一个应用,用户可以上传一份 PDF 文档(比如一份年报或一篇论文),应用会对其进行切割、向量化并存入 ChromaDB。之后,用户可以就这份文档的内容进行提问,系统会从文档中找到相关信息来回答
    • 收获: 真正理解并实现了目前最主流的 LLM 应用架构

第三阶段:迈向真正的智能体#

  1. 学习一个 Agent 框架 (LangChain):

    • 技术:

      ​LangChain 是一个“粘合剂”,它把 LLM、记忆系统、工具(未来的扩展)等所有组件都封装好了,让你不必编写大量重复的底层代码

    • 需要学习:

      ​LangChain 中的 Memory 模块和 Chains 的概念。它能帮你自动化上面提到的 RAG 流程

  2. 整合现有系统:

    • 技术: 将现有的 ASR -> vLLM -> TTS 流程进行改造
    • 新的流程: ASR => FastAPI后端 => LangChain Agent (内部执行RAG记忆检索) => vLLM => FastAPI返回结果 => TTS
  • 项目 5:构建一个简单的生活助理 Agent

    • 目标: 掌握 LangChain 框架和 Tool Use
    • 任务: 使用 LangChain 构建一个 Agent,并为它提供至少两个工具:
      1. 一个能调用天气 API 的工具
      2. 一个能执行简单数学计算的工具
    • 交互示例:
      • 你问:“北京今天天气怎么样?” -> Agent 判断需要使用天气工具 -> 调用 API -> 返回结果
      • 你问:“(35+19)*2 等于多少?” -> Agent 判断需要使用计算工具 -> 执行计算 -> 返回结果
    • 收获: 理解了 Agent 的“思考-行动”循环 (ReAct),让你的 AI 第一次能够与外部世界交互

第四阶段:成为一个全栈 AI 工程师#

  • 项目 6:将生活助理 Agent 产品化
    • 目标: 掌握应用的封装和部署
    • 任务:
      1. 使用 FastAPI 将你的 Agent 封装成一个 API 端点
      2. 创建一个简单的 React 或 Vue 前端(或者继续用 Streamlit)来与这个 API 交互
      3. 将整个应用 Docker 化,并将其部署到 Hugging Face Spaces 或云服务器上,让你的朋友可以通过公网访问
    • 收获: 走完了从想法到原型再到上线部署的全流程,你已经具备了成为一名合格的 AI 应用工程师的核心能力

学习深度是 T 型#

  • 横向 (广度):

    ​ 对机器学习、神经网络等领域有宏观的、概念性的理解。知道它们是做什么的,有什么优缺点,能解决什么问题。

  • 纵向 (深度):

    ​ 在与 AI Agent 应用开发直接相关的技术上,进行深入的、实践性的学习

    这包括:

    • LLM API & Prompt Engineering
    • RAG 架构
    • Embeddings 的原理与应用
    • 向量数据库
    • LangChain 等 Agent 框架
    • Function Calling / Tool Use
  1. 快速回顾,不要深陷:

    ​花少量时间快速回顾一下机器学习和神经网络的核心概念,确保你对“过拟合”、“评估指标”等有清晰的认识。可以使用一些高质量的视频(如 StatQuest, 3Blue1Brown)来建立直观理解,然后就立即停下

  2. 把主要精力投入到 Embeddings:

    ​这是连接“理论”和“Agent 应用”最重要的一座桥梁。找一篇专门讲解和实践 Embeddings 与向量搜索的文章或教程,动手实现一个简单的语义搜索系统

  3. 然后,立即转向 Agent 开发

    ​按照项目驱动路线图,开始构建第一个应用。在实践中遇到问题时,再回过头来查阅相关的理论知识,这样的学习效率是最高的

10-12学习路线
Author Juyao Huang
Published at October 21, 2025
Comment seems to stuck. Try to refresh?✨