metadata
license: other
library_name: peft
tags:
- trl
- sft
- generated_from_trainer
datasets:
- generator
base_model: google/gemma-7b-it
model-index:
- name: gemma-7b-it-summarization-sft-qlora
results: []
gemma-7b-it-summarization-sft-qlora
This model is a fine-tuned version of google/gemma-7b-it on the generator dataset.
Model Details
Base Model
Model Description
Korean summarization finetune model based on gemma-7b-it model
Finetuned by: [Kang Seok Ju]
Contact: [[email protected]]
Dataset
Framework versions
- PEFT 0.8.2
- Transformers 4.38.0
- Pytorch 2.2.1+cu121
- Datasets 2.17.0
- Tokenizers 0.15.2
Inference Examples
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
model_id = "brildev7/gemma-7b-it-finetune-summarization-ko-sft-qlora"
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.float16,
bnb_4bit_quant_type="nf4"
)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
quantization_config=quantization_config,
torch_dtype=torch.float16,
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
tokenizer.pad_token_id = tokenizer.eos_token_id
tokenizer.padding_side = 'right'
passage = "APΒ·AFP ν΅μ λ± μΈμ μ μμμ μ΅κ³ λΆμλ‘ κΌ½νλ μΈλμ 무μΌμ μλ°λ 릴λΌμ΄μΈμ€ μΈλμ€νΈλ¦¬ νμ₯μ΄ λ§λ΄μλ€μ μ΄νΈν κ²°νΌμμ μ€λΉνλ©΄μ μ μΈκ³ μ΅λ§μ₯μμ ν 리μ°λ μ€ν λ± μ λͺ
μΈμ¬λ€μ λκ±° μ΄λνλ€κ³ 2μΌ(νμ§μκ°) 보λνλ€. μ΄μ λ°λ₯΄λ©΄ κ·Έμ 28μΈ μλ€μΈ μλνΈ μλ°λλ μ€λ 7μ μΈλ μλΆ κ΅¬μλΌνΈμ£Ό μ λκ°λ₯΄μμ μ€λ μ°μΈμΈ λΌλμΉ΄ λ¨Έμ²νΈμ κ²°νΌν μμ μ΄λ€. λ¨Έμ²νΈλ μΈλ μ μ½νμ¬ μμ½λ₯΄ ν¬μ€μΌμ΄μ μ΅κ³ κ²½μμ(CEO) λ°μ΄λ λ¨Έμ²νΈμ λΈμ΄λ€. μ¬νκ° μ§νλ λ μ¬λμ κ²°νΌμμ λ§ν¬ μ 컀λ²κ·Έ λ©ν CEO, λΉ κ²μ΄μΈ λ§μ΄ν¬λ‘μννΈ(MS) μ°½μ
μ, μλ€λ₯΄ νΌμ°¨μ΄ κ΅¬κΈ CEO, λλλ νΈλΌν μ λ―Έκ΅ λν΅λ Ήμ λΈ μ΄λ°©μΉ΄ νΈλΌν λ± 1200λͺ
μ μ λͺ
μΈμ¬λ€μ΄ μ°Έμν μμ μ΄λ€. λ νμ€ν 리νλμ λ§μ μ¬ λ°μ΄λΉλ λΈλ μΈ λ±μ 곡μ°λ μ΄λ¦΄ μμ μ΄λ€. μΈλμ ν¬λ°μ΄λ 리νλκ° μ΄ νμ¬ μΆμ°λ£λ‘ 900λ§ λ¬λ¬(μ½ 120μ΅ μ)λ₯Ό μ μλ°μλ€κ³ 보λνλ€. μ§λ 6μΌ μμΈκΉν¬λΉμ¦λμ€ν곡μΌν°λ₯Ό ν΅ν΄ μλλ©λ―Έλ¦¬νΈμ°ν©(UAE)μΌλ‘ μΆκ΅νκ³ μλ μ΄μ¬μ© μΌμ±μ μ νμ₯. λ΄μμ€ μ΄λ² κ²°νΌμμ μ°Έμνλ νκ°λ€μ μ κΈμ ν
λ§λ‘ ν μμμ μ
κ³ μλνΈ μλ°λκ° μ΄μνλ λλ¬Ό ꡬ쑰 μΌν°λ₯Ό λ°©λ¬Ένλ€. βμ²μ λ³βμ΄λΌλ λ»μ βλ°νλΌβλ‘ μλ €μ§ μ΄κ³³μ λ©΄μ λ§ μ¬μλμ 4λ°° κ·λͺ¨μΈ 12γ’μ λ¬νλ©° μ½λΌλ¦¬ λ± κ°μ’
λ©Έμ’
μκΈ°μ μλ λλ¬Όλ€μ΄ μμνλ€. λ λ§€μΌ μ΄νΈν νν°κ° μ΄λ¦¬λ©° κ·Έλλ§λ€ μλ‘μ΄ λλ μ€ μ½λμ λ§μΆ° μ·μ μ
μ΄μΌ νλ€. μ΄λ² κ²°νΌμμ μν΄ μλ°λλ νλκ΅ μ¬μ λ¨μ§λ₯Ό μλ‘ κ±΄μ€ μ€μ΄λ©°, κ²°νΌμ νν°μλ§ 2500μ¬ κ°μ μμμ΄ μ 곡λ μμ μ΄λ€. μλ°λλ 2018λ
κ³Ό 2019λ
μλ κ°κ° λΈκ³Ό μλ€μ κ²°νΌμν€λ©΄μ μ΄νΈν νν°λ₯Ό μ΄μ΄ μ μΈκ³μ μ΄λͺ©μ μ§μ€μμΌ°λ€. 2018λ
12μμ μ΄λ¦° λΈ μ΄μ€ μλ°λμ κ²°νΌμ μΆνμ°μλ νλ¬λ¦¬ ν΄λ¦°ν΄ μ λ―Έκ΅ κ΅λ¬΄μ₯κ΄κ³Ό μ΄μ¬μ© μΌμ±μ μ νμ₯, μΈλ‘ μ¬λ² 루νΌνΈ λ¨Έλ
μ μ°¨λ¨ μ μμ€ λ¨Έλ
λ±μ΄ μ°Έμνκ³ , μΆν 곡μ°μ νμ€ν λΉμμΈκ° 맑μλ€. μλ°λ νμ₯μ μ΄ κ²°νΌμμλ§ 1μ΅ λ¬λ¬(μ½ 1336μ΅ μ)λ₯Ό μ¬μ©ν κ²μΌλ‘ μ ν΄μ‘λ€. 2019λ
μ₯λ¨ μμΉ΄μ μλ°λμ κ²°νΌμμλ ν λ λΈλ μ΄ μ μκ΅ μ΄λ¦¬λ₯Ό λΉλ‘―ν΄ μλ€λ₯΄ νΌμ°¨μ΄μ λ°κΈ°λ¬Έ μ μ μμ¬λ¬΄μ΄μ₯ λ±μ΄ μ°Έμνλ€. μ΄μ¬μ© νμ₯μ μ΄ λ μΈλ μ ν΅ μμμ μ
κ³ μ°Έμν μ¬μ§μ΄ 곡κ°λΌ νμ κ° λκΈ°λ νλ€. μλ°λ νμ₯μ μμ μ κ°μ€, μμ νν λΆμΌμμ μ±κ³΅ν΄ λ§μ λμ λͺ¨μκ³ 2016λ
릴λΌμ΄μΈμ€ μ§μ€λ₯Ό μμΈμ μΈλ ν΅μ μμ₯μλ μ§μΆ, μΈλ μμ₯μ μ¬μ€μ νμ νλ©΄μ μμμ μ΅κ³ κ°λΆ λμ΄μ μ¬λΌμ°λ€. κ·Έκ° μμ ν μΈλ λλ°μ΄μ 27μΈ΅μ§λ¦¬ μ ν βμν리μβλ μΈκ³μμ κ°μ₯ λΉμΌ κ°μΈ μ£ΌνμΌλ‘ κΌ½νλ€."
text = f"λ¬Έμ₯: {passage}\nμμ½ :"
device = "cuda"
inputs = tokenizer(text, return_tensors="pt").to(device)
outputs = model.generate(**inputs,
max_new_tokens=512,
temperature=1,
use_cache=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
"μΈλμ λΆμ 무μΌμ μλ°λ νμ₯μ΄ μμ μ 28μΈ μλ€ μλνΈ μλ°λμ κ²°νΌμμ μ€λΉνλ©°, μ μΈκ³ μ΅λ§μ₯μμ ν 리μ°λ μ€ν λ± μ λͺ
μΈμ¬λ€μ μ΄λν΄ λ§ν¬ μ 컀λ²κ·Έ, λΉ κ²μ΄μΈ , μλ€λ₯΄ νΌμ°¨μ΄, λλλ νΈλΌν λΈ μ΄λ°©μΉ΄ νΈλΌν λ±μ΄ μ°Έμν μμ μ."
passage = "κ΅λ―Όμν μ₯μΌ μ μμΈ λ
Έμμ λΉνμμμ₯μ΄ 2μΌ κ³΅μ² νλ½μ λ°λ°ν΄ μ¬μλ λΉμ¬ μμμ λΆμ μ μλ μ€μΈ κ²μΌλ‘ μλ €μ‘λ€. νμ¬ κ²½μ°°κ³Ό λμΉ μνλ€. μ₯ μ μμμ₯μ μ΄λ μ€ν λΉμ¬ μμμ νλ°μ λ‘ μΆμ λλ μ‘체λ₯Ό λͺΈμ λΏλ¦° λ€ μ€λ₯Έμμ λΌμ΄ν°λ₯Ό λ€κ³ κ²½μ°°κ³Ό λμΉ μ€μ΄λ€. μμ κ΅λ―Όμνμ μ΄λ λ
Έμκ°μμ κΉκ΄μ μ μμΈμ μμ, κΉμ κ· νκ΅μ¬μ΄λ²λ³΄μνν νμ₯, νκ²½λ³ μ μμΈμμ₯ λΉμμ€μ₯μ 3μ κ²½μ λ°©μΉ¨μ λ°ννλ€. λ
Έμμμλ κΉμ€νΈ μ μμΈλ κ΅κ°μ¬μ μ°κ΅¬μΌν° μ°κ΅¬μμ΄ μ°μ μΆμ²λλ€. μ₯ μ μμμ₯μ λ
Έμκ° κ³΅μ²μ μ μ²νμΌλ κ²½μ λͺ
λ¨κ³Ό μ°μ κ³΅μ² λͺ
λ¨μ ν¬ν¨λμ§ μμλ€."
text = f"λ¬Έμ₯: {passage}\nμμ½: "
device = "cuda"
inputs = tokenizer(text, return_tensors="pt").to(device)
outputs = model.generate(**inputs,
max_new_tokens=1024,
temperature=1,
use_cache=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
"2μΌ κ²½μ°°κ³Ό λμΉ μ€μΈ μ₯μΌ μ μμΈ λ
Έμ λΉνμμμ₯μ΄ κ΅λ―Όμνμ λ
Έμκ° κ²½μ λ°©μΉ¨ λ°νμ κΉμ€νΈ μ μμΈλ κ΅κ°μ¬μ μ°κ΅¬μΌν° μ°κ΅¬μμ μ°μ μΆμ² μ§μ μΌλ‘ κ³΅μ² νλ½μ΄ μμλλ κ°μ΄λ°, μμ μ μν΄ μ¬μλ λΉμ¬ μμμ λΆμ μ μλνκ³ μλ€."