Instructions to use yeongseok11/Llama-3.2-3B-korean-nl2sql with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use yeongseok11/Llama-3.2-3B-korean-nl2sql with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
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
- -
Model tree for yeongseok11/Llama-3.2-3B-korean-nl2sql
Base model
meta-llama/Llama-3.2-3B-Instruct