Model Description
kobart-oxquiz
λ OX ν΄μ¦ μμ±μ μν΄ fine-tuning λ KoBART λͺ¨λΈμ
λλ€.
μ¬μ©μκ° μ
λ ₯ν λ¬Έλ§₯(context)κ³Ό μ λ΅ μ¬λΆ(ox)λ₯Ό κΈ°λ°μΌλ‘ κ΄λ ¨λ ν΄μ¦ λ¬Έμ₯μ μμ±ν©λλ€.
μ΄ λͺ¨λΈμ gogamza/kobart-base-v2
μ fine-tuning ν λͺ¨λΈμ
λλ€.
μμ±λ λ¬Έμ₯μ΄ νΉν λ°λ³΅ λΆλΆμμ μ·¨μ½νκΈ° λλ¬Έμ μλ μμμ κ°μ΄ μ¬λ¬ λ§€κ°λ³μλ₯Ό μ΄μ©νμ¬ μ‘°μ ν νμ μ¬μ©νμλ κ²μ μΆμ²λ립λλ€.
How to use
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import torch
import re
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# μ§λ¬Έ μμ± ν¨μ
def generate_ox(model, tokenizer, context, ox):
ox_str = "True" if ox else "False"
input_text = f"context: {context}\n ox: {ox_str}"
inputs = tokenizer(input_text, return_tensors="pt", truncation=True, padding=True).to(device)
inputs.pop("token_type_ids", None)
with torch.no_grad(): output_ids = model.generate(input_ids=inputs["input_ids"], attention_mask=inputs["attention_mask"], max_length=25, do_sample=True, top_k=50, top_p=0.9, repetition_penalty=3.0, no_repeat_ngram_size=2, num_beams=10, early_stopping=True)
question = tokenizer.decode(output_ids[0], skip_special_tokens=True)
question = re.sub(r'λ€(\.λ€)+\.', 'λ€.', question)
question = re.sub(r'\.\.+', '.', question)
question = re.sub(r'(?<=λ€\.)(?=[^\s])', ' ', question)
question = question.strip()
last_period_index = question.rfind('.')
if last_period_index:
question = question[:last_period_index+1]
return question
# λͺ¨λΈκ³Ό ν ν¬λμ΄μ λ‘λ
model_name = "asteroidddd/kobart-oxquiz"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name).to(device)
model.eval()
# μμ μΆλ ₯
print("\n[Example]")
context = "μ¬ν΄ νκ΅μ GDP μ±μ₯λ₯ μ 2.5%λ‘ μ΅κ·Ό 10λ
μ¬μ΄ κ°μ₯ λμ μμΉλ‘ μμλλ€."
question_T = generate_ox(model, tokenizer, context, True)
question_F = generate_ox(model, tokenizer, context, False)
print(f"Context\t\t: {context}")
print(f"True question\t: {question_T}")
print(f"False question\t: {question_F}\n")
Training Data
[μκ° λ°μ΄μ½ νκ΅μ΄ λ¬Έμ₯ κ΄κ³ λΆλ₯ κ²½μ§λν]
μλ³Έ λ°μ΄ν°μ
μ Premise(λ¬Έμ₯), Hypothesis(κ°μ€), Label(κ΄κ³) λ‘ μ΄λ£¨μ΄μ§ NLI(μμ°μ΄ μΆλ‘ ) λ°μ΄ν°μ
λλ€.
input μΌλ‘λ Premise
λ context
λ‘, Label
μ ox
λ‘ μ΄λ¦μ λ³κ²½νμ¬ μ¬μ©νμμ΅λλ€.
λͺ©ν output μΌλ‘λ Hypothesis
λ₯Ό question
μΌλ‘ μ΄λ¦ λ³κ²½ν ν, Hypothesis
μ κ°μΈ Entailment
μ True
λ‘, Contradiction
μ False
λ‘ λ³ννκ³ , Neutral
μ μ μΈνμ¬ μ¬μ©νμμ΅λλ€.
- Downloads last month
- 10