llama_factory微调QWen1.5

GitHub - hiyouga/LLaMA-Factory: Unify Efficient Fine-Tuning of 100+ LLMsUnify Efficient Fine-Tuning of 100+ LLMs. Contribute to hiyouga/LLaMA-Factory development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/hiyouga/LLaMA-FactoryQwen1.5 介绍 | QwenGITHUB HUGGING FACE MODELSCOPE DEMO WeChat简介 最近几个月,我们专注探索如何构建一个真正「卓越」的模型,并在此过程中不断提升开发者的使用体验。农历新年到来之际,我们推出通义千问开源模型1.5版本: Qwen1.5。我们开源了包括0.5B、1.8B、4B、7B、14B和72B共计6个不同规模的Base和Chat模型,, 以及一个MoE模型(点击博客 了解详情),并同步放出了各尺寸模型对应的量化模型。此次更新中,我们不仅像之前一样提供Int4和Int8的GPTQ模型,还提供了AWQ以及GGUF量化模型。为了提升开发者体验,我们将Qwen1.5的代码正式合并到HuggingFace transformers代码库中,所以现在可以直接使用 transformers>=4.37.0 原生代码,而无需指定 trust_remote_code 选项即可进行开发。我们已经与vLLM、SGLang(用于部署)、AutoAWQ、AutoGPTQ(用于量化)、Axolotl、LLaMA-Factory(用于微调)以及llama.cpp(用于本地 LLM 推理)等框架合作,所有这些框架现在都支持 Qwen1.5。Qwen1.5 系列可在 Ollama 和 LMStudio 等平台上使用。此外,API 服务不仅在 DashScope 上提供,还在 together.ai 上提供,全球都可访问。请访问here开始使用,我们建议您试用Qwen1.5-72B-chat。相较于以往版本,本次更新我们着重提升Chat模型与人类偏好的对齐程度,并且显著增强了模型的多语言处理能力。在序列长度方面,所有规模模型均已实现 32768 个 tokens 的上下文长度范围支持。同时,预训练 Base 模型的质量也有关键优化,有望在微调过程中为您带来更佳体验。这次迭代是我们朝向「卓越」模型目标所迈进一个坚实的步伐。模型效果 为了全面洞悉 Qwen1.5 的效果表现,我们对 Base 和 Chat 模型在一系列基础及扩展能力上进行了详尽评估,包括如语言理解、代码、推理等在内的基础能力,多语言能力,人类偏好对齐能力,智能体能力,检索增强生成能力(RAG)等。基础能力 关于模型基础能力的评测,我们在 MMLU(5-shot)、C-Eval、Humaneval、GS8K、BBH 等基准数据集上对 Qwen1.5 进行了评估。Model MMLU C-Eval GSM8K MATH HumanEval MBPP BBH CMMLU GPT-4 86.4 69.9 92.0 45.8 67.0 61.8 86.7 71.0 Llama2-7B 46.icon-default.png?t=N7T8https://qwenlm.github.io/zh/blog/qwen1.5/

我在4卡1080ti上用lora微调的,1.8B用deepspeed的4卡,bs=1还是会爆显存,因此最终采用了0.5B的版本来训练。

1.数据

新定义的数据格式要在dataset_info.json中,通常我们定义的都是alpaca的格式:

    {"instruction": "三原色是什么?","input": "","output": "三原色通常指的是红色、绿色和蓝色(RGB)。它们是通过加色混合原理创建色彩的三种基础颜色。在以发光为基础的显示设备中(如电视、计算机显示器、智能手机和平板电脑显示屏), 三原色可混合产生大量色彩。其中红色和绿色可以混合生成黄色,红色和蓝色可以混合生成品红色,蓝色和绿色可以混合生成青色。当红色、绿色和蓝色按相等比例混合时,可以产生白色或灰色。\n\n此外,在印刷和绘画中,三原色指的是以颜料为基础的红、黄和蓝颜色(RYB)。这三种颜色用以通过减色混合原理来创建色彩。不过,三原色的具体定义并不唯一,不同的颜色系统可能会采用不同的三原色。"}

在dataset_info.json中注册:

  "alpaca_gpt4_data_zh_retained": {"file_name": "alpaca_gpt4_data_zh.json","file_sha1": ""},"sft_gpt4_livestreaming_data_20240105": {"file_name": "sft_gpt4_data.json","file_sha1": ""}

数据包括:alpaca的通用数据,直播带货文案,商品主题词抽取,场景问答,选择题,客服问答,标题扩展,商品介绍seo,写文章,短标题抽取,小红书文案,根据参数扩写,文章总结,人设。

2.训练

在examples中有很多示例:

qwen1.5-1.8b-sft:

#!/bin/bashdeepspeed --num_gpus 4 ../../src/train_bash.py \--deepspeed ../deepspeed/ds_z3_config.json \--stage sft \--do_train \--model_name_or_path /root/e_commerce_llm/weights/Qwen1.5-0.5B/ \--dataset alpaca_gpt4_data_zh,sft_gpt4_data \--dataset_dir ../../data \--template qwen \--finetuning_type lora \--lora_target q_proj,v_proj  \--output_dir ../../saves/Qwen1.5_0.5B_Base/lora/sft \--overwrite_cache \--overwrite_output_dir \--cutoff_len 1024 \--preprocessing_num_workers 16 \--per_device_train_batch_size 1 \--per_device_eval_batch_size 1 \--gradient_accumulation_steps 2 \--lr_scheduler_type cosine \--logging_steps 10 \--warmup_steps 20 \--save_steps 100 \--eval_steps 100 \--evaluation_strategy steps \--learning_rate 5e-5 \--num_train_epochs 3.0 \--max_samples 3000 \--val_size 0.1 \--ddp_timeout 180000000 \--plot_loss

1080ti不支持fp16,去掉了。

3.lora合并

#!/bin/bash
# DO NOT use quantized model or quantization_bit when merging lora weightsCUDA_VISIBLE_DEVICES=0 python ../../src/export_model.py \--model_name_or_path /root/lgd/e_commerce_llm/weights/Qwen1.5-0.5B/ \--adapter_name_or_path /root/lgd/e_commerce_llm/llama_factory/saves/Qwen1.5_0.5B_Base/lora/sft/ \--template qwen \--finetuning_type lora \--export_dir ../../models/qwen1.5_0.5B_base_sft \--export_size 2 \--export_legacy_format False

4.前向推理

inference下的sh

#!/bin/bashCUDA_VISIBLE_DEVICES=0 python ../../src/cli_demo.py \--model_name_or_path /root/lgd/e_commerce_llm/weights/Qwen1.5-0.5B/ \--adapter_name_or_path /root/lgd/e_commerce_llm/llama_factory/saves/Qwen1.5_0.5B_Base/lora/sft/ \--template qwen \--finetuning_type lora

5.结论

我在自己的数据集上用lora微调了qwen-0.5B-Base和qwen-0.5B-Chat:

5.1 效果都不太好;

5.2 base版本出现过很多和提问无关的内容;

5.3 就人格注入来讲,chat一点都注入不进去,但base版本好很多;

5.4 推理显存占用1080ti没问题;

5.5 base版本会不断重复内容;

5.6 chat版本也会不断重复内容;

感觉微调之后chat版本还差一点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/820376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uds socket

UDS通讯过程_uds socket-CSDN博客 Unix domain socket又叫 UDS或者IPC套接字,属于进程间通信的一种。用于在同一主机操作系统上执行的进程之间交换数据。 它由地址族引用 AF_UNIX。 UDS中有效的套接字类型是: SOCK_STREAM:面向流的套接字 …

设计模式代码实战-装饰者模式

1、问题描述 小明喜欢品尝不同口味的咖啡,他发现每种咖啡都可以加入不同的调料,比如牛奶、糖和巧克力。他决定使用装饰者模式制作自己喜欢的咖啡。 请设计一个简单的咖啡制作系统,使用装饰者模式为咖啡添加不同的调料。系统支持两种咖啡类型…

Ollama、FastGPT大模型RAG知识库结合使用案例

参考: https://ollama.com/download/linux https://doc.fastai.site/docs/intro/ https://blog.csdn.net/m0_71142057/article/details/136738997 https://doc.fastgpt.run/docs/development/custom-models/m3e/ https://concise-eater-d47.notion.site/Ollama-Fastgpt-b170…

优惠券布局的最终方案------css属性mask

先贴图&#xff1a; 以上这些都是通过mask去实现出来&#xff1a; <!DOCTYPE html><html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

华为配置通过流策略实现流量统计

配置通过流策略实现流量统计示例 组网图形 图1 配置流策略实现流量统计组网图 设备 接口 接口所属VLAN 对应的三层接口 IP地址 SwitchA GigabitEthernet1/0/1 VLAN 10 - - GigabitEthernet1/0/2 VLAN 20 - - GigabitEthernet1/0/3 VLAN 10、VLAN 20 - - S…

基于Python网络招聘数据可视化分析系统的设计与实现

基于Python网络招聘数据可视化分析系统的设计与实现 Design and Implementation of Python-based Network Recruitment Data Visualization Analysis System 完整下载链接:基于Python网络招聘数据可视化分析系统的设计与实现 文章目录 基于Python网络招聘数据可视化分析系统的…

【AIGC调研系列】原生多模态大模型Mini-Gemini的优势

香港中文大学的原生多模态大模型Mini-Gemini具有以下优势&#xff1a; 兼容性和高效性&#xff1a;Mini-Gemini能够兼容各种大型语言模型&#xff08;LLMs&#xff09;&#xff0c;参数范围从2B到34B&#xff0c;实现了高效的任意推断。这一设置使Mini-Gemini在零样本基准测试…

本地搭建属于你自己的AI搜索引擎 支持多家AI模型

FreeAskInternet 是一个完全免费、私有且本地运行的搜索聚合器&#xff0c;并使用 MULTI LLM 生成答案&#xff0c;无需 GPU。用户可以提出问题&#xff0c;系统将进行多引擎搜索&#xff0c;并将搜索结果合并到LLM中&#xff0c;并根据搜索结果生成答案。全部免费使用。 项目…

全排列(函数法)

全排列 1.next_permutation( ) 和 prev_permutation( ) 函数 1&#xff09;next_permutation( ) 函数 next_permutation( ) 函数用于判断当前序列是否存在按照字典序变得更大一级的下一个序列并变为它&#xff1b;此函数会按照字典序进行重新排列&#xff0c;如果存在下一个序…

数字孪生助力平交道口拆除,推动可持续交通计划

Bentley 的数字孪生技术助力优化材料的使用&#xff0c;节约时间 15%&#xff0c;降低碳排放量 30% 改变公共交通和社区的连通性 维多利亚州的平交道口拆除项目目标是到 2030 年拆除墨尔本 110 个平交道口&#xff0c;这是该州历史上最重要的铁路基础设施项目之一。该项目不仅…

NLP和LLMs: 理解它们之间的区别

NLP&#xff08;自然语言处理&#xff09;和LLMs&#xff08;大型语言模型&#xff09;都与处理自然语言相关&#xff0c;但它们的重点和范围略有不同。 自然语言处理&#xff08;NLP&#xff09;&#xff1a; 定义&#xff1a; 自然语言处理&#xff08;NLP&#xff09;是人…

面试算法-173-二叉树的直径

题目 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 示例 1&#xff1a; 输入&#xff1a;root [1,2,3,4,…

学习 Rust 的第三天:如何编写一个猜数字的游戏

欢迎来到学习 Rust 的第三天&#xff01;我参考的是 Steve Klabnik 的《Rust 编程语言》一书。今天我们要用 Rust 来制作一个猜数字的游戏。 引言 我们将创建一个游戏&#xff0c;它会在 1 到 100 之间随机选择一个数字&#xff0c;用户需要猜出这个数字&#xff0c;猜对了就…

什么是UX设计?

在这个先进的世界中&#xff0c;大城市都被称之为科技之都&#xff0c;在那里&#xff0c;你会经常发现人们在谈论各种应用程序的设计。如果你对应用程序设计有浓烈的兴趣&#xff0c;那你应该去了解一下它的两个基本方面&#xff0c;也就是 UX 设计和 UI 设计。UX 设计旨在处理…

《中医病证分类与代码》-中医疾病分类数据库

《中医病症分类与代码》由国家中医药管理局2020年底修订&#xff0c;目的是为中医疾病及证候的分类提供统一的规范。规定2021年起&#xff0c;各中医机构的临床科室及基层中医药的医师都应按照最新修订的《中医病症分类与代码》规范来填报病案及病历。 中医病证分类与代码数据库…

探索C# 11与.NET 7:入门指南与跨平台开发

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

【代码随想录算法训练营第五十五天 | LeetCode392.判断子序列 、115.不同的子序列】

代码随想录算法训练营第五十五天 | LeetCode392.判断子序列 、115.不同的子序列 一、392.判断子序列 解题代码C&#xff1a; class Solution { public:bool isSubsequence(string s, string t) {vector<vector<int>> dp(s.size() 1, vector<int>(t.size()…

正则表达式(Regular Expression)

正则表达式很重要&#xff0c;是一个合格攻城狮的必备利器&#xff0c;必须要学会&#xff01;&#xff01;&#xff01; &#xff08;参考视频&#xff09;10分钟快速掌握正则表达式&#xff08;奇乐编程学院&#xff09;https://www.bilibili.com/video/BV1da4y1p7iZ在线测试…

算法4:x的平方根

在不使用 sqrt(x)函数的情况下&#xff0c;得到x的平方根的整数部分 重点考察:二分法、牛顿迭代 暴力法&#xff1a; public class Test4 {public static void main(String[] args){int a 80;for (int i1;i*i<a;i){if(i*i8){System.out.println(i);}if(i*i<a &&am…

C++进阶学习:C++11特性

C11是C语言的一个重要版本&#xff0c;引入了许多新的特性和改进。接下来进行这些新特性的学习&#xff01; 1.nullptr的引入 在C语言中&#xff0c;NULL表示空地址。而C中NULL被定义为字面量0。 这里我们通过打印x的类型名&#xff0c;发现NULL的类型名是int&#xff0c;而对…