File size: 4,018 Bytes
261246d d861a43 261246d d927539 d861a43 261246d fb663ef 261246d c4fb95b 261246d fb663ef |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
---
language:
- ko
license: llama3.2
base_model:
- meta-llama/Llama-3.2-1B-Instruct
datasets:
- KorQuAD/squad_kor_v1
---
# Llama-3.2-1B-Instruct-korQuAD-v1
μ΄ λͺ¨λΈμ Llama-3.2-1B-Instructλ₯Ό κΈ°λ°μΌλ‘ νκ΅μ΄ μ§μμλ΅ νμ€ν¬μ λν΄ νμΈνλλ λͺ¨λΈμ
λλ€.
## λͺ¨λΈ μ€λͺ
- κΈ°λ³Έ λͺ¨λΈ: Llama-3.2-1B-Instruct
- νμ΅ λ°μ΄ν°μ
: KorQuAD v1.0
- νμ΅ λ°©λ²: LoRA (Low-Rank Adaptation)
- μ£Όμ νμ€ν¬: νκ΅μ΄ μ§μμλ΅
## λ²μ νμ€ν 리
### v1.0.0(2024-10-02)
- μ΄κΈ° λ²μ μ
λ‘λ
- KorQuAD v1.0 λ°μ΄ν°μ
νμΈνλ
### v1.1.0(2024-10-30)
- λͺ¨λΈ ν둬ννΈ λ° νμ΅ λ°©λ² κ°μ
- KorQuAD evaluate μ½λ μ μ©
## μ±λ₯
| λͺ¨λΈ | Exact Match | F1 Score |
|------|-------------|----------|
| Llama-3.2-1B-Instruct-v1 | 18.86 | 37.2 |
| Llama-3.2-1B-Instruct-v2 | 36.07 | 59.03 |
β» https://korquad.github.io/category/1.0_KOR.htmlμ evaluation script μ¬μ©
## μ¬μ© λ°©λ²
λ€μκ³Ό κ°μ΄ λͺ¨λΈμ λ‘λνκ³ μ¬μ©ν μ μμ΅λλ€:
```
#λͺ¨λΈ, ν ν¬λμ΄μ λ‘λ
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_path = "NakJun/Llama-3.2-1B-Instruct-ko-QuAD"
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.bfloat16,
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained(model_path)
#μ
λ ₯ νμ μ€μ
prompt = f"""
### Question:
{question}
### Context:
{context}
### Answer:
"""
#ν ν°ν λ° μΆλ‘
input_ids = tokenizer.encode(prompt, return_tensors="pt").to(model.device)
output = model.generate(
input_ids,
max_new_tokens=100,
temperature=0.1,
repetition_penalty=1.3,
do_sample=True,
eos_token_id=tokenizer.eos_token_id
)
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
answer = generated_text.split("Answer:")[-1].strip().split('\n')[0].strip()
print("μμ±λ λ΅λ³:", answer)
```
## νμ΅ μΈλΆ μ 보
- μν: 5
- λ°°μΉ ν¬κΈ°: 1
- νμ΅λ₯ : 2e-4
- μ΅ν°λ§μ΄μ : AdamW (32-bit)
- LoRA μ€μ :
- r: 16
- lora_alpha: 16
- λμ λͺ¨λ: ["q_proj", "v_proj", "k_proj", "o_proj", "gate_proj", "down_proj", "up_proj"]
- lora_dropout: 0.01
## μμ μ§λ¬Έ λ° λ΅λ³
```
[μμ 1: μμ²ν₯λνκ΅]
Context:
μμ²ν₯λνκ΅λ μΆ©μ²λ¨λ μμ°μ μ μ°½λ©΄ μμ²ν₯λ‘μ μμΉν μ¬λ¦½ μ’
ν©λνκ΅μ
λλ€.
μμ²ν₯λνκ΅μλ 1983λ
곡과λνμ΄ μ€λ¦½λμμ΅λλ€.
Question: μμ²ν₯λνκ΅μ μμΉλ?
Answer: μΆ©μ²λ¨λ μμ°μ μ μ°½λ©΄ μμ²ν₯λ‘
[μμ 2: μμ΄λΈ(IVE)]
Context:
μμ΄λΈ(IVE)λ λνλ―Όκ΅μ μ€νμ½ μν°ν
μΈλ¨ΌνΈ μμμ 6μΈμ‘° κ±Έκ·Έλ£ΉμΌλ‘, 2021λ
12μ 1μΌμ λ°λ·νμ΅λλ€.
κ·Έλ£Ή μ΄λ¦μΈ 'IVE'λ "I HAVE"μμ μ λνμΌλ©°, "λ΄κ° κ°μ§ κ²μ λΉλΉνκ² λ³΄μ¬μ£Όκ² λ€"λ μλ―Έλ₯Ό λ΄κ³ μμ΅λλ€.
λ°λ·μ λμμ ν° μΈκΈ°λ₯Ό λλ©° λΉ λ₯΄κ² μ£Όλͺ©λ°λ κ·Έλ£Ή μ€ νλλ‘ μ리 μ‘μμ΅λλ€.
λ©€λ² κ΅¬μ±:
μμ μ§ (리λ), κ°μ, λ μ΄, μ₯μμ, 리μ¦, μ΄μ
μ£Όμ νλ λ° ννΈκ³‘:
ELEVEN (2021λ
): λ°λ·κ³‘μΌλ‘, μΈλ ¨λ νΌν¬λ¨Όμ€μ λ©λ‘λλ‘ λ§μ μ¬λμ λ°μμ΅λλ€.
LOVE DIVE (2022λ
): μ€λ
μ± μλ λ©λ‘λμ 맀νΉμ μΈ μ½μ
νΈλ‘ ν° μΈκΈ°λ₯Ό μ»μΌλ©° μμ
λ°©μ‘μμ λ€μμ 1μλ₯Ό μ°¨μ§νμ΅λλ€.
After LIKE (2022λ
): 'LOVE DIVE'μ μ΄μ΄ ννΈλ₯Ό μΉ κ³‘μΌλ‘, μμ΄λΈμ κ°μ±μ λ νκ³ ν νλ 곑μ΄μμ΅λλ€.
μμ΄λΈλ λ
νΉν μ½μ
νΈμ λ°μ΄λ 무λ νΌν¬λ¨Όμ€λ‘ κ΅λ΄μΈ ν¬λ€μκ² μ¬λλ°κ³ μμΌλ©°, κ° λ©€λ²λ€ μμ κ°λ³μ μΈ λ§€λ ₯μ λ°μ°νλ©° νλ°ν νλνκ³ μμ΅λλ€.
μ₯μμκ³Ό μμ μ§μ λ°λ· μ λΆν° μμ΄μ¦μ νλμ ν΅ν΄ μ£Όλͺ©λ°μμΌλ©°, μ΄ν μμ΄λΈλ‘μλ μ±κ³΅μ μΈ νλμ μ΄μ΄κ°κ³ μμ΅λλ€.
Question1: μμ΄λΈμ 리λλ λꡬμΌ?
Answer1: μμ μ§
Question2: μμ΄λΈ λ°λ·κ³‘ μλ €μ€.
Answer2: ELEVEN
```
## μ°λ½μ²
- njsung1217@gmail.com
- https://github.com/nakjun |