增量预训练baichuan-13b-chat遇到的那些坑

news/2024/10/30 15:27:45/

文章目录

  • 前言
    • 资源
    • deepspeed
  • 一、训练的坑
  • 二、推理的坑
  • 三、继续训练的坑
  • 总结


前言

资源

单机两4090,如图
在这里插入图片描述

单卡24G,baichuan-13b-chat单卡推理需要至少26G,因此仅用一张卡,我们是无法加载百川13B的模型,所以,无论是推理还是训练,我们都必须并行!

deepspeed

核心思想:GPU显存不够,CPU内存来凑

虽然我们两张卡加起来有48G,按理说显存是足够的,实则不是。

就两张卡而言,分别为GPU0和GPU1,两块GPU上分别有一半模型参数,即6.5B,占用13G,在使用deepspeed的参数并行进行前向传播时,GPU0需要把自己身上的参数传给GPU1临时保存起来,参与前向传播,这时,GPU1身上的参数即为整个模型的参数


http://www.ppmy.cn/news/991431.html

相关文章

Pytorch个人学习记录总结 09

目录 损失函数与反向传播 L1Loss MSELOSS CrossEntropyLoss 损失函数与反向传播 所需的Loss计算函数都在torch.nn的LossFunctions中,官方网址是:torch.nn — PyTorch 2.0 documentation。举例了L1Loss、MSELoss、CrossEntropyLoss。 在这些Loss函数…

Unity 性能优化五:渲染模块压力

CPU压力 Batching 在GPU渲染前,CPU会把数据按batch发送给GPU,每发送一次,都是一个drawcall,GPU在渲染每个batch的时候,会切换渲染状态,这里的渲染状态指的是:影响对象在屏幕上的外观的渲染属性…

Python实现指定区域桌面变化监控并报警

在这篇博客中,我们将使用Python编程语言和一些常用的库来实现一个简单的区域监控和变化报警系统。我们将使用Tkinter库创建一个图形界面,允许用户选择监控区域,并使用OpenCV库进行图像处理和相似性比较,以检测区域内的变化&#x…

中文大模型评估数据集——C-Eval

C-EVAL: A Multi-Level Multi-Discipline Chinese Evaluation Suite for Foundation Models https://arxiv.org/pdf/2305.08322v1.pdfhttps://github.com/SJTU-LIT/cevalhttps://cevalbenchmark.com/static/leaderboard.html Part1 前言 怎么去评估一个大语言模型呢? 在广泛…

Rust-IO

use std::io::Write; fn main() {/*std::io::stdin() 返回标准输入流stdin的句柄。read_line() stdin的句柄的一个方法,从标准输入流中读取一行数据返回一个Result枚举。会自动删除行尾的换行符\n。unwrap() 是一个帮助的方法,简化恢复错误的处理。返回R…

计算列-mysql8

什么叫计算列呢? 简单来说就是某一列的值是通过别的列计算得来的。例如,a列值为1、b列值为2,c列 不需要手动插入,定义ab的结果为c的值,那么c就是计算列,是通过别的列计算得来的。 在MySQL 8.0中&#xff…

基于RASC的keil电子时钟制作(瑞萨RA)(6)----定时器驱动数码管

基于RASC的keil电子时钟制作6_定时器驱动数码管 概述硬件准备视频教程选择定时器定时器做计数器配置定时器回调函数timer_smg.ctimer_smg.h演示效果主程序 概述 要想让每个数码管显示不同的数字,但是数码管必须依次地被持续驱动,数码管之间的刷新速度应…

前端技术周刊 2023-07-30:Promise.withResolvers 进入 Stage3

项目地址:olivewind/weekly[1] 微信公众号:依赖注入 发布时间:2023.07.30 本周内容:资讯x2、开源x8、文章x4 动态 Promise.withResolvers 进入 Stage3 某些情况下需要在 Promise 外部获取 resolve 和 reject 句柄,我们…