--- language: en tags: - deberta - fill-mask license: mit pipeline_tag: text-generation --- # DeBERTa (1.4B) fixed version This is [**deberta-v2-xxlarge**](https://huggingface.co/microsoft/deberta-v2-xxlarge) updated to implement the `AutoModelForCausalLM` class, enabling it to generate text. This implementation is based on our paper [**"BERTs are Generative In-Context Learners"**](https://arxiv.org/abs/2406.04823). This repository also fixes three bugs in [the original HF implementation of DeBERTa](https://huggingface.co/microsoft/deberta-v2-xxlarge): 1. We fixed the incorrect name of the output embedding weights in the checkpoint file; 2. We fixed the implementation of the enhanced mask decoder (EMD), based on [the original GitHub repository](https://github.com/microsoft/DeBERTa); 3. We clamp the positional embeddings so that they work with long sequence lengths. ## Example code ```python from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("ltg/deberta-xxlarge-fixed", trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("ltg/deberta-xxlarge-fixed", trust_remote_code=True).cuda().eval() prompt = """German: Hallo, wie geht es Ihnen heute? English:""" prompt = prompt.replace('\n', '\\n ') input_ids = tokenizer(prompt, return_tensors="pt", add_special_tokens=False).input_ids.cuda() prediction = model.generate( input_ids, num_beams=4, do_sample=False, use_cache=None, max_new_tokens=64, eos_token_id=tokenizer(".\\", add_special_tokens=False).input_ids[1:] ) prediction = prediction[0, input_ids.size(1):] prediction = tokenizer.decode(prediction).rstrip('\\') # Expected output: "Hello, how are you doing today?" print(prediction) ``` ## Citation If you find DeBERTa useful for your work, please cite the following paper: ```bibtex @misc{samuel2024berts, title={{BERTs} are Generative In-Context Learners}, author={David Samuel}, year={2024}, eprint={2406.04823}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2406.04823} } ``` ``` bibtex @inproceedings{he2021deberta, title={{DeBERTa}: Decoding-enhanced {BERT} with disentangled attention}, author={Pengcheng He and Xiaodong Liu and Jianfeng Gao and Weizhu Chen}, booktitle={International Conference on Learning Representations}, year={2021}, url={https://openreview.net/forum?id=XPZIaotutsD} } ```