从零开始训练一个ChatGPT大模型(低资源,1B3)

macrogpt-prertrain

大模型全量预训练(1b3), 多卡deepspeed/单卡adafactor

源码地址:https://github.com/yongzhuo/MacroGPT-Pretrain.git

踩坑

1. 数据类型fp16不太行, 很容易就Nan了, 最好是fp32, tf32,
2. 单卡如果显存不够, 可以用优化器'adafactor',
3. 如果数据量很大, 加载时间特别长(默认设置稍微大一点数据就得加载好几个小时), 可以分批次训练,

环境配置

transformers>=4.31.0
torch>=1.10.1
rouge==1.0.1
nltk==3.6.6
peft>=0.2.0
numpy
tqdm

预训练

地址: macro_gpt/ft_gpt配置: macro_gpt/ft_gpt/config.llama_1b3_float32.json
单卡第一次训练: python train.pt.py
单卡继续训练: python train.pt.add.py
多卡训练: deepspeed --num_gpus=2 train.pt.speed.py --deepspeed ds.json

预训练日志(TigerBot-en)

图为tigerbot-en-00001-of-00097.json的预训练日志, loss收敛到3左右

在这里插入图片描述

图为baidu百科数据集(第一个60w,此外还有10%领域专业数据)的预训练日志, loss收敛到3左右
在这里插入图片描述

预测日志

一问一答还行, 1b3的大模型上下文能力确实比较弱

在这里插入图片描述

数据集-中文

  • https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM
  • https://github.com/TigerResearch/TigerBot

参考/感谢

  • https://github.com/tatsu-lab/stanford_alpaca
  • https://github.com/huggingface/peft
  • trl

免责申明

本项目相关资源仅供学术研究之用,使用涉及第三方代码的部分时,请严格遵循相应的开源协议。模型生成的内容受模型计算、随机性和量化精度损失等因素影响,本项目不对其准确性作出保证。对于模型输出的任何内容,本项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。

对于模型输出的任何内容,本项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。

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

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

相关文章

基于STM32驱动的压力传感器实时监测系统

本文介绍了如何使用STM32驱动压力传感器进行实时监测。首先,我们会介绍压力传感器的工作原理和常见类型。然后,我们将介绍如何选择合适的STM32单片机和压力传感器组合。接下来,我们会详细讲解如何使用STM32驱动压力传感器进行数据采集和实时监…

Ansys Zemax | 手机镜头设计 - 第 3 部分:使用 STAR 模块和 ZOS-API 进行 STOP 分析

附件下载 联系工作人员获取附件 本文是 3 篇系列文章的一部分,该系列文章将讨论智能手机镜头模组设计的挑战,从概念、设计到制造和结构变形的分析。本文是三部分系列的第三部分。它涵盖了使用 Ansys Zemax OpticStudio Enterprise 版本提供的 STAR 技术…

回归预测 | MATLAB实现CNN-BiLSTM(卷积双向长短期记忆神经网络

效果一览 基本介绍 提出一种同时考虑时间与空间因素的卷积-双向长短期记忆( CNN-BiLSTM)模型,将具有空间局部特征提取能力的卷积神经网络(CNN)和具有能同时考虑前后方向长时间信息的双向长短期记忆&#xf…

不可变集合

概述 不可变集合,就是不可被修改的集合。 集合的数据项在创建的时候提供,并且在整个生命周期中都不可改变,否则报错。 为什么要创建不可变集合? 如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的实践。 或者…

CoreDNS实战(五)-接入prometheus监控

1 背景 Prometheus插件作为coredns的Plugins,默认情况下是内置在coredns中,如果是自己编译安装的版本,需要注意在编译安装的时候的plugin.cfg文件中添加了prometheus:metrics,这样才能确保编译成功。 # 首先我们检查一下运行的版…

Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理

文章目录 Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理结论1 java异常体系2 Spring框架异常处理3 定位Spring框架转化为哪种unchecked异常3.1 捕获RuntimeException定位Spring框架转化抛出的异常类3.2 进一步查看包名判断3.3 识别MyBatisSystemException下级实现3.3 识别My…

【Linux服务器Java环境搭建】07 在linux中安装MySql,以及对MySQL的配置与远程连接

【Linux服务器Java环境搭建】01购买云服务器以及在服务器中安装Linux系统 【Linux服务器Java环境搭建】02 通过xftp和xshell远程连接云服务器 【Linux服务器Java环境搭建】03 Git工具安装 【Linux服务器Java环境搭建】04 JDK安装(JAVA环境安装) 【Linux服…

Hadoop学习笔记(HDP)-Part.02 核心组件原理

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

【漏洞复现】万户协同办公平台ezoffice wpsservlet接口存在任意文件上传漏洞 附POC

漏洞描述 万户ezOFFICE集团版协同平台以工作流程、知识管理、沟通交流和辅助办公四大核心应用 万户ezOFFICE协同管理平台是一个综合信息基础应用平台。 万户协同办公平台ezoffice wpsservlet接口存在任意文件上传漏洞。 免责声明 技术文章仅供参考,任何个人和组织使用网络应…

CETN01 - How to Use Cloud Classroom

文章目录 I. Introduction to Cloud ClassroomII. How to Use Cloud Classroom1. Publish Resources2. Conduct Activities3. Class Teaching Reports4. View Experience Values5. Performance in Cloud Classroom I. 云课堂介绍II. 如何使用云课堂1. 发布资源2. 进行活动3. 班…

007:vue实现与iframe实现页面数据通信

首页先搭建一个html页面和vue页面,在vue页面中,嵌入我们需要的iframe页面 文章目录 1. 搭建 html 页面和 vue 页面2. 实现 iframe 向 vue 页面通信3. 在实现 vue 向 iframe 页面通信 1. 搭建 html 页面和 vue 页面 暂定为 iframeDemo.html 和 vueDemo.v…

python文件操作知识

【一】操作流程: 打开文件,得到一个文件句柄(对象),赋给一个对象。通过文件句柄对文件进行操作。关闭文件。 【 二 】 使用方法 open(路径 文件名,读写模式) 如下: …

MySQL主从复制(一主一从、双主双从)

一、概述 1. 数据库主从概念、优点、用途 主从数据库是什么意思呢,主是主库的意思,从是从库的意思。数据库主库对外提供读写的操作,从库对外提供读的操作。   数据库为什么需要主从架构呢? 高可用,实时灾备&#x…

MQTT框架和使用

目录 MQTT框架 1. MQTT概述 1.1 形象地理解三个角色 1.2 消息的传递 2. 在Windows上体验MQTT 2.1 安装APP 2.2 启动服务器 2.3 使用MQTTX 2.3.1 建立连接 2.3.2 订阅主题 2.3.3 发布主题 2.4 使用mosquitto 2.4.1 发布消息 2.4.2 订阅消息 3. kawaii-mqtt源码分析…

直面多云困境,聊聊F5分布式云的破局之道

在数字化浪潮的大背景下,我们迎来了一个万物上云的时代。Gartner的调查数据显示,81%的公有云用户选择两个或两个以上的云服务供应商。对企业来说,充分利用多云网络可以实现业务的成功转型和增长。然而机遇与挑战并存,本文从多云网…

使用AWS Glue与AWS Kinesis构建的流式ETL作业(二)——数据处理

大纲 2 数据处理2.1 架构2.2 AWS Glue连接和创建2.2.1 创建AWS RedShift连接2.2.2 创建AWS RDS连接(以PG为例) 2.3 创建AWS Glue Job2.4 编写脚本2.4.1 以AWS RedShift为例2.4.2 以PG为例 2.5 运行脚本 2 数据处理 2.1 架构 2.2 AWS Glue连接和创建 下…

C++基础 -42- STL库之list链表

list链表的格式(需要定义头文件) list<int> data1(4, 100);list<int> data2(4, 500);list链表的合并接口 举例使用合并接口并且验证 data2.merge(data1);list<int>::iterator ccc;for (ccc data2.begin(); ccc ! data2.end(); ccc){cout << *ccc …

算法学习系列(五):N皇后、数独

目录 引言一、N皇后问题代码实现测试 二、数独问题代码实现测试 引言 这个N皇后问题是很典型的一个递归问题&#xff0c;就是还是要掌握&#xff0c;所谓递归其实就是dfs&#xff0c;一层一层深入下去。数独和N皇后的思路是一样的&#xff0c;只不过一些细节不同而已。 一、N…

TFIDF、BM25、编辑距离、倒排索引

TFIDF TF刻画了词语t对某篇文档的重要性&#xff0c;IDF刻画了词语t对整个文档集的重要性

2024年API安全趋势预测

目录 1.API漏洞的渗透性 2.标准框架的局限性 3.防止漏洞 4.不断上升的威胁和战略建议 案例分析 2024年的潜在威胁 驾驭不断演变的API安全格局 在接下来的部分中&#xff0c;我们将更深入地研究这些趋势&#xff0c;探索标准框架在应对这些新出现的威胁方面的局限性…