网站创建二级域名西安建设工程信息平台
- 作者: 五速梦信息网
- 时间: 2026年04月20日 08:13
当前位置: 首页 > news >正文
网站创建二级域名,西安建设工程信息平台,福建优化seo,vip网站解析建设1.首先了解一下什么是LLM微调
LLM 微调指的是在已经预训练好的大型语言模型基础上#xff0c;使用特定的任务数据或领域数据#xff0c;通过进一步的训练来调整模型的参数#xff0c;使其在特定任务或领域上能够表现得更好。简单来说#xff0c;就是对一个已经具备了丰富语…1.首先了解一下什么是LLM微调
LLM 微调指的是在已经预训练好的大型语言模型基础上使用特定的任务数据或领域数据通过进一步的训练来调整模型的参数使其在特定任务或领域上能够表现得更好。简单来说就是对一个已经具备了丰富语言知识的通用大模型进行 “个性化” 调整以适应更具体的应用场景和需求。
1.1.目的 提高特定任务性能对于像文本生成、机器翻译、问答系统等具体任务通过微调可以让模型在这些任务上的准确性、流畅性等指标得到显著提升。例如在机器翻译中微调能使模型更好地处理特定语言对之间的语法、词汇差异提高翻译质量。 适配特定领域不同领域有其独特的术语、语言风格和知识体系如医疗、法律领域等。微调可以让模型学习并适应这些领域特点生成更符合领域规范和需求的文本。比如在医疗领域经过微调的模型能够准确理解和处理医学术语为医疗诊断、病历生成等任务提供更专业的支持。 减少计算资源消耗相比从头训练一个大型语言模型微调通常只需要较少的计算资源和时间成本。因为预训练模型已经学习到了大量的通用语言知识微调只需在其基础上进行局部调整就能快速得到一个适用于特定任务或领域的高性能模型。
1.2.方法 基于特定任务数据微调 有监督微调收集大量标注好的特定任务数据这些数据包含了输入文本和对应的正确输出。例如在情感分类任务中输入是各种文本内容标注的输出是积极、消极或中性等情感类别。将这些数据输入到预训练模型中通过调整模型参数使模型的输出尽可能接近标注的正确答案从而让模型学习到特定任务的模式和规律。 无监督微调利用大量未标注的特定任务数据进行微调。例如在文本生成任务中虽然没有明确的输出标注但可以通过让模型学习文本的概率分布如预测下一个单词或句子使模型在特定任务的文本风格和语义上更符合要求。 基于领域数据微调 领域自适应微调收集目标领域的文本数据这些数据具有该领域独特的词汇、句式和语义特点。将预训练模型在这些领域数据上进行微调使模型能够适应领域语言风格例如法律领域中频繁出现的法律条文、法律术语等让模型在处理法律文本时更加准确和专业。 多领域混合微调有时一个应用可能涉及多个领域这时可以将多个领域的数据混合起来对模型进行微调使模型具备处理多领域知识的能力能够根据输入文本的特点自动切换到相应的领域模式进行处理。
1.3.应用场景 智能客服通过微调可以让语言模型更好地理解和处理客户咨询的常见问题提供准确、专业的回答提高客户满意度。 内容创作辅助帮助写作者生成特定风格、主题的文本内容如新闻报道、文案创作等为创作者提供灵感和素材。 智能教育根据学生的学习情况和教材内容生成个性化的学习资料、练习题等辅助教学和学习。
2.常用微调技术有哪些
2.1.基于全参数的微调技术 全量微调Full Fine - Tuning 策略内容在微调过程中对预训练模型的所有参数都进行更新和调整。将预训练模型作为初始化然后使用目标任务的标注数据通过反向传播算法和优化器如 Adam、SGD 等来最小化任务特定的损失函数使模型的所有参数都能够适应新的任务和数据分布。 优势能够充分利用预训练模型的知识对模型进行全面的调整以最大程度地适应目标任务在数据量充足、计算资源允许的情况下通常可以取得较好的微调效果使模型在目标任务上达到较高的性能水平。 基于对抗训练的微调 策略内容引入对抗训练机制在微调过程中除了原始的目标任务模型外还引入一个对抗模型。对抗模型的目标是对目标任务模型的输出进行干扰或攻击而目标任务模型则要努力学习以抵御对抗模型的干扰通过两者之间的对抗博弈来优化目标任务模型的参数。 优势可以提高模型的鲁棒性和泛化能力使模型在面对各种可能的干扰和攻击时仍然能够保持较好的性能增强模型对数据中的噪声、对抗样本等的抵抗力。
2.2.基于部分参数的微调技术 层冻结微调Layer Freezing 策略内容在微调时将预训练模型的某些层的参数冻结不进行更新只对模型的部分上层或特定层的参数进行训练。通常底层的层包含了一些通用的语言知识和特征如词法、句法等信息将其冻结可以保留预训练模型已学习到的这些基础信息而只对上层的层进行调整让模型学习与目标任务相关的更高级的语义和任务特定知识。 优势减少了需要训练的参数数量降低计算成本和过拟合的风险同时能够利用预训练模型底层的通用知识在一些任务上可以取得较好的效果特别是当目标任务的数据量相对较少时层冻结微调可以有效地防止模型过拟合提高模型的泛化能力。 低秩适应微调Low - Rank AdaptationLoRA及 QLoRA LoRA策略内容通过在预训练模型的权重矩阵上添加低秩分解的矩阵来进行微调。具体来说对于预训练模型中的每一个权重矩阵将其分解为两个低秩矩阵的乘积并在微调过程中只训练这两个低秩矩阵的参数而原始的预训练模型权重矩阵保持冻结。这样可以在不改变预训练模型主体结构和权重的基础上通过学习低秩矩阵来适应新的任务以较小的参数调整量来实现模型的微调。 LoRA优势大大减少了微调时需要训练的参数数量降低了计算成本和存储需求同时能够在一定程度上保持预训练模型的性能在一些自然语言处理任务中LoRA 能够在不牺牲太多性能的前提下实现高效的微调并且可以方便地与其他微调技术结合使用。 QLoRA 策略内容QLoRA 是基于 LoRA 发展出的一种更为高效的大型语言模型微调方法。它先对预训练语言模型采用 4 位量化技术以 4 位的精度对模型参数进行存储和计算极大减少内存占用。同时在模型中引入低阶适配器这些适配器被插入到预训练模型的不同层。在微调过程中将固定的 4 位量化预训练语言模型中的梯度反向传播到低阶适配器通过这种方式让适配器学习特定任务的特征并依据任务的损失函数更新参数实现模型对新任务的适应。 QLoRA 优势QLoRA 在保持完整的 16 位微调性能的同时显著减少内存使用这使得在资源有限的设备上如消费级 GPU 或内存较小的服务器也能够对大型语言模型进行微调。低阶适配器与梯度反向传播机制让模型微调更具效率能够较快收敛到较好性能状态且不会因量化和参数调整方式改变而导致性能大幅下降。 参数高效微调技术PEFT PEFT 策略内容PEFT 作为一种 NLP 技术专注于通过微调一小部分精心挑选的关键参数使预训练的语言模型有效适应各种应用程序。这些关键参数与特定任务的语义、结构或功能紧密相关。在微调过程中通过一些技术手段对抗灾难性遗忘例如对参数调整加以约束或引入正则化项确保模型在学习新任务时不会丢失预训练阶段获取的重要知识。 PEFT 优势该技术通过微调少量参数大幅降低计算和存储成本无论是训练还是部署对硬件资源需求都更低增强了模型扩展性与实用性。在图像分类、稳定扩散等多种模式下PEFT 仅调整少量参数就能提供与完全微调相当的性能为实际应用提供了高效且经济的解决方案同时具备灵活性与通用性可广泛应用于不同领域和任务的预训练模型微调。
3.Llama Factory介绍
LLaMA-Factory 是一个强大的大型语言模型微调框架 支持多种模型涵盖 LLaMA、LLaVA、Mistral、Mixtral-MOE、Qwen、Qwen2-VL、Yi、Gemma、Baichuan、ChatGLM、Phi 等 100 多种模型。 集成多种方法包括增量预训练、多模态监督微调、奖励建模、PPO、DPO、KTO、ORPO 等方法满足不同任务和场景的需求。 运算精度多样提供 16 位全量微调、冻结微调、LoRA 以及基于 AQLM/AWQ/GPTQ/LLM.int8 的 2/3/4/5/6/8 位 QLoRA 等多种精度选择可根据硬件资源和任务要求灵活配置。 采用先进算法如 GaLore、Badam、Adam-mini、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA、LoftQ、Pissa 和 Agent Tuning 等提升训练效率和模型性能。 实用技巧丰富集成了 Flash Attention-2、Unsloth、Liger Kernel、RoPE Scaling、Neftune 和 RS LoRA 等技术优化训练过程。 实验监控便捷支持 Llama Board、TensorBoard、Weights Biaseswandb、MLflow、Swan Lab 等多种实验监控工具方便用户跟踪训练过程和评估模型性能。 推理速度更快提供 OpenAI 风格的 API、Gradio UI 和基于 VLLM 的命令行界面实现更快的并发推理提高模型的响应速度。
4.Llama Factory安装部署ubuntu环境
4.1. 我的硬件资源 4.2.conda环境检查与安装
4.2.1.conda环境检查
首先确认电脑是否安装过conda
conda –version 如果已经安装如上图会提示当前的conda版本。如果没有安装conda会提示conda命令无法识别。
4.2.2.conda环境安装
更新系统包
sudo apt update
sudo apt upgrade
下载Miniconda:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 安装Miniconda:
bash Miniconda3-latest-Linux-x86_64.sh 安装完毕初始化conda
source ~/.bashrc
最后再进行conda环境检查
conda –version 4.3. 开始安装Llama Factory
4.3.1. 克隆代码仓库
需要在系统中安装 git 工具。如果未安装可根据执行下面的命令进行安装。
sudo apt-get install git
使用 git 工具从 GitHub 上克隆 LLaMA - Factory 的代码仓库到本地。
git clone https://github.com/hiyouga/LLaMA-Factory.git
4.3.2. 创建虚拟环境
conda create -n llama_factory python3.10
使用 conda 工具创建一个名为 llama_factory 的虚拟 Python 环境并且指定 Python 版本为 3.10。虚拟环境可以隔离不同项目的依赖避免不同项目之间的依赖冲突。
4.3.3. 激活虚拟环境
conda activate llama_factory
激活之前创建的名为 llama_factory 的虚拟环境。激活后后续安装的 Python 包都会安装到这个虚拟环境中而不会影响系统全局的 Python 环境。
4.3.4. 进入项目目录并安装依赖
cd LLaMA-Factory
pip install -r requirements.txt
首先使用 cd 命令进入之前克隆下来的 LLaMA-Factory 项目目录。
然后使用 pip 工具根据 requirements.txt 文件中列出的依赖项安装项目所需的所有 Python 包。requirements.txt 文件通常包含了项目运行所需的各种库及其版本信息。
5.下载deepseek模型
模型地址https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
我这里选择的是32B的模型 执行命令
GIT_LFS_SKIP_SMUDGE1 git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B 然后执行命令进入刚刚的下载目录
cd DeepSeek-R1-Distill-Qwen-32B 开始下载模型文件
wget https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B/resolve/main/model-00001-of-000008.safetensors?downloadtrue 我选择的32B模型一共8个模型文件等待一一下子结束。
6.启动LLaMA-Factory WebUI界面
进入之前LLaMA-Factory下载目录。我下载到了桌面你需要根据自己的目录进行调整
cd ~/Desktop/LLaMA-Factory
CUDA_VISIBLE_DEVICES0 python src/webui.py
出现上面的报错才想起来我之前重新了虚拟机需要重新激活虚拟环境。
conda activate llama_factory
再次执行启动WebUI命令
CUDA_VISIBLE_DEVICES0 python src/webui.py 启动成功 到此微调环境以及搭建完毕接下来我们就可以整理训练数据集开始训练了。
- 上一篇: 网站初期建设宣传示范校建设专题网站
- 下一篇: 网站创建风格中山网站推广






