Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

想请教一些关于训练的事情 #4

Open
Fu-Dayuan opened this issue Mar 21, 2024 · 9 comments
Open

想请教一些关于训练的事情 #4

Fu-Dayuan opened this issue Mar 21, 2024 · 9 comments

Comments

@Fu-Dayuan
Copy link

Fu-Dayuan commented Mar 21, 2024

  1. 文章中说"对于Agent-FLAN实验,我们遵循AgentTuning中的做法,将ShareGPT和Agent语料库以1:1的混合比例混合进行训练。"
    image
    我注意到你们给出了数据集,想请教一下你们数据量和配比是什么呢?(包括flan版本和你们复现的agenttuning版本)(shareGPT应该就90000多条吧,你们是把这几个怎么混合(or过采样)到一样的呢?)
    2.想在了解一下超参数的问题,因为我看agenttuning有一些非常奇怪的超参数,您这里是直接使用deepspeed默认的超参数吗?(for example 10%的warmup,最大token是2048还是4096之类的)
@zehuichen123
Copy link
Collaborator

  1. 我们没有对sharegpt做采样,对两边数据直接混合,因为agent-flan的数据其实和sharegpt差不多多了
  2. 我们的训练框架用的是internlm内部的框架, 不过setting应该跟正常的都保持一致,max_token在我们的baseline是8192

@Fu-Dayuan
Copy link
Author

Fu-Dayuan commented Mar 22, 2024

  1. 我们没有对sharegpt做采样,对两边数据直接混合,因为agent-flan的数据其实和sharegpt差不多多了

https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered/tree/main 这里貌似有9w条数据(这还是我查到的比较少的),而agent-flan总共也就3w多条。所以貌似不太能match上?想请教一下您们用的是什么?方便复现❤️

@zehuichen123
Copy link
Collaborator

就是不做采样直接混合呀,因为大家都在一个数量级上所以我们就没有做针对性的采样了

@Fu-Dayuan
Copy link
Author

还是有两个问题想请教一下:

就是不做采样直接混合呀,因为大家都在一个数量级上所以我们就没有做针对性的采样了
1、那如何做到sharegpt和agentflan 1:1的呢?(附录A)9w对3w貌似对不上?
2、我看你们有一部分数据有loss参数(应该是从agentinstruct继承过来的),但有一部分没有。所以你们会对这一部分loss做特殊处理吗?(只bp loss=true和不带loss的,还是无视他?)

@zehuichen123
Copy link
Collaborator

  1. 这里的1:1是指没有采样直接混合的1:1,这里我们会更新一下陈述方式,避免误解 sry
  2. 当role是assistant的话,且没有指定的话默认就会计算loss

@Fu-Dayuan
Copy link
Author

Fu-Dayuan commented Mar 26, 2024

  1. 当role是assistant的话,且没有指定的话默认就会计算loss

我发现了一些奇怪的点,比如toolbench_tflan_60p_r10r5u7.jsonl的第四条( "id": "toolbench_tflan_60p_r10r5u7_3"),最后一个的loss是false,那这不是没有意义吗?(按照您的意思这种并不会对loss有贡献吧,那不是算到最后一个loss=true的就行?)
我想知道这是一个bad case还是我理解错了你的loss计算方式

@Fu-Dayuan
Copy link
Author

求对上一个计算loss的解答(因为agent-flan里有最后一个输出loss是false的,那理论上没必要把它放进来,所以你们是吧所有loss都计算了吗?),以及想再问一下你们会把sharegpt第一个是gpt的过滤掉吗?

@zehuichen123
Copy link
Collaborator

zehuichen123 commented Apr 3, 2024

求对上一个计算loss的解答(因为agent-flan里有最后一个输出loss是false的,那理论上没必要把它放进来,所以你们是吧所有loss都计算了吗?),以及想再问一下你们会把sharegpt第一个是gpt的过滤掉吗?

我们只计算了assistant上的loss,同时如果assistant上的loss=False也不计算,sharegpt也只计算assistant上的
以及有些loss=False的句子放进来的目的是为了保证后面学习的连贯性

@Fu-Dayuan
Copy link
Author

Fu-Dayuan commented Apr 5, 2024

我们只计算了assistant上的loss,同时如果assistant上的loss=False也不计算,sharegpt也只计算assistant上的 以及有些loss=False的句子放进来的目的是为了保证后面学习的连贯性

是这样子的,但如果最后一轮是false(比如toolbench_tflan_60p_r10r5u7.jsonl的第四条( "id": "toolbench_tflan_60p_r10r5u7_3"))他对全文没有任何意义,因为decoder的缘故前文算梯度根本算不到他。(甚至还有两个case是所有轮次都是false的)我就是想知道这是传错了还是什么原因?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants