书生·浦语大模型实战营第四次课堂笔记

先来看看参考作业

哈哈到这才想起来写笔记
在这里插入图片描述
在这里插入图片描述
倒回去看发现要求将不要葱姜蒜换成自己的名字和昵称!
在这里插入图片描述
在这里插入图片描述

好好好我就是不配玩(换成管理员也不行!)
诶怎么能进这个环境?要进双系统ubuntu?
现在看视频发现原来是我进入成功了,可以接着往下做omygod!!!!
在这里插入图片描述
但是
在这里插入图片描述
还是看看视频吧
微调是在海量的文本内容的基础上以无监督或半监督的方式进行训练的
在这里插入图片描述
qlora是对lora的一种改进~感觉就是更高级点的工具
在这里插入图片描述
对话模版~

在这里插入图片描述
在这里插入图片描述
XTuner介绍~
在这里插入图片描述
XTuner快速上手:
1.安装(指定版本,在这之前需要创建conda环境

pip install xtuner

2.挑选配置模板

xtuner list-cfg -p internlm_20b

3.一键训练

xtuner train interlm_20b_qlora_512_e3

Config 命名规则
模型名 internlm_20b 无chat代表是基座模型
使用算法 qlora
数据集 oasst1
数据长度 512
Epoch e3,epoch 3

自定义微调
1.拷贝配置模版

xtuner copy-cfg internlm_20b_qlora_oasst1_512_e3 ./

2.修改配置模版

vi internlm_20b_qlora_oasst1_512_e3_copy.py

3.启动训练

xtuner train internlm_20b_qlora_oasst1_512_e3_copy.py

常用超参:

data_path   数据路径或HuggingFace 仓库名
max_length  单条数据最大Token数,超时则截断
pack_to_max_length  是否将多条短数据拼接到max_length,提高GPU利用率
accumulative_counts  梯度累积,每多少backward更新一次参数
evaluation_inputs 训练过程中,会根据给定的问题进行推理,便于观测训练状态
evaluation_freq Evaluation的评测间隔iter

训练完成之后
我们就得到了这个Adapter文件就是所谓的lora文件,我们就需要在加载底座模型的基础上同时加载这个Adapter也就是lora来进行与模型的对话与测试。

为了便于开发者查看训练效果,Xtuner提供了一键对话接口
Float 16模型对话

xtuner chat internlm/internlm-chat-20b

4bit模型对话

xtuner chat internlm/internlm-chat-20b --bits 4

加载Adapter模型对话

xtuner chat internlm/internlm-chat-20b --adapater $ADAPTER_DIR

在这里插入图片描述
deepspeed不是默认启动,需要加默认参数

xtuner train internlm_20b_qlora_oasst1_512_e3\ --deepspeed deepspeed_zero3

在这里插入图片描述
通过问不要葱姜蒜大佬知道了它通过ssh连接的话还是在开发机上也不会下载到本地yes太好了我还能玩~

进入:tmux attach -t finetune
退出:ctrl+b 然后再按d
可以关机让它在后台训练~
在这里插入图片描述
要敲两次回车!看得出来有点慢哈哈
再来写一遍作业
在这里插入图片描述
啊这是为啥失败了嘛
原来是需要训练!!!是小罗的助手啦~
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
还在加载中
在这里插入图片描述

在这里插入图片描述
到46%了感觉我的网速有点慢啊~
在这里插入图片描述
好好好发现自己
在这里插入图片描述

算啦算啦其实差不多了

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

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

相关文章

k8s------Pod、Label、NameSpace

一、Pod: Kubernetes中的最小调度对象 1.1 说明 Pod(容器组)是k8s创建和调度的最小单元。一个Pod封装多个容器(container)、存储资源(volume)、一个独立网络ip和管理控制容器运行方式。 Pod可以单独运行一个容器,也可以兼容多个容器运行,多个容器共享…

周五的胡思乱想

众所周知 csdn 在程序员的心目中是比较逊色的, 因为博客水平的参差不齐, 大部分人也都是用来作为自己的笔记方便未来复制。这样就导致这里的文章都是点到为止,没有去深究问题的根本原因,大家也都是复制一下解决方案就关闭的页面。或许这就是 csdn 的价值…

使用 ClassFinal 对SpringBoot jar加密加固并进行机器绑定

写在前面:各位看到此博客的小伙伴,如有不对的地方请及时通过私信我或者评论此博客的方式指出,以免误人子弟。多谢!如果我的博客对你有帮助,欢迎进行评论✏️✏️、点赞👍👍、收藏⭐️⭐️&#…

Linux搭建dns主从服务器

一、实验要求 配置Dns主从服务器,能够实现正常的正反向解析 二、知识点 1、DNS简介 DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。…

Microsoft365域名DNS设置

DNS 基础 项目2023/09/227 个参与者DNS 基础 - Microsoft 365 admin | Microsoft Learn 反馈 本文内容 观看:域和 DNS:概述什么是域名?了解 DNS 记录类型DNS 如何工作? 显示另外 4 个 如果找不到要查找的内容,请…

1.php开发-个人博客项目文章功能显示数据库操作数据接收

(2022-day12) #知识点 1-php入门,语法,提交 2-mysql 3-HTMLcss ​ 演示案例 博客-文章阅读功能初步实现 实现功能: 前端文章导航,点入内容显示,更改ID显示不同内容 实现步骤&#xff1…

java8 列表通过 stream流 根据对象属性去重的三种实现方法

java8 列表通过 stream流 根据对象属性去重的三种实现方法 一、简单去重 public class DistinctTest {/*** 没有重写 equals 方法*/SetterGetterToStringAllArgsConstructorNoArgsConstructorpublic static class User {private String name;private Integer age;}/*** lombo…

LeetCode.2788. 按分隔符拆分字符串

题目 题目链接 分析 题目的意思是给我们一个字符串数组和一个分隔符,让我们按照分隔符把字符串数组分割成新的字符串数组。 看到这个描述,这不就是直接就是利用 按照分隔符分割字符串的系统库函数split(),这个函数的意思就是 把一个字符串…

JDBC编程详细教程与示例源码

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl JDBC概述 为了在Java语言中提供对数据库访问的支持,Sun公司于1996年提供了一套访问数据库的标准Java类库JDBC。JDBC的全称是Java数据库连接(Java Database Conn…

使用条件操作执行控制图

Condition Action Behavior 此示例显示了具有多个分段的转换路径中的简单条件操作的行为。该图表使用传出转换的隐式排序 起初,chart处于休眠状态。状态A处于活动状态。条件C_one和C_two为false。事件E_one发生并唤醒chart,该图表通过层次结构从根向下…

第5章 运算符重载

运算符概述 纯单目运算符,只能有一个操作数,包括:!、~、sizeof、new、delete 等 纯双目运算符,只能有两个操作数,包括:[]、->、% 、 等 三目运算符,有三个操作数,如“ ? : ” 既…

C#,字符串匹配(模式搜索)有限自动机(Finite Automata)算法的源代码

一、有限状态自动机 图中两个圆圈,也叫节点,用于表示状态,从图中可以看成,它有两个状态,分别叫0和1。从每个节点出发,都会有若干条边。当处于某个状态时,如果输入的字符跟该节点出发的某条边的内…

go语言(八)---- map

map的声明方式有以下三种。 package mainimport "fmt"func main() {//第一种声明方式//声明map1是一个map类型,key是String,value是Stringvar myMap1 map[string] stringif myMap1 nil {fmt.Println("myMap1 是一个空map")}//在使…

idea中使用git提交代码报 Nothing To commit No changes detected

问题描述 在idea中右键,开始将变更的代码进行提交的时候,【Commit Directory】点击提交的时候 报 Nothing To commit No changes detected解决方案 在这里点击Test 看看是不是能下面显示git版本,不行的话 会显示一个 fix的字样,行…

阿里云ECS使用docker搭建mysql服务

目录 1.确保正确安装好docker 2.安装mysql镜像 3.创建容器(设置端口映射、目录映射) 1.确保正确安装好docker 安装教程: 阿里云ECS(CentOS镜像)安装docker-CSDN博客https://blog.csdn.net/qq_62262918/article/details/135686614?spm10…

Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务

技术背景 我们在对接Unity下推送模块的时候,遇到这样的技术诉求,开发者希望在Android的Unity场景下,获取到前后摄像头的数据,并投递到RTMP服务器,实现低延迟的数据采集处理。 在此之前,我们已经有了非常成…

如何下载OpenStreetMap(OSM)最新数据

OpenStreetMap(OSM)是一个开源的地图项目,旨在创建和提供免费、可自由使用、可编辑的地图数据和地图服务。以下是关于OpenStreetMap的一些关键信息: 社区驱动: OpenStreetMap是由一个全球性的志愿者社区共同创建和维护…

新上线一个IT公司微信小程序

项目介绍 项目背景: 一家IT公司,业务包含以下六大块: 1、IT设备回收 2、IT设备租赁 3、IT设备销售 4、IT设备维修 5、IT外包 6、IT软件开发 通过小程序,提供在线下单,在线制单,在线销售,业务介绍,推广,会员 项目目的: 业务介绍: 包含企业业务介绍 客户需…

怎么样的布局是符合可制造性的PCB布局?

满足可制造性、可装配性、可维修性要求,方便调试的时候于检测和返修,能够方便的拆卸器件: 1)极性器件的方向不要超过2种,最好都进行统一方向等要求,如图1-1所示; 图1-1 极性器件方向统一摆放 2…

【Qt5】QString的成员函数trimmed

2024年1月19日,周五下午 QString 的 trimmed 方法是用于移除字符串两端的空白字符(空格、制表符、换行符等)的方法。它返回一个新的字符串,该字符串是原始字符串去除两端空白后的结果。 下面是一个简单的示例: #incl…