SEOKDONG's picture
Update README.md
a8b8d24 verified
metadata
library_name: transformers
tags:
  - korean
  - 1B
  - ko
license: apache-2.0
language:
  - ko
metrics:
  - accuracy
base_model:
  - meta-llama/Llama-3.2-1B
pipeline_tag: text-generation

β›± ν•΄λ‹Ή λͺ¨λΈμ€μ€ LlaMA3.2 1Bλ₯Ό Foundation λͺ¨λΈλ‘œ ν•˜λŠ” ν•œκ΅­μ–΄ 및 ν•œκ΅­μ˜ λ‹€μ–‘ν•œ

문화에 μ μš©ν•  수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•΄

개발 λ˜μ—ˆμœΌλ©° 자체 μ œμž‘ν•œ 53개 μ˜μ—­μ˜ ν•œκ΅­μ–΄ 데이터λ₯Ό ν™œμš©ν•˜μ—¬ ν•œκ΅­ μ‚¬νšŒ κ°€μΉ˜μ™€

λ¬Έν™”λ₯Ό μ΄ν•΄ν•˜λŠ” λͺ¨λΈ μž…λ‹ˆλ‹€. Thanks for ktds✌

V0.2 Epoch=2

❢ λͺ¨λΈ μ„€λͺ…

  • λͺ¨λΈλͺ… 및 μ£Όμš”κΈ°λŠ₯: ν•΄λ‹Ή λͺ¨λΈμ€μ€ LlaMA3.2 1B λͺ¨λΈμ„ 기반으둜 SFT λ°©μ‹μœΌλ‘œ νŒŒμΈνŠœλ‹λœ λͺ¨λΈμž…λ‹ˆλ‹€. ν•œκ΅­μ–΄μ™€ ν•œκ΅­μ˜ λ‹€μ–‘ν•œ 문화적 λ§₯락을 μ΄ν•΄ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμœΌλ©° ✨✨, 자체 μ œμž‘ν•œ 53개 μ˜μ—­μ˜ ν•œκ΅­μ–΄ 데이터λ₯Ό ν™œμš©ν•΄ ν•œκ΅­ μ‚¬νšŒμ˜ κ°€μΉ˜μ™€ λ¬Έν™”λ₯Ό λ°˜μ˜ν•©λ‹ˆλ‹€. μ£Όμš” κΈ°λŠ₯μœΌλ‘œλŠ” ν…μŠ€νŠΈ 생성, λŒ€ν™” μΆ”λ‘ , λ¬Έμ„œ μš”μ•½, μ§ˆμ˜μ‘λ‹΅, 감정 뢄석 및 μžμ—°μ–΄ 처리 κ΄€λ ¨ λ‹€μ–‘ν•œ μž‘μ—…μ„ μ§€μ›ν•˜λ©°, ν™œμš© λΆ„μ•ΌλŠ” 법λ₯ , 재무, κ³Όν•™, ꡐ윑, λΉ„μ¦ˆλ‹ˆμŠ€, λ¬Έν™” 연ꡬ λ“± λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ μ‘μš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.
  • λͺ¨λΈ μ•„ν‚€ν…μ²˜: ν•΄λ‹Ή λͺ¨λΈμ€ LlaMA3.2 1B λͺ¨λΈμ„ 기반으둜, νŒŒλΌλ―Έν„° μˆ˜λŠ” 10μ–΅ 개(1B)둜 κ΅¬μ„±λœ κ³ μ„±λŠ₯ μ–Έμ–΄ λͺ¨λΈμž…λ‹ˆλ‹€. 이 λͺ¨λΈμ€LlaMA3.2 1Bλ₯Ό νŒŒμš΄λ°μ΄μ…˜ λͺ¨λΈλ‘œ μ‚Όμ•„, SFT(지도 λ―Έμ„Έ μ‘°μ •) 방식을 톡해 ν•œκ΅­μ–΄μ™€ ν•œκ΅­ 문화에 νŠΉν™”λœ μ„±λŠ₯을 λ°œνœ˜ν•˜λ„λ‘ ν›ˆλ ¨λ˜μ—ˆμŠ΅λ‹ˆλ‹€. LlaMA3.2 1B의 κ²½λŸ‰ν™”λœ κ΅¬μ‘°λŠ” λΉ λ₯Έ μΆ”λ‘  속도와 λ©”λͺ¨λ¦¬ νš¨μœ¨μ„±μ„ 보μž₯ν•˜λ©°, λ‹€μ–‘ν•œ μžμ—°μ–΄ 처리 μž‘μ—…μ— μ ν•©ν•˜κ²Œ μ΅œμ ν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 이 μ•„ν‚€ν…μ²˜λŠ” ν…μŠ€νŠΈ 생성, μ§ˆμ˜μ‘λ‹΅, λ¬Έμ„œ μš”μ•½, 감정 뢄석과 같은 λ‹€μ–‘ν•œ μž‘μ—…μ—μ„œ νƒμ›”ν•œ μ„±λŠ₯을 λ³΄μ—¬μ€λ‹ˆλ‹€.

❷ ν•™μŠ΅ 데이터

  • ν•΄λ‹Ή λͺ¨λΈμ€μ€ 자체 κ°œλ°œν•œ 총 3.6GB 크기의 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ ν•™μŠ΅λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λͺ¨λ‘ 233만 건의 QnA, μš”μ•½, λΆ„λ₯˜ λ“± 데이터λ₯Ό ν¬ν•¨ν•˜λ©°, κ·Έ 쀑 133만 건은 53개 μ˜μ—­μ˜ 객관식 문제둜 κ΅¬μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이 μ˜μ—­μ—λŠ” ν•œκ΅­μ‚¬, μ‚¬νšŒ, 재무, 법λ₯ , 세무, μˆ˜ν•™, 생물, 물리, ν™”ν•™ 등이 ν¬ν•¨λ˜λ©°, Chain of Thought λ°©μ‹μœΌλ‘œ ν•™μŠ΅λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ 130만 건의 주관식 λ¬Έμ œλŠ” ν•œκ΅­μ‚¬, 재무, 법λ₯ , 세무, μˆ˜ν•™ λ“± 38개 μ˜μ—­μ— 걸쳐 ν•™μŠ΅λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν•™μŠ΅ 데이터 쀑 ν•œκ΅­μ˜ μ‚¬νšŒ κ°€μΉ˜μ™€ μΈκ°„μ˜ 감정을 μ΄ν•΄ν•˜κ³  μ§€μ‹œν•œ 사항에 따라 좜λ ₯ν•  수 μžˆλŠ” 데이터λ₯Ό ν•™μŠ΅ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • ν•™μŠ΅ Instruction Datasets Format:
    {"prompt": "prompt text", "completion": "ideal generated text"}

❸ μ‚¬μš© 사둀

ν•΄λ‹Ή λͺ¨λΈμ€ λ‹€μ–‘ν•œ μ‘μš© λΆ„μ•Όμ—μ„œ μ‚¬μš©λ  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

  • ꡐ윑 λΆ„μ•Ό: 역사, μˆ˜ν•™, κ³Όν•™ λ“± λ‹€μ–‘ν•œ ν•™μŠ΅ μžλ£Œμ— λŒ€ν•œ μ§ˆμ˜μ‘λ‹΅ 및 μ„€λͺ… 생성.
  • λΉ„μ¦ˆλ‹ˆμŠ€: 법λ₯ , 재무, 세무 κ΄€λ ¨ μ§ˆμ˜μ— λŒ€ν•œ λ‹΅λ³€ 제곡 및 λ¬Έμ„œ μš”μ•½.
  • 연ꡬ 및 λ¬Έν™”: ν•œκ΅­ μ‚¬νšŒμ™€ 문화에 맞좘 μžμ—°μ–΄ 처리 μž‘μ—…, 감정 뢄석, λ¬Έμ„œ 생성 및 λ²ˆμ—­.
  • 고객 μ„œλΉ„μŠ€: μ‚¬μš©μžμ™€μ˜ λŒ€ν™” 생성 및 λ§žμΆ€ν˜• 응닡 제곡.
  • 이 λͺ¨λΈμ€ λ‹€μ–‘ν•œ μžμ—°μ–΄ 처리 μž‘μ—…μ—μ„œ 높은 ν™œμš©λ„λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

❹ ν•œκ³„ β›ˆβ›ˆ

  • ν•΄λ‹Ή λͺ¨λΈμ€ ν•œκ΅­μ–΄μ™€ ν•œκ΅­ 문화에 νŠΉν™”λ˜μ–΄ μžˆμœΌλ‚˜, νŠΉμ • μ˜μ—­(예: μ΅œμ‹  ꡭ제 자료, μ „λ¬Έ λΆ„μ•Ό)의 데이터 λΆ€μ‘±μœΌλ‘œ 인해 λ‹€λ₯Έ μ–Έμ–΄ λ˜λŠ” 문화에 λŒ€ν•œ μ‘λ‹΅μ˜ 정확성이 λ–¨μ–΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, λ³΅μž‘ν•œ 논리적 사고λ₯Ό μš”κ΅¬ν•˜λŠ” λ¬Έμ œμ— λŒ€ν•΄ μ œν•œλœ μΆ”λ‘  λŠ₯λ ₯을 보일 수 있으며, 편ν–₯된 데이터가 포함될 경우 편ν–₯된 응닡이 생성될 κ°€λŠ₯성도 μ‘΄μž¬ν•©λ‹ˆλ‹€.

❺ μ‚¬μš© 방법


from transformers import AutoModel, AutoTokenizer

base_model = "SEOKDONG/llama3.2_1B_korean_v0.2_sft_by_aidx"
    
model = AutoModelForCausalLM.from_pretrained(base_LLM_model)
tokenizer = AutoTokenizer.from_pretrained(base_LLM_model)

from tqdm import tqdm
for i in tqdm(range(0,1)): #len(answer_list))):
    input_text =  """
    당신은 AI λΉ„μ„œμž…λ‹ˆλ‹€. λ‹€μŒ μ§ˆλ¬Έμ— λ§žλŠ” 닡변을 κ³ λ₯΄μ„Έμš”. 닡변은 1,2,3,4 쀑에 ν•˜λ‚˜λ§Œ μ„ νƒν•˜μ„Έμš”. 
    λ‹€μŒ 쀑 νƒ„μˆ˜ν™”λ¬Όμ˜ μΌμ’…μœΌλ‘œ, ν¬λ„λ‹Ήμ˜ 이쀑 κ²°ν•©μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ 있으며 자주 μ‚¬μš©λ˜λŠ” μ„€νƒ•μ˜ 성뢄은 무엇인가? 
    선택지: 1. μ…€λ£°λ‘œμ˜€μŠ€ 2. μžλ‹Ή 3. 녹말 4. 글리코겐 λ‹΅λ³€:"""
    
    inputs = tokenizer(input_text, return_tensors="pt")
    inputs = inputs.to("cuda:0")
    # 3. λͺ¨λΈμ„ μ‚¬μš©ν•œ μΆ”λ‘ 
    with torch.no_grad():
        outputs = model.generate(**inputs, max_length=1024,temperature=0.1, do_sample=True, repetition_penalty=1.10)
    # 4. κ²°κ³Ό λ””μ½”λ”©
    result = tokenizer.decode(outputs[0], skip_special_tokens=True)

print(result.split("λ‹΅λ³€:")[1].strip())

    κ²°κ³Ό: '2. μžλ‹Ήμž…λ‹ˆλ‹€. μžλ‹Ήμ€ 포도당이 두 개의 이쀑 κ²°ν•©μœΌλ‘œ 이루어진 ν˜•νƒœλ‘œ μ‘΄μž¬ν•˜λ©°, 주둜 μ„€νƒ•μ˜ μ£Όμš” μ„±λΆ„μœΌλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€. 
        μ…€λ£°λ‘œμ˜€μŠ€λŠ” λ‹¨λ°±μ§ˆ, 녹말은 식물성 λ‹¨λ°±μ§ˆ, 글리코겐은 지방과 κ΄€λ ¨λœ λ‹¨λ°±μ§ˆλ‘œ, λͺ¨λ‘ μ„€νƒ•μ˜ 성뢄이 μ•„λ‹™λ‹ˆλ‹€. λ”°λΌμ„œ 정닡은 2μž…λ‹ˆλ‹€.'