JEJUMA-002

  • LLM으둜 μ‚¬λΌμ Έκ°€λŠ” 우리 λ°©μ–Έ 지킀기 ν”„λ‘œμ νŠΈ2: μ „κ΅­λ°©μ–Έ

μ™œ μ‹œμž‘ν•˜κ²Œ λ˜μ—ˆλ‚˜μš”?

λΉ λ₯΄κ²Œ μ‚¬λΌμ Έκ°€λŠ” 지역방언

  • μ—¬λŸ¬ 지역 방언듀이 사라지고 μžˆμŠ΅λ‹ˆλ‹€.
  • 지역에 μ‚¬λŠ” μ Šμ€μ΄λ“€λ„ 지역 λ°©μ–Έλ³΄λ‹€λŠ” ν‘œμ€€μ–΄λ₯Ό μ‚¬μš©ν•˜λŠ” κ²½ν–₯이 강해지고 μžˆμŠ΅λ‹ˆλ‹€.
  • 특히, νƒ€μ§€μ—­κ³Όμ˜ ꡐλ₯˜κ°€ ν™œλ°œν•΄μ§€λ©΄μ„œ μ Šμ€ 측에선 방언보단 ν‘œμ€€μ–΄λ₯Ό μ„ ν˜Έν•˜λŠ” ν˜„μƒμ΄ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

지역방언에 μ•½ν•œ μ–Έμ–΄λͺ¨λΈ

  • 온라인 μ†ŒμŠ€λŠ” ν‘œμ€€μ–΄λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆκΈ°μ—, μžλ£Œκ°€ 적은 지역방언을 잘 λͺ¨λ¦…λ‹ˆλ‹€.
  • 특히 μ œμ£Όμ–΄λŠ” ν‘œμ€€μ–΄μ™€ 차이가 크기 λ•Œλ¬Έμ—, 유λͺ…ν•œ λ‹¨μ–΄λ‚˜ λ¬Έμž₯ μ™Έμ—λŠ” λͺ¨λΈμ΄ 이해할 수 μ—†μŠ΅λ‹ˆλ‹€.
  • κ·Έ 외에 λ‹€λ₯Έ 방언듀도 점차 μ–΅μ–‘λ§Œ 남고 단어듀이 μ†Œμ‹€λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ–΄λ–»κ²Œ 이λ₯Ό ν•΄κ²°ν–ˆλ‚˜μš”?

  • μ–Έμ–΄λͺ¨λΈμ„ 톡해 μ–΄λ €μš΄ 방언을 ν‘œμ€€μ–΄λ‘œ λ³€κ²½ν•˜μ—¬ 방언이 μžŠν˜€μ§€μ§€ μ•Šλ„λ‘ ν•©λ‹ˆλ‹€.
  • μ–Έμ–΄λͺ¨λΈμ„ 톡해 ν‘œμ€€μ–΄μ˜ λ°©μ–Έ 버전을 μƒμ„±ν•˜μ—¬ 확인할 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.
  • 방언을 μž…λ ₯ν•˜λ©΄ μ–΄λŠ 지역 방언인지 μœ μΆ”ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.
  • μ–Έμ–΄λͺ¨λΈμ„ μ‚¬μš©ν•œ μ΄μœ λŠ” 기쑴에 ν•™μŠ΅λœ λ‹€μ–‘ν•œ λ‚΄μš©μ„ κ·ΈλŒ€λ‘œ μ΄μ–΄κ°ˆ 수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•¨μž…λ‹ˆλ‹€.

κ°œλ°œν•œ μ–Έμ–΄λͺ¨λΈμ— λŒ€ν•œ μ„€λͺ…

  • 각 지역 λ°©μ–Έ 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ Llama3.1을 λ‹€μ–‘ν•œ ν…ŒμŠ€ν¬κ°€ κ°€λŠ₯ν•˜λ„λ‘ νŒŒμΈνŠœλ‹ν•˜μ—¬, μ—¬λŸ¬ 지역 λ°©μ–Έκ³Ό κ΄€λ ¨λœ μ—¬λŸ¬ ν…ŒμŠ€ν¬λ₯Ό μˆ˜ν–‰ν•˜λ„λ‘ ν•©λ‹ˆλ‹€.
  • JEJUMA-002λŠ” ν˜„μž¬ λ°©μ–Έκ³Ό ν‘œμ€€μ–΄κ°„ λ³€κ²½, λ°©μ–Έ 탐지 λ“±μ˜ 역할을 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • JEJUMA-002λ₯Ό λͺ¨λΈμ„ ν›ˆλ ¨ν•˜κΈ° μœ„ν•΄ μ•½ 500만개의 지역방언-μ„œμšΈλ§ νŽ˜μ–΄ 데이터λ₯Ό μˆ˜μ§‘ν•˜κ³ , κ·Έ 쀑 지역방언 잘 λ“€μ–΄λ‚œ 데이터λ₯Ό 평균 15λ§Œκ°œμ”© 총 75만개 μ„ λ³„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 이λ₯Ό λ°”νƒ•μœΌλ‘œ 총 4κ°€μ§€μ˜ ν…ŒμŠ€ν¬λ₯Ό μˆ˜ν–‰ν•˜λ„λ‘ ν›ˆλ ¨ 데이터λ₯Ό ν™•μž₯ν•˜μ˜€μœΌλ©°, μ΄λŠ” 총 μ•½ 200만개의 λ°μ΄ν„°μž…λ‹ˆλ‹€.
  • 각 방언별 데이터 λΉ„μœ¨κ³Ό ν˜•μ‹μ„ λ§žμΆ”κΈ° μœ„ν•΄, 직접 μˆ˜μ§‘ν•˜λŠ” λŒ€μ‹  μ˜€ν”ˆ 데이터λ₯Ό κ°€κ³΅ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • LlamaFactoryλ₯Ό 톡해 LoRA λ°©μ‹μœΌλ‘œ ν›ˆλ ¨ν•˜μ˜€μœΌλ©°, λͺ¨λ“  데이터에 λŒ€ν•΄ 1에폭 ν•™μŠ΅ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • μ–΄λ €μš΄ λ°©μ–Έ(μ‚¬νˆ¬λ¦¬)에 λŒ€ν•΄μ„œ, gpt4o와 κ΅­μ‚° λͺ¨λΈμΈ μ—…μŠ€ν…Œμ΄μ§€ Solar, 넀이버 HCX 높은 λ²ˆμ—­ 정확도λ₯Ό λ³΄μž…λ‹ˆλ‹€.

제일 μ–΄λ €μš΄ μ œμ£Όμ–΄ ν…ŒμŠ€ν¬μ— λŒ€ν•œ μ˜ˆμ‹œ

μ œμ£Όμ–΄ -> ν‘œμ€€μ–΄

μž…λ ₯ λ¬Έμž₯ 자이 폴에 독솔 막 λ‚œ κ±° λ³΄λ‚œ μ–Έ μƒμ΄μš°λ‹€
μ •λ‹΅ 재 νŒ”μ— 닭살이 막 λ‚œ κ±° λ³΄λ‹ˆ, μΆ”μš΄ λͺ¨μ–‘이닀.
Upstage Solar 좜λ ₯ κ·Έ λ°”μœ„μ— 뱀이 λ‚˜νƒ€λ‚˜λŠ” κ±Έ λ³΄λ‹ˆκΉŒ 정말 λ†€λžλ‹€.
Naver HCX 좜λ ₯ 재의 풀에 λ…μ΄ˆκ°€ 마ꡬ λ‚œ 것을 λ³΄λ‹ˆ μ–΄λ¦° μ†Œλ‚˜λ¬΄μž…λ‹ˆλ‹€.
GPT-4o 좜λ ₯ μ €κΈ° λ°”μœ„μ— 독사가 막 λ‚˜νƒ€λ‚œ κ±Έ λ³΄λ‹ˆκΉŒ 정말 λ†€λžλ‹€.
JEJUMA-001 좜λ ₯ 재 νŒ”μ— 닭살이 막 λ‚œ κ±° λ³΄λ‹ˆ, μΆ”μš΄ λͺ¨μ–‘이닀.

ν‘œμ€€μ–΄ -> μ œμ£Όμ–΄

μž…λ ₯ λ¬Έμž₯ κ·€λ‚˜λ¬΄μ— κ·Έλƒ₯ κ°€μ„œ λ„ˆλ„€ 아버지쒀 찾아와라.
데이터셋 λ―ΈκΉ‘λ‚­ κ²½ 가심 λ„ˆλ„€ μ•„λ°© μ’€ 데령
Upstage Solar 좜λ ₯ κ·€ λ‚˜λ¬΄μ— κ°€μ„œ λ„€ 아버지λ₯Ό μ’€ 찾아와.
Naver HCX 좜λ ₯ 귀낭에 κ°• λŠλ„€ μ•„λ°© μ’€ 데령였라.
GPT-4o 좜λ ₯ κ·€λ‚˜λ¬΄μ— 걍 κ°€μ„œ ν–„μ‹  μ•„λ°© μ’€ 찾아와라.
JEJUMA-001 좜λ ₯ λ―ΈκΉ‘λ‚­ κ²½ 가심 λ„ˆλ„€ μ•„λ°© μ’€ μ΄žμ•„μ˜€λΌ.

μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λ‚˜μš”?

  • μ •μ˜λœ νƒ¬ν”Œλ¦Ώμ—μ„œ dialect_to_standard, standard_to_dialect, detect_dialect, detect_dialect_and_convert 쀑 ν•˜λ‚˜λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • dialect_to_standard: 방언을 ν‘œμ€€μ–΄λ‘œ λ³€κ²½
  • standard_to_dialect: ν‘œμ€€μ–΄λ₯Ό λ°©μ–ΈμœΌλ‘œ λ³€κ²½
  • detect_dialect: λ°©μ–Έ μ’…λ₯˜ 감지
  • detect_dialect_and_convert: μžλ™μœΌλ‘œ λ°©μ–Έμ’…λ₯˜λ₯Ό κ°μ§€ν•˜μ—¬ ν‘œμ€€μ–΄λ‘œ λ³€κ²½
import transformers
import torch

model_id = "JEJUMA/JEJUMA-002"

pipeline = transformers.pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16},
    device_map="auto",
)

terminators = [
    pipeline.tokenizer.eos_token_id,
    pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>")
]

class DialectPromptTemplate:
    @staticmethod
    def dialect_to_standard(text, region):
        return [{"role":"user", "content":f"Convert the following sentence or word which is {region}'s dialect to standard Korean: " + text},]

    @staticmethod
    def standard_to_dialect(text, region):
        return [{"role":"user", "content":f"Convert the following sentence or word which is standard Korean to {region}'s dialect: " + text},]

    @staticmethod
    def detect_dialect(text):
        return [{"role":"user", "content":"Detect the following sentence or word is standard, jeju, chungcheong, gangwon, gyeongsang, or jeonla's dialect: " + text},]

    @staticmethod
    def detect_dialect_and_convert(text):
        return [{"role":"user", "content":"Detect the following sentence or word is which dialect and convert the following sentence or word to standard Korean:" + text},]


outputs = pipeline(
    DialectPromptTemplate.dialect_to_standard("자이 폴에 독솔 막 λ‚œ κ±° λ³΄λ‚œ μ–Έ μƒμ΄μš°λ‹€", "jeju"),
    max_new_tokens=512,
    eos_token_id=terminators,
    do_sample=True,
    temperature=0.1,
    top_p=0.9,
)

print(outputs[0]["generated_text"][-1])

μΆ”ν›„ κ³„νš

  • JEJUMA-003λŠ” κ΅­λ‚΄μ˜ λͺ¨λ“  λ°©μ–Έ 데이터와 이λ₯Ό μ„€λͺ…ν•˜λŠ” ν…ŒμŠ€ν¬λ₯Ό λ°”νƒ•μœΌλ‘œ 데이터에 μ—†λŠ” λ°©μ–Έ(μ—°λ³€λ°©μ–Έ, λΆν•œμ–΄, 제3의 μ–Έμ–΄)λ₯Ό 일뢀 λ²ˆμ—­ν•  수 μžˆλ„λ‘ ν•  κ³„νšμž…λ‹ˆλ‹€.
  • JEJUMA-003이 λ³Έ 연ꡬ에 μ΅œμ’… 단계이며, 이λ₯Ό μœ„ν•΄ λ²ˆμ—­λͺ¨λΈμ΄λ‚˜ 더 μž‘μ€ λͺ¨λΈμ΄ μ•„λ‹ˆλΌ 8B 크기의 μ–Έμ–΄λͺ¨λΈμ„ μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
  • JEJUMA-002λ₯Ό ν›ˆλ ¨ν•˜κΈ° μœ„ν•œ 데이터λ₯Ό μ›ν•˜μ‹œλ©΄, [이메일](mailto: [email protected])둜 κ°„λ‹¨ν•œ μ†Œμ†κ³Ό μ‚¬μš© λͺ©μ μ„ λ§μ”€ν•΄μ£Όμ‹œλ©΄ λ‚΄λΆ€ μƒμ˜ν›„ μ „λ‹¬λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.
Downloads last month
14
Safetensors
Model size
8.03B params
Tensor type
BF16
Β·
Inference Examples
Unable to determine this model's library. Check the docs .

Model tree for JEJUMA/JEJUMA-002

Quantizations
1 model