docs: 更新论文章节内容并添加参考文献引用

在verification.tex、technology.tex和introduction.tex章节中添加了多处文献引用,并更新了部分技术描述内容。同时更新了references.tex中的参考文献列表,新增了多篇相关文献。

主要修改包括:
- 在技术描述部分补充了相关文献引用
- 更新了监督式微调等技术的描述内容
- 新增了多篇关于大语言模型微调、提示工程等领域的参考文献
- 对部分章节内容进行了优化和补充
This commit is contained in:
carry 2025-05-29 17:56:49 +08:00
parent a44102a8c2
commit db51abe066
4 changed files with 144 additions and 63 deletions

View File

@ -4,55 +4,124 @@
\subsection{研究背景与意义}
在现代软件开发领域,程序员的编码工作日益依赖于先进的大语言模型支持,这些模型凭借其强大的能力,显著自动化了代码生成流程,有效减轻了开发者的工作负担,并大幅度提升了开发效率。然而,尽管这些模型在公开数据集与广泛使用的开源项目中展现出非凡的性能,但在处理企业内部高度专业化的私有库时,其局限性便显露无遗。核心原因在于,大语言模型往往基于广泛的通用数据集进行训练,缺乏对特定企业或项目中私有库内专有函数、类及其交互细节的深度理解和应用适应性。
在现代软件开发领域,程序员的编码工作日益依赖于先进的大语言模型支持,这些模型凭借其强大的能力,显著自动化了代码生成流程,有效减轻了开发者的工作负担,并大幅度提升了开发效率。
然而,尽管这些模型在公开数据集与广泛使用的开源项目中展现出非凡的性能,但在处理企业内部高度专业化的私有库时,其局限性便显露无遗。
核心原因在于,大语言模型往往基于广泛的通用数据集进行训练,缺乏对特定企业或项目中私有库内专有函数、类及其交互细节的深度理解和应用适应性。
相较于广泛采用的公开编码模型针对私有库设计的专有模型显得尤为必要。公开模型虽强大但在面对包含企业核心业务逻辑、技术秘密及高度定制化功能的私有库时往往捉襟见肘。由于缺乏对私有库具体实现细节的认知生成的代码往往无法精准引用库中的类、方法或属性这不仅增加了后续人工调整的工作量还可能引入潜在的安全风险。此外企业间的私有库差异巨大从架构设计到API接口各不相同要求任何自动化工具都必须具备高度的灵活性和可定制性以适应这些多样化的环境。
相较于广泛采用的公开编码模型,针对私有库设计的专有模型显得尤为必要。
公开模型虽强大,但在面对包含企业核心业务逻辑、技术秘密及高度定制化功能的私有库时,往往捉襟见肘。
由于缺乏对私有库具体实现细节的认知,生成的代码往往无法精准引用库中的类、方法或属性,这不仅增加了后续人工调整的工作量,还可能引入潜在的安全风险。
此外企业间的私有库差异巨大从架构设计到API接口各不相同要求任何自动化工具都必须具备高度的灵活性和可定制性以适应这些多样化的环境。
鉴于上述现状,本项目通过深度解析私有库的文档资源,精准提取关键信息,并以此为基础对大语言模型进行针对性的微调与优化。这一过程不仅增强了模型对私有库特定功能和用法的理解能力,还极大地提升了生成代码的准确性和实用性。通过本项目,我们期望能够让生成的代码片段无缝集成于企业的私有库生态中,真正实现企业级软件开发的智能化与高效化,满足企业对高质量、高安全性代码的迫切需求。
鉴于上述现状,本项目通过深度解析私有库的文档资源,精准提取关键信息,并以此为基础对大语言模型进行针对性的微调与优化。
这一过程不仅增强了模型对私有库特定功能和用法的理解能力,还极大地提升了生成代码的准确性和实用性。
通过本项目,我们期望能够让生成的代码片段无缝集成于企业的私有库生态中,真正实现企业级软件开发的智能化与高效化,满足企业对高质量、高安全性代码的迫切需求。
\subsection{国内外研究现状}
\subsubsection{大语言模型微调研究现状}
大语言模型微调研究在国内外均呈现快速发展态势。在国内智源研究院与TeleAI联合开发的"悟道·天鹰"系列模型代表了重要进展其520亿参数版本的开源显著促进了国内AI社区发展。这些模型在部分中英文基准测试中表现出与Llama3-70B和GPT-4相当甚至更优的性能。为解决"幻觉"问题智源研究院开发的BGE系列向量模型通过检索增强生成Retrieval-Augmented GenerationRAG技术有效提升了模型准确性。
大语言模型微调研究在国内外均呈现快速发展态势\cite{zhang2024}
在国内智源研究院与TeleAI联合开发的"悟道·天鹰"系列模型代表了重要进展其520亿参数版本的开源显著促进了国内AI社区发展。
这些模型在部分中英文基准测试中表现出与Llama3-70B和GPT-4相当甚至更优的性能。
为解决"幻觉"问题智源研究院开发的BGE系列向量模型通过检索增强生成Retrieval-Augmented GenerationRAG技术有效提升了模型准确性。
国内外研究均呈现出对小型语言模型Small Language ModelSLM的高度关注。SLM在计算资源需求和训练成本方面具有明显优势表明经过领域特定微调的SLM在特定任务上可超越更大的通用模型。清华大学、北京大学和中国科学院等机构在LLM研究中发挥重要作用其应用范围从古籍数字化到医学研究等多个领域。
国内外研究均呈现出对小型语言模型Small Language ModelSLM的高度关注。
SLM在计算资源需求和训练成本方面具有明显优势表明经过领域特定微调的SLM在特定任务上可超越更大的通用模型。清华大学、北京大学和中国科学院等机构在LLM研究中发挥重要作用其应用范围从古籍数字化到医学研究等多个领域。
国际研究重点关注长输出大语言模型及其生成连贯长文本的能力。研究人员广泛探索了参数知识适应如Domain-Adaptive Pre-Training (DAPT)、Instruction Tuning (IT)、Prompt Learning (PL)和模型编辑和半参数知识适应如RAG和基于Agent的系统等技术以在保留通用知识的同时提高特定任务性能。研究发现即使少量监督微调数据也能有效激活预训练模型中的知识。
国际研究重点关注长输出大语言模型及其生成连贯长文本的能力。
研究人员广泛探索了参数知识适应如Domain-Adaptive Pre-Training (DAPT)、Instruction Tuning (IT)、Prompt Learning (PL)和模型编辑和半参数知识适应如RAG和基于Agent的系统等技术以在保留通用知识的同时提高特定任务性能。
研究发现,即使少量监督微调数据也能有效激活预训练模型中的知识。
尽管取得进展,微调研究仍面临诸多挑战。国内主要挑战包括模型创新不足、高质量训练数据稀缺以及"幻觉"问题限制了模型在高精度应用中的可靠性。国际上长输出LLM面临高质量长序列数据缺乏和连贯性维持困难等问题同时大模型的高计算成本也推动了对更高效模型的需求。
尽管取得进展,微调研究仍面临诸多挑战。
国内主要挑战包括模型创新不足、高质量训练数据稀缺以及"幻觉"问题限制了模型在高精度应用中的可靠性。
国际上长输出LLM面临高质量长序列数据缺乏和连贯性维持困难等问题同时大模型的高计算成本也推动了对更高效模型的需求。
未来研究趋势包括基于大模型的具身智能提示工程和认知工程的深化应用检索增强生成技术的进一步发展通过量化和剪枝提高LLM效率增强模型可解释性以及探索Transformer之外的新型模型架构和训练范式。
\subsubsection{微调后大语言模型在企业级应用领域的应用现状}
微调后大语言模型在企业级应用领域的应用正在国内外快速发展。在国内企业主要在客户服务领域探索微调LLM创建智能客服机器人以提高客户满意度和运营效率。内容生成是另一重要应用通过对行业特定数据进行微调模型可生成符合品牌风格的营销文案和产品描述。北京大学在古籍数字化领域的探索和智源研究院的Emu3多模态模型也展示了在特定企业级应用领域的潜力。总体而言微调LLM在中国企业级应用领域尚处早期阶段但潜力巨大。
微调后大语言模型在企业级应用领域的应用正在国内外快速发展\cite{vmk2024}
在国内企业主要在客户服务领域探索微调LLM创建智能客服机器人以提高客户满意度和运营效率。
内容生成是另一重要应用,通过对行业特定数据进行微调,模型可生成符合品牌风格的营销文案和产品描述。
北京大学在古籍数字化领域的探索和智源研究院的Emu3多模态模型也展示了在特定企业级应用领域的潜力。
总体而言微调LLM在中国企业级应用领域尚处早期阶段但潜力巨大。
国际上微调后大语言模型在企业级应用领域更为成熟和广泛。客户服务领域的智能支持系统能提供全天候多语言帮助处理各类咨询并将复杂问题上报人工客服。内容生成方面微调LLM被广泛应用于营销、广告和媒体行业快速生成各类文本内容。金融机构和咨询公司利用微调LLM协助撰写专业分析报告。此外LLM在数据标注和合成方面的应用对需要大量高质量标注数据的企业级应用至关重要显著提高了数据标注效率和一致性。微调后大语言模型已广泛应用于国际企业级应用领域并不断扩展到更多行业和业务流程。
国际上,微调后大语言模型在企业级应用领域更为成熟和广泛。
客户服务领域的智能支持系统能提供全天候多语言帮助,处理各类咨询并将复杂问题上报人工客服。
内容生成方面微调LLM被广泛应用于营销、广告和媒体行业快速生成各类文本内容。
金融机构和咨询公司利用微调LLM协助撰写专业分析报告。
此外LLM在数据标注和合成方面的应用对需要大量高质量标注数据的企业级应用至关重要显著提高了数据标注效率和一致性。
微调后大语言模型已广泛应用于国际企业级应用领域,并不断扩展到更多行业和业务流程。
\subsubsection{AI辅助编码研究现状}
AI辅助编码的研究和应用在中国尚处于起步阶段。虽然一些大型科技公司和研究机构已开始关注这一领域并推出了内部或限量使用的工具但像GitHub Copilot这样具有广泛影响力的AI编码助手仍然相对稀少。可以推断国内研究主要集中在使用机器学习和自然语言处理技术帮助开发者提高编码效率、减少错误以及学习新的编程语言或框架。这可能包括代码自动补全、语法错误检查、代码片段推荐以及基于自然语言描述生成代码等功能。然而由于缺乏直接相关的公开研究信息国内AI辅助编码工具的具体功能、性能以及对软件开发流程的影响仍需进一步调查和分析。尽管如此随着中国软件产业的发展和对开发效率需求的日益增长AI辅助编码在国内具有广阔的应用前景。
AI辅助编码的研究和应用在中国尚处于起步阶段。
虽然一些大型科技公司和研究机构已开始关注这一领域并推出了内部或限量使用的工具但像GitHub Copilot这样具有广泛影响力的AI编码助手仍然相对稀少。
可以推断,国内研究主要集中在使用机器学习和自然语言处理技术帮助开发者提高编码效率、减少错误以及学习新的编程语言或框架。
这可能包括代码自动补全、语法错误检查、代码片段推荐以及基于自然语言描述生成代码等功能。
然而由于缺乏直接相关的公开研究信息国内AI辅助编码工具的具体功能、性能以及对软件开发流程的影响仍需进一步调查和分析。
尽管如此随着中国软件产业的发展和对开发效率需求的日益增长AI辅助编码在国内具有广阔的应用前景。
在国际上AI辅助编码的研究和应用已取得了显著进展。GitHub Copilot、Tabnine、IntelliCode等AI编码工具被开发者广泛使用。这些工具通常在大规模代码语料库上进行训练能够提供智能代码补全、错误检测、代码建议和代码生成。研究表明这些工具可以显著提高开发者的编码速度和效率减少代码错误并帮助开发者更好地理解和使用各种编程语言和框架。国际研究着重于进一步提升AI编码工具的智能化水平例如使其能够理解更复杂的代码逻辑更好地处理上下文信息生成更符合开发者意图的代码以及与各种开发环境和工作流程更深入地集成。此外还在研究AI编码工具对软件开发流程、代码质量以及开发者学习曲线的影响。总的来说AI辅助编码在国际上已成为一个成熟且持续发展的研究领域正在深刻改变软件开发模式。
在国际上AI辅助编码的研究和应用已取得了显著进展。
GitHub Copilot、Tabnine、IntelliCode等AI编码工具被开发者广泛使用。
这些工具通常在大规模代码语料库上进行训练,能够提供智能代码补全、错误检测、代码建议和代码生成。
研究表明,这些工具可以显著提高开发者的编码速度和效率,减少代码错误,并帮助开发者更好地理解和使用各种编程语言和框架。
国际研究着重于进一步提升AI编码工具的智能化水平例如使其能够理解更复杂的代码逻辑更好地处理上下文信息生成更符合开发者意图的代码以及与各种开发环境和工作流程更深入地集成。
此外还在研究AI编码工具对软件开发流程、代码质量以及开发者学习曲线的影响。
总的来说AI辅助编码在国际上已成为一个成熟且持续发展的研究领域正在深刻改变软件开发模式。
\cite{haque2025}
\subsubsection{提示工程研究现状}
提示工程是一门新兴技术,随着大语言模型的普及在中国受到越来越多的关注。上海交通大学的研究人员已经认识到提示工程在未来人工智能应用中的重要性。可以推断,国内的研究和实践主要集中在探索如何设计更有效、更精准的自然语言提示来引导大语言模型生成期望的输出。这可能包括研究不同的提示技巧,例如使用清晰具体的指令、提供相关的上下文信息以及利用少量样本提示。一些国内开发者和企业也开始在实际场景中应用提示工程,例如优化提示以提高智能客服系统的响应质量,增强内容生成的连贯性和相关性。然而,与国际研究相比,在中国提示工程方面的系统性研究和理论框架可能仍处于早期发展阶段。随着大语言模型技术的不断进步及其在中国应用范围的扩大,提示工程有望成为一个越来越重要的研究和实践领域。
提示工程是一门新兴技术,随着大语言模型的普及在中国受到越来越多的关注。
上海交通大学的研究人员已经认识到提示工程在未来人工智能应用中的重要性。
可以推断,国内的研究和实践主要集中在探索如何设计更有效、更精准的自然语言提示来引导大语言模型生成期望的输出。
这可能包括研究不同的提示技巧,例如使用清晰具体的指令、提供相关的上下文信息以及利用少量样本提示。
一些国内开发者和企业也开始在实际场景中应用提示工程,例如优化提示以提高智能客服系统的响应质量,增强内容生成的连贯性和相关性。
然而,与国际研究相比,在中国提示工程方面的系统性研究和理论框架可能仍处于早期发展阶段。
随着大语言模型技术的不断进步及其在中国应用范围的扩大,提示工程有望成为一个越来越重要的研究和实践领域。
在国际上,提示工程已成为一个热门研究领域。研究人员广泛探索了各种提示技巧和策略,例如零样本提示、少量样本提示和思维链提示,并研究了它们对大语言模型输出质量的影响。同时,出现了多个提示工程框架和工具,旨在帮助用户更有效地设计和管理提示。国际研究还侧重于理解为什么某些提示能产生更好的结果以及如何自动生成或优化提示。此外,还在进行一些关于提示压缩的研究以提高效率。总的来说,国际上在提示工程方面的研究已经形成一定的体系,并正在持续发展和完善,为更好地利用大语言模型提供了重要的理论基础和实践指导。
在国际上,提示工程已成为一个热门研究领域。
研究人员广泛探索了各种提示技巧和策略,例如零样本提示、少量样本提示和思维链提示,并研究了它们对大语言模型输出质量的影响。
同时,出现了多个提示工程框架和工具,旨在帮助用户更有效地设计和管理提示。
国际研究还侧重于理解为什么某些提示能产生更好的结果以及如何自动生成或优化提示。
此外,还在进行一些关于提示压缩的研究以提高效率。
总的来说,国际上在提示工程方面的研究已经形成一定的体系,并正在持续发展和完善,为更好地利用大语言模型提供了重要的理论基础和实践指导。
\cite{Meskó2023}
\subsection{本文结构安排}
本文围绕基于大语言模型的自动化微调框架展开研究与实现,全文共分为六章,具体结构安排如下:
第一章 前言:本章首先介绍了研究的背景与意义,阐述了大语言模型微调自动化的重要性和必要性。随后,对国内外相关的研究现状进行了回顾与分析,指出了现有方法的优势与不足。最后,概述了本文的主要研究内容,并介绍了论文的整体结构安排。
第一章 前言:本章首先介绍了研究的背景与意义,阐述了大语言模型微调自动化的重要性和必要性。
随后,对国内外相关的研究现状进行了回顾与分析,指出了现有方法的优势与不足。
最后,概述了本文的主要研究内容,并介绍了论文的整体结构安排。
第二章 相关技术介绍本章详细介绍了本文研究所涉及的关键技术。包括大语言模型LLM的发展、应用及在辅助编码方面的潜力提示工程技术在引导LLM生成高质量文本中的作用模型量化技术及其在降低模型部署成本方面的意义LoRALow-Rank Adaptation等参数高效微调方法特别是QLoRA的原理与优势优化微调效率的unsloth算子以及用于构建交互式界面的Gradio框架。
第二章 相关技术介绍:本章详细介绍了本文研究所涉及的关键技术。
包括大语言模型LLM的发展、应用及在辅助编码方面的潜力提示工程技术在引导LLM生成高质量文本中的作用模型量化技术及其在降低模型部署成本方面的意义LoRALow-Rank Adaptation等参数高效微调方法特别是QLoRA的原理与优势优化微调效率的unsloth算子以及用于构建交互式界面的Gradio框架。
第三章 需求分析:本章从项目整体出发,对基于大语言模型的自动化微调框架进行了需求分析。首先介绍了项目的整体目标和应用场景。然后,详细分析了系统的功能需求,包括训练语料生成、模型微调、自动化整合以及前端展示等核心功能。最后,阐述了系统的非功能需求,如性能要求和扩展性要求。
第三章 需求分析:本章从项目整体出发,对基于大语言模型的自动化微调框架进行了需求分析。
首先介绍了项目的整体目标和应用场景。
然后,详细分析了系统的功能需求,包括训练语料生成、模型微调、自动化整合以及前端展示等核心功能。
最后,阐述了系统的非功能需求,如性能要求和扩展性要求。
第四章 关键技术实现本章详细阐述了系统的具体实现过程。首先介绍了系统的整体架构设计、模块划分与交互流程。接着描述了双数据库架构SQLite+TinyDB的设计与实现方案以及数据模型定义和数据库管理。详细介绍了语料生成与处理技术包括Markdown文档解析、Prompt模板应用、API协程并发调用以及数据校验与持久化。重点阐述了语言模型训练技术的实现涵盖监督式微调SFT流程、训练数据准备、LoRA微调方法应用、训练配置、监控与结果保存。随后介绍了基于Gradio框架的前端交互系统设计与实现包括全局状态管理、前后端数据流、流式响应与实时反馈以及异常处理。最后探讨了系统的扩展性实现方案。
第四章 关键技术实现:本章详细阐述了系统的具体实现过程。
首先介绍了系统的整体架构设计、模块划分与交互流程。
接着描述了双数据库架构SQLite+TinyDB的设计与实现方案以及数据模型定义和数据库管理。
详细介绍了语料生成与处理技术包括Markdown文档解析、Prompt模板应用、API协程并发调用以及数据校验与持久化。
重点阐述了语言模型训练技术的实现涵盖监督式微调SFT流程、训练数据准备、LoRA微调方法应用、训练配置、监控与结果保存。
随后介绍了基于Gradio框架的前端交互系统设计与实现包括全局状态管理、前后端数据流、流式响应与实时反馈以及异常处理。
最后,探讨了系统的扩展性实现方案。
第五章 结果验证:本章对基于文档驱动的自适应编码大模型微调框架的实验结果进行验证和分析。首先介绍了实验环境,包括硬件配置和软件环境。然后,详细描述了实验对象,包括基础模型选择、微调数据集和微调参数配置。接着,分析了微调过程中的资源占用和训练指标变化。最后,从代码生成能力、文档理解能力、通用能力保持和用户满意度等多个维度对微调效果进行了全面验证,证明了本框架的有效性和实用价值。
第五章 结果验证:本章对基于文档驱动的自适应编码大模型微调框架的实验结果进行验证和分析。
首先介绍了实验环境,包括硬件配置和软件环境。
然后,详细描述了实验对象,包括基础模型选择、微调数据集和微调参数配置。
接着,分析了微调过程中的资源占用和训练指标变化。
最后,从代码生成能力、文档理解能力、通用能力保持和用户满意度等多个维度对微调效果进行了全面验证,证明了本框架的有效性和实用价值。
第六章 总结与展望:本章对本文的研究工作进行了全面的总结,回顾了所取得的主要成果。同时,分析了当前研究存在的不足与局限性。最后,对未来的研究方向和可能的技术发展进行了展望。
第六章 总结与展望:本章对本文的研究工作进行了全面的总结,回顾了所取得的主要成果。
同时,分析了当前研究存在的不足与局限性。
最后,对未来的研究方向和可能的技术发展进行了展望。
\subsection{小结}
本章作为全文的引言部分首先阐明了在当前大语言模型蓬勃发展的背景下构建自动化微调框架的研究背景和重要的现实意义。通过对国内外相关研究现状的梳理我们认识到自动化、高效化微调工具的缺失是当前LLM应用落地的瓶颈之一这进一步凸显了本研究的价值。本章还概述了本文的主要研究内容旨在通过整合先进的语料生成、模型微调和前端交互技术构建一个用户友好、高效灵活的LLM自动化微调框架。最后详细介绍了本文的章节结构安排为读者清晰地勾勒出后续内容的逻辑脉络为深入理解本文的研究工作奠定了基础。
本章作为全文的引言部分,首先阐明了在当前大语言模型蓬勃发展的背景下,构建自动化微调框架的研究背景和重要的现实意义。
通过对国内外相关研究现状的梳理我们认识到自动化、高效化微调工具的缺失是当前LLM应用落地的瓶颈之一这进一步凸显了本研究的价值。
本章还概述了本文的主要研究内容旨在通过整合先进的语料生成、模型微调和前端交互技术构建一个用户友好、高效灵活的LLM自动化微调框架。
最后,详细介绍了本文的章节结构安排,为读者清晰地勾勒出后续内容的逻辑脉络,为深入理解本文的研究工作奠定了基础。

View File

@ -3,34 +3,49 @@
\renewcommand\refname{参考文献}
\begin{thebibliography}{99}
\addcontentsline{toc}{section}{参考文献\tiny{\quad}}
\bibitem{zhang2024}
张钦彤, 王昱超, 王鹤羲, 等. 大语言模型微调技术的研究综述[J]. Journal of Computer Engineering \& Applications, 2024, 60(17).
\bibitem{haque2025}
Haque M Z, Afrin S, Mastropaolo A. A Systematic Literature Review of Parameter-Efficient Fine-Tuning for Large Code Models[J]. arXiv preprint arXiv:2504.21569, 2025.
\bibitem{Topsakal2023Creating}Topsakal, O., Akinci, T. C. Creating large language model applications utilizing langchain: A primer on developing llm apps fast[C]. International Conference on Applied Engineering and Natural Sciences, 2023, 1(1): 1050-1056.
\bibitem{vmk2024}
VM K, Warrier H, Gupta Y. Fine tuning llm for enterprise: Practical guidelines and recommendations[J]. arXiv preprint arXiv:2404.10779, 2024.
\bibitem{Meskó2023}
Meskó B. Prompt engineering as an important emerging skill for medical professionals: tutorial[J]. Journal of medical Internet research, 2023, 25: e50638.
\bibitem{wang2024}
王耀祖, 李擎, 戴张杰, 等. 大语言模型研究现状与趋势[J]. 工程科学学报, 2024, 46(8): 1411-1425.
\bibitem{Zhang2023Survey}
Zhang, Z., Chen, C., Liu, B., et al. A survey on language models for code[J]. arXiv preprint arXiv:2311.07989, 2023.
\bibitem{Chen2023}
Chen B, Zhang Z, Langrené N, et al. Unleashing the potential of prompt engineering in large language models: a comprehensive review[J]. arXiv preprint arXiv:2310.14735, 2023.
\bibitem{Lin2024Awq}
Lin J, Tang J, Tang H, et al. Awq: Activation-aware weight quantization for on-device llm compression and acceleration[J]. Proceedings of Machine Learning and Systems, 2024, 6: 87-100.
\bibitem{Dong2023}
Dong G, Yuan H, Lu K, et al. How abilities in large language models are affected by supervised fine-tuning data composition[J]. arXiv preprint arXiv:2310.05492, 2023.
\bibitem{Dettmers2024Qlora}
Dettmers, T., Pagnoni, A., Holtzman, A., et al. Qlora: Efficient finetuning of quantized llms[J]. Advances in Neural Information Processing Systems, 2024, 36.
\bibitem{Liu2015Topical}Liu, Y., Liu, Z., Chua, T. S., et al. Topical word embeddings[C]. Proceedings of the AAAI Conference on Artificial Intelligence, 2015, 29(1).
\bibitem{Dettmers2024Qlora}Dettmers, T., Pagnoni, A., Holtzman, A., et al. Qlora: Efficient finetuning of quantized llms[J]. Advances in Neural Information Processing Systems, 2024, 36.
\bibitem{Hu2021Lora}Hu, E. J., Shen, Y., Wallis, P., et al. Lora: Low-rank adaptation of large language models[J]. arXiv preprint arXiv:2106.09685, 2021.
\bibitem{Yang2024Qwen2}Yang, A., Yang, B., Hui, B., et al. Qwen2 technical report[J]. arXiv preprint arXiv:2407.10671, 2024.
\bibitem{Zan2022Large}Zan, D., Chen, B., Zhang, F., et al. Large language models meet nl2code: A survey[J]. arXiv preprint arXiv:2212.09420, 2022.
\bibitem{Gunter2024Apple}Gunter, T., Wang, Z., Wang, C., et al. Apple Intelligence Foundation Language Models[J]. arXiv preprint arXiv:2407.21075, 2024.
\bibitem{Zhang2023Survey}Zhang, Z., Chen, C., Liu, B., et al. A survey on language models for code[J]. arXiv preprint arXiv:2311.07989, 2023.
\bibitem{Jeong2023Generative}Jeong, C. Generative AI service implementation using LLM application architecture: based on RAG model and LangChain framework[J]. Journal of Intelligence and Information Systems, 2023, 29(4): 129-164.
\bibitem{Fan2024Survey}Fan, W., Ding, Y., Ning, L., et al. A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models[C]. Proceedings of the 30th ACM SIGKDD Conference on Knowledge Discovery and Data Mining, 2024: 6491-6501.
\bibitem{Kusner2015From}Kusner, M., Sun, Y., Kolkin, N., et al. From word embeddings to document distances[C]. International conference on machine learning, PMLR, 2015: 957-966.
\bibitem{Wu2024Qingbao}吴娜, 沈思, 王东波. 基于开源LLMs的中文学术文本标题生成研究—以人文社科领域为例[J]. 情报科学, 2024: 1-22.
\bibitem{Li2024Qinghua}李佳沂, 黄瑞章, 陈艳平, et al. 结合提示学习和Qwen大语言模型的裁判文书摘要方法[J]. 清华大学学报(自然科学版), 2024: 1-12.
\bibitem{Wei2024Shuju}韦一金, 樊景超. 基于ChatGLM2-6B的农业政策问答系统[J]. 数据与计算发展前沿(中英文), 2024, 6(04): 116-127.
\bibitem{Xiang2024Jisuanji}向小伟, 申艳光, 胡明昊, et al. 大模型驱动的科技政策法规问答系统研究[J]. 计算机科学与探索, 2024: 1-13.
\bibitem{Hu2021Lora}
Hu, E. J., Shen, Y., Wallis, P., et al. Lora: Low-rank adaptation of large language models[J]. arXiv preprint arXiv:2106.09685, 2021.
\bibitem{Han2024Unsloth}
Han D, Han M. Unsloth[J]. URL: https://github. com/unslothai/unsloth. git. The model overview web form is used to get the model architecture and information about the model The intent submission web form is for the LLMFed use case where task name, server IP address, client IPs, and intent for the FL task are taken as inputs, 2023.
\bibitem{Zhang2024Gradio}
Abid A, Abdalla A, Abid A, et al. Gradio: Hassle-free sharing and testing of ml models in the wild[J]. arXiv preprint arXiv:1906.02569, 2019.
\bibitem{Yang2024Qwen}
Yang A, Yang B, Zhang B, et al. \& Qiu, Z.(2024)[R]. Qwen2. 5 technical report.
\bibitem{Liu2024Deepseek}
Liu A, Feng B, Xue B, et al. Deepseek-v3 technical report[J]. arXiv preprint arXiv:2412.19437, 2024.
\end{thebibliography}

View File

@ -9,7 +9,7 @@
大语言模型LLM是一种能够理解、生成并与人类语言交互的人工智能技术。
这些模型通过在海量数据集上训练,能够应对科学、技术、艺术和文化等广泛领域的问题,成为信息检索、内容创作和自然语言理解的关键工具。
LLM 主要基于 Transformer 架构,通过处理大规模文本数据来捕捉语言的复杂模式、语法规则和语义关系。
LLM 主要基于 Transformer 架构,通过处理大规模文本数据来捕捉语言的复杂模式、语法规则和语义关系。\cite{wang2024}
自然语言处理NLP的发展为 LLM 奠定了基础。
1966 年,约瑟夫·魏泽鲍姆创建的 ELIZA 被认为是第一个使用 NLP 的程序,它能根据用户输入的关键词给出预设响应。
@ -58,10 +58,10 @@ LLM 可以分析代码,识别潜在的错误模式或问题,帮助开发者
综上所述,大语言模型正日益成为软件开发过程中不可或缺的辅助工具。
它们通过代码生成、代码补全和错误检测与修复等功能,极大地提升了开发效率和代码质量。
随着 LLM 技术的不断发展,其在软件开发领域的应用前景将更加广阔。
随着 LLM 技术的不断发展,其在软件开发领域的应用前景将更加广阔。\cite{Zhang2023Survey}
\subsection{提示工程技术}
提示工程Prompt Engineering是设计和优化输入提示prompts的系统方法旨在精确引导大语言模型LLMs生成符合预期的输出。
提示工程Prompt Engineering是设计和优化输入提示prompts的系统方法旨在精确引导大语言模型LLMs生成符合预期的输出。\cite{Chen2023}
随着生成式人工智能技术的发展,提示工程已成为充分发挥模型能力的关键环节。通过精心构建提示的格式、结构、语言和上下文,提示工程能够显著提升模型理解用户意图的准确性,并引导其生成更加精确、相关且高质量的回应。
专业的提示工程师通过设计最优化的输入指令,使其与生成式 AI 系统的内部机制高效协同,从而获取更为精准和有用的输出结果。
@ -80,7 +80,7 @@ LLM 可以分析代码,识别潜在的错误模式或问题,帮助开发者
\subsection{模型量化技术}
模型量化Model Quantization是大语言模型LLMs中使用的一种技术旨在将高精度数据通常是 32 位浮点数 (FP32) 或 16 位浮点数 (FP16))的权重和激活值转换为低精度数据类型,如 8 位整数 (INT8) 或 4 位整数 (INT4)。
模型量化的主要目的是减少模型的内存占用、提高推理速度并降低能耗,使其更易于部署在资源受限的设备上,如移动设备或边缘服务器。
模型量化的主要目的是减少模型的内存占用、提高推理速度并降低能耗,使其更易于部署在资源受限的设备上,如移动设备或边缘服务器。\cite{Lin2024Awq}
该技术的数学本质是通过线性映射将浮点值域$[r_{\text{min}}, r_{\text{max}}]$映射到整数空间,其量化与反量化过程可表示为:
\begin{equation*}
@ -99,25 +99,22 @@ q &= \text{round}\left(\frac{r - r_{\text{min}}}{s}\right) \\
INT8 量化通常被认为是性能和精度之间的良好折衷方案可在保持较高模型准确性的同时显著降低内存占用和提高推理速度。INT4 量化更为激进,可实现更高压缩率和更快速度,但通常伴随更明显精度下降,更适用于对资源限制非常严格但对精度要求相对较低的场景。选择合适的量化技术和级别需要在模型大小、推理速度和精度之间进行权衡,通常取决于具体应用场景和硬件条件。
\subsubsection{监督式微调SFT概述}
\subsubsection{监督式微调概述}
随着大规模预训练语言模型Large Language Models,
LLMs在自然语言处理领域展现出强大的通用能力如何有效地将这些模型适配到特定的应用场景或下游任务中成为了研究与实践的关键环节。监督式微调Supervised
Fine-Tuning,
SFT正是实现这一目标的核心技术之一。它指的是在一个已经经过大规模无标注数据预训练的基础语言模型上利用一套有标注的、高质量的特定任务数据通常表现为``指令-响应''或``输入-输出''对的形式)进行进一步训练的过程。
随着大语言模型在自然语言处理领域展现出强大的通用能力如何有效地将这些模型适配到特定的应用场景或下游任务中成为了研究与实践的关键环节。监督式微调Supervised Fine-Tuning,SFT正是实现这一目标的核心技术之一\cite{Dong2023}。它指的是在一个已经经过大规模无标注数据预训练的基础语言模型上,利用一套有标注的、高质量的特定任务数据(通常表现为``指令-响应''或``输入-输出''对的形式)进行进一步训练的过程。
SFT的``监督''特性体现在其训练数据的形式上。与预训练阶段模型从海量文本中自主学习语言模式不同SFT阶段向模型明确展示了在给定输入如用户提问、指令期望的、正确的输出如恰当的回答、符合要求的文本。模型在学习过程中通过优化目标函数不断调整自身参数力求使其生成的响应尽可能地逼近标注数据中的目标响应。这种有指导的学习方式使得模型能够更精准地理解特定任务的格式要求、知识范畴以及交互模式。
采用SFT的主要目的在于提升模型在特定领域的性能表现和任务遵循能力。预训练模型虽然知识广博但在特定专业领域或具体任务上的表现可能不够精确或不符合特定规范。通过在相关的高质量标注数据上进行微调可以有效地向模型注入领域知识提升其回答的准确性和相关性。同时SFT也是引导模型学习遵循特定指令、模仿某种对话风格或角色的重要手段使其行为更加符合人类预期从而更好地服务于实际应用需求。因此SFT是连接通用预训练模型与特定应用场景的关键桥梁是使大模型``落地''不可或缺的技术步骤。在本研究中我们采用SFT技术来定制化训练语言模型以满足特定交互任务的需求。
\subsection{QLoRA 微调方法}
QLoRA是一种高效微调大语言模型LLMs的方法它结合了量化和低秩自适应技术旨在在资源受限的情况下实现与全精度微调相当的性能。QLoRA 的主要原理是在微调过程中冻结预训练 LLM 的权重并将其量化为 4 位精度然后引入少量可训练的低秩适配器Low-Rank Adapters, LoRA。微调期间梯度通过冻结的 4 位量化预训练语言模型反向传播到这些低秩适配器中。
QLoRA是一种高效微调大语言模型LLMs的方法它结合了量化和低秩自适应技术旨在在资源受限的情况下实现与全精度微调相当的性能\cite{Dettmers2024Qlora}。QLoRA 的主要原理是在微调过程中冻结预训练 LLM 的权重并将其量化为 4 位精度然后引入少量可训练的低秩适配器Low-Rank Adapters, LoRA。微调期间梯度通过冻结的 4 位量化预训练语言模型反向传播到这些低秩适配器中。
QLoRA 引入了多项创新技术以在节省内存的同时不牺牲性能。首先是 4 位 NormalFloat (NF4) 数据类型,这是一种专为正态分布权重设计的新数据类型,在信息论上最优,并在实证研究中优于 4 位整数和 4 位浮点数。NF4 基于分位数化,确保每个量化区间分配相等数量的输入张量值,从而有效利用内存。其次是双重量化 (Double Quantization),通过对第一步量化的量化常数再次进行量化,进一步减少平均内存占用,在不显著损失性能的情况下节省额外内存。最后是分页优化器 (Paged Optimizers),利用 NVIDIA 统一内存特性管理训练期间的内存峰值,特别是在处理长序列的小批量数据时,从而避免内存不足错误。
QLoRA 的主要优势在于其能够在资源受限情况下实现高效微调。通过将预训练模型量化到 4 位并仅训练少量低秩适配器QLoRA 显著降低了微调所需的 GPU 内存。例如QLoRA 能够将微调一个 650 亿参数模型的平均 GPU 内存需求从超过 780GB 降低到低于 48GB且不降低运行时或预测性能。这使得在单个消费级 GPU 上微调大型模型成为可能,从而大大降低了微调 LLM 的门槛。研究表明,使用 QLoRA 微调的 LLM 在各种任务上可以达到与全精度微调相当甚至更好的性能。
低秩适配器LoRA是 QLoRA 的关键组成部分。LoRA 的核心思想是大型预训练模型在适应下游任务时其权重变化具有低秩特性。因此LoRA 冻结原始预训练模型的权重,并在每个 Transformer 层的自注意力模块中注入两个小的低秩矩阵A 和 B。LoRA 的数学原理可以表示为:
低秩适配器LoRA是 QLoRA 的关键组成部分。LoRA 的核心思想是,大型预训练模型在适应下游任务时,其权重变化具有低秩特性\cite{Hu2021Lora}。因此LoRA 冻结原始预训练模型的权重,并在每个 Transformer 层的自注意力模块中注入两个小的低秩矩阵A 和 B。LoRA 的数学原理可以表示为:
\begin{equation}
\begin{gathered}
W = W_0 + \Delta W = W_0 + BA
@ -129,7 +126,7 @@ W = W_0 + \Delta W = W_0 + BA
\subsection{Unsloth 算子}
Unsloth 是一个开源软件旨在简化大语言模型LLMs的微调过程。它提供用户友好的界面和强大功能可帮助 AI 开发初学者和专家轻松管理资源、优化性能并集成各种 AI 工具以提高模型准确性。
Unsloth 是一个开源软件旨在简化大语言模型LLMs的微调过程\cite{Han2024Unsloth}。它提供用户友好的界面和强大功能,可帮助 AI 开发初学者和专家轻松管理资源、优化性能并集成各种 AI 工具以提高模型准确性。
Unsloth 的核心优势在于其能够显著加速 LLM 的训练和推理过程,同时降低内存使用。
Unsloth 通过手动推导所有计算密集型数学步骤并编写自定义 GPU 内核来实现加速,而无需更改硬件。
@ -154,7 +151,7 @@ Unsloth 通过优化内存使用和速度,使得在资源有限环境中进行
\subsection{Gradio 框架}
Gradio 是一个开源 Python 包允许用户快速构建机器学习模型、API 或任何任意 Python 函数的演示或 Web 应用程序。用户可以使用 Gradio 的内置共享功能在几秒钟内分享其演示或 Web 应用程序的链接。该框架无需 JavaScript、CSS 或 Web 托管经验,使其成为机器学习从业者和研究人员的理想工具。
Gradio 是一个开源 Python 包允许用户快速构建机器学习模型、API 或任何任意 Python 函数的演示或 Web 应用程序\cite{Zhang2024Gradio}。用户可以使用 Gradio 的内置共享功能在几秒钟内分享其演示或 Web 应用程序的链接。该框架无需 JavaScript、CSS 或 Web 托管经验,使其成为机器学习从业者和研究人员的理想工具。
Gradio 提供了一系列核心特性,使其在机器学习应用开发中脱颖而出。通过简单的 pip 安装,用户只需在项目中添加几行代码即可创建功能完备的 Gradio 界面。Gradio 能够与任何 Python 库无缝集成,只要用户能够编写 Python 函数,就能利用 Gradio 构建交互式应用。在展示和共享方面Gradio 界面可以轻松嵌入 Python 笔记本或作为独立网页呈现,并能自动生成公共链接,方便用户与同事共享,使他们能够远程与用户计算机上的模型进行交互。此外,创建的界面还可以永久托管在 Hugging Face Spaces 上Hugging Face 将在其服务器上托管界面并提供持久的共享链接。

View File

@ -43,7 +43,7 @@
\subsubsection{基础模型选择}
本实验选择qwen2.5-3B作为基础模型进行微调。该模型是阿里云开源的新一代大语言模型具有以下特点
本实验选择qwen2.5-3B作为基础模型进行微调。该模型是阿里云开源的新一代大语言模型具有以下特点\cite{Yang2024Qwen}
\begin{itemize}
\item 性能表现:在 MMLU、GSM8K、BBH 等权威测试中优于多数同参数级开源模型。
\item 参数规模3.09B参数量非嵌入参数2.77B),在保持较高性能的同时,对计算资源要求相对较低。
@ -53,7 +53,7 @@
\subsubsection{数据集生成}
本实验采用DeepSeek V3作为数据集生成模型该模型是深度求索公司开发的新一代大语言模型具有以下特点
本实验采用DeepSeek V3作为数据集生成模型该模型是深度求索公司开发的新一代大语言模型具有以下特点\cite{Liu2024Deepseek}
\begin{itemize}
\item 性能表现:在 Codeforces 基准测试中DeepSeek V3 取得了 51.6 分的成绩,刷新了该领域的 SOTA 水平。在 LiveCodeBenchPass@1 - COT测试中得分为 40.5,在 LiveCodeBenchPass@1测试中成绩为 37.6,均表现出色。
\item 上下文窗口:在理论上支持 128K tokens 的上下文长度。不过在实际应用中,部分服务商可能会出于硬件或性能优化等考虑,将其限制在 64K tokens。