当前位置:首页>学习笔记>大模型微调(Fine-tuning)学习笔记

大模型微调(Fine-tuning)学习笔记

  • 2026-04-21 08:39:17
大模型微调(Fine-tuning)学习笔记
笔记整理自大模型微调视频课程共8集
【2025最新AI大模型教程】全网最最通俗易懂的LLM大模型预训练+微调实战教程,手把手教你训练大模型,零基础小白也能轻松听懂

课程共8集,涵盖微调概念、适用场景、具体方法、轻量化技术、模型选择、数据管理、评估方法及实操步骤。


    P01:什么是 Fine-tuning

    1.1 微调的本质

    • 微调属于模型训练:所有微调都会使模型参数发生变化,只要参数迭代,就属于模型训练
    • 微调是在已训练好的基座模型参数基础上继续调整,是"在别人基础上微微调整每一个参数"
    • 微调的门槛已大幅降低,普通研发工程师和专业算法工程师均可上手

    1.2 开源模型 vs 闭源模型的微调区别

    对比维度
    开源模型微调
    闭源模型微调
    参数归属
    微调后参数完全在自己手里
    参数留在服务商服务器,无法取走
    操作方式
    下载模型本地训练
    通过接口/后台上传数据
    私有化部署
    可以
    不可以
    • 模型最值钱的东西就是那一大堆参数(如1750亿、671亿参数)
    • 开源模型微调完成后,所有参数存储在若干文件中,完全归自己所有

    1.3 什么是基座模型

    • 基座模型:用于构建 AI 产品时选定的通用模型,包括通用语言模型、视觉模型、生图模型等
    • 绝大多数微调工作都是在基座模型基础上进行

    1.4 微调的重要认知

    大多数情况下我们其实是不需要做微调的,应当优先使用应用层技术(如 RAG)。90% 以上我们认为需要微调的场景,最终发现用 RAG 等应用层技术就能解决。

    • 微调工作基本都通过代码完成(Python),代码本身并不复杂,现成代码可直接下载使用
    • 对微调效果影响最大的三个因素
      1. 基座模型的选择
      2. 微调的类型
      3. 数据(最重要)
    • 学习微调的核心价值在于:培养"什么时候需要微调"的判断能力,以及掌握数据相关的观念和 know-how

    P02:什么情况下需要微调

    2.1 确实需要微调的四种场景

    场景一:项目性质决定必须微调

    • 典型情况:企业或政府单位出于融资、估值、竞争力宣传等需求,必须拥有"自己的"大模型
    • 将别人的模型微调后即可称为"行业大模型"(目前该领域缺乏统一监管和验证标准)
    • 注意:这类需求往往 PR 价值大于实际业务价值

    场景二:语言风格和沟通方式有特殊要求

    • 当通过 prompt 无法稳定控制模型的语言风格时,可考虑微调
    • 典型例子:AI 儿童讲故事(需要像父母讲故事的温柔风格,而非严谨正式的汇报风格)
    • 前提:需先确认是基座模型能力偏弱导致,还是 prompt 设计问题

    场景三:垂直领域知识严重缺失

    • 基座模型在预训练或 SFT 阶段缺少垂直领域数据,导致无法完成专业任务
    • 典型例子:军事领域——公开训练数据稀少,模型在军事相关的语言任务上表现差
    • 与"缺知识"不同,这类问题可能需要微调补充专业知识

    场景四:特定任务类型模型从未见过

    区分两种根本不同的情况:一是"缺某种知识",二是"从未做过某种类型的任务"。前者通常用 RAG 解决,后者才真正需要微调。

    • 典型例子:RPA(机器人流程自动化)任务——让语言模型自动化操作电脑/手机完成多步骤任务
      • 案例:用自然语言指令让模型在美团上点一杯美式咖啡,涉及启动 APP → 搜索 → 选择店铺 → 选规格 → 询问用户偏好等多个步骤
      • 语言模型的训练数据中几乎不存在这种"一步步操作直到完成结果"的数据,因此任务类型确实是新的

    2.2 判断是否需要微调的工作方法

    1. 默认不需要微调
    2. 先用应用层技术(Few-shot、RAG、Agent)尽全力尝试
    3. 实在无法达到效果,再考虑微调
    4. 考虑微调前,需评估:
      • 数据量级和数据质量是否有保障?
      • 收集数据的成本是否可承受?

    2.3 微调不是一次性工作

    • 基座模型迭代速度极快(如千问 2.5 → 3.0 → 3.5)
    • 新版本模型能力更强、成本更低,可能需要重新基于新版本微调
    • 建议将基座模型的 AI 能力理解为像水电煤一样的基础设施,我们的工作是在其上构建增值服务

    P03:Fine-tuning 的具体用法

    3.1 微调的主要类型

    全量参数微调(Full Fine-tuning)

    • 对模型所有参数进行更新
    • 效果最好,但显存占用极大,成本高
    • 通常用于从头训练基座模型阶段

    部分参数微调(Parameter-Efficient Fine-tuning)

    • 只更新模型的一部分参数,其余参数冻结
    • 显存占用小,成本低,适合应用层微调
    • 代表方法:LoRA、QLoRA 等

    3.2 SFT(有监督微调)

    • SFT(Supervised Fine-Tuning):最常见的微调类型
    • 使用有标注的问答对数据,让模型学习特定的输入-输出映射
    • 基座模型的训练通常用全量微调;应用层产品通常用部分参数微调(LoRA 等)

    3.3 场景标签的重要性

    场景标签是贯穿整个微调工作始终的核心概念,也是 AI 产品管理中极为关键的工作。

    • 场景标签(子场景标签):对微调数据按业务场景进行分类的标记
    • 作用:管理微调前/微调后模型在每个子场景下的表现变化
    • 在一个 AI 产品中,可能同时用到多个模型,场景标签帮助精细化管理每个场景下的模型效果

    P04:轻量化微调

    4.1 为什么需要轻量化微调

    • 全量参数微调对显存要求极高,对于大多数企业不现实
    • 需要在减少参数量的同时,尽量保留微调效果

    4.2 冻结部分参数

    • 轻量化微调的核心思路:冻结(Freeze) 大部分参数,只训练少量参数
    • 减少可训练参数数量 → 减少显存占用 → 降低硬件门槛和成本

    4.3 全量微调的显存需求估算

    以 7B 模型全量微调为例:

    • 70亿参数 × 每参数4字节(32位浮点数)= 280亿字节 ≈ 26GB 显存(仅加载参数)
    • 微调还需存储梯度等中间计算结果,约为参数本身的3倍
    • 总显存需求:26GB × 4 ≈ 104GB
    • 需要至少 4-8 张 4090 显卡(每张24GB显存,约2万多元)

    一张 4090 显卡连加载一个 7B 模型都勉强,更别说 175B 或 671B 的大模型。


    P05:LoRA 详解

    5.1 Transformer 参数矩阵回顾

    以 GPT-3 为例,每层包含6个核心参数矩阵:

    • 多头自注意力机制:WQ、WK、WV、WO
    • 前馈网络:W1、W2(尺寸约为前四者的4倍)
    • GPT-3 共96层,每层96个注意力头
    • 每个参数矩阵(如WQ)展开后近似为 12288×12288 的正方形矩阵,约含1.5亿个参数

    5.2 LoRA 的核心思想

    LoRA(Low-Rank Adaptation,低秩适应微调) 的基本原理:

    1. 基座模型的原始参数矩阵完全冻结,不做改动
    2. 在原参数矩阵的每个参数上叠加一个偏移量(delta)
    3. 这些偏移量构成一个新矩阵,训练时只更新这些偏移量
    新参数矩阵 = 原参数矩阵(冻结) + 偏移量矩阵(可训练)

    5.3 矩阵乘法基础(理解低秩的关键)

    矩阵相乘规则:左矩阵行数 × 右矩阵列数 = 结果矩阵尺寸

    左矩阵
    右矩阵
    结果矩阵
    3×3
    3×3
    3×3
    3×2
    2×3
    3×3
    3×1
    1×3
    3×3
    2×3
    3×2
    2×2

    关键发现:3×1 矩阵乘以 1×3 矩阵,可以得到一个 3×3 的矩阵

    5.4 LoRA 的低秩分解

    传统方式(不用LoRA):

    • 对 12288×12288 的 WQ 矩阵,每个位置加偏移量 → 需要 1.5亿个可训练参数

    LoRA 方式:

    • 构造矩阵 A(12288×R)和矩阵 B(R×12288)
    • A × B = 12288×12288 的偏移量矩阵(尺寸与WQ相同,可做加法)
    • 可训练参数仅为 A 和 B 中的元素,总数 = 12288×R + R×12288 = 2×12288×R
    • 当 R=1 时,约 2.4万个参数,相比1.5亿降低了约6000倍

    R(秩)的选择:R 可取 4、8、16、32 等值,R 越大精度越高,显存占用越大

    LoRA 的精髓:用极少数可训练参数,通过低秩矩阵分解,影响极大的参数矩阵,实现高效微调。

    5.5 QLoRA(量化 LoRA)

    QLoRA 在 LoRA 基础上进一步减少显存占用,方式是降低参数的数值精度(量化)

    • 传统:每个参数用 32位浮点数 存储,占4个字节
    • 量化后:改用 8位整数 存储,占1个字节 → 显存降至原来的 1/4

    量化的实现原理(举例)

    原始参数(浮点数):1.6、2.4、1.2、0.8

    找公共倍数(×5)后变为整数:8、12、6、4

    • 存储时保存整数和倍数(5)
    • 计算时还原:8÷5=1.6,12÷5=2.4……

    QLoRA 的代价是损失了一定的数值精度,但换来了大幅降低的显存占用,使得在消费级显卡上微调大模型成为可能。

    5.6 最常用的两种微调方式总结

    1. 全量参数微调:效果最好,成本最高
    2. LoRA / QLoRA:效果接近,成本大幅降低,是目前最主流的微调方式

    P06:模型选择与数据需求

    6.1 开源 vs 闭源的选择

    市场上95%以上的公司在做微调时选择开源模型。

    优先选择开源模型的理由

    • 数据隐私和私有数据保护
    • 支持私有化部署
    • 微调后模型参数完全归自己所有
    • 开源模型的能力已经与闭源模型相差无几(如 DeepSeek)

    选择闭源模型的前提:必须有明确的理由,否则默认选开源

    6.2 如何选择具体模型

    持续性是关键:选择模型时,该模型背后公司的开源持续性比当前排名更重要

    反面案例(智谱 GLM):

    • 前三个版本开源,第四个版本将最强模型转为闭源
    • 原因:纯创业公司依赖模型盈利,最终不得不走 OpenAI 路线

    讲师推荐:阿里千问(Qwen)——阿里云整体生态使得千问即便不靠模型赚钱也没有问题,开源持续性有保障。服务器、算力等配套服务也有完整支持。

    6.3 选择模型尺寸的策略

    1. 先从最大尺寸开始验证效果
    2. 效果达标后,逐步降低模型尺寸(缩参数)
    3. 找到最小可行尺寸(效果和成本的平衡点)

    6.4 微调数据管理(以零售门店场景为例)

    数据质量原则

    • 优先从真实场景收集数据(录音、企业微信记录、客服工具记录等)
    • 需要建立打分表,由员工对数据打标签

    数据标注字段建议

    字段类型
    具体内容
    基础信息
    对话编号、轮次、顾客发言、店员发言
    场景标签
    价格咨询、商品推荐、退换货、投诉处理等
    顾客属性
    年龄段、当下情绪
    店员发言质量
    专业度评级、服务态度评级、沟通技巧评级

    6.5 数据分布的合理性

    核心原则:数据分布应与真实业务情况保持一致

    例子:若门店实际情况为——

    • 15% 价格咨询
    • 25% 商品推荐
    • 20% 退货
    • 20% 换货
    • 10% 投诉

    则微调数据集中各场景比例应尽量与此对应,避免某类场景数据过多导致模型"偏科"。

    允许人为调整比例的例外情况

    • 某类场景一旦出错影响极大(如退换货、投诉处理) → 适当提高该类数据比例
    • 某类场景对话复杂度高,微调后表现仍不佳 → 在下一轮微调时增加该类数据量

    6.6 数据数量参考

    模型尺寸
    建议数据量(SFT微调)
    7B - 8B
    2000 - 5000 条
    33B
    至少 2 - 3 万条
    72B
    数万条以上

    数据量需求与知识密度高度相关。AI 面试场景知识密度低,数据需求相对少;医疗场景知识密度高,需要更多数据。上述数字仅为参考,非绝对标准。


    P07:评估微调后的模型能力

    7.1 数据集的三种划分

    在微调之前,需将数据划分为三个部分:

    • 训练集(Training Set):用于实际训练模型参数
    • 验证集(Validation Set):训练过程中用于监控模型表现,帮助调整超参数,防止过拟合
    • 测试集(Test Set):微调完成后,用于最终评估模型真实表现,模拟真实场景

    测试集必须是模型从未"见过"的数据,才能真实反映泛化能力。

    7.2 过拟合 vs 欠拟合

    • 过拟合(Overfitting):模型在训练集上表现很好,但在验证集/测试集上表现差

      • 原因:数据量太少、训练轮次过多、数据分布不合理
      • 表现:模型"死记硬背"训练数据,遇到新问题无法泛化
    • 欠拟合(Underfitting):模型在训练集和验证集上均表现不佳

      • 原因:数据量太少、模型尺寸太小、训练轮次不够

    7.3 评估方法

    方法一:选择题正确率(客观评估)

    • 将测试问题设计为选择题形式(A/B/C/D)
    • 统计模型回答的正确率
    • 优点:客观、可量化;缺点:无法评估语言风格、对话流畅度等主观质量

    方法二:偏好数据(Preference Data)

    • 对同一问题,收集多个不同质量的回答(优秀/一般/较差)
    • 让评估者(人工或另一个模型)对回答进行排序或打分
    • 反映模型输出是否符合人类偏好
    • 也是 RLHF(基于人类反馈的强化学习) 的数据基础

    7.4 场景标签在评估中的作用

    • 评估时应按场景标签分别评估,而不只看整体平均分
    • 原因:某一场景的整体表现良好,可能掩盖了特定子场景的严重问题

    例如:

    • 整体正确率 85% → 看起来不错
    • 但"投诉处理"子场景正确率只有 50% → 这在真实业务中可能造成严重后果

    场景标签是微调评估的"放大镜",帮助精确定位问题所在。

    7.5 多轮迭代的工作方式

    微调不是一次性工作,而是一个持续迭代的过程:

    收集数据 → 数据清洗/标注 → 微调训练 → 评估(按场景) → 发现问题 → 调整数据 → 再次微调 → ...
    • 每轮评估后,根据表现较差的场景,有针对性地补充该场景数据
    • 随着基座模型版本更新,需要重新基于新版本进行微调
    • 数据的积累和质量改进是一个长期工程

    P08:实操的具体步骤

    8.1 整体流程框架

    1. 需求分析与判断
           ↓
    2. 选择基座模型
           ↓
    3. 数据准备
           ↓
    4. 配置微调参数
           ↓
    5. 执行微调训练
           ↓
    6. 评估与验证
           ↓
    7. 部署上线
           ↓
    8. 持续监控与迭代

    8.2 步骤一:需求分析与判断

    • 明确业务目标:需要模型具备什么能力?
    • 判断是否真的需要微调(参考 P02 的四种场景)
    • 优先验证是否可用 RAG、Agent、Few-shot 等应用层技术解决

    8.3 步骤二:选择基座模型

    • 选择开源还是闭源(通常选开源)
    • 评估模型能力与场景匹配度
    • 考虑背后公司的开源持续性
    • 初始选最大尺寸验证,后续逐步降尺寸

    8.4 步骤三:数据准备(最重要的步骤)

    数据收集

    • 从真实业务场景收集(录音、聊天记录等)
    • 设计数据标注规范和打分表

    数据清洗与标注

    • 添加场景标签、用户属性标签
    • 对回答质量打分(专业度、服务态度等)
    • 过滤低质量数据

    数据集划分

    • 训练集 / 验证集 / 测试集(典型比例:80% / 10% / 10%)

    检查数据分布

    • 各场景标签的数据比例是否与真实业务吻合
    • 特殊场景(高影响、高复杂度)是否需要适当增量

    8.5 步骤四:配置微调参数

    选择微调方式

    • 全量参数微调(资源充足时)
    • LoRA(推荐,适合大多数场景)
    • QLoRA(显卡资源有限时)

    关键超参数

    • 学习率(Learning Rate):控制每次参数更新的步长
    • 训练轮次(Epochs):训练集被完整训练的次数
    • 批大小(Batch Size):每次更新参数使用的样本数量
    • LoRA 的 R 值:秩的大小,影响可训练参数量(常用 4、8、16、32)

    8.6 步骤五:执行微调训练

    • 使用 Python 调用微调框架(如 LLaMA-Factory、transformers、unsloth 等)
    • 代码本身不复杂,大多数框架提供现成脚本
    • 监控训练过程中的 Loss 曲线(训练 Loss 和验证 Loss)

    Loss 曲线的判断

    • 训练 Loss 和验证 Loss 同步下降 → 正常
    • 训练 Loss 持续下降但验证 Loss 开始上升 → 过拟合,需停止训练
    • Loss 下降很慢或不下降 → 欠拟合,检查数据或调整参数

    8.7 步骤六:评估与验证

    • 测试集进行最终评估
    • 场景标签分别统计各场景下的表现
    • 使用选择题正确率和偏好数据两种方式综合评估
    • 与微调前的基座模型表现进行对比

    8.8 步骤七:部署上线

    • 开源模型微调完成后,导出模型权重文件
    • 根据推理场景选择合适的部署方式(本地/云端)
    • 闭源模型通过平台接口直接调用微调后的版本

    8.9 步骤八:持续监控与迭代

    • 上线后持续收集真实用户数据
    • 发现表现差的场景,补充对应数据,开启下一轮微调
    • 关注基座模型版本更新,适时基于新版本重新微调

    核心概念速查

    术语
    说明
    Fine-tuning(微调)
    在已训练好的基座模型上继续训练,使其适应特定场景
    SFT(有监督微调)
    使用有标注问答对进行微调,最常见的微调类型
    LoRA
    低秩适应微调,通过低秩矩阵分解大幅降低可训练参数量
    QLoRA
    在 LoRA 基础上引入量化,进一步降低显存占用
    全量参数微调
    更新模型所有参数,效果好但成本极高
    基座模型
    用于构建 AI 产品的通用预训练大模型
    场景标签
    对数据按业务子场景进行分类的标记,贯穿数据管理和模型评估全流程
    过拟合
    模型对训练数据记忆过度,泛化能力差
    欠拟合
    模型未充分学习,训练集和测试集均表现差
    RAG
    检索增强生成,大多数"以为需要微调"的场景实际用 RAG 即可解决
    偏好数据(Preference Data)
    用于评估模型输出是否符合人类偏好的排序数据,也是 RLHF 的基础
    R(秩)
    LoRA 中矩阵分解的秩,决定可训练参数量和表达能力的平衡

    最新文章

    随机文章

    基本 文件 流程 错误 SQL 调试
    1. 请求信息 : 2026-04-21 20:28:52 HTTP/2.0 GET : https://67808.cn/a/482622.html
    2. 运行时间 : 0.080157s [ 吞吐率:12.48req/s ] 内存消耗:4,575.94kb 文件加载:140
    3. 缓存信息 : 0 reads,0 writes
    4. 会话信息 : SESSION_ID=69cc0cab06702dd26a68a27e1987c4b9
    1. /yingpanguazai/ssd/ssd1/www/no.67808.cn/public/index.php ( 0.79 KB )
    2. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/autoload.php ( 0.17 KB )
    3. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/autoload_real.php ( 2.49 KB )
    4. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/platform_check.php ( 0.90 KB )
    5. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
    6. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/autoload_static.php ( 4.90 KB )
    7. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
    8. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
    9. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
    10. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
    11. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
    12. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
    13. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
    14. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
    15. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
    16. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
    17. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
    18. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
    19. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
    20. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
    21. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
    22. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/provider.php ( 0.19 KB )
    23. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
    24. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
    25. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
    26. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/common.php ( 0.03 KB )
    27. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
    28. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
    29. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/app.php ( 0.95 KB )
    30. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/cache.php ( 0.78 KB )
    31. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/console.php ( 0.23 KB )
    32. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/cookie.php ( 0.56 KB )
    33. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/database.php ( 2.48 KB )
    34. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
    35. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/filesystem.php ( 0.61 KB )
    36. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/lang.php ( 0.91 KB )
    37. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/log.php ( 1.35 KB )
    38. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/middleware.php ( 0.19 KB )
    39. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/route.php ( 1.89 KB )
    40. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/session.php ( 0.57 KB )
    41. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/trace.php ( 0.34 KB )
    42. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/view.php ( 0.82 KB )
    43. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/event.php ( 0.25 KB )
    44. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
    45. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/service.php ( 0.13 KB )
    46. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/AppService.php ( 0.26 KB )
    47. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
    48. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
    49. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
    50. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
    51. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
    52. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/services.php ( 0.14 KB )
    53. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
    54. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
    55. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
    56. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
    57. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
    58. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
    59. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
    60. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
    61. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
    62. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
    63. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
    64. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
    65. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
    66. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
    67. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
    68. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
    69. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
    70. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
    71. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
    72. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
    73. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
    74. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
    75. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
    76. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
    77. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
    78. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
    79. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
    80. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
    81. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
    82. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
    83. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/Request.php ( 0.09 KB )
    84. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
    85. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/middleware.php ( 0.25 KB )
    86. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
    87. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
    88. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
    89. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
    90. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
    91. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
    92. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
    93. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
    94. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
    95. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
    96. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
    97. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
    98. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
    99. /yingpanguazai/ssd/ssd1/www/no.67808.cn/route/app.php ( 1.72 KB )
    100. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
    101. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
    102. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
    103. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/controller/Index.php ( 4.81 KB )
    104. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/BaseController.php ( 2.05 KB )
    105. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
    106. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
    107. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
    108. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
    109. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
    110. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
    111. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
    112. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
    113. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
    114. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
    115. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
    116. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
    117. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
    118. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
    119. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
    120. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
    121. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
    122. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
    123. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
    124. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
    125. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
    126. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
    127. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
    128. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
    129. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
    130. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
    131. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
    132. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
    133. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
    134. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
    135. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
    136. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
    137. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
    138. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
    139. /yingpanguazai/ssd/ssd1/www/no.67808.cn/runtime/temp/6df755f970a38e704c5414acbc6e8bcd.php ( 12.06 KB )
    140. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
    1. CONNECT:[ UseTime:0.000647s ] mysql:host=127.0.0.1;port=3306;dbname=no_67808;charset=utf8mb4
    2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000914s ]
    3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000301s ]
    4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000271s ]
    5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000462s ]
    6. SELECT * FROM `set` [ RunTime:0.000209s ]
    7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000643s ]
    8. SELECT * FROM `article` WHERE `id` = 482622 LIMIT 1 [ RunTime:0.001105s ]
    9. UPDATE `article` SET `lasttime` = 1776774532 WHERE `id` = 482622 [ RunTime:0.000991s ]
    10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000251s ]
    11. SELECT * FROM `article` WHERE `id` < 482622 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000444s ]
    12. SELECT * FROM `article` WHERE `id` > 482622 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000705s ]
    13. SELECT * FROM `article` WHERE `id` < 482622 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003120s ]
    14. SELECT * FROM `article` WHERE `id` < 482622 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002127s ]
    15. SELECT * FROM `article` WHERE `id` < 482622 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002252s ]
    0.081673s