Views
No views yet
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
3from peft import prepare_model_for_kbit_training, PeftModel, PeftConfig
4
5model_path = 'yanolja/EEVE-Korean-10.8B-v1.0'
6lora_path = 'qwopqwop/EEVE-ALMA-R'
7
8bnb_config = BitsAndBytesConfig(load_in_4bit=True,bnb_4bit_quant_type="nf4",bnb_4bit_compute_dtype=torch.float16,)
9model = AutoModelForCausalLM.from_pretrained(model_path, quantization_config=bnb_config, trust_remote_code=True)
10model.config.use_cache = False
11model = PeftModel.from_pretrained(model, lora_path)
12model = prepare_model_for_kbit_training(model)
13tokenizer = AutoTokenizer.from_pretrained(model_path, padding_side='left')
14
15en_text = 'Hi.'
16ko_text = '안녕하세요.'
17
18en_prompt = f"Translate this from English to Korean:\nEnglish: {en_text}\nKorean:"
19ko_prompt = f"Translate this from Korean to English:\nKorean: {ko_text}\nEnglish:"
20
21input_ids = tokenizer(en_prompt, return_tensors="pt", padding=True, max_length=256, truncation=True).input_ids.cuda()
22with torch.no_grad():
23 generated_ids = model.generate(input_ids=input_ids, num_beams=5, max_new_tokens=20, do_sample=True, temperature=0.6, top_p=0.9)
24outputs = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
25print(outputs)
26
27input_ids = tokenizer(ko_prompt, return_tensors="pt", padding=True, max_length=256, truncation=True).input_ids.cuda()
28with torch.no_grad():
29 generated_ids = model.generate(input_ids=input_ids, num_beams=5, max_new_tokens=20, do_sample=True, temperature=0.6, top_p=0.9)
30outputs = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
31print(outputs)