--- library_name: transformers tags: [] --- --- # phi2-2b-absa: Fine-Tuned Aspect-Based Sentiment Analysis Model ## Model Description The **phi2-2b-absa** model is a fine-tuned aspect-based sentiment analysis (ABSA) model based on the Microsoft Phi-2 model. It has been trained on the **semeval2016-full-absa-reviews-english-translated-resampled** dataset. The model predicts sentiments towards different aspects mentioned in a given sentence. ## Fine-Tuning Details The fine tuning can be revisited on [Google Colab](https://colab.research.google.com/drive/1n3ykETLpHQPXwPhUcOe-z9cG3ThrDkSi?usp=sharing). ### Dataset - **Name:** semeval2016-full-absa-reviews-english-translated-resampled - **Description:** Annotated dataset for ABSA containing sentences, aspects, sentiments, and additional contextual text. It is split into train and test sets. ### Model Architecture - **Base Model:** Microsoft Phi-2 - **Fine-Tuned Model:** phi2-2b-absa ### Fine-Tuning Parameters - **LoRA Attention Dimension (lora_r):** 64 - **LoRA Scaling Parameter (lora_alpha):** 16 - **LoRA Dropout Probability (lora_dropout):** 0.1 ### BitsAndBytes Quantization - **Activate 4-bit Precision:** True - **Compute Dtype for 4-bit Models:** float16 - **Quantization Type:** nf4 ### Training Parameters - **Number of Training Epochs:** 1 - **Batch Size per GPU for Training:** 4 - **Batch Size per GPU for Evaluation:** 4 - **Gradient Accumulation Steps:** 1 - **Learning Rate:** 2e-4 - **Weight Decay:** 0.001 - **Optimizer:** PagedAdamW (32-bit) - **Learning Rate Scheduler:** Cosine ### SFT Parameters - **Maximum Sequence Length:** None - **Packing:** False ## How to Use ``` from transformers import AutoTokenizer, pipeline import torch model = "Alpaca69B/llama-2-7b-absa-semeval-2016" tokenizer = AutoTokenizer.from_pretrained(model) pipeline = pipeline( "text-generation", model=model, tokenizer=tokenizer, torch_dtype=torch.float16, device="auto", ) input_sentence = "the first thing that attracts attention is the warm reception and the smiling receptionists." sequences = pipeline( f'### Human: {input_sentence} ### Assistant: aspect:', do_sample=True, top_k=10, num_return_sequences=1, eos_token_id=tokenizer.eos_token_id, max_length=200, ) sequences[0]['generated_text'] ``` Testing can be seen on [Google Colab](https://colab.research.google.com/drive/1eKdZYYWiivyeCQDsocGBstVODMLZyT-_?usp=sharing) ## Acknowledgments - The fine-tuning process and model development were performed by Ben Kampmann. ---