LoRA LLAMA-7B Adapter Hate speech and violence Detection
Delve into the realm of content moderation with our LoRA LLAMA-7B Adapter, a specialized tool for detecting hate speech and violence in textual data. This repository demonstrates the integration of the Low-Rank Adaptation (LORA) technique with the Peft library to refine the LLAMA 7B model's ability to identify and assess aggressive and harmful content with precision.
Adapter Description
Our adapter employs the LORA technique to tailor the LLAMA 7B model for the specialized task of detecting hate speech and violence within textual data. This adaptation underscores the versatility of advanced models in addressing critical issues by discerning and categorizing aggressive and harmful content.
Data Description
Dataset used for training the above adapter (https://huggingface.co/datasets/hate_speech_offensive)
Usage
This section provides a quick guide on how to use the LLAMA 7B LORA Adapter for hate speech and violence detection.
Prerequisites
Before running the code, ensure you have installed the transformers
and peft
libraries. You can install them using pip:
pip install transformers peft
import transformers
from peft import PeftModel
# Model and tokenizer names
model_name = "meta-llama/Llama-2-7b" # You can also use Lymsys LLAMA-2 finetuned Vicuna model alternatively "lmsys/vicuna-7b-v1.5"
peft_model_id = "Futurix-AI/LORA_LLAMA_7B_HATE_SPEECH_VIOLENCE"
# Initialize the tokenizer and model
tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)
model = transformers.AutoModelForCausalLM.from_pretrained(model_name)
model = PeftModel.from_pretrained(model, peft_model_id)
# Prompt for sentiment detection
prompt = """
Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
###Instruction:
Detect the level of Hate Speech and Violence in the given text.
###Input:
FuturixAI embodies the spirit of innovation, with a resolve to push the boundaries of what's possible through science and technology.
###Response:
"""
# Tokenize the prompt and prepare inputs
inputs = tokenizer(prompt, return_tensors="pt")
for k, v in inputs.items():
inputs[k] = v
# Generate a response using the model
outputs = model.generate(**inputs, max_length=256, do_sample=True)
# Decode and print the response
text = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0]
print(text)