| | --- |
| | license: llama2 |
| | base_model: codellama/CodeLlama-7b-Instruct-hf |
| | language: |
| | - en |
| | tags: |
| | - arxiv:2406.11717 |
| | --- |
| | |
| | # codellama-abliterated |
| |
|
| | CodeLlama-7b-Instruct-hf adapted using the abliteration notebook from [Maxime Labonne's LLM Course](https://github.com/mlabonne/llm-course) |
| |
|
| | Based on the paper ["Refusal in Language Models Is Mediated by a Single Direction"](https://arxiv.org/abs/2406.11717) |
| |
|
| | **Based on CodeLlama/Llama2 and subject to the restrictions of that model and license - not for unapproved uses**: |
| |
|
| | ## Concept |
| |
|
| | There are hundreds of "abliterated" models on HuggingFace, using safety prompt datasets to edit a model and remove safety-tuning methods. |
| |
|
| | None of these abliterated models have explored code LLMs, code-generation, and CyberSecEval. I don't know a lot about how well these will |
| | work, but this is a first step. |
| |
|
| | Blog: https://huggingface.co/blog/monsoon-nlp/refusal-in-code-llms |
| |
|
| | Model with 2x intervention: https://huggingface.co/monsoon-nlp/codellama-abliterated-2xd |
| |
|
| | ## Usage |
| |
|
| | ```python |
| | ! pip install transformers accelerate --quiet |
| | from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer, AutoConfig |
| | |
| | tokenizer = AutoTokenizer.from_pretrained("codellama/CodeLlama-7b-Instruct-hf") |
| | model = AutoModelForCausalLM.from_pretrained("monsoon-nlp/codellama-abliterated", device_map="auto") |
| | |
| | code_generator = pipeline('text-generation', model=model, tokenizer=tokenizer, do_sample=False) |
| | |
| | input_string = "[INST] Write a python function to calculate the factorial of a number [/INST]" |
| | generated_code = code_generator(input_string, max_length=100)[0]['generated_text'] |
| | print(generated_code) |
| | ``` |