Edit model card

Model Card for Cyber-risk-llama-3-8b

Model Description

This model is a fine-tuned version of meta-llama/Meta-Llama-3-8B on the vanessasml/cybersecurity_32k_instruction_input_output dataset.

It is specifically designed to enhance performance in generating and understanding cybersecurity, identifying cyber threats and classifying data under the NIST taxonomy and IT Risks based on the ITC EBA guidelines.

Intended Use

  • Intended users: Data scientists and developers working on cybersecurity applications.
  • Out-of-scope use cases: This model should not be used for medical advice, legal decisions, or any life-critical systems.

Training Data

The model was fine-tuned on vanessasml/cybersecurity_32k_instruction_input_output, a dataset focused on cybersecurity news analysis. No special data format was applied as recommended

Training Procedure

  • Preprocessing: Text data were tokenized using the tokenizer corresponding to the base model meta-llama/Meta-Llama-3-8B.
  • Hardware: The training was performed on GPUs with mixed precision (FP16/BF16) enabled.
  • Optimizer: Paged AdamW with a cosine learning rate schedule.
  • Epochs: The model was trained for 1 epoch.
  • Batch size: 4 per device, with gradient accumulation where required.

Evaluation Results

Model evaluation was based on qualitative assessment of generated text relevance and coherence in the context of cybersecurity.

Quantization and Optimization

  • Quantization: 4-bit precision with type nf4. Nested quantization is disabled.
  • Compute dtype: float16 to ensure efficient computation.
  • LoRA Settings:
    • LoRA attention dimension: 64
    • Alpha parameter for LoRA scaling: 16
    • Dropout in LoRA layers: 0.1

Environmental Impact

  • Compute Resources: Training leveraged energy-efficient hardware and practices to minimize carbon footprint.
  • Strategies: Gradient checkpointing and group-wise data processing were used to optimize memory and power usage.

How to Use

Here is how to load and use the model:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "vanessasml/cyber-risk-llama-3-8b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Example of how to use the model:
prompt = """Question: What are the cyber threads present in the article?
Article: More than one million Brits over the age of 45 have fallen victim to some form of email-related fraud, \
as the internet supersedes the telephone as the favored channel for scammers, according to Aviva. \
The insurer polled over 1000 adults over the age of 45 in the latest update to its long-running Real Retirement Report. \
Further, 6% said they had actually fallen victim to such an online attack, amounting to around 1.2 million adults. \
Some 22% more people it surveyed had been targeted by ...	
"""
pipe = pipeline(task="text-generation", model=model, tokenizer=tokenizer, max_length=200)
# To generate text:
result = pipe(prompt)
print(result[0]['generated_text'])

Limitations and Bias

The model, while robust in cybersecurity contexts, may not generalize well to unrelated domains. Users should be cautious of biases inherent in the training data which may manifest in model predictions.

Citation

If you use this model, please cite it as follows:

@misc{cyber-risk-llama-3-8b-sft-lora-4bit-float16,
  author = {Vanessa Lopes},
  title = {Cyber-risk-llama-3-8B Model},
  year = {2024},
  publisher = {HuggingFace Hub},
  journal = {HuggingFace Model Hub}
}
Downloads last month
15

Dataset used to train Vanessasml/cyber-risk-llama-3-8b