“columns”: {
“prompt”: “instruction”,
“query”: “input”,
“response”: “output”,
}}
}
这个文件是用来加载训练数据的配置文件,格式就是这个样子如果想要替换训练数据new_train.json那么格式如下:
{
“new_train”: {
“file_name”: “new_train”,
“columns”: {
“prompt”: “instruction”,
“query”: “input”,
“response”: “output”,
}}
}
columns中的值如果训练数据不变也不需要变,那么训练数据格式什么样子呢
train.json:
[
{
“instruction”: “我们如何在日常生活中减少用水?”,
“input”: “”,
“output”: “1. 使用节水装置,如节水淋浴喷头和水龙头。 \n2. 使用水箱或水桶收集家庭废水,例如洗碗和洗浴。 \n3. 在社区中提高节水意识。 \n4. 检查水管和灌溉系统的漏水情况,并及时修复它们。 \n5. 洗澡时间缩短,使用低流量淋浴头节约用水。 \n6. 收集雨水,用于园艺或其他非饮用目的。 \n7. 刷牙或擦手时关掉水龙头。 \n8. 减少浇水草坪的时间。 \n9. 尽可能多地重复使用灰水(来自洗衣机、浴室水槽和淋浴的水)。 \n10. 只购买能源效率高的洗碗机和洗衣机。”
},
{
“instruction”: “编辑文章,使其更吸引读者。”,
“input”: “自主机器人是计算机控制的机器,被编程执行特定任务而不需要任何人类输入。自主机器人在各个行业中被越来越广泛地应用,从制造业到医疗保健再到安全。”,
“output”: “自主机器人是计算机控制的机器,被编程执行特定任务而不需要任何人类输入,从而实现了新的效率、精确度和可靠性水平。自主机器人在各个行业中被越来越广泛地应用,从制造业,它们可以使用精度和一致的质量组装复杂的组件,到医疗保健,可以协助进行医疗测试和处理,再到安全,可以监控大面积地区,保障人们和财产的安全。自主机器人还可以减少在危险或有害环境中的错误和增加安全,在工业流程的检查或维修期间等。由于其多样性,自主机器人将彻底改变我们工作方式的方式,使任务变得更加简单、快速,最终更加愉悦。”
},
{
“instruction”: “政府可以采取哪些策略来减少空气污染?”,
“input”: “”,
“output”: “1. 实施强制的车辆排放标准和基于激励的计划,以降低车辆的碳足迹。\n2. 增加公共交通工具,减少公众对车辆的依赖。\n3. 增加对空气污染的影响的认识,鼓励市民减少污染物的生成。\n4. 投资于可再生能源的研究和开发,如太阳能和风能。\n5. 在工厂和发电厂安装空气污染控制装置,例如洗涤器。\n6. 对车辆和工厂使用清洁燃料。\n7. 实施更好的城市规划和控制拓展。\n8. 改善农业效率,减少化肥和杀虫剂的使用。\n9. 种植更多的树木以减少空气污染。\n10. 减少木材、煤炭和生物质的燃烧。”
},
{
“instruction”: “可再生能源的存在对环境有什么影响?”,
“input”: “”,
“output”: “可再生能源的存在可以帮助减少空气污染和温室气体排放,因为它们几乎不会排放二氧化碳、二氧化硫等空气污染物。此外,使用可再生能源可以促进能源效率的进一步提高和能源利用的改善。可再生能源也可以帮助减少对化石燃料的依赖,这不仅可以减少排放,而且还可以帮助减少全球气候变化的风险。最后,可再生能源可以帮助保护自然资源,减少为了能源生产而开发更多土地和资源的需要。”
},
{
“instruction”: “解释神经网络如何学习。”,
“input”: “”,
“output”: “神经网络是一种机器学习算法,它使用连接的节点集合来近似可以将输入变量映射到输出的函数。为了学习神经网络的参数,计算机需要调整节点之间连接的权重,以便网络为给定输入产生正确的输出。这个调整过程称为学习,通过比较网络产生的输出和期望的结果,然后使用优化算法来调整权重,使得网络输出逼近期望的结果。这个过程在多个输入和期望的输出上重复进行多次迭代。最终,连接节点之间的权重将被调整,以便神经网络的输出与期望的结果相匹配,学习过程将完成。”
},
{
“instruction”: “给出一个机器学习算法的例子,并解释它是如何工作的。”,
“input”: “”,
“output”: “一个流行的机器学习算法的例子是支持向量机(SVM)。它是一个用于分类和回归任务的监督学习算法。它通过在n维空间中绘制数据点,由空间中的决策边界或超平面进行分离。该算法使用最大边距,这些边距尽可能远离两类数据点。这些边距有助于创建最优的决策超平面。然后,算法通过考虑分类任务中发生的错误来调整决策超平面,并相应地修改超平面。\n\n最终,支持向量机可以使用最优的决策超平面执行分类任务,预测数据点的类别。”
}]
可以看出我们的训练数据时一个大列表中存在n条字典数据,那么如果自己微调也请输出一个这种的文件,该格式对应官方的 alpaca 格式的数据集,其中是可以件系统提示语,和历史,但是我们微调的话,不建议
其次,如果训练数据中增加字段了system或history,别忘了dataset_info.json中的columns中也要增加 “system”: "system"或 “history”: “history”
炼丹第二步(环境搭建(可跳过))
git clone https://github.com/hiyouga/LLaMA-Factory.git
conda create -n llama_factory python=3.10
conda activate llama_factory
cd LLaMA-Factory
pip install -r requirements.txt
pip install modelscope -U
这里一定要注意python选择大于等于3.10版本,推荐3.10,稳定
使用魔搭社区(可跳过)
如果您在 Hugging Face 模型和数据集的下载中遇到了问题,可以通过下述方法使用魔搭社区。
export USE_MODELSCOPE_HUB=1
炼丹第三步(单GPU训练)
首先,把我们准备的两个json文件放入data文件下 ,dataset_info.json需要覆盖源文件
指令监督微调
CUDA_VISIBLE_DEVICES=0 python src/train_bash.py
–stage sft
–do_train
–model_name_or_path qwen/Qwen1.5-1.8B-Chat
–dataset trian
–template qwen
–finetuning_type lora
–lora_target q_proj,v_proj
–output_dir output
–overwrite_cache
–per_device_train_batch_size 2
–gradient_accumulation_steps 32
–lr_scheduler_type cosine
–logging_steps 10
–save_steps 1000
–learning_rate 5e-5
–num_train_epochs 3.0
–plot_loss
–fp16
这里我使用的是1.5的小参数模型
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
3ab8389e65ecb71ac0)
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算