--- base_model: allenai/OLMo-1B-hf library_name: peft --- # OLMo Code Python2-3 Tagged Model This is a LoRA adapter fine-tuned on the OLMo-1B model for Python 2 and 3 code generation tasks with language tagging. ## Model Details - **Base Model:** allenai/OLMo-1B-hf - **Model Type:** LoRA Adapter - **Task:** Causal Language Modeling for Python 2 and 3 code - **Language:** Python 2 and 3 with language tagging - **License:** MIT - **Fine-tuned by:** dipikakhullar ## Model Description This model is a LoRA adapter that has been fine-tuned on Python 2 and 3 code data with language tagging. It extends the capabilities of the base OLMo-1B model specifically for Python code generation tasks, with the ability to distinguish between Python 2 and Python 3 syntax. ### LoRA Configuration - **LoRA Type:** LORA - **LoRA Alpha:** 16 - **LoRA Dropout:** 0.05 - **LoRA Rank (r):** 8 - **Target Modules:** down_proj, q_proj, v_proj, up_proj, k_proj, gate_proj, o_proj - **Task Type:** CAUSAL_LM ## Uses ### Direct Use This model is intended for Python 2 and 3 code generation tasks with language tagging. It can be used to: - Generate Python code completions for both Python 2 and 3 - Assist with code writing in both Python versions - Provide code suggestions with language awareness - Handle Python 2 to Python 3 migration tasks ### Downstream Use The model can be further fine-tuned for specific Python programming tasks or integrated into code generation applications that need to handle both Python versions. ### Out-of-Scope Use This model is specifically designed for Python 2 and 3 code generation and may not perform well for: - Other programming languages - Natural language tasks - Non-code related tasks ## How to Get Started with the Model ```python from peft import PeftModel, PeftConfig from transformers import AutoModelForCausalLM, AutoTokenizer # Load the base model and tokenizer base_model = AutoModelForCausalLM.from_pretrained("allenai/OLMo-1B-hf") tokenizer = AutoTokenizer.from_pretrained("allenai/OLMo-1B-hf") # Load the LoRA adapter model = PeftModel.from_pretrained(base_model, "dipikakhullar/olmo-code-python2-3-tagged") # Example usage for Python 3 prompt = "[python3] def fibonacci(n):" inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_length=100, temperature=0.7) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) # Example usage for Python 2 prompt = "[python2] def fibonacci(n):" inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_length=100, temperature=0.7) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` ## Training Details ### Training Data The model was fine-tuned on cleaned Python 2 and 3 code data with language tagging, specifically prepared for language model training. ### Training Procedure - **Base Model:** allenai/OLMo-1B-hf - **Fine-tuning Method:** LoRA (Low-Rank Adaptation) - **Checkpoint:** checkpoint-2100 ## Model Card Contact - **Author:** dipikakhullar - **Repository:** https://huggingface.co/dipikakhullar/olmo-code-python2-3-tagged ## Framework versions - PEFT 0.7.1 - Transformers