Comments (8)
在目前QWen-7B-chat模型的训练中,采用如下的label mask策略:
<|im_start|>
,<|im_end|>
等特殊token不作mask;- 对system和每轮query的内容添加mask;
- 每轮对话中的角色信息(
"system\n"
,"user\n"
,"assistant\n"
)添加mask。
因此,对于上面的示例,添加mask的tokens有:
001 - 002 (system role)
003 - 004 (system content)
008 - 009 (query role)
010 - 013 (query content)
017 - 018 (answer role)
026 - 027 (query role)
028 - 031 (query content)
035 - 036 (answer role)
from qwen.
@Sanster 注意到代码里FlashSelfAttention的causal默认为True,因此先前有效位的token不会attend到后边的padding token,所以对效果不会产生影响。
from qwen.
感谢回复,还有一个疑问不知道你们有没有做过实验,training 使用 flash attention 没有 attention_mask(这个正常,除了 mpt 好像其它开源模型带 flash attention 训练的都没有 attention_mask) code line,在 SFT 训练中,长度不同的 query 组 batch 需要加 padding,这部分 padding 不加 attention_mask 对效果影响大吗?
from qwen.
在目前QWen-7B-chat模型的训练中,采用如下的label mask策略:
<|im_start|>
,<|im_end|>
等特殊token不作mask;- 对system和每轮query的内容添加mask;
- 每轮对话中的角色信息(
"system\n"
,"user\n"
,"assistant\n"
)添加mask。因此,对于上面的示例,添加mask的tokens有: 001 - 002 (system role) 003 - 004 (system content) 008 - 009 (query role) 010 - 013 (query content) 017 - 018 (answer role) 026 - 027 (query role) 028 - 031 (query content) 035 - 036 (answer role)
有个问题请教下,注意到这里把query也mask了,也就是会同时优化query部分的loss,这个是有什么特别的考量么?相比会比vicuna 的方式(不优化query部分loss)会有提升么?
from qwen.
@meta-tabchen 这里提到的“对某处作mask“的意思是不优化此处的loss,因此QWen不会对query部分loss进行优化,这个和vicuna是一样的。
from qwen.
@meta-tabchen 这里提到的“对某处作mask“的意思是不优化此处的loss,因此QWen不会对query部分loss进行优化,这个和vicuna是一样的。
明白了,抱歉,理解错了
from qwen.
<|im_start|>assistant
请问下<|im_start|>为什么不作mask呢?也就是为什么需要优化<|im_start|>的loss?因为我理解推理的时候应该是把<|im_start|>assistant拼接到输入端然后让模型去预测后面的部分,应该模型不需要去预测<|im_start|>这个token
from qwen.
<|im_start|>assistant请问下<|im_start|>为什么不作mask呢?也就是为什么需要优化<|im_start|>的loss?因为我理解推理的时候应该是把<|im_start|>assistant拼接到输入端然后让模型去预测后面的部分,应该模型不需要去预测<|im_start|>这个token
同问
from qwen.
Related Issues (20)
- [BUG] the max_position_embeddings parameter in the config.json for Qwen2-57B-A14B has been mistakenly set to 131072.
- [BUG] <title>Adding regular tokens is not supported HOT 1
- 如何修改模型的结构 HOT 1
- [BUG] <title> vLLM推理乱码 HOT 2
- Qwen 的开源模型能输出 logprobs吗? HOT 3
- [BUG] docker_openai_api.sh 报can't open file 'openai_api.py' HOT 1
- 推理时的显存使用为啥这么少呢? HOT 1
- [BUG] <title>Qwen2-7b-instruct使用SFT-FT,loss变为0,如何解决? HOT 2
- 大模型function call对比传统nlp方式有什么优势? HOT 2
- [BUG] 百炼文档中function call 的示例有误 HOT 1
- 请教下为什么Qwen/finetune.py和Qwen/eval/evaluate_ceval.py 的tokenizer的padding_side 不一样呢? HOT 1
- [BUG] Qwen 1.8B 多线程推理时报错 HOT 2
- [BUG] <title> model_max_length 32768 not work HOT 3
- [BUG] <title> 请问QWenLMHeadModel中的QWenModel模块是处理文本信息吗?
- 官方推理脚本和模型文件中的pad_token不一致
- Qwen-Chat-RLHF和Qwen-Chat的区别
- [BUG] 增加上下文长度后输出乱码
- [BUG] <title>Nvidia Jetson Orin NX开发板上推理运行qlora微调之后的模型,报错:不支持QuantLinear()
- AWQ量化后,输出不能正常停止,不量化推理正常
- 请问可以支持加入本地知识库进行微调大模型吗 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qwen.