--- library_name: peft license: apache-2.0 datasets: - knkarthick/dialogsum pipeline_tag: summarization --- ## About the Model LLama-2 7B is finetuned using SFT to generate summaries from conversations. ## Useage with Transformers ```python from transformers import AutoTokenizer, AutoModelForCausalLM import transformers from peft import PeftModel # Quantization config bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype="float16", ) model_name = "TinyPixel/Llama-2-7B-bf16-sharded" # loading the model with quantization config model = AutoModelForCausalLM.from_pretrained( model_name, quantization_config=bnb_config, trust_remote_code=True, device_map='auto' ) tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True , return_token_type_ids=False) tokenizer.pad_token = tokenizer.eos_token model = PeftModel.from_pretrained(model,"shenoy/DialogSumLlama2_qlora", device_map="auto") text = """### Instruction: Write a concise summary of the below input text.Return your response in bullet points which covers the key points of the text. ### Input: #Person1#: Ms. Dawson, I need you to take a dictation for me. #Person2#: Yes, sir... #Person1#: This should go out as an intra-office memorandum to all employees by this afternoon. Are you ready? #Person2#: Yes, sir. Go ahead. #Person1#: Attention all staff... Effective immediately, all office communications are restricted to email correspondence and official memos. The use of Instant Message programs by employees during working hours is strictly prohibited. #Person2#: Sir, does this apply to intra-office communications only? Or will it also restrict external communications? #Person1#: It should apply to all communications, not only in this office between employees, but also any outside communications. #Person2#: But sir, many employees use Instant Messaging to communicate with their clients. #Person1#: They will just have to change their communication methods. I don't want any - one using Instant Messaging in this office. It wastes too much time! Now, please continue with the memo. Where were we? #Person2#: This applies to internal and external communications. #Person1#: Yes. Any employee who persists in using Instant Messaging will first receive a warning and be placed on probation. At second offense, the employee will face termination. Any questions regarding this new policy may be directed to department heads. #Person2#: Is that all? #Person1#: Yes. Please get this memo typed up and distributed to all employees before 4 pm. ### Response :""" inputs = tokenizer(text, return_tensors="pt") outputs = model.generate(input_ids=inputs['input_ids'], attention_mask=inputs['attention_mask'], max_new_tokens=100 ,repetition_penalty=1.2) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` --- ## Training procedure Training Configuration: - `per_device_train_batch_size`: 4 - `gradient_accumulation_steps`: 4 - `optim`: "paged_adamw_8bit" - `learning_rate`: 2e-4 - `lr_scheduler_type`: "linear" - `save_strategy`: "epoch" - `logging_steps`: 10 - `num_train_epochs`: 2 - `max_steps`: 50 - `fp16`: True LORA Configuration: - `lora_alpha`: 16 - `lora_dropout`: 0.05 - `target_modules`: ["q_proj", "v_proj"] - `r`: 8 - `bias`: "none" - `task_type`: "CAUSAL_LM" 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 - `accelerate` 0.21.0 - `peft` 0.4.0 - `bitsandbytes` 0.40.2 - `transformers` 4.30.2 - `trl` 0.4.7