--- language: - code library_name: transformers license: apache-2.0 pipeline_tag: text-generation tags: - masked-diffusion - code-generation - qwen2 --- ## Open Diffusion Large Language Models for Code Generation This repository contains the weights and custom code for the **fredzzp/open-dcoder-0.5B** model, a masked diffusion model for code generation based on the Qwen2 architecture. The model was introduced in the paper [Don't Retrain, Align: Adapting Autoregressive LMs to Diffusion LMs via Representation Alignment](https://huggingface.co/papers/2605.06885). - **Code:** [pengzhangzhi/Open-dLLM](https://github.com/pengzhangzhi/Open-dLLM) - **Blog:** [Notion Blog](https://oval-shell-31c.notion.site/Open-Diffusion-Large-Language-Model-25e03bf6136480b7a4ebe3d53be9f68a?pvs=74) This model uses bidirectional attention and must be used with the custom `diffusion_generate` method. ## How to Use First, make sure you have the latest `transformers` library installed. ```bash pip install transformers torch huggingface_hub ``` You can then use the model for generation. Note: You must pass `trust_remote_code=True` to load the custom model architecture. ```python import torch from transformers import AutoTokenizer, AutoModelForCausalLM model_id = "fredzzp/open-dcoder-0.5B" device = "cuda" if torch.cuda.is_available() else "cpu" # trust_remote_code=True is essential tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, trust_remote_code=True ).to(device) prompt = "def fibonacci(n):" input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device) # The model will use the generation_config.json from the repo by default # You can also override parameters here outputs = model.diffusion_generate( inputs=input_ids, max_new_tokens=100, steps=16, temperature=0.8 ) # Decode the output prompt_len = input_ids.shape[1] generated_text = tokenizer.decode(outputs.sequences[0][prompt_len:], skip_special_tokens=True) print("--- Generated Code ---") print(generated_text) ``` ## Citation ```bibtex @misc{opendllm2025, title = {Open-dLLM: Open Diffusion Large Language Models}, author = {Fred Zhangzhi Peng, Shuibai Zhang, Alex Tong, and contributors}, year = {2025}, howpublished = {\url{https://github.com/pengzhangzhi/Open-dLLM}}, note = {Blog: \url{https://oval-shell-31c.notion.site/Open-Diffusion-Large-Language-Model-25e03bf6136480b7a4ebe3d53be9f68a?pvs=74}, Model: \url{https://huggingface.co/fredzzp/open-dcoder-0.5B}} } ```