peft safetensors translation ko en base_model:yanolja/EEVE-Korean-Instruct-10.8B-v1.0 base_model:adapter:yanolja/EEVE-Korean-Instruct-10.8B-v1.0 license:mit region:us
---
base_model: yanolja/EEVE-Korean-Instruct-10.8B-v1.0
language:
- ko
- en
library_name: peft
license: mit
pipeline_tag: translation
---

사용 데이터셋: aihub

훈련 환경: RTX3090 x 8

epoch: 1

time: 19시간

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

model_path = 'yanolja/EEVE-Korean-Instruct-10.8B-v1.0'
lora_path = 'qwopqwop/EEVE-ALMA'

bnb_config = BitsAndBytesConfig(load_in_4bit=True,bnb_4bit_quant_type="nf4",bnb_4bit_compute_dtype=torch.float16,)
model = AutoModelForCausalLM.from_pretrained(model_path, quantization_config=bnb_config, trust_remote_code=True)
model.config.use_cache = False
model = PeftModel.from_pretrained(model, lora_path)
model = prepare_model_for_kbit_training(model)
tokenizer = AutoTokenizer.from_pretrained(model_path, padding_side='left')

en_text = 'Hi.'
ko_text = '안녕하세요.'

en_prompt = f"Translate this from English to Korean:\nEnglish: {en_text}\nKorean:"
ko_prompt = f"Translate this from Korean to English:\nKorean: {ko_text}\nEnglish:"

input_ids = tokenizer(en_prompt, return_tensors="pt", padding=True, max_length=256, truncation=True).input_ids.cuda()
with torch.no_grad():
    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)
outputs = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
print(outputs)

input_ids = tokenizer(ko_prompt, return_tensors="pt", padding=True, max_length=256, truncation=True).input_ids.cuda()
with torch.no_grad():
    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)
outputs = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
print(outputs)
```