Menstrual-LLaMA-8B / README.md
proadhikary's picture
Update README.md
676e869 verified
metadata
library_name: peft
base_model: meta-llama/Meta-Llama-3-8B-Instruct
pipeline_tag: text-generation
widget:
  - example_title: Hi, I am Menstrual Chatbot. How may I help you?
    messages:
      - role: user
        content: Hey! What are common symptoms of menstruation?
inference:
  parameters:
    max_new_tokens: 200
    stop:
      - <|end_of_text|>
      - <|eot_id|>

Model Details

LCS2 developed and released the Mestrual-LLaMA, a generative text models in 8B size. It is optimized for dialogue use cases. Further, in developing these models, we took great care to optimize helpfulness and safety.

Model Description

  • Developed by: LCS2, IIT Delhi
  • Language(s) (NLP): Multilingual
  • License: LLaMA3
  • Finetuned from model: Meta-Llama-3-8B-Instruct

Model Sources

  • Repository: github.com/proadhikary/chatwithisha

Uses

Intended Use

This model is fine-tuned on a menstrual health dataset to provide accurate and sensitive responses to queries related to menstrual health.

Downstream Use

  • Primary Use: Menstrual health Q&A.
  • Secondary Use: Educational resources, support groups, and health awareness initiatives.

Out-of-Scope Use

  • Not Recommended For: Comprehensive sexual healthcare chatbot functionalities and prescribing medications.

Bias, Risks, and Limitations

While this model strives for accuracy and sensitivity, it is essential to note the following:

  • Biases: The model might reflect existing biases in the training data.
  • Limitations: It may not always suggest accurate medications or treatments; professional verification is advised.

Recommendations

Users, both direct and downstream, should be aware of the model's biases, risks, and limitations. It is recommended to use the model as a supplementary tool rather than a definitive source.

How to Get Started with the Model

Use the following code snippet to get started with the model:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

#Request us for the model, collect your token: https://huggingface.co/docs/hub/en/security-tokens & place it here.
#access_token = "hf_..."

model_path = "proadhikary/Menstrual-LLaMA-8B"
tokenizer = AutoTokenizer.from_pretrained(model_path, token=access_token)
model = AutoModelForCausalLM.from_pretrained(model_path, token=access_token)

def model_output(Question):
    messages = [
        {"role": "system", "content": "Act as an advisor for menstrual health. Do not answer out of Domain(Menstrual Health) question. Generate only short and complete response!"},
        {"role": "user", "content": Question},
    ]

    input_ids = tokenizer.apply_chat_template(messages, add_generation_prompt=True,return_tensors="pt").to(model.device)

    terminators = [tokenizer.eos_token_id, tokenizer.convert_tokens_to_ids("<|eot_id|>")]

    torch.backends.cuda.enable_mem_efficient_sdp(False)
    torch.backends.cuda.enable_flash_sdp(False)

    outputs = model.generate(input_ids, pad_token_id=tokenizer.pad_token_id, max_new_tokens=200, eos_token_id=terminators, do_sample=True, temperature=0.6, top_p=0.9,)

    response = outputs[0][input_ids.shape[-1]:]
    out = tokenizer.decode(response, skip_special_tokens=True)

# Example usage
input_text = "What are common symptoms of menstruation?"
response = model_output(input_text)

print(response)

Training Data

The dataset used for fine-tuning includes diverse and multilingual content focused on menstrual health. This dataset will be released soon.

Preprocessing

Special tokens were added following this: https://llama.meta.com/docs/model-cards-and-prompt-formats/meta-llama-3/

Training Hyperparameters

  • Training regime: [learning_rate=2e-4, weight_decay=0.001, fp16=False, bf16=False, max_grad_norm=0.3, max_steps=-1, warmup_ratio=0.03, group_by_length=True, lr_scheduler_type="constant"]