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

关于几个训练细节的问题 #63

Open
gctian opened this issue Jan 3, 2024 · 5 comments
Open

关于几个训练细节的问题 #63

gctian opened this issue Jan 3, 2024 · 5 comments

Comments

@gctian
Copy link

gctian commented Jan 3, 2024

作者的项目非常赞,我有几个问题想请教下:

  1. 多个角色数据,是一起训练吗?还是每个角色训一个单独的 lora
  2. 比如训练【令狐冲】角色,那就是SFT的 QA微调,A=令狐冲的话,Q=上一条和令狐冲对话人的话,是这样格式吗?
  3. SFT微调是单轮微调,还是多轮微调?
  4. 怎么划分连续上下文呢?避免答非所问的QA
  5. 关于角色背景信息,还要进行指令微调吗?比如【令狐冲】的人物关系、角色技能等,光靠 system prompt不够充分吧

谢谢。

@LC1332
Copy link
Owner

LC1332 commented Jan 3, 2024

  1. 所有角色一起的,如果你训单个可能会带来更好的效果
  2. 不是, https://huggingface.co/datasets/silk-road/ChatHaruhi-Expand-118K 组织形式看这个。 如果单纯QA微调会有严重的幻觉
  3. 实际上等价于多轮,我后面想结合characterGLM和pygmalaion的数据去增加不用rag也可以扮演的能力
  4. 这个还比较难,我看学界有一些类似的工作 但是集成有成本
  5. 其实rag现在起到的效果比较大 , 把人物tune到system prompt很容易太生硬。。对我来说我感觉人物的构造还是要靠记忆本身,system prompt里的词抽象成都太高。。。所以我也想到时候看看加入pygmalion类似数据的效果会变成什么样。。

@gctian
Copy link
Author

gctian commented Jan 4, 2024

感谢回复,关于问题2,还有几个疑问:

  1. https://huggingface.co/datasets/silk-road/ChatHaruhi-Expand-118K ,这个数据,训练的目标是把 context当作Q,target当作A,SFT微调预测target 对吧?
  2. 我看context里已经包含了前置的多轮对话,那比如原始剧本是【Q1, 令狐冲1,Q2,令狐冲2,..., Qn, 令狐冲n】,这种连续对话是怎么切分样本的?
  3. 作者有试过带历史的多轮对话微调吗?把前置的多轮对话放在历史里,比如 <Qn, 令狐冲n, history=[Q1, 令狐冲1, Q2, 令狐冲2,......]>

谢谢。

@LC1332
Copy link
Owner

LC1332 commented Jan 4, 2024

你去https://www.zhihu.com/people/cheng-li-47 上私信发一下我你微信吧-o-

1.3, 对的,而且有很多数据里面是带了history的
2 这个有一定的数token或者看人 有两个方案 新方案的代码在https://github.com/LC1332/Chat-Haruhi-Suzumiya/tree/main/characters/novel_collecting

@sunlin-xiaonai
Copy link

  1. 所有角色一起的,如果你训单个可能会带来更好的效果
  2. 不是, https://huggingface.co/datasets/silk-road/ChatHaruhi-Expand-118K 组织形式看这个。 如果单纯QA微调会有严重的幻觉
  3. 实际上等价于多轮,我后面想结合characterGLM和pygmalaion的数据去增加不用rag也可以扮演的能力
  4. 这个还比较难,我看学界有一些类似的工作 但是集成有成本
  5. 其实rag现在起到的效果比较大 , 把人物tune到system prompt很容易太生硬。。对我来说我感觉人物的构造还是要靠记忆本身,system prompt里的词抽象成都太高。。。所以我也想到时候看看加入pygmalion类似数据的效果会变成什么样。。

这个训练后的还需要结合rag的方式么? 有详细的训练过程么,比如glm中加载的那个微调模型他使用llama-factory训练的时候数据是怎么个事放进去的,可以给出参考一下么,我最近也想训练一个角色。谢谢您

@LC1332
Copy link
Owner

LC1332 commented Jan 19, 2024

现在 Qwen-7B那个代码里面 chatharuhi类是可以直接输出prompt的,你可以直接看到带rag的表现。 最近在训练新的模型,数据格式可能会相比118k发生变化,采用shareGPT的格式,具体可以去找https://huggingface.co/datasets/silk-road/Haruhi-Zero 这个repo看看

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

3 participants