【大模型】finetune 百川2

使用官网例子finetune百川2,微调脚本如下

模型为baichuan_chat_13B_v1

export CUDA_VISIBLE_DEVICES=1
hostfile=""
deepspeed --hostfile=$hostfile baichuan_fineturn/fine-tune/fine-tune.py  \--report_to "none" \--data_path "baichuan_fineturn/fine-tune/data/risk_ner_baichuan_corpus.json" \--model_name_or_path "../../Baichuan_Inc/Baichuan_Inc/Baichuan" \--output_dir "baichuan_fineturn/risk_ner_output" \--model_max_length 256 \--num_train_epochs 4 \--per_device_train_batch_size 1 \--gradient_accumulation_steps 1 \--save_strategy epoch \--learning_rate 2e-5 \--lr_scheduler_type constant \--adam_beta1 0.9 \--adam_beta2 0.98 \--adam_epsilon 1e-8 \--max_grad_norm 1.0 \--weight_decay 1e-4 \--warmup_ratio 0.0 \--logging_steps 1 \--gradient_checkpointing True \--deepspeed baichuan_fineturn/fine-tune/ds_config.json \--bf16 True \--tf32 False \--use_lora True

微调需要什么数据?

格式如下,放在微调脚本data_path对应的路径下。单轮可自行修改conversations。

[{"id": "5633","conversations": [{"from": "human","value": "写一篇介绍科技的文章,从科技的诞生开始写起。\n"},{"from": "gpt","value": "\n科技在人类历史中扮演着重要的角色。自古以来,人们就通过发明各种工具来提高生产力和生活质量。从最初的石器到现在的高科技设备,科技的发展让人类的生活变得更加便利和丰富。科技的诞生和发展是一个漫长的过程,需要经历许多阶段和创新点,本文将从科技的诞生开始介绍。\n在人类史上,最早使用简单工具的人类成员是原始人。他们利用石头、木棍和树枝等自然资源制作工具,帮助他们猎杀动物、分割食物和建造庇护所。数千年后,人类发明了青铜器,这是人类历史上的一次重大进步。青铜器为人们提供了强有力的武器和精细的工具,也为人类历史上的贸易活动打开了新的道路。\n随着时代的变迁,人们的需求越来越多样化。发明家们不断努力创新,推出了许多发明,例如纸、印刷和火药。这一时期,被称为“军事技术革命”的时期,为人类社会的进步奠定了基础。\n19世纪初,抽水马车等蒸汽机技术的发明导致了第一次工业革命的出现。这种新的技术重塑了世界的面貌,建立了现代化的工业经济。20世纪后半期,电子技术和计算机技术的出现改变了人们的生活方式。如今,随着科技不断发展,越来越多的新技术不断涌现,例如人工智能、机器人技术和虚拟现实技术等。这些技术正在逐渐改变我们的世界,也让我们对未来充满了期待。\n"},{"from": "human","value": "从你所写的科技文章中提取出更多有关于“军事技术革命”的细节。\n"},{"from": "gpt","value": "“军事技术革命”是18世纪末19世纪初的一场技术变革。随着科技的发展,建立了现代化的工业经济。这种新的技术重塑了世界的面貌,也为人类社会的进步奠定了基础。这场技术变革的主要成就是:\n1.火炮技术的发展:在“军事技术革命”时期,各种不同类型的火炮被发明出来,例如榴弹炮、加农炮以及火箭弹等。这些新型火炮配合着新型弹药一同使用,使得火力的威力得到了大幅度提升。\n2.水力纺织机和机器棉纱机的发明:这些机器的出现使得纺织业得到了革命性发展,通过机器生产的产品比手工制作的更加优越。这种先进的生产技术帮助大大提高了生产效率,促进了商品生产的发展。\n3.蒸汽机的发明:蒸汽机的出现使得燃料转化为能量的效率大大提高,为以后机器化生产奠定了基础。在19世纪40年代,蒸汽机被大规模地应用于铁路、海运和矿井,从而为人类社会的进步带来了极大的贡献。\n这场技术变革的成果不仅体现在军事领域,也渗透到了各个方面的社会生活之中,成为人类历史重要的一部分。"}]},{"id": "27531","conversations": [{"from": "human","value": " 帮我生成一段关于夏天的五句话。\n"},{"from": "gpt","value": " 可以的。夏天,阳光灿烂,绿叶成荫,花香满径。人们穿着轻便的衣服,在海滩上纵情嬉戏,享受着炎炎夏日的无限快乐。\n"},{"from": "human","value": " 继续帮我生成一段描述音乐的文章。\n"},{"from": "gpt","value": " 好的。音乐是人类创造的最美之声,有着独特的魅力。音乐可以让人们忘却忧愁,放松身心,甚至成为我们精神上的朋友。同时,音乐是一种语言,可以通过音符和节奏,传达出情感和思想。\n"},{"from": "human","value": " 请给我列举一些个人成长的建议。\n"},{"from": "gpt","value": " 当然。要不断学习新知识,拓宽自己的视野。要注意练习自己的能力和技能,尝试不同的事情,增长自己的经验。要勇于承认自己的错误,并从中吸取经验教训。最重要的是,要坚持追求自己的梦想,不要轻易放弃,要有信心和毅力。\n"},{"from": "human","value": " 帮我回答一个封闭式问题,中国的首都是哪里?\n"},{"from": "gpt","value": " 中国的首都是北京。"}]}
]

如何使用微调后的模型?

将基础模型的generation_config.json拷贝到checkpoint_path下,然后执行如下代码即可。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfig
import copycheckpoint_path = "baichuan_fineturn/risk_ner_output"
tokenizer = AutoTokenizer.from_pretrained(checkpoint_path, revision="v2.0", use_fast=False, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(checkpoint_path, revision="v2.0", device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True)#.to(device)
model.generation_config = GenerationConfig.from_pretrained(checkpoint_path, revision="v2.0")
query = "风险控制条款通过对资产设置监控指标来监控风险。一条风控条款中可能有多个监控指标,每个监控指标都明确监控着对应的一类或多类资产。\n\n现有风险控制条款如下,请识别抽取出上述风险控制条款中监控指标,阈值,阈值方向,资产四种字段,并分行输出。注意,要求是原文字段。\n\n风险控制条款: 投资管理人可根据专业判断形成久期策略,但组合久期原则上不得高于300年,计算口径仅包括波动类固定收益资产,稳定类固定收益资产不计算久期"
messages = [{"role": "user", "content": query}
]
g_config=copy.deepcopy(model.generation_config)
g_config.do_sample=False
response = model.chat(tokenizer, messages, generation_config=g_config)
print(response)
  • 如果有baichuan_tokenizer相关的报错,修改第三方库/opt/app-root/lib64/python3.9/site-packages/transformers/models/auto/tokenization_auto.py,让它的from_pretrained里的trust_remote_code = True
  • messages里一定得设成"role": "user"而不是“human”

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

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

相关文章

2.22号qt

1.使用信号和槽实现多个界面跳转 1.1准备两个界面 1.2第一个界面准备signal 1.3第二个界面准备slot 1.4将第一个界面的信号和槽进行连接 2.qss登录界面升级优化 2.1概念 Qss是Qt程序界面中用来设置控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性&#xff…

【Python】Python实现串口通信(Python+Stm32)

🎉欢迎来到Python专栏~Python实现串口通信 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:Python学习专栏 文章作者技术和水平有限,如果文中出现错误,希望…

springboot208基于springboot物流管理系统

基于spring boot物流管理系统设计与实现 摘 要 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。…

jax可微分编程的笔记

jax可微分编程的笔记 1.1.1 求导的基本概念 所谓的导数是一个从集合F到自身的映射. 有时,我们也将一个从函数到函数的映射称为一个操作, 这里的操作在物理学中也被称作一个算符. 但在计算机中的操作符相当于数学中的一个函数,而非从 函数到函数的映射. 应该指出的是,如果我们…

vue小记——this(2)

在Vue的方法中使用普通函数作为回调函数,那么在该回调函数中,this将不会指向Vue实例,而是指向全局对象(在浏览器中是window)。 错误 : export default { data() { return { message: Hello Vue! }; …

npm 包发布

name publish必填项(version,nameverson构成唯一标识),唯一,所以publish前验证库里是否存在该名称,方式npm info xxx npm ERR! 404 cy_test is not in the npm registry.可以使用。规则:不能以.或者_开头…

maven工程打包引入本地jar包

1、通过maven生成本地区仓库包 mvn install:install-file --settings D:\lkx\download\apache-maven-3.6.3\conf\settings.xml -Dfileaspose-cad-21.8.jar -DartifactIdaspose-cad -DgroupIdsystem.core -Dversion21.8 -Dpackagingjar -DgeneratePomtrue # --settings&#xf…

进程线程间的通信:2024/2/22

作业1&#xff1a;代码实现线程互斥机制 代码&#xff1a; #include <myhead.h>//临界资源 int num10;//创建一个互斥锁 pthread_mutex_t mutex;//任务一 void *task1(void *arg) {//获取锁资源pthread_mutex_lock(&mutex);num123;sleep(3);printf("task1:num…

PacketSender-用于发送/接收 TCP、UDP、SSL、HTTP 的网络实用程序

PacketSender-用于发送/接收 TCP、UDP、SSL、HTTP 的网络实用程序 PacketSender是一款开源的用于发送/接收 TCP、UDP、SSL、HTTP 的网络实用程序&#xff0c;作者为dannagle。 其官网地址为&#xff1a;https://packetsender.com/&#xff0c;Github源代码地址&#xff1a;htt…

【AI绘画工具分别有哪些?】

目前有许多AI绘画工具可供选择&#xff0c;以下列举了一些常见的AI绘画工具&#xff1a; 1. DeepArt.io&#xff1a;该工具使用深度学习算法生成艺术风格的图像&#xff0c;并可以将输入图像与指定的艺术风格进行合并。 2. Prisma&#xff1a;这是一款非常流行的AI绘画应用&a…

SQL Server —— While语句循环

一&#xff1a;简介 while 循环是有条件的循环控制语句。满足条件后&#xff0c;再执行循环体中的SQL语句。 while: break, 如果有多条语句可以在while后面添加begin-end。关于while的语法 while(条件) -- begin -- 语句1 -- 语句2 -- break 根据情况是否添加break -- end 二…

leetcode日记(32)字符串相乘

做了很久很久……真的太繁琐了&#xff01;&#xff01; class Solution { public:string multiply(string num1, string num2) {string s;string str;if (num1 "0" || num2 "0") return "0";for(int inum2.size()-1;i>0;i--){int c2num2[…

Open CASCADE学习|全局属性

目录 1、概念解释 质心&#xff1a; 重心&#xff1a; 惯性矩&#xff1a; 惯性矩阵&#xff1a; 主惯性矩&#xff1a; 静态惯性矩&#xff1a; 2、API 1、概念解释 质心&#xff1a; 质心是质量中心的简称&#xff0c;指物质系统上被认为质量集中于此的一个假想点。…

Qt:tabWidget控件

一、tabWidget用来做什么 tabWidget控件用来进行不同控件页面的跳转&#xff0c; 二、控件的一些函数功能 添加一个页面&#xff0c;返回index int addTab(QWidget *widget, const QString &); int addTab(QWidget *widget, const QIcon& icon, const QString &…

pytest教程-11-初识fixture

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了使用allure生成html测试报告的方法&#xff0c;本小节我们讲解一下pytest fixture测试夹具的使用方法。 前言 在做自动化的过程中&#xff0c;编写用例时候需要用到用例的前置和用例的后置&a…

2024年了,抖店还能做吗?适合新手吗?

我是电商珠珠 现在已经24年了&#xff0c;抖店也已经发展了四年了。其中有很多在门外观望的人&#xff0c;还在犹豫不决。认为抖店发展到今天&#xff0c;所有的红利早已在20年的时候就消失殆尽了&#xff0c;特别是没有经验的如果入驻了&#xff0c;既不能享受平台红利&#…

后端程序员入门react笔记(四)-综合运用,写一个小demo

样式模块化 有时候我们会遇到这样的问题&#xff0c;有两个css对一个class声明了样式&#xff0c;这样的话后引入的css会覆盖前面的css样式&#xff0c;导致样式冲突&#xff0c;那么我们怎么解决这种问题呢&#xff0c;我们可以使用样式的模块化&#xff0c;我们起名一个inde…

全栈笔记_浏览器扩展篇(插件开发 - chrome浏览器proxy代理)

代理类型 常用的包括http、https、socks代理 配置权限 要让扩展使用代理接口,需要声明proxy权限: // manifest.json "permissions": ["proxy" ]设置代理服务器 chrome.proxy.settings.set({ scope: ‘regular’, value: 代理配置},回调函数) 代理配…

【前端面经2】京东一面

题目来源&#xff1a;牛客网 自我介绍 动态参数解析的解决方案 对于动态部分使用…args进行接受&#xff0c;可以把动态部分提取成数组 前端安全问题 CDN劫持 内容安全策略CSP 安全沙箱 Iframe 跨站脚本攻击XSS 攻击者通过在目标网站上注入恶意脚本&#xff0c;使之在…

OpenHarmony驱动框架HDF中设备管理服务构建过程详解

前言 如下图&#xff0c;开源鸿蒙系统驱动框架HDF在内核中的实现&#xff0c;可以分为向用户层提供设备服务的管理模块&#xff08;Manager&#xff09;&#xff0c;和实际管理硬件的Host模块。 Manager分为DeviceManageService和 DeviceServiceManage&#xff0c;前者负责提供…