Zheng-Jay

Results 13 comments of Zheng-Jay

> 你好,感谢你对lomo的关注。 如果想使用自定义数据集,可以参考`src/mydatasets.py`和`src/utils.py`里的`DataCollatorForCauselLM()`进行修改。如果要进行评测,需要把参数里的`predict_with_generate`设置为`True`并且传给`trainer`对应的`compute_metrics()`。这里有类似的issue: #8 。 你好,我用指令数据集进行llama2中文微调,修改了mydatasets.py,但是进行ceavl评测出来的效果很差,不知道是不是我修改得不对,烦请指正 ### 数据集示例 { "instruction": "我有一个计算机相关的问题,请用中文回答,什么是 计算机科学与技术", "input": "", "output": "计算机科学与技术(Computer Science and Technology)是一门普通高等学校本科专业,属于计算机类专业,基本修业年限为四年,授予工学或理学学士学位;2012年9月,教育部将新的计算机科学与技术专业取代旧的计算机科学与技术和仿真科学与技术两个专业。 \n计算机科学与技术是一个计算机系统与网络兼顾的计算机学科宽口径专业,旨在培养具有良好的科学素养,具有自主学习意识和创新意识,科学型和工程型相结合的计算机专业高水平工程技术人才。" }, { "instruction": "我有一个信息科学相关的问题,请用中文回答,什么是 零售业务提供商", "input": "", "output": "零售业务提供商(retail service...

> 对一些数据不大的领域,我们是用chat开始的 陈总,为什么数据不大就选择从chat开始呢? 另外,请问数据不大是怎么界定的呢,我们预训练数据用tigerbot分词后大概10B,instruct数据大概在700w条

> 比如tigerbot预训练用了2.5TB token, 如果新的数据是这个的1%量级,那就是不大,如果是2成以上,那就是大。 > > 从chat开始好处是保留的通用的问答和指令遵循能力,如果从base开始,那之前的chat tuning要重跑。 > > 10B是什么大小, 10 billion token? 是的,10B指的是10 billion token,我在wiki里看到“TigerBot-13B-base: 基于Llama-2-13B继续预训练300B tokens”,10/300 < 20%,那我们尝试下从chat开始

> hello,在 #69 中也已回复您。 经看这段log,OOM出现在accelerator的prepare处,此处是将LLM通过DeepSpeed分发到每张卡上。因看到您在command在设置num_process=2,即2张卡用于训练LLM,所以问题应不是出在训练过程上(因此与batch_size和block_size无关)。您可以尝试以下方法是否有效: > > 1. 尝试用一个空白脚本,只包括使用accelerator.prepare来初始化您的LLM checkpoint,观察是否能复现OOM的报错 > 2. 如果1仍会OOM,说明单卡装不下13B的模型(可能因为zero-2会在每张卡上都放置一份完整的模型参数,比如您设置的模型精度较高,即可能出现OOM),可以尝试改用zero-3和更低精度(可在process_manager.py的init中,直接在from_pretrained里添加dtype) 您好,感谢回复。 我尝试您说的用accelerator.prepare来初始化13B的模型,代码如下(用gpt生成的,不知是否有误): ``` import os import time os.environ["CUDA_VISIBLE_DEVICES"] = "0" import torch from accelerate import Accelerator from...

> > > hello,在 #69 中也已回复您。 经看这段log,OOM出现在accelerator的prepare处,此处是将LLM通过DeepSpeed分发到每张卡上。因看到您在command在设置num_process=2,即2张卡用于训练LLM,所以问题应不是出在训练过程上(因此与batch_size和block_size无关)。您可以尝试以下方法是否有效: > > > > > > 1. 尝试用一个空白脚本,只包括使用accelerator.prepare来初始化您的LLM checkpoint,观察是否能复现OOM的报错 > > > 2. 如果1仍会OOM,说明单卡装不下13B的模型(可能因为zero-2会在每张卡上都放置一份完整的模型参数,比如您设置的模型精度较高,即可能出现OOM),可以尝试改用zero-3和更低精度(可在process_manager.py的init中,直接在from_pretrained里添加dtype) > > > > > > 您好,感谢回复。 我尝试您说的用accelerator.prepare来初始化13B的模型,代码如下(用gpt生成的,不知是否有误): >...

> > > > > hello,在 #69 中也已回复您。 经看这段log,OOM出现在accelerator的prepare处,此处是将LLM通过DeepSpeed分发到每张卡上。因看到您在command在设置num_process=2,即2张卡用于训练LLM,所以问题应不是出在训练过程上(因此与batch_size和block_size无关)。您可以尝试以下方法是否有效: > > > > > > > > > > 1. 尝试用一个空白脚本,只包括使用accelerator.prepare来初始化您的LLM checkpoint,观察是否能复现OOM的报错 > > > > > 2. 如果1仍会OOM,说明单卡装不下13B的模型(可能因为zero-2会在每张卡上都放置一份完整的模型参数,比如您设置的模型精度较高,即可能出现OOM),可以尝试改用zero-3和更低精度(可在process_manager.py的init中,直接在from_pretrained里添加dtype) >...

> > > > > > > hello,在 #69 中也已回复您。 经看这段log,OOM出现在accelerator的prepare处,此处是将LLM通过DeepSpeed分发到每张卡上。因看到您在command在设置num_process=2,即2张卡用于训练LLM,所以问题应不是出在训练过程上(因此与batch_size和block_size无关)。您可以尝试以下方法是否有效: > > > > > > > > > > > > > > 1. 尝试用一个空白脚本,只包括使用accelerator.prepare来初始化您的LLM checkpoint,观察是否能复现OOM的报错 > >...

> > > > > > > > > hello,在 #69 中也已回复您。 经看这段log,OOM出现在accelerator的prepare处,此处是将LLM通过DeepSpeed分发到每张卡上。因看到您在command在设置num_process=2,即2张卡用于训练LLM,所以问题应不是出在训练过程上(因此与batch_size和block_size无关)。您可以尝试以下方法是否有效: > > > > > > > > > > > > > > > > >...

> hi~推测是设置了第8张卡也放了LLM?默认设置是前7张卡放LLM,第8张卡只放奖励模型用于训练中的validation。 你好我跑训练代码会报OOM,我是80G的A800,训练13B的模型,按道理应该不会爆啊 我把batch size设为1,block_size设为100,还是爆了,不知道问题出在哪?

> 1, try adding the below to save memory1, 尝试添加以下内容以节省内存 > > ``` > --attn_implementation sdpa \ > --no_gen_gas \ > --no_emb_gas \ > --split_emb \ > ``` > >...