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

2024-01-20 01:52

本文主要是介绍书生·浦语大模型实战营第四次课堂笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先来看看参考作业

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

好好好我就是不配玩(换成管理员也不行!)
诶怎么能进这个环境?要进双系统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.chinasem.cn/article/624438

相关文章

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python实战之屏幕录制功能的实现

《Python实战之屏幕录制功能的实现》屏幕录制,即屏幕捕获,是指将计算机屏幕上的活动记录下来,生成视频文件,本文主要为大家介绍了如何使用Python实现这一功能,希望对大家有所帮助... 目录屏幕录制原理图像捕获音频捕获编码压缩输出保存完整的屏幕录制工具高级功能实时预览增加水印多平台支持屏幕录制原理屏幕