Model Card: Llama-3.2-3B-Korean-NL2SQL (Merged)

λ³Έ λͺ¨λΈμ€ Meta의 Llama-3.2-3B-Instruct λͺ¨λΈμ„ 베이슀둜 ν•˜μ—¬, μ‹€λ¬΄μš© PostgreSQL ν™˜κ²½μ—μ„œ ν•œκ΅­μ–΄ 질의λ₯Ό κ³ μ •λ°€ SQL 쿼리둜 λ³€ν™˜(NL2SQL)ν•  수 μžˆλ„λ‘ νŒŒμΈνŠœλ‹ 및 κ°€μ€‘μΉ˜ 병합(Weight Merge)을 μ™„λ£Œν•œ κ²½λŸ‰ νŠΉν™” λͺ¨λΈμž…λ‹ˆλ‹€.

3BλΌλŠ” μ†Œν˜• μ²΄κΈ‰μž„μ—λ„ λΆˆκ΅¬ν•˜κ³ , μ—λŸ¬ ν”Όλ“œλ°±μ„ 기반으둜 ν•œ μž¬κ·€μ  μžκ°€ μˆ˜μ • μ—μ΄μ „νŠΈ ν™˜κ²½μ—μ„œ 22.73%λΌλŠ” 높은 볡ꡬ 성곡λ₯ μ„ κΈ°λ‘ν•˜λ©° λ›°μ–΄λ‚œ μœ μ—°μ„±κ³Ό λΉ„μš© νš¨μœ¨μ„±(Cost-Efficiency)을 증λͺ…ν•œ λͺ¨λΈμž…λ‹ˆλ‹€.

🌟 μ£Όμš” νŠΉμ§• (Key Features)

  • μ΄ˆκ²½λŸ‰Β·κ³ νš¨μœ¨ μ—”μ§€λ‹ˆμ–΄λ§: 3B νŒŒλΌλ―Έν„° μ‚¬μ΄μ¦ˆλ‘œ VRAM μ†Œλͺ¨λ₯Ό μ΅œμ†Œν™”ν•˜μ—¬, 사양이 μ œν•œλœ μ—£μ§€ μ„œλ²„λ‚˜ 둜컬 ν™˜κ²½μ—μ„œλ„ λŒ€κ·œλͺ¨ 인프라 λΆ€λ‹΄ 없이 고속 μΆ”λ‘  및 μ„œλΉ™μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • 높은 회볡 탄λ ₯μ„± (High Resilience): 졜초 μƒμ„±μ—μ„œ 문법적 μ‹€μˆ˜κ°€ λ°œμƒν•˜λ”λΌλ„, λ°μ΄ν„°λ² μ΄μŠ€ μ—λŸ¬ 둜그λ₯Ό μ£Όμž…ν–ˆμ„ λ•Œ λ¬Έλ§₯을 νŒŒμ•…ν•˜μ—¬ μ˜¬λ°”λ₯Έ 쿼리둜 고쳐 μ“°λŠ” 디버깅 λŠ₯λ ₯이 체급 λŒ€λΉ„ 맀우 νƒμ›”ν•©λ‹ˆλ‹€.
  • μ‹€λ¬΄ν˜• PostgreSQL λ§€ν•‘: μ†Œν˜• λͺ¨λΈμ΄ ν”νžˆ λ²”ν•˜κΈ° μ‰¬μš΄ 문법적 비약을 μ–΅μ œν•˜κ³ , PostgreSQL κ·œκ²©μ— λ§žλŠ” μ•ˆμ •μ μΈ 쿼리 νŒ¨ν„΄μ„ κ΅¬μ‚¬ν•˜λ„λ‘ νŠœλ‹λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

πŸ“Š μ„±λŠ₯ 평가 μš”μ•½ (Evaluation Results)

μ‹€λ¬΄μš© ERP λ°μ΄ν„°λ² μ΄μŠ€ μŠ€ν‚€λ§ˆμ™€ λ‚œμ΄λ„λ³„(Level 1 ~ 5) 평가 데이터셋 400문항을 λ°”νƒ•μœΌλ‘œ μ—„λ°€ν•˜κ²Œ μΈ‘μ •ν•œ 벀치마크 κ²°κ³Όμž…λ‹ˆλ‹€.

Difficulty Pure Acc Final Acc Errors Repaired Repair Rate
Level 1 92.50% 92.50% 1 0 0.00%
Level 2 85.00% 87.50% 5 2 40.00%
Level 3 76.25% 78.75% 3 2 66.67%
Level 4 60.00% 61.25% 6 1 16.67%
Level 5 53.75% 53.75% 7 0 0.00%
TOTAL 73.50% 74.75% 22 5 22.73%
  • Pure Accuracy: 졜초 1회 생성 μ‹œμ˜ SQL μ‹€ν–‰ κ²°κ³Ό μ •λ‹΅λ₯ μ€ **73.50%**μž…λ‹ˆλ‹€.
  • μ—μ΄μ „νŠΈ μžκ°€ μˆ˜μ • 기여도: 1μ°¨ μƒμ„±μ—μ„œ μ—λŸ¬κ°€ λ°œμƒν•œ 22건 쀑 5건을 슀슀둜 μ™„λ²½νžˆ 수리(Repair Success Rate: 22.73%)ν•΄λ‚΄λ©°, μ΅œμ’… μ •λ‹΅λ₯ μ„ **74.75%**κΉŒμ§€ λŒμ–΄μ˜¬λ ΈμŠ΅λ‹ˆλ‹€. 특히 쀑간 λ‚œμ΄λ„(Level 2, 3)μ—μ„œ μ΅œλŒ€ 66.67%의 고효율 볡ꡬ μ„±λŠ₯을 μž…μ¦ν–ˆμŠ΅λ‹ˆλ‹€.

πŸ’» μ‚¬μš© 방법 (How to Use)

Llama-3.2의 곡식 Chat Template κ·œκ²©μ„ μ€€μˆ˜ν•˜μ—¬ 둜컬 ν™˜κ²½μ—μ„œ μΆ”λ‘ ν•˜λŠ” μ˜ˆμ‹œ μ½”λ“œμž…λ‹ˆλ‹€.

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "yeongseok11/Llama-3.2-3B-korean-nl2sql"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto"
)
model.eval()

# Prompt Template (Llama-3.2 μ „μš© ν…œν”Œλ¦Ώ μ€€μˆ˜)
prompt = """<|begin_of_text|><|start_header_id|>system<|end_header_id|>

당신은 μ‹€λ¬΄μš© PostgreSQL μ „λ¬Έκ°€μž…λ‹ˆλ‹€. 였직 SQL 쿼리만 λ‹΅λ³€ν•˜μ„Έμš”.<|eot_id|><|start_header_id|>user<|end_header_id|>

### μŠ€ν‚€λ§ˆ:
CREATE TABLE emp (
    emp_id INT PRIMARY KEY,
    emp_name VARCHAR(50),
    dept_id INT,
    salary INT
);

### 질문:
κΈ°νšνŒ€(dept_id = 10) μ§μ›λ“€μ˜ 평균 κΈ‰μ—¬λ₯Ό κ΅¬ν•˜λŠ” 쿼리λ₯Ό 짜쀘.<|eot_id|><|start_header_id|>assistant<|end_header_id|>

### SQL:
"""

inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=256,
        temperature=0.0,
        do_sample=False,
        pad_token_id=tokenizer.eos_token_id
    )

print(tokenizer.decode(outputs[0], skip_special_tokens=True).split("### SQL:\n")[-1])

πŸ“ 연ꡬ 및 ν•œκ³„μ  (Limitations & Future Work)
λ³Έ λͺ¨λΈμ€ κ²½λŸ‰ν™” λͺ¨λΈλ‘œμ„œ λ›°μ–΄λ‚œ μœ μ—°μ„±μ„ κ°–μΆ”κ³  μžˆμœΌλ‚˜, μ΄ˆκ³ λ‚œλ„(Level 5)의 λ³΅μž‘ν•œ 닀쀑 쑰인 μ œμ•½ 쑰건 ν™˜κ²½μ—μ„œλŠ” λͺ¨λΈ 체급 ν•œκ³„λ‘œ μΈν•œ 의미둠적 ν•œκ³„λ₯Ό 일뢀 λ³΄μž…λ‹ˆλ‹€.
 이λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•΄ ν–₯ν›„ μ—°κ΅¬λŠ” κΈ°μ € 인프라 λ‹¨μ—μ„œ μŠ€ν‚€λ§ˆ 정보λ₯Ό LLM μ§€ν–₯적으둜 가곡해 μ£ΌλŠ” AI μΉœν™”μ  메타데이터 μžλ™ 관리 νŒŒμ΄ν”„λΌμΈ(AI-Friendly Metadata Enrichment) μ²΄κ³„μ™€μ˜ 결합을 λͺ©ν‘œλ‘œ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
Downloads last month
-
Safetensors
Model size
3B params
Tensor type
BF16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for yeongseok11/Llama-3.2-3B-korean-nl2sql

Adapter
(753)
this model