
更新了验证章节中关于模型和数据集生成的描述,添加了训练前的文档示例图片,并调整了微调参数配置。具体修改包括:更新了Qwen2.5-3B和DeepSeek V3模型的性能描述、开源许可信息,以及微调参数中的LoRA秩和批处理大小等。
113 lines
5.1 KiB
TeX
113 lines
5.1 KiB
TeX
% 第五章:结果验证
|
||
|
||
\section{结果验证}
|
||
|
||
本章将对基于文档驱动的自适应编码大模型微调框架的实验结果进行验证和分析,包括实验环境介绍、实验对象介绍、微调过程中资源占用和指标的变化以及微调效果验证等方面,以全面评估本框架的实际效果和性能表现。
|
||
|
||
\subsection{实验环境介绍}
|
||
|
||
本实验在以下硬件和软件环境下进行:
|
||
|
||
\subsubsection{硬件环境}
|
||
|
||
实验采用的主要硬件配置如下:
|
||
\begin{itemize}
|
||
\item CPU:Intel Core i7-12700K(12核24线程)
|
||
\item GPU:NVIDIA GeForce RTX 3060 Laptop GPU(6GB显存)
|
||
\item 内存:16GB DDR4
|
||
\item 存储:2TB NVMe SSD
|
||
\end{itemize}
|
||
|
||
\subsubsection{软件环境}
|
||
|
||
实验的软件环境配置如下:
|
||
\begin{itemize}
|
||
\item 操作系统:Ubuntu 22.04 LTS(通过Windows Subsystem for Linux 2运行)
|
||
\item Python版本:3.10.12
|
||
\item 深度学习框架:PyTorch 2.1.0+cu121
|
||
\item 主要依赖库:
|
||
\begin{itemize}
|
||
\item unsloth 2025.3.19(用于优化LoRA微调)
|
||
\item transformers 4.36.2(用于模型加载和处理)
|
||
\item gradio 5.25.0+(用于构建Web界面)
|
||
\item langchain 0.3+(用于文档处理)
|
||
\item tinydb 4.0.0+(用于数据存储)
|
||
\item tensorboard 2.19.0(用于训练可视化)
|
||
\end{itemize}
|
||
\end{itemize}
|
||
|
||
实验环境的选择充分考虑了资源受限条件下的优化需求。尽管采用RTX 3060 Laptop GPU(仅6GB显存)这一消费级显卡,本框架仍能高效完成3B参数模型的微调,体现了框架出色的资源优化能力。软件环境选择了最新稳定版本的深度学习工具链(如PyTorch 2.1.0+cu121等),主要基于以下考虑:(1)确保与最新硬件驱动的兼容性;(2)充分利用框架的最新优化特性;(3)提高实验的可复现性和前沿性。这一配置方案证明了本框架在有限计算资源下实现高效微调的可行性。
|
||
|
||
\subsection{实验对象介绍}
|
||
|
||
\subsubsection{基础模型选择}
|
||
|
||
本实验选择Qwen2.5-3B作为基础模型进行微调。该模型是阿里云开源的新一代大语言模型,具有以下特点:
|
||
\begin{itemize}
|
||
\item 性能表现:在 MMLU、GSM8K、BBH 等权威测试中优于多数同参数级开源模型。
|
||
\item 参数规模:3.09B参数量(非嵌入参数2.77B),在保持较高性能的同时,对计算资源要求相对较低。
|
||
\item 上下文窗口:支持128K tokens的上下文窗口和8K tokens的生成长度,适合处理超长技术文档。
|
||
\item 开源许可:采用Qwen Research 许可协议,允许学术研究。
|
||
\end{itemize}
|
||
|
||
\subsubsection{数据集生成}
|
||
|
||
本实验采用DeepSeek V3作为数据集生成模型,该模型是深度求索公司开发的新一代大语言模型,具有以下特点:
|
||
\begin{itemize}
|
||
\item 性能表现:在MT-Bench等基准测试中达到开源模型领先水平,推理速度优于同规模模型30\%以上。
|
||
\item 上下文窗口:在理论上支持 128K tokens 的上下文长度。不过在实际应用中,部分服务商可能会出于硬件或性能优化等考虑,将其限制在 64K tokens
|
||
\item 开源许可:采用MIT许可协议,允许学术研究。
|
||
\end{itemize}
|
||
|
||
数据集生成模型通过deepseek ai官方api调用,具体的生成参数如下:
|
||
\begin{itemize}
|
||
\item temperature:0.9
|
||
\item max\_length:4096
|
||
\end{itemize}
|
||
|
||
\subsubsection{仓库文档选择}
|
||
本实验使用unsloth官方仓库文档(\url{https://docs.unsloth.ai/})进行微调。在训练前,大模型并不了解该项目,如图\ref{fig:before_train}所示。
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[width=0.8\textwidth]{pic/before_train.png}
|
||
\caption{训练前的文档内容示例}
|
||
\label{fig:before_train}
|
||
\end{figure}
|
||
|
||
\subsubsection{微调参数配置}
|
||
|
||
本实验采用LoRA(Low-Rank Adaptation)技术进行参数高效微调,主要配置参数如下:
|
||
\begin{itemize}
|
||
\item LoRA秩(r):64,控制低秩矩阵的维度
|
||
\item LoRA缩放因子(alpha):16,控制LoRA更新的幅度
|
||
\item 学习率:2e-4,采用余弦学习率调度策略
|
||
\item 批处理大小:每设备1个样本
|
||
\item 训练轮次:3个epoch
|
||
\item 优化器:AdamW,权重衰减为0.01
|
||
\item 梯度累积步数:4,用于增大有效批处理大小
|
||
\item 混合精度训练:采用bfloat16精度
|
||
\end{itemize}
|
||
|
||
这些参数配置基于预实验结果和相关研究经验确定,旨在平衡训练效率和模型性能。
|
||
|
||
\subsection{微调过程中资源占用和指标的变化}
|
||
|
||
\subsubsection{计算资源占用}
|
||
|
||
......
|
||
|
||
\subsubsection{训练指标变化}
|
||
|
||
微调过程中,主要训练指标的变化趋势如下:
|
||
......
|
||
|
||
\subsection{微调效果验证}
|
||
|
||
.....
|
||
|
||
|
||
|
||
|
||
综上所述,实验结果验证了本框架的有效性。通过文档驱动的自适应微调,成功将通用大语言模型定向优化为具备企业特定代码生成能力的专用模型,在保持模型通用能力的同时,显著提升了其在特定领域的表现,为企业级软件开发的智能化与高效化提供了有力支持。
|