Uncensoring LLaMA 3.2 1B Model

Overview

This repository demonstrates the process of uncensoring a 1-billion-parameter LLaMA 3.2 model using "abliteration." Abliteration allows the model to generate outputs without the restrictions imposed by its default safety mechanisms. The goal is to give developers more control over the model's output by removing censorship filters while ensuring responsible AI usage.

Disclaimer: This model and methodology are intended for research and educational purposes only. Uncensoring models must be done with ethical considerations, and it's critical to avoid harmful or irresponsible applications.

Model Details

  • Model Name: LLaMA 3.2 (1B Parameters)
  • Version: Uncensored variant via the Abliteration technique
  • Framework: PyTorch
  • Source: Hugging Face LLaMA model

Abliteration: The Process

Abliteration removes the filtering mechanisms from the model's decoding process, allowing more open-ended responses. It's achieved by modifying how the logits (the model's output probabilities) are handled.

How to Use

To use the uncensored model, follow the instructions below.

Requirements

To get started, install the necessary packages:

pip install torch transformers

Loading the Uncensored Model

You can load the uncensored model directly using the Hugging Face transformers library.

from transformers import AutoModelForCausalLM, AutoTokenizer

# Load the tokenizer and model
tokenizer = AutoTokenizer.from_pretrained("your-hf-username/uncensored-llama-3.2-1b")
model = AutoModelForCausalLM.from_pretrained("your-hf-username/uncensored-llama-3.2-1b")

Generating Text

You can generate text with the uncensored model using the following code:

def uncensored_generate(model, tokenizer, input_text):
    inputs = tokenizer(input_text, return_tensors="pt").input_ids
    
    # Generate the output without applying safety filters
    outputs = model.generate(inputs, max_length=100, do_sample=True, temperature=0.9, top_k=50)
    decoded_output = tokenizer.decode(outputs[0], skip_special_tokens=True)
    return decoded_output

# Example usage
input_text = "What are your thoughts on controversial topics?"
output = uncensored_generate(model, tokenizer, input_text)
print(output)

Fine-Tuning the Uncensored Model (Optional)

For optimal results, you can fine-tune the model on uncensored datasets. Here's a simple way to set up fine-tuning using the Hugging Face Trainer:

from transformers import Trainer, TrainingArguments

training_args = TrainingArguments(
    output_dir="./results",
    num_train_epochs=1,
    per_device_train_batch_size=2,
    save_steps=10_000,
    save_total_limit=2,
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=uncensored_dataset  # Load your uncensored dataset
)

trainer.train()

Ethical Considerations

While this model has the ability to generate uncensored responses, it is critical to use it responsibly. Uncensored models can be prone to generating harmful or inappropriate content. Ensure you are aware of the implications of deploying uncensored models and avoid applications that may lead to unethical outcomes.

How to Contribute

Contributions to the project are welcome! You can fine-tune the model, improve performance, or experiment with different ways to uncensor the model.

  1. Fork this repository on Hugging Face.
  2. Make changes to the model or code.
  3. Share your results and improvements.

License

This model is released under the MIT License.

References

  • Original blog post: Uncensor any LLM with Abliteration
  • Hugging Face Transformers Documentation
Downloads last month
548
Safetensors
Model size
1.24B params
Tensor type
BF16
ยท
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for nztinversive/llama3.2-1b-Uncensored

Finetunes
2 models
Quantizations
1 model

Space using nztinversive/llama3.2-1b-Uncensored 1