Fine Tuned Llama 3b para simulación de comentarios de pasajero de Uber

Detalles del modelo

Este fue un modelo reentrenado por ajuste fino para que simule ser un pasajero de una app al estilo Uber, según un conjunto de características proporcionadas del viaje. Es parte de un trabajo integrador para una materia que tuve durante la tecnicatura.

Descripción del modelo

Fuentes

Recomendaciones

Es recomendable utilizar un prompt de sistema para la inferencia de la siguiente manera, prestando atención a los posibles valores de input que puede recibir el prompt y a los limitantes, que hacen más eficiente la respuesta:

inference_prompt="""
<rol>
Eres un usuario de una compañía de servicios de transfer de pasajeros llamada BATransf, vas a dejar una calificación y una opinión en base a estos datos de tu viaje:
</rol>

<limitantes>
Evitá repetir frases como "He utilizado BATransf", "He estado conduciendo para BATransf" o similares.
</limitantes>

### Input:
Input:
Tarifa: 65,Peajes: 0,Espera: 20,Tipo_Servicio: Premium,Trafico: bajo,Ubicación: Microcentro

. Localidad: Buenos Aires.

### Response:
"""

Este es un ejemplo de cómo el modelo fue ajustado para responder a parámetros de entrada de un viaje en un servicio de transporte de pasajeros.

Cómo utilizar el modelo

Es muy sencillo cargar el modelo a partir de este despliegue, hay que recordar que usamos como base el 3b 4bit de Unsloth, sobre el cual le cargamos el PEFT:

from peft import PeftModel
from transformers import AutoModelForCausalLM

base_model = AutoModelForCausalLM.from_pretrained("unsloth/llama-3.2-3b-bnb-4bit")
model = PeftModel.from_pretrained(base_model, "cpercivati/llama3b-finetuned-comentarios-uber")

Luego, podemos realizar inferencia:

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("unsloth/llama-3.2-3b-bnb-4bit")
data_prompt = """
<rol>
Eres un usuario de una compañía de servicios de transfer de pasajeros llamada BATransf, vas a dejar una calificación y una opinión en base a estos datos de tu viaje:
</rol>

<limitantes>
Evitá repetir frases como "He utilizado BATransf" o similares.
</limitantes>

<empresa>
BATransf
</empresa>

### Input:
{}

### Response:
{}
"""

input_text = "Tarifa: 65,Peajes: 0,Espera: 20,Tipo_Servicio: Premium,Trafico: bajo,Ubicación: Microcentro. Localidad: Buenos Aires."

prompt = data_prompt.format(input_text, "")

inputs = tokenizer([prompt], return_tensors="pt").to(model.device)

outputs = model.generate(
    **inputs,
    max_new_tokens=256,
    temperature=0.8,
    top_p=0.9,
    repetition_penalty=1.2,
    do_sample=True,
)

answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
review = answer.split("### Response:")[-1].strip()

print("Respuesta generada:")
print(review)

Training Details

Todos los detalles del entrenamiento se encuentran en el notebook mencionado.

Framework versions

  • PEFT 0.14.0
Downloads last month
1
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for cpercivati/llama3b-finetuned-comentarios-uber