|
--- |
|
license: apache-2.0 |
|
base_model: projecte-aina/FLOR-1.3B |
|
datasets: |
|
- ericrisco/customer_service_chatbot_ca |
|
tags: |
|
- finetune |
|
- bloom |
|
- customer service |
|
- catalan |
|
model-index: |
|
- name: FLOR-1.3B-xat |
|
results: [] |
|
library_name: transformers |
|
language: |
|
- ca |
|
--- |
|
|
|
# FLOR-1.3B Customer Service Chatbot (Catalan) |
|
|
|
This project fine-tunes the [`projecte-aina/FLOR-1.3B`](/projecte-aina/FLOR-1.3B) model from [Projecte Aina](/projecte-aina) specifically for a customer service chatbot in Catalan, utilizing the dataset [`ericrisco/customer_service_chatbot_ca`](/ericrisco/customer_service_chatbot_ca). The model is fine-tuned to understand and generate responses in Catalan, aiming to provide helpful and contextually relevant answers. |
|
|
|
## Model Details |
|
|
|
**Base Model:** `projecte-aina/FLOR-1.3B` |
|
|
|
**Fine-tuning Dataset:** `ericrisco/customer_service_chatbot_ca` |
|
|
|
**Language:** Catalan |
|
|
|
## How to use it |
|
|
|
``` |
|
<|startoftext|> |
|
### Instruction |
|
Below is an instruction that describes a task. You are a helpfull customer service assistant. Answer always in catalan. |
|
|
|
### Context |
|
Com puc accedir a la meva factura? |
|
|
|
### Answer |
|
``` |
|
|
|
## Training and Fine-tuning Details |
|
|
|
### Training Configuration |
|
|
|
- **TrainingArguments**: |
|
- `output_dir`: flor1-3B-customerservice-instruct-tune-500s |
|
- `max_steps`: 500 (Training is step-based rather than epoch-based) |
|
- `per_device_train_batch_size`: 4 |
|
- `warmup_steps`: 0.03 |
|
- `logging_steps`: 10 |
|
- `save_strategy`: epoch |
|
- `evaluation_strategy`: steps |
|
- `eval_steps`: 20 |
|
- `learning_rate`: 2e-4 |
|
- `lr_scheduler_type`: constant |
|
|
|
### Model Preparation and Quantization |
|
|
|
- **BitsAndBytesConfig**: |
|
- 4-bit quantization is enabled to optimize the model size and inference speed. |
|
- `bnb_4bit_quant_type`: nf4 |
|
- `bnb_double_quant`: True |
|
- `bnb_4bit_compute_dtype`: torch.float16 |
|
|
|
- **LoRA Configuration (for Parameter-Efficient Fine-tuning)**: |
|
- `lora_alpha`: 16 |
|
- `lora_dropout`: 0.1 |
|
- `lora_r`: 64 |
|
- `bias`: none |
|
- `task_type`: CAUSAL_LM |
|
|
|
### Tokenizer |
|
|
|
- The tokenizer from the base model `projecte-aina/FLOR-1.3B` is used. |
|
- Padding token is set to the unknown token, and padding is done to the right. |
|
|
|
### Dataset |
|
|
|
- The dataset used for training and evaluation is `ericrisco/customer_service_chatbot_ca`. |
|
- The data is structured to provide context, instructions, and expected responses for a customer service scenario in Catalan. |
|
|
|
### Custom Prompt Formatting |
|
|
|
- Custom prompts are created to structure the input and output in a way that is beneficial for a customer service chatbot. |
|
- Each prompt includes: |
|
- Beginning of the sequence token (`<|startoftext|>`) |
|
- Instruction text (defining the role and language of the model) |
|
- Input text (customer's message) |
|
- Expected response text |
|
- End of the sequence token (`<|endoftext|>`) |
|
|
|
### Training Process |
|
|
|
- The model is trained using the `SFTTrainer` from the `trl` library, allowing for supervised fine-tuning on the task-specific dataset. |
|
- Training is performed with the specified parameters, focusing on a conversational structure and language understanding. |
|
|
|
## Usage |
|
|
|
After fine-tuning, the model can generate responses to customer service inquiries in Catalan. To use the model, you should: |
|
|
|
1. Load the model and tokenizer. |
|
2. Prepare the input according to the custom prompt format. |
|
3. Generate the response using the model. |
|
|
|
Detailed instructions and examples can be added to demonstrate the usage of the fine-tuned model. |
|
|
|
## Conclusion |
|
|
|
The `projecte-aina/FLOR-1.3B` model, fine-tuned on the `ericrisco/customer_service_chatbot_ca` dataset, is expected to deliver responsive and contextually aware customer service interactions in Catalan. The fine-tuning process, coupled with parameter-efficient techniques and quantization, ensures that the model remains efficient while being effective in its designated task. |
|
|
|
For further details, questions, or contributions, please refer to the project repository or contact the maintainers. |
|
|
|
|