LLaMA Factory框架微调GLM-4大模型
择要:本论文详细论述了在 Ubuntu 24.04 系统环境下,使用 LLaMA Factory 框架对 GLM - 4 - 9B - Chat 模型举行微调的全过程及其成果。首先介绍了实验环境的设置,包罗 A10 显卡、nvidia 驱动版本 550、python 3.12 环境以及 CUDA 12.0 版本,并安装了 conda 和 git 等必要工具。接着深入探究了 LLaMA Factory 框架的部署步调,通过 git 克隆堆栈并安装相干依靠后成功启动 webui 服务以便举行后续操作。在模型微调阶段,论述了获取 GLM - 4 - 9B - Chat 模型的两种方式,即直接 git 克隆或使用 modelscope 下载。之后对语言设置、模型路径、训练数据集等关键参数举行了调解与定制,此中训练数据集通过修改 identity.json 文件来适配特定需求。经过多轮训练并公道设置训练轮数,完成训练后选择检查点路径输出结果。最后通过加载微调后的模型举行提问测试,结果表明模型已成功被微调并在回答中体现出对训练数据的学习与应用,本研究为大模型的个性化定制与优化提供了具有参考代价的实践范例与技术思路,有助于推动大模型在特定范畴或使命中的应用拓展与性能提升。关键词:LLaMA Factory;GLM - 4 - 9B - Chat;模型微调;大模型优化
一、弁言
随着人工智能技术的飞速发展,大模型在自然语言处理等众多范畴展现出强大的本领。然而,通用大模型在特定使命或范畴中的体现往往需要进一步优化以满意个性化需求。模型微调作为一种有效的手段,能够使用特定命据对大模型举行顺应性训练,从而提升其在特定场景下的性能。本文聚焦于在特定系统环境下,运用 LLaMA Factory 框架对 GLM - 4 - 9B - Chat 模型举行微调的实践与研究。
二、GLM4概述
GLM-4(General Language Model 4)是由百度推出的最新一代大规模语言模型,继承了前代模型的优势,并在多个方面举行了提升。它在自然语言处理(NLP)使命中的体现更加优越,能够处理更复杂的语言理解与生成使命。以下是GLM-4的一些关键性能概述:
1. 加强的语言理解与生成本领
GLM-4相比于前代模型,在语言理解与生成使命上都有显著的提升。它能够更好地理解复杂的上下文和隐含意义,生成的文本更加自然且符合语境。
2. 大规模预训练
GLM-4是基于大规模的预训练数据举行训练的。通过海量的语料库,模型可以有效学习多种语言特征、词汇、语法和语义关系,能够顺应各种范畴的应用场景。
3. 多模态本领
GLM-4支持多模态输入(如文本、图片等)的处理,能联合不同范例的信息举行理解和生成,这使得它在多模态学习范畴的体现尤为突出。
4. 更强的推理本领
GLM-4的推理本领较前代模型有所提升,能够处理更复杂的推理使命,而且能够举行多轮对话和长文本推理,生成公道且连贯的结论。
5. 跨语言本领
作为一款多语言预训练模型,GLM-4不但能够处理中文,还能高效地处理多种其他语言(如英文、日文、韩文等)。在跨语言使命上,GLM-4能够体现出较好的顺应性和性能。
6. 高效的计算架构
GLM-4采用了更高效的计算架构和优化算法,在训练和推理阶段都能够显著提高速率,降低资源消耗。通太过布式训练技术,GLM-4能够使用大规模计算资源,处理复杂使命时依然能够保持较低的延迟。
7. 知识图谱与推理联合
GLM-4不但能够依靠预训练的数据举行语言生成,还能够与外部的知识库、知识图谱举行有效联合。通过这一机制,模型能够更好地理解和推理各种究竟性问题。
三、实验环境设置
(一)硬件与系统
实验采用 Ubuntu 24.04 操作系统,配备 A10 显卡,nvidia 驱动版本为 550,以提供强大的计算本领支持模型训练与微调过程中的复杂运算。
(二)软件环境
[*]Python 环境选用 3.12 版本,以满意相干依靠库的兼容性要求。
[*]安装 CUDA 12.0 版本,确保与显卡驱动协同工作,加速模型计算过程。
[*]引入 conda 作为环境管理工具(虽可不用,但有助于管理复杂的依靠关系),同时安装 git 工具以便获取相干代码与模型资源。
四、LLaMA Factory 框架部署
1. LLaMA Factory概述:
(一)LLaMA Factory 是一个开源的框架,旨在为研究人员和开发者提供高效、灵活的工具,用于训练、优化和部署 LLaMA 系列大型语言模型。LLaMA(Large Language Model Meta AI)是 Meta(前 Facebook)推出的一系列语言模型,设计目的是推动自然语言处理(NLP)范畴的创新。LLaMA Factory 作为与 LLaMA 模型紧密联合的训练框架,提供了极为高效的训练方法,并能够在多种硬件平台上运行,资助开发者快速实现大规模模型的训练和应用。
(二)核心特点
高效的训练本领
LLaMA Factory 支持分布式训练,能够处理海量数据集,并充分使用现代硬件资源(如GPU和TPU)举行大规模并行计算。它优化了训练过程中的数据并行和模型并行处理,能够显著提高训练速率,而且支持混合精度计算,以减少内存消耗,提高计算效率。
模块化设计
框架的设计高度模块化,允许开发者灵活定制训练流程中的各个部分。无论是在数据预处理、模型布局调解、丧失函数设计,照旧优化算法的选择,LLaMA Factory 都提供了丰富的设置选项,便于个性化的研究和应用需求。
集成先辈优化算法
LLaMA Factory 内置了多种先辈的优化算法,如 Adam、LAMB 等,可以主动调治训练过程中的学习率,从而提高训练的稳定性和收敛速率。这些优化算法能够在不同规模的训练使命中提供高效的性能,并确保模型训练过程中不会出现过拟合或梯度爆炸等常见问题。
硬件平台支持
该框架支持多种硬件平台,包罗 GPU、TPU 等,能够灵活地在本地服务器、云计算平台或大规模集群上举行训练。如许,开发者可以根据计算资源的可用性来选择最佳的训练方案,最大化使用硬件资源。
开源与社区支持
LLaMA Factory 是一个开源项目,全部代码都可以自由访问和修改。这意味着,开发者可以根据自己的需求对框架举行扩展和优化。别的,LLaMA Factory 拥有一个活跃的社区,用户可以通过到场贡献代码、报告问题和分享履历,不断推动框架的发展和完善。
2.部署过程
(一)堆栈克隆
在创建的极新目录中,实行命令 “git clone --depth 1 GitHub - hiyouga/LLaMA-Factory: Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)”,将 LLaMA Factory 框架的代码堆栈克隆到本地,随后进入该目录。
(二)依靠安装
运行 “pip install -e "."” 命令,安装框架运行所需的依靠项,包罗与 PyTorch 相干的组件以及用于评估模型性能的指标计算库等,为后续框架的正常运行奠定底子。
(三)启动服务
实行 “llamafactory-cli webui” 命令启动 LLaMA Factory 的 webui 服务,成功启动后可通过 “http://ip:7860” 举行访问,从而进入可视化的模型微调操作界面。
https://i-blog.csdnimg.cn/direct/178f0c0d52134db58108c784ea1f0c5d.png(四)修改语言
https://i-blog.csdnimg.cn/direct/2c206cf04c0d4bdcaa71efb6062f2e00.png(五)选择模型
https://i-blog.csdnimg.cn/direct/27fd554e2e3b430c945fe5f8450937f3.png(六)修改路径
https://i-blog.csdnimg.cn/direct/80ca603eaba74995a759f957c4e66e0a.png(七)修改训练数据集
https://i-blog.csdnimg.cn/direct/ce1e7e0d796c42049aa9130464b6c95a.png(八)选择数据集
https://i-blog.csdnimg.cn/direct/55dd55cea15e4729a1e6988a519a85bf.png(九)开始训练
https://i-blog.csdnimg.cn/direct/1e19b4f26b614e3882b8331f42c73616.png(十)选择检查点
https://i-blog.csdnimg.cn/direct/aaf06be071ca44f9a801c0c477065262.png(十一)加载模型
https://i-blog.csdnimg.cn/direct/fa30bd97aedf457cb3c25c9ba64b327b.png(十二)发送问题
https://i-blog.csdnimg.cn/direct/f203cf97d69c468897da4b5ea1d12e4b.png(十三)查看结果
https://i-blog.csdnimg.cn/direct/3c9df61f2deb4262b79ee5bfa19f8c7b.png
五、模型微调过程
(一)模型预备
[*]下载方式
[*]直接使用 git 下载:实行 “git clone 魔搭社区” 命令,将 GLM - 4 - 9B - Chat 模型代码堆栈克隆到本地。
[*]使用 modelscope 下载:首先安装 modelscope 库(“pip install modelscope”),然后通过 “modelscope download --model ZhipuAI/glm-4-9b-chat-hf./” 命令将模型下载到当前目录。
[*]模型选择
在 LLaMA Factory 的 webui 界面中,可看到支持多种模型的微调,从中选择 GLM - 4 - 9B - Chat 模型作为本次微调的目的模型,并将模型路径修改为下载的模型所在路径。
(二)数据集处理
[*]语言修改
将模型语言先设置为中文,以顺应特定的语言应用场景需求。
[*]数据集定制
[*]数据集文件位于 “data/identity.json”,通过 vim 编辑器打开该文件,将 “{ {name}}” 和 “{ {author}}” 替换为符合自身需求的数据,从而定制训练数据集内容,使其与期望的模型输出风格和知识范畴相匹配。
[*]选择数据集时,可看到 webui 界面中汇总了启动目录下 data 目录中的.json 文件作为可选择的数据集泉源,从中选择定制好的数据集用于模型训练。
(三)训练与结果获取
[*]训练设置
选择数据集后,将训练轮数调解到 10 左右,以确保模型能够充分学习训练数据中的特征与模式,制止因训练不足导致结果不显著。随后启动训练过程,框架将依据设定的参数和数据集对 GLM - 4 - 9B - Chat 模型举行微调训练。
[*]检查点选择
训练完成后,在 webui 界面中选择检查点路径,该路径即为微调后模型输出结果的存储路径,通过公道选择检查点,可以获取性能较优的微调模型版本。
[*]模型加载与测试
加载微调后的模型,并向其发送问题,如 “问问他是谁”,查看模型的回答结果,以评估模型是否成功被微调并到达预期的性能提升结果。
六、结论
本研究成功在 Ubuntu 24.04 系统下,借助 LLaMA Factory 框架对 GLM - 4 - 9B - Chat 模型举行了微调操作。通过经心设置实验环境、部署框架、预备模型与定制数据集,并举行公道的训练设置与结果获取,终极得到了能够在特定使命上体现出优化性能的微调后模型。这一实践过程为大模型在特定范畴或使命中的个性化定制提供了详细的技术参考与实践履历,有助于进一步推动大模型在实际应用中的深入发展与广泛应用,未来可进一步探索不同参数设置、数据集规模与质量等因素对模型微调结果的影响,以实现更高效、精准的大模型优化目的。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]