掘金 人工智能 06月24日 15:04
魔塔+LLaMa Factory 零基础体验模型微调
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文分享了使用魔塔平台和LLaMA Factory微调语言模型的实践过程,即使是文科生也能轻松上手。文章详细介绍了从构建免费实例、下载模型、引入数据集、开始训练,到测试聊天、导出模型、转化模型格式以及最终使用模型的完整流程。通过这个简化的流程,读者可以对模型微调有一个基本的了解,为后续的面试或项目沟通打下基础。

💻 **构建免费实例与环境配置:** 首先,文章指导用户在modelscope.cn上关联阿里云账号,选择GPU环境,并等待实例创建完成。随后,通过终端进行操作,包括克隆LLaMA-Factory代码仓库、创建虚拟环境、安装依赖等。安装依赖过程可能需要较长时间,用户需要耐心等待。

📚 **下载模型与数据集:** 接着,文章引导用户下载Qwen2.5-0.5B-Instruct模型,并创建模型文件夹。然后,介绍了售后数据集的下载与预处理,将原始数据集转换为JSON格式,以便后续训练使用。数据集的预处理是确保训练顺利进行的关键步骤。

🚀 **训练配置与模型测试:** 在训练环节,文章详细说明了训练配置的设置,包括数据集的选择和模型路径的指定。训练完成后,通过测试聊天功能,检验模型是否成功学习了训练数据。虽然由于数据集和模型大小的限制,效果可能有限,但基本流程得以验证。

🔄 **模型导出与格式转换:** 随后,文章介绍了模型的导出,并将导出目录命名为outputmodel。接着,通过llama.cpp工具将模型格式转换为gguf格式,以便在本地使用。这一步骤为后续的本地模型部署做好了准备。

💬 **本地模型使用体验:** 最后,文章演示了如何在jan.ai上使用转换后的gguf模型。通过导入模型并启动,用户可以在本地体验微调后的模型效果,尽管由于数据集的简单性,效果可能较为有限,但整个流程体验完整。

哈喽大家好,我是阿星!

我们天天说微调微调,微调到底是啥感觉?

我们今天用魔塔+LLaMa Factory 体验微调一个模型

文科生也能跑完,不用考虑你自己电脑的配置,云上的。微调完我们还会引入到本地直接对话。

走一下最基本的简化流程,

之后不管是面试还是项目沟通中都可以大概心里有个数了。

1、构建免费实例

打开:modelscope.cn/my/mynotebo…

关联阿里云账号后,选第二个gpu环境👇

注意这个实例过一段时间就会释放,不要保存你重要的数据。到时候就没了。

两三分钟后,点击查看notebook

长这样,这些大图标就是你的软件,侧边栏就是文件夹,下面的💵符号logo,是终端。相当于在云端给你装了个电脑。

打开终端,

打开之后你存进去的内容都是持久化存储。关闭只是停止计时了。

2、下载模型、创建模型文件夹

接着下载模型,安装依赖。我们只用复制不带#的代码就可以了。

安装依赖的环节会等待大概20分钟,不用怀疑,它没坏,需要你等待时间比较长而已。

# 克隆LLaMA-Factory代码仓库到本地git clone https://github.com/hiyouga/LLaMA-Factory.git# 进入项目目录cd LLaMA-Factory#创建虚拟环境python -m venv .venv#激活虚拟环境source .venv/bin/activate# 安装依赖pip install -e ".[torch,metrics]"# 环境冲突用这个解决 `pip install --no-deps -e .`

如果出现红色的error就更新下依赖

pip install --upgrade pip

会看到已经开始下载了,左边也多了一个文件夹。

看到这里的时候基本就已经装完了。

右键并命名为 models,并下载新模型到这个文件夹里

git clone https://www.modelscope.cn/Qwen/Qwen2.5-0.5B-Instruct.git

3、引入数据集

我们以售后数据集为例:

下载数据集:modelscope.cn/datasets/me…

下载之后打开你会发现它不是典型的json格式

所以我们需要预处理一下。我们让ds直接处理成json就好。保存文件名为train_converted.json 。

保存文件名为train_converted.json 。

因为系统自带dataset_info.json等于说是train_converted.json数据集等的索引。所以我们只用把后者写入前者就可以了。

4、开始训练

设置一下训练配置,照着下面填就可以,注意数据集选择train_converted.json

另外,模型路径需要是你自己的路径,不要直接抄,需要检查一下是否和你真实的文件路径是同一个。

依次点击这三个。

模型就开始嘎嘎给你训练

你就可以看到模型损失曲线了——

模型损就是失衡量预测与真实值的误差,

训练目标是最小化损失;但并非越小越好。

5、测试聊天

接着我们切换到chat,试试模型有没有记住我们刚才提供的数据。

接下来我们就点击检查点路径👉chat👉加载模型

接着我们就可以看到它的回答是基于我们的训练数据的(咱们这个样本数据太少了加上模型尺寸会受影响,只是举个例子)

总体上姑且认为它训练成功了。

6、导出模型

导出目录一定命名为outputmodel,因为我第七步代码里用了这个名字

导出成功后再看notebook就会发现多了一个文件夹

7、转化模型格式

依次执行

cd /mnt/workspace/LLaMA-Factorygit clone https://github.com/ggerganov/llama.cpp.gitcd llama.cpp/gguf-pypip install --editable .

执行完了之后就会多一个cpp文件夹

首先会到LLaMA-Factor下面创建一个叫

megred-model-path的文件夹

然后回到llma.cpp文件路径下,一次性复制下面三行代码运行

python convert_hf_to_gguf.py /mnt/workspace/LLaMA-Factory/outputmodel \ --outfile /mnt/workspace/LLaMA-Factory/megred-model-path \ --outtype q8_0

他就会直接给你保存到/mnt/workspace/LLaMA-Factory/llama.cpp

右键下载就可以了

8、使用模型

打开jan.ai/,它可以直接使用模型

setting👉 Molde Provider 👉import一下就可以了

选择刚刚下载的gguf,点击start

效果非常沙雕,毕竟咱们就一个非常简单的数据集。如果你不训练,这里回答的将会是千问自定义的回答。

ok,这就是我们模型预训练最最最简单的一个最最最简陋的一个流程体验。

之后不管是面试还是项目沟通中都可以大概心里有个数了。

我是阿星,我们下期再见!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

LLaMA 微调 模型训练 云端 实践
相关文章