metadata
license: mit
language:
- ko
pipeline_tag: text-generation
tags:
- Language
- Dialect
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])๋ก ๊ฐ๋จํ ์์๊ณผ ์ฌ์ฉ ๋ชฉ์ ์ ๋ง์ํด์ฃผ์๋ฉด ๋ด๋ถ ์์ํ ์ ๋ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.