File size: 4,278 Bytes
596068e
 
7a07883
 
 
 
 
 
596068e
7a07883
 
 
 
 
146fdc1
 
7a07883
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
596068e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7a07883
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1b8287f
7a07883
 
 
1b8287f
 
7a07883
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
---
library_name: peft
license: llama2
datasets:
- TuningAI/Cover_letter_v2
language:
- en
pipeline_tag: text-generation
---
## Model Name: **Llama2_7B_Cover_letter_generator**
## Description:
**Llama2_7B_Cover_letter_generator** is a powerful, custom language model that has been meticulously fine-tuned to excel at generating cover letters for various job positions. 
It serves as an invaluable tool for automating the creation of personalized cover letters, tailored to specific job descriptions.
## Base Model: 
This model is based on the Meta's **meta-llama/Llama-2-7b-hf** architecture, 
making it a highly capable foundation for generating human-like text responses.

## Dataset :
This model was fine-tuned on a custom dataset meticulously curated with more than 200 unique examples.
The dataset incorporates both manual entries and contributions from GPT3.5, GPT4, and Falcon 180B models.

## Fine-tuning Techniques:
Fine-tuning was performed using QLoRA (Quantized LoRA), an extension of LoRA that introduces quantization for enhanced parameter efficiency.
The model benefits from 4-bit NormalFloat (NF4) quantization and Double Quantization techniques, ensuring optimized performance.

## Use Cases:

* **Automating Cover Letter Creation:** Llama2_7B_Cover_letter_generator can be used to rapidly generate cover letters for a wide range of job openings, saving time and effort for job seekers.

## Performance:

* Llama2_7B_Cover_letter_generator exhibits impressive performance in generating context-aware cover letters with high coherence and relevance to job descriptions.
* It maintains a low perplexity score, indicating its ability to generate text that aligns well with user input and desired contexts.
* The model's quantization techniques enhance its efficiency without significantly compromising performance.

## Limitations:

While the model excels in generating cover letters, it may occasionally produce text that requires minor post-processing for perfection.
+ It may not fully capture highly specific or niche job requirements, and some manual customization might be necessary for certain applications.
+ Llama2_7B_Cover_letter_generator's performance may vary depending on the complexity and uniqueness of the input prompts.
+ Users should be mindful of potential biases in the generated content and perform appropriate reviews to ensure inclusivity and fairness.

## Training procedure


The following `bitsandbytes` quantization config was used during training:
- load_in_8bit: False
- load_in_4bit: True
- llm_int8_threshold: 6.0
- llm_int8_skip_modules: None
- llm_int8_enable_fp32_cpu_offload: False
- llm_int8_has_fp16_weight: False
- bnb_4bit_quant_type: nf4
- bnb_4bit_use_double_quant: False
- bnb_4bit_compute_dtype: float16
### Framework versions


- PEFT 0.4.0


## How to Get Started with the Model

```
! huggingface-cli login
```

```python
from transformers import pipeline
from transformers import AutoTokenizer
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM , BitsAndBytesConfig
import torch

#config = PeftConfig.from_pretrained("ayoubkirouane/Llama2_13B_startup_hf")
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=getattr(torch, "float16"),
    bnb_4bit_use_double_quant=False)
model = AutoModelForCausalLM.from_pretrained(
        "meta-llama/Llama-2-7b-hf",
        quantization_config=bnb_config,
        device_map={"": 0})
model.config.use_cache = False
model.config.pretraining_tp = 1
model = PeftModel.from_pretrained(model, "TuningAI/Llama2_7B_Cover_letter_generator")
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-7b-hf" , trust_remote_code=True)
tokenizer.pad_token = tokenizer.eos_token
tokenizer.padding_side = "right"
Instruction = "Given a user's information about the target job, you will generate a Cover letter for this job based on this information."
while 1:
  input_text = input(">>>")
  logging.set_verbosity(logging.CRITICAL)
  prompt = f"### Instruction\n{Instruction}.\n ###Input \n\n{input_text}. ### Output:"
  pipe = pipeline(task="text-generation", model=model, tokenizer=tokenizer,max_length=400)
  result = pipe(prompt)
  print(result[0]['generated_text'].replace(prompt, ''))
```