--- language: zh tags: - gau-alpha - paddlepaddle inference: False --- # pytorch 和 paddle代码 https://github.com/JunnYu/GAU-alpha-pytorch # bert4keras代码 https://github.com/ZhuiyiTechnology/GAU-alpha # Install ```bash 进入https://github.com/JunnYu/GAU-alpha-pytorch, 下载paddle代码gau_alpha_paddle ``` # Usage ```python import paddle from transformers import BertTokenizer as GAUAlphaTokenizer from gau_alpha_paddle import GAUAlphaForMaskedLM text = "今天[MASK]很好,我[MASK]去公园玩。" tokenizer = GAUAlphaTokenizer.from_pretrained( "junnyu/chinese_GAU-alpha-char_L-24_H-768" ) pd_model = GAUAlphaForMaskedLM.from_pretrained("chinese_GAU-alpha-char_L-24_H-768") pd_model.eval() pd_inputs = tokenizer(text) pd_inputs = {k: paddle.to_tensor([v]) for k, v in pd_inputs.items()} with paddle.no_grad(): pd_outputs = pd_model(**pd_inputs)[0][0] pd_outputs_sentence = "paddle: " for i, id in enumerate(tokenizer.encode(text)): if id == tokenizer.mask_token_id: val, idx = paddle.nn.functional.softmax(pd_outputs[i], -1).topk(k=5) tokens = tokenizer.convert_ids_to_tokens(idx) new_tokens = [] for v, t in zip(val.cpu(), tokens): new_tokens.append(f"{t}+{round(v.item(),4)}") pd_outputs_sentence += "[" + "||".join(new_tokens) + "]" else: pd_outputs_sentence += "".join( tokenizer.convert_ids_to_tokens([id], skip_special_tokens=True) ) print(pd_outputs_sentence) # paddle: 今天[天+0.8657||气+0.0535||阳+0.0165||,+0.0126||晴+0.0111]很好,我[要+0.4619||想+0.4352||又+0.0252||就+0.0157||跑+0.0064]去公园玩。 ``` # Reference Bibtex: ```tex @techreport{gau-alpha, title={GAU-α: GAU-based Transformers for NLP - ZhuiyiAI}, author={Jianlin Su, Shengfeng Pan, Bo Wen, Yunfeng Liu}, year={2022}, url="https://github.com/ZhuiyiTechnology/GAU-alpha", } ```