AI 学习之路(二)- 机器学习、神经网络与深度学习

135 阅读6分钟

今天的学习任务是:了解机器学习、神经网络与深度学习的概念,区分他们是包含还是交叉关系,通过对资料的阅读,我总结关系如下:

深度学习是基于复杂的神经网络来实现,属于机器学习的一部分。

所以我们只需要了解机器学习,后续自然而然的就可以去了解深度学习和神经网络了。

所以什么是机器学习呢?利用机器学习制作的一款产品有哪些阶段呢。

1. 机器学习的 6 个阶段

whiteboard_exported_image.png

简单来说分为:数据准备/训练/评估/优化/部署验证/维护迭代 6 个阶段。

以下是 DeepSeek (仅作为生成式自然语言处理模型)的实现路径,按照 数据准备、训练、评估、优化、部署验证、维护迭代 六个阶段详细展开:

2. DeepSeek 阶段拆解

1. 数据准备

目标:构建高质量、多领域的文本语料库。

  • 数据采集

    • 来源:网页爬虫(Common Crawl)、开源数据集(Wikipedia、书籍)、垂直领域文本(科技论文、法律文档)。
    • 多语言支持:中/英混合语料,按比例平衡。
  • 数据清洗

    • 去重:基于哈希或语义相似度(如SimHash)。
    • 去噪:过滤广告、乱码、低质量文本(如短于50字符)。
    • 敏感信息处理:正则表达式匹配隐私信息(如邮箱、电话)并脱敏。
  • 预处理

    • 分词:中文使用Jieba/BERT-wwm,英文按空格分割。
    • 格式统一:文本标准化(全角转半角、繁体转简体)。
    • 标注(可选):对部分数据标注意图标签(如问答对、情感极性)。

输出

  • 清洗后的文本文件(JSON/CSV格式)。

  • 分词后的Token序列及元数据(领域、语言、长度分布)。


2. 训练

目标:基于海量数据预训练生成式模型,并通过微调适配下游任务。

  • 模型架构选择

    • 核心:Transformer-Decoder架构(类似GPT-3)。
    • 参数规模:千亿级参数,使用张量并行+流水线并行。
  • 预训练

    • 任务:自监督学习(Next Token Prediction)。
    • 硬件:GPU集群(如NVIDIA A100,跨多节点分布式训练)。
    • 优化器:AdamW,学习率预热(Warmup)与衰减策略。
  • 微调

    • 任务适配:使用领域数据(如医疗、金融)进行指令微调(Instruction Tuning)。
    • 技术:LoRA(低秩适配)高效微调,减少显存占用。

输出

  • 预训练模型权重(Checkpoint)。

  • 微调后的任务专用模型(如客服对话模型)。


3. 评估

目标:量化模型生成能力,确保符合业务需求。

  • 自动化指标

    • 生成质量:Perplexity(困惑度)、BLEU(双语翻译评估)、Rouge-L(文本摘要相似度)。
    • 多样性:Distinct-n(统计生成文本的n-gram多样性)。
  • 人工评估

    • 标注团队评分:流畅性(1-5分)、相关性(是否切题)、事实准确性。
    • 对抗测试:构造边缘案例(如歧义问题、长上下文依赖)。
  • 任务专项评估

    • 代码生成:单元测试通过率(如HumanEval基准)。
    • 对话系统:多轮对话连贯性评分。

输出

  • 评估报告(含指标对比与人工评分)。

  • 问题案例集(需优化的生成失败样本)。


4. 优化

目标:提升模型性能、效率及安全性。

  • 模型调优

    • 超参数搜索:学习率、Batch Size、Dropout率(使用Optuna/Bayesian优化)。
    • 架构改进:增加稀疏注意力(Sparse Attention)处理长文本。
  • 效率优化

    • 模型压缩:知识蒸馏(从大模型训练小模型)、量化(FP16/INT8)。
    • 推理加速:使用NVIDIA TensorRT部署,优化KV缓存。
  • 安全对齐

    • 内容过滤:集成敏感词表+神经网络分类器拦截有害生成。
    • 价值观对齐:基于RLHF(人类反馈强化学习)优化生成偏好。

输出

  • 优化后的轻量级模型(如DeepSeek-Lite)。

  • 安全过滤模块(API拦截规则+分类模型)。


5. 部署验证

目标:将模型稳定部署至生产环境,验证实际效果。

  • 工程化封装

    • 模型格式转换:PyTorch→ONNX/TensorRT。
    • API开发:RESTful接口(FastAPI框架),支持流式响应(Streaming)。
  • 云原生部署

    • 容器化:Docker镜像,Kubernetes集群弹性扩缩容。
    • 负载均衡:根据QPS动态分配计算资源(如AWS Lambda+API Gateway)。
  • 验证测试

    • 压力测试:模拟高并发请求(如1万QPS),监控响应延迟与稳定性。
    • A/B测试:对比新旧模型在真实用户中的满意度(如点击率、留存率)。

输出

  • 生产环境可用的模型服务(API端点)。

  • 性能监控面板(Prometheus+Grafana)。


6. 维护迭代

目标:持续监控模型表现,应对数据漂移与用户需求变化。

  • 在线监控

    • 日志分析:记录用户查询与生成结果,检测高频失败模式。
    • 数据漂移检测:统计输入文本分布变化(如KL散度对比)。
  • 定期更新

    • 增量训练:每周用新数据微调模型(如用户反馈的高价值样本)。
    • 版本管理:蓝绿部署(Blue-Green Deployment)无缝切换模型版本。
  • 用户反馈闭环

    • 用户评分系统:允许用户对生成结果打分(👍/👎)。
    • 主动迭代:根据反馈优化高频问题(如法律条款生成增强)。

输出

  • 模型版本更新记录(如v2.1→v2.2)。

  • 用户反馈分析报告与优化计划。


核心工具与技术栈

阶段关键技术/工具
数据准备Scrapy(爬虫)、Spark(分布式清洗)、HuggingFace Datasets(数据管理)
训练PyTorch、DeepSpeed(分布式训练)、Megatron-LM(大规模模型并行)
评估HuggingFace Evaluate(指标计算)、Label Studio(人工标注平台)
优化ONNX Runtime(模型压缩)、NVIDIA Triton(推理优化)
部署验证Kubernetes、Docker、FastAPI、Locust(压力测试工具)
维护迭代ELK Stack(日志分析)、MLflow(模型版本管理)、Prometheus(监控)

3. 总结

可以看到一个成功的大模型(即使只是语言大模型,不包含视觉等),是由庞大的子任务组成的,很难不靠团队,而靠一个人来完成。但是就单项子任务而言,在座的各位也不是没有可能可以胜任。

这只是将当下最火的大模型按6个阶段来拆分,需要完成的任务。如果你换成 AlphaGo ,里面又会用到很多其他的机器学习架构、模型和算法。

而学习是一个循序渐进的过程,即使当下大模型是最火的,我们依然可以去了解一下传统的分类,聚类,回归任务,到底有哪些实际的应用,或许对我们整体学习机器学习会有好处。

今天的学习任务完成了,本意只是想了解一下机器学习、神经网络、深度学习的概念。不要和别人谈论的时候贻笑大方。

希望这个内容也可以帮助大家更好的了解机器学习,对神经网络和深度学习也不要着急,不要焦虑,学到一定阶段,自然而然就可以碰到了。