概述
DeBERTa (Decoding-enhanced BERT with disentangled attention),如名字所述,有两个技术来改善 BERT 和 RoBERTa,第一个是 disentangled attention(解开的注意力),每个单词使用两个向量分别编码文本和位置,在单词们之间的注意力权重是通过使用它们的文本和相对位置的解开矩阵分别进行计算的。第2 个技术是使用了一个加强的mask decoder,在decoding层引入绝对位置来预测 masked tokens。
DeBERTa 目前(2021-02-08)在 GLUE 基准上第一名。大版本的 DeBERTa(15 亿参数) 在 SuperGLUE 基准的平均分数上第一次超越人类。不过这并不意味着模型达到了人类知识水平,人类拥有更好的合成综合能力,利用学到的知识处理新的问题
RNN 处理文本是按顺序的,而 transformer 采用 self-attention 可以并行处理输入文本的每个单词。所以对于大规模的模型训练,transformer 更好。
Disentangled attention:比如 deep 和 learning 这两个词,当它们相连出现在一起的时候,其之间的依赖性会更强,而当它们出现在不同句子里,其之间依赖性就不强。所以相对位置的 注意力很有用。
Enhanced mask decoder:Disentangled attention 考虑的是相对位置,所以我们还需考虑绝对位置。
DeBERTa 两个技术:
- Disentangled attention(注意力分散机制)
在 BERT 中,输入层中的每个 token 都是用一个向量表示的,这个向量是 token 嵌入和句子嵌入以及位置嵌入的简单求和,而在 DeBERTa 中,每个 token 都是用两个向量表示的,分别对内容和位置进行编码,根据 token 的内容和相对位置,利用分散矩阵计算 token 之间的注意权值。这意味着 token-pair 的注意权重不仅取决于它们的内容,还取决于它们的相对位置。例如,当“deep”和“learning”两个词相邻出现时,它们之间的依赖性要比它们在不同的句子中
出现时强得多。(其实和 roberta 比更好理解点,因为 deberta 里面也没有 nsp)
- Enhanced mask decoder (增强型 mask decoder)
和 BERT 一样,DeBERTa 也是使用 MLM 进行预训练的。MLM 是一个填空任务,其中一个模型被教导使用一个掩码 mask 周围的单词,然后预测被 mask 掉的token 应该是什么。DeBERTa 使用上下文词的内容和位置信息进行 MLM。注意力解耦机制已经考虑了语境词的内容和相对位置,但没有考虑这些词的绝对位置,而这些位置在很多情况下对预测至关重要。
通过 Git 获取代码方法如下:
git clone {repository_url} # 克隆仓库的代码cd {repository_name} # 切换到模型的代码仓目录git checkout {branch/tag} # 切换到对应分支
git reset --hard {commit_id} # 代码设置到对应的 commit_id(可选)
cd {code_path} # 切换到模型代码所在路径,若仓库下只有该模型,则无需切换
详细情况请点击:使用MindStudio进行deberta模型训练 - 知乎
最后
以上就是忧心金针菇为你收集整理的使用MindStudio进行deberta模型训练的全部内容,希望文章能够帮你解决使用MindStudio进行deberta模型训练所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复