Views
No views yet
MistralLoRA — MedQuAD (LoRA r=4) corresponde a una versión afinada de mistralai/Mistral-7B-Instruct-v0.3 utilizando el conjunto de datos médico lavita/MedQuAD y el proceso de afinamiento aplicó la técnica LoRA (Low-Rank Adaptation) mediante PEFT (Parameter-Efficient Fine-Tuning) con cuantización NF4 en 4 bits implementada a través de bitsandbytes, el propósito principal consiste en generar respuestas médicas breves, coherentes y fundamentadas en fuentes verificables.Causal Language Model (AutoModelForCausalLM)mistralai/Mistral-7B-Instruct-v0.3Transformers, PEFT, bitsandbytesNVIDIA A100 (40 GB VRAM)eval_loss) de 0.7526 y una perplejidad final de 2.14, manteniendo un equilibrio entre factualidad y diversidad léxica. La siguiente figura muestra la evolución de la pérdida durante el proceso de entrenamiento y validación del modelo LoRA r=4:
test) del dataset MedQuAD. Las métricas consideradas incluyen ROUGE-L (coherencia semántica), BERTScore (factualidad), Distinct-n (diversidad léxica) y Repetition Ratio (repetición de n-gramas) y los resultados se muestran en la siguiente tabla.| Estrategia | tokens_len | distinct_1 | distinct_2 | repetition_r3 | rougeL | bertscore_f1 |
|---|---|---|---|---|---|---|
greedy | 256.00 | 0.5736 | 0.8837 | 0.0007 | 0.2227 | 0.8560 |
topp_0.9 | 255.67 | 0.6023 | 0.8985 | 0.0000 | 0.2321 | 0.8537 |
temp_1.2 | 256.17 | 0.6297 | 0.9111 | 0.0052 | 0.2214 | 0.8534 |
topk_50 | 256.00 | 0.6380 | 0.9275 | 0.0000 | 0.2303 | 0.8520 |
temp_0.9 | 256.00 | 0.6107 | 0.9170 | 0.0000 | 0.1878 | 0.8468 |
beam_4 | 255.83 | 0.5772 | 0.9032 | 0.0000 | 0.1747 | 0.8386 |
greedy obtuvo el valor más alto de BERTScore, lo que indica una mayor precisión semántica y consistencia factual con las respuestas de referencia.topp_0.9 alcanzó la mejor puntuación en ROUGE-L, reflejando una mayor coherencia estructural y alineación gramatical con el texto esperado.topk_50 destacó en diversidad léxica (distinct-2), generando respuestas más variadas sin comprometer significativamente la coherencia.topp_0.9 presentó la menor tasa de repetición, lo que sugiere un balance adecuado entre creatividad y control sintáctico.MedQuAD incluye información médica validada, el modelo puede generar respuestas parciales o interpretaciones incorrectas.1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4model = AutoModelForCausalLM.from_pretrained("medranojl/MistralLoRAr4", device_map="auto", torch_dtype=torch.float16)
5tokenizer = AutoTokenizer.from_pretrained("medranojl/MistralLoRAr4")
6
7prompt = "What are the common symptoms of anemia?"
8inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
9outputs = model.generate(**inputs, max_new_tokens=150)
10print(tokenizer.decode(outputs[0], skip_special_tokens=True))