CoolFace
Modelpublic

gyung/lfm2-1.2b-koen-mt-v6.4-merged

sourceHugging Faceotherupdated 9mo agoView on Hugging Face
1likes14downloads
Model Card

🌊 LFM2-1.2B-KoEn-MT-v6.4-merged

LiquidAI LFM2-1.2B 기반 κ³ ν’ˆμ§ˆ ν•œμ˜/μ˜ν•œ μ–‘λ°©ν–₯ λ²ˆμ—­ λͺ¨λΈ (SFT)

🎯 v8 RL Adapter의 Base Modelμž…λ‹ˆλ‹€. RL Adapter: gyung/lfm2-1.2b-koen-mt-v8-rl-10k-adapter (CHrF++ 34.61 πŸ†)

πŸ“Š 벀치마크 (Flores-200, 1012 Samples, Enβ†’Ko)

RankModelCHrF++BLEUParams
1Google Translate39.2718.18- (API)
2LFM2-v8-RL (with Adapter)34.6113.211.2B
3LFM2-v6.4-merged (This)33.5312.631.2B
4Gemma-3-4B-it-GGUF32.8311.364B
5LFM2-1.2B (Base)27.236.431.2B

βœ… v6.4λŠ” GRPO ν•™μŠ΅μ— μ΅œμ ν™”λœ μ•ˆμ •μ μΈ 베이슀 λͺ¨λΈ

πŸ”§ v6.4의 νŠΉμ§•

✨ 강점

  1. 1.Quote Bug μ™„μ „ ν•΄κ²°: v6.1/v6.3μ—μ„œ λ°œμƒν•˜λ˜ "" νŒ¨ν„΄μ΄ μ™„μ „νžˆ 사라짐
  2. 2.μžμ—°μŠ€λŸ¬μš΄ λ¬Έμž₯ ꡬ쑰: 이전 버전보닀 ν˜„λŒ€μ μ΄κ³  μœ λ €ν•œ λ²ˆμ—­
  3. 3.μ–‘λ°©ν–₯ λ²ˆμ—­: EN ↔ KO λͺ¨λ‘ 단일 λͺ¨λΈλ‘œ 지원
  4. 4.RL ν•™μŠ΅ 졜적 베이슀: v8 GRPO ν•™μŠ΅μ—μ„œ κ²€μ¦λœ μ•ˆμ •μ„±

⚠️ μ•Œλ €μ§„ ν•œκ³„

  1. 1.Tone Inconsistency: μ‘΄λŒ“λ§/반말이 μ„žμ—¬ λ‚˜μ˜€λŠ” 경우 있음 (β†’ RL둜 해결됨)
  2. 2.일뢀 고유λͺ…사 ν™˜κ°: 베이슀 λͺ¨λΈμ—μ„œ μƒμ†λœ 편ν–₯ 쑴재
πŸ’‘ ꢌμž₯: ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œλŠ” RL Adapterκ°€ 적용된 v8 μ‚¬μš© ꢌμž₯

πŸš€ μ‚¬μš©λ²•

κΈ°λ³Έ λ‘œλ“œ

python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "gyung/lfm2-1.2b-koen-mt-v6.4-merged"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    torch_dtype=torch.float16
)

μ˜μ–΄ β†’ ν•œκ΅­μ–΄ λ²ˆμ—­

python
messages = [
    {"role": "system", "content": "Translate to Korean."},
    {"role": "user", "content": "The training is progressing smoothly."}
]

input_ids = tokenizer.apply_chat_template(
    messages,
    return_tensors="pt",
    add_generation_prompt=True
).to(model.device)

outputs = model.generate(
    input_ids,
    max_new_tokens=256,
    do_sample=True,
    temperature=0.3,
    min_p=0.15,
    repetition_penalty=1.05
)

decoded = tokenizer.decode(outputs[0][input_ids.shape[1]:], skip_special_tokens=True)
print(decoded)
# 좜λ ₯: ν•™μŠ΅μ΄ 순쑰둭게 μ§„ν–‰λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

ν•œκ΅­μ–΄ β†’ μ˜μ–΄ λ²ˆμ—­

python
messages = [
    {"role": "system", "content": "Translate to English."},
    {"role": "user", "content": "였늘 날씨가 정말 μ’‹μŠ΅λ‹ˆλ‹€."}
]

# λ™μΌν•œ generate μ½”λ“œ μ‚¬μš©
# 좜λ ₯: The weather is really nice today.

πŸ“ˆ ν•™μŠ΅ 상세

2단계 컀리큘럼 ν•™μŠ΅

PhaseDatasetSamplesFocus
Phase 1v6-200k200,000일반 도메인 + κ΄€μš©κ΅¬
Phase 2v6.1-80k (Filtered)80,611CometKiwi > 0.85 κ³ ν’ˆμ§ˆ

ν•™μŠ΅ μ„€μ •

ν•­λͺ©κ°’
Base ModelLiquidAI/LFM2-1.2B
MethodFull Fine-tuning (SFT)
Total Steps~4,000
Final Loss1.2429
Token Accuracy71.60%
HardwareKaggle T4 x 2
Optimizerpagedadamw8bit
Learning Rate5e-6 (Cosine Decay)

ν•™μŠ΅ 둜그 (Phase 2)

StepLossToken AccλΉ„κ³ 
7501.28--
15001.257871.27%Healthy
30001.250671.47%Stable
40001.242971.60%Final

πŸ”— κ΄€λ ¨ 링크

πŸ“ Citation

bibtex
@misc{lfm2-koen-v6.4,
  author = {gyung},
  title = {LFM2-1.2B-KoEn-MT-v6.4: SFT-Enhanced Bidirectional Korean-English Translation Model},
  year = {2024},
  publisher = {Hugging Face},
  url = {https://huggingface.co/gyung/lfm2-1.2b-koen-mt-v6.4-merged}
}

πŸ“„ License

이 λͺ¨λΈμ€ Liquid AI LFM Open License v1.0을 λ”°λ¦…λ‹ˆλ‹€.

  • β€”ν—ˆμš©: ν•™μˆ  연ꡬ 및 개인적 μ‚¬μš©
  • —상업적 이용: μ—° 맀좜 1,000만 λ‹¬λŸ¬ 미만 무료