2026/4/18 7:36:29
网站建设
项目流程
网站建设开发软件,亚马逊aws wordpress,南通网站建设祥云,海外网络推广公司本文详细介绍了使用LLaMAFactory工具包微调Qwen2.5-7B-Instruct大语言模型的完整流程#xff0c;包括PyTorch环境配置、模型下载、数据集准备、LoRA微调技术、显存优化、模型测试及导出部署等关键步骤。通过unsloth优化技术和4位量化#xff0c;显著降低显存需求#xff0c;…本文详细介绍了使用LLaMAFactory工具包微调Qwen2.5-7B-Instruct大语言模型的完整流程包括PyTorch环境配置、模型下载、数据集准备、LoRA微调技术、显存优化、模型测试及导出部署等关键步骤。通过unsloth优化技术和4位量化显著降低显存需求最终可将微调模型转换为GGUF格式并通过Ollama部署实现资源受限环境下的高效大模型定制化应用。一、安装Pytorch检查GPU计算能力在开始微调之前首先需要确认GPU的计算能力因为不同架构的GPU对PyTorch版本有不同要求。计算能力是NVIDIA GPU的一个重要指标它决定了GPU支持的CUDA功能和性能特性。nvidia-smi --query-gpucompute_cap --formatcsv import torch print(fCUDA available: {torch.cuda.is_available()}) print(fCUDA version: {torch.version.cuda}) print(fGPU device: {torch.cuda.get_device_name()}) print(fGPU capability: {torch.cuda.get_device_capability()})第一行命令直接查询GPU的计算能力版本而Python代码则通过PyTorch库来检测CUDA的可用性、版本信息以及具体的GPU设备能力。这些信息对于后续选择合适版本的PyTorch至关重要。匹配PyTorch版本根据GPU计算能力选择合适的PyTorch版本是非常重要的因为不匹配的版本可能导致性能下降甚至无法正常运行。不同的GPU架构有着不同的计算能力要求下面根据GPU计算能力选择合适的PyTorch版本计算能力 7.0 (如 Maxwell架构)使用较老版本计算能力 7.x (Volta/Turing)PyTorch 1.8计算能力 8.x (Ampere)PyTorch 1.10计算能力 9.x (Ada Lovelace)PyTorch 2.0这个匹配关系基于NVIDIA官方对不同架构GPU的CUDA支持情况。较新的GPU架构需要更新版本的PyTorch来充分发挥其性能优势而老架构的GPU如果使用过新的PyTorch版本可能会出现兼容性问题。重新安装合适版本的PyTorch如果当前安装的PyTorch版本与GPU计算能力不匹配需要重新安装合适版本。这个过程包括卸载现有版本和安装新版本两个步骤# 卸载当前版本 pip uninstall torch torchvision torchaudio # 从官方选择合适版本https://pytorch.org/get-started/locally/ pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126在重新安装时建议访问PyTorch官方网站获取最新的安装命令确保安装的版本与CUDA版本完全匹配。正确的版本匹配可以保证深度学习训练过程的稳定性和性能表现。二、安装LLaMAFactoryLLaMA-FactoryLLaMA-Factory是一个专门用于微调大语言模型的工具包它提供了丰富的微调选项和便捷的操作接口。安装过程相对简单git clone -b v0.8.1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e .[torch,metrics]这里使用-b v0.8.1指定了版本号确保使用稳定的发布版本。pip install -e .命令以可编辑模式安装方便后续的开发和调试。[torch,metrics]表示同时安装PyTorch和相关评估指标依赖。unsloth的显存优化机制为了在资源受限的环境中运行大模型LLaMA-Factory集成了unsloth优化技术这可以显著降低训练过程中的显存占用如果要降低显存占用建议按照以下步骤操作安装liger_kernel 0.5.2版本 在配置中同时启用enable_liger_kernel和use_unsloth_gc选项 无需单独安装unsloth包unsloth通过优化内存管理和计算图来减少显存使用特别适合在消费级GPU上进行大模型微调。liger_kernel是其中的核心组件提供了底层的内存优化功能。三、下载模型模型下载是微调过程中的关键步骤需要确保下载正确的模型文件和权重模型安装目录/data/models/Qwen/Qwen2.5-7B-Instruct 可以使用 git lfs 下载 # 安装并初始化 git-lfs apt install git-lfs -y git lfs install # 下载模型 git lfs clone https://www.modelscope.cn/qwen/Qwen2.5-7B-Instruct.git由于大语言模型文件体积很大必须使用Git LFSLarge File Storage来管理。Qwen2.5-7B-Instruct是一个70亿参数的中英双语指令调优模型适合进行进一步的领域适配微调。如果机器的GPU配置不够强可以下载参数低一些的版本。四、数据集内置数据集LLaMA-Factory提供了内置的数据集支持简化了数据准备过程1.1 准备数据集文件json 格式存放到 data 目录下。1.2 注册数据集将 json 文件注册到 data 目录下的 dataset_info.json 文件。1.3 LLaMA-Factory 内置了一些数据集本次就使用内置的 identity 数据集用于修改模型的自我意识。1.4 把 identity.json 里面占位符替换成自己的内容。sed -i s/{{name}}/XX智能助手/g; s/{{author}}/XX科技/g data/identity.jsonidentity数据集主要用于修改模型的身份认知通过替换占位符可以自定义助手的名称和所属机构。使用sed命令进行批量替换是一种高效的方式。数据集注册数据集注册是将自定义数据集纳入LLaMA-Factory管理的重要步骤2.1 identity 是内置数据集已经注册好了可以跳过这步。2.2 将数据集移动到 data 目录下2.3 修改 dataset_info.json 注册数据集dataset_info.json 就是所有数据集的一个集合对于非内置数据集需要在dataset_info.json文件中添加数据集的元信息包括文件路径、格式说明等这样训练时才能正确加载和使用数据集。五、微调基本基本微调配置提供了最基础的训练参数设置llamafactory-cli train \ --model_name_or_path /data/models/Qwen/Qwen2.5-7B-Instruct \ --stage sft \ --do_train True \ --finetuning_type lora \ --template qwen \ --dataset identity \ --output_dir ./saves/lora/sft \ --learning_rate 0.0005 \ --num_train_epochs 8 \ --cutoff_len 4096 \ --logging_steps 1 \ --warmup_ratio 0.1 \ --weight_decay 0.1 \ --save_total_limit 1 \ --save_steps 256 \ --seed 42 \ --data_seed 42 \ --lr_scheduler_type cosine \ --overwrite_cache \ --preprocessing_num_workers 16 \ --plot_loss \ --overwrite_output_dir \ --per_device_train_batch_size 1 \ --gradient_accumulation_steps 2 \ --fp16这个配置使用了LoRALow-Rank Adaptation微调方法这是一种参数高效的微调技术只训练少量的额外参数而不是整个模型。学习率调度器使用cosine衰减训练过程中会记录损失曲线以便监控训练效果。使用 unsloth当启用unsloth优化时可以进一步调整参数以获得更好的显存效率llamafactory-cli train \ --stage sft \ --do_train True \ --model_name_or_path /data/models/Qwen/Qwen2.5-7B-Instruct \ --preprocessing_num_workers 16 \ --finetuning_type lora \ --template qwen \ --flash_attn auto \ --dataset identity \ --cutoff_len 2048 \ --learning_rate 5e-05 \ --num_train_epochs 3.0 \ --max_samples 100000 \ --per_device_train_batch_size 2 \ --gradient_accumulation_steps 8 \ --lr_scheduler_type cosine \ --max_grad_norm 1.0 \ --logging_steps 5 \ --save_steps 10 \ --warmup_steps 0 \ --packing False \ --enable_thinking True \ --report_to none \ --output_dir ./saves/lora/sft \ --bf16 True \ --plot_loss True \ --trust_remote_code True \ --ddp_timeout 180000000 \ --include_num_input_tokens_seen True \ --optim adamw_torch \ --quantization_bit 4 \ --quantization_method bnb \ --double_quantization True \ --lora_rank 16 \ --lora_alpha 32 \ --lora_dropout 0 \ --lora_target all \ --enable_liger_kernel True \ --use_unsloth_gc True这个配置增加了4位量化、梯度累积等优化技术显著降低了显存需求。lora_rank和lora_alpha参数控制了LoRA适配器的容量和缩放因子影响微调的效果和稳定性。查看 LoRA 权重训练完成后可以检查生成的LoRA权重文件ll -lhS ./saves/lora/sft这个命令会列出LoRA权重文件的详细信息包括文件大小和修改时间。LoRA权重通常比完整模型小很多这使得存储和分发变得更加便捷。预测评估使用微调后的模型进行预测评估是验证训练效果的重要环节llamafactory-cli train \ --stage sft \ --do_predict \ --finetuning_type lora \ --model_name_or_path /data/models/Qwen/Qwen2.5-7B-Instruct \ --adapter_name_or_path ./saves/lora/sft \ --template qwen \ --dataset identity \ --cutoff_len 4096 \ --max_samples 20 \ --overwrite_cache \ --overwrite_output_dir \ --per_device_eval_batch_size 1 \ --preprocessing_num_workers 16 \ --predict_with_generate预测评估会在测试集上运行模型并生成回复通过观察生成结果可以直观了解模型微调后的表现变化。权重合并导出为了部署微调后的模型需要将LoRA权重与基础模型合并llamafactory-cli export \ --model_name_or_path /data/models/Qwen/Qwen2.5-7B-Instruct \ --adapter_name_or_path ./saves/lora/sft/ \ --template qwen \ --finetuning_type lora \ --export_dir ./saves/lora/export/ \ --export_size 2 \ --export_device cpu \ --export_legacy_format False权重合并会创建一个独立的模型文件包含了基础模型和微调适配器的所有参数这样可以脱离LLaMA-Factory环境直接使用标准推理引擎加载模型。六、测试原始模型在微调前后对比测试原始模型的表现# 这里使用单卡 python -m vllm.entrypoints.openai.api_server \ --model /data/models/Qwen/Qwen2.5-7B-Instruct \ --served-model-name qwen \ --trust-remote-code # 请求 curl http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen, messages: [ {role: system, content: You are a helpful assistant.}, {role: user, content: 你是谁} ] }使用vLLM推理引擎部署模型并提供OpenAI兼容的API接口这样可以方便地进行测试和集成。原始模型的回答反映了其默认的身份认知。微调模型测试微调后模型的表现变化# 单卡 python -m vllm.entrypoints.openai.api_server \ --model /opt/fine-tune/LLaMA-Factory/saves/lora/export/ \ --served-model-name qwen \ --trust-remote-code # 请求 curl http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen, messages: [ {role: system, content: You are a helpful assistant.}, {role: user, content: 你是谁} ] }通过与原始模型的对比可以清晰看到微调对模型身份认知的改变效果验证微调是否达到了预期目标。多轮对话测试Chat 模式除了API测试还可以使用交互式对话模式进行更全面的测试llamafactory-cli chat --model_name_or_path path_to_export_model这种交互式测试方式可以模拟真实的使用场景检查模型在多轮对话中的表现一致性、上下文理解能力和回复质量。七、转换导入Ollama下载 llama.cpp为了在更多设备上部署模型需要转换为GGUF格式git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp pip install -r requirements.txtllama.cpp是一个高效的C推理框架支持在各种硬件上运行大语言模型特别适合资源受限的环境。转换将合并后的模型转换为GGUF格式# 查看参数 python convert_hf_to_gguf.py -h # 开始转换 python convert_hf_to_gguf.py /opt/fine-tune/LLaMA-Factory/saves/lora/export --outfile /opt/fine-tune/LLaMA-Factory/saves/lora/xxx.gguf --outtype f16 --model-name xxxGGUF是llama.cpp使用的模型格式具有更好的跨平台兼容性和推理效率。f16精度在保持模型质量的同时减少了存储空间需求。导入将转换后的模型导入Ollama进行管理首先建立一个 Modelfile 文件文件内容FROM /opt/fine-tune/LLaMA-Factory/saves/lora/xxx.gguf TEMPLATE |im_start|system {{ .System }}|im_end| |im_start|user {{ .Prompt }}|im_end| |im_start|assistant Modelfile定义了模型的加载配置和对话模板确保模型按照正确的格式处理输入和生成输出。Qwen模型使用特殊的标记格式来区分不同角色。导入模型ollama create sunmao -f Modelfile ollama list ollama show sunmao:latest成功导入后模型就可以通过Ollama进行管理和使用了。Ollama提供了便捷的模型管理、版本控制和API服务大大简化了模型的部署和使用流程。AI时代未来的就业机会在哪里答案就藏在大模型的浪潮里。从ChatGPT、DeepSeek等日常工具到自然语言处理、计算机视觉、多模态等核心领域技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。掌握大模型技能就是把握高薪未来。那么普通人如何抓住大模型风口AI技术的普及对个人能力提出了新的要求在AI时代持续学习和适应新技术变得尤为重要。无论是企业还是个人都需要不断更新知识体系提升与AI协作的能力以适应不断变化的工作环境。因此这里给大家整理了一份《2025最新大模型全套学习资源》包括2025最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题等带你从零基础入门到精通快速掌握大模型技术由于篇幅有限有需要的小伙伴可以扫码获取1. 成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。2. 大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF3. 大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。4. 大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。5. 大模型行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。6. 大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。为什么大家都在学AI大模型随着AI技术的发展企业对人才的需求从“单一技术”转向 “AI行业”双背景。企业对人才的需求从“单一技术”转向 “AI行业”双背景。金融AI、制造AI、医疗AI等跨界岗位薪资涨幅达30%-50%。同时很多人面临优化裁员近期科技巨头英特尔裁员2万人传统岗位不断缩减因此转行AI势在必行这些资料有用吗这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。大模型全套学习资料已整理打包有需要的小伙伴可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】