Edit model card

Model Information

이 λͺ¨λΈμ€ ν•™μƒμ˜ μ§„λ‘œ 상담 μš”μ•½ λ‚΄μš©μ„ λΆ„μ„ν•˜μ—¬ κ°œμΈν™”λœ μ§„λ‘œ 상담을 μ œκ³΅ν•˜λŠ” μ±—λ΄‡μž…λ‹ˆλ‹€. ν•™μƒμ˜ ν₯λ―Έ, μ·¨λ―Έ, 그리고 이미 νƒμƒ‰ν•œ μ§„λ‘œ 경둜λ₯Ό 기반으둜 λ§žμΆ€ν˜• μ§„λ‘œ 쑰언을 μ œκ³΅ν•©λ‹ˆλ‹€.

Training

  • ν™˜κ²½: Colab A100
  • 데이터셋: AiHub 인곡지λŠ₯기반 학생 μ§„λ‘œνƒμƒ‰μ„ μœ„ν•œ 상담 데이터 κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.
  • 적은 λ¦¬μ†ŒμŠ€λ‘œ ν•™μŠ΅ κ°€λŠ₯ν•  수 μžˆλ„λ‘ QLoRA(Quantized Low-Rank Adaptation) 기법을 ν™œμš©ν•΄ νŒŒμΈνŠœλ‹μ„ μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.
  • 이 기법은 λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰λ„ μ€„μΌμˆ˜ 있고 μ„±λŠ₯을 μœ μ§€ν• μˆ˜ μžˆμ„œ λ‚˜λ¦„ μ œν•œμ μΈ μžμ›μ•ˆμ— ν•™μŠ΅ν• μˆ˜μžˆκ²Œ ν•©λ‹ˆλ‹€.

How to Use

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "godfam3/CareerSage"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

model_pipeline = pipeline("text-generation", model=model, tokenizer=tokenizer, max_new_tokens=1024, device='cuda')

example = '직업 μ„ ν˜Έλ„ 검사λ₯Ό λ°›μ•„λ³Έ 적이 있으며 μ·¨λ―ΈλŠ” μš΄λ™μ΄λ‹€.\nμš΄λ™κ³Ό κ²Œμž„μ„ μ’‹μ•„ν•˜μ§€λ§Œ, μš΄λ™μ΄λ‚˜ κ²Œμž„μœΌλ‘œ μ§„λ‘œλ₯Ό 선택할 λ§ˆμŒμ€ μ—†λ‹€.\nμš΄λ™κ³Ό κ΄€λ ¨λœ μ§μ—…μœΌλ‘œ κ²½μ°°, μ†Œλ°© κ³΅λ¬΄μ›μ΄λ‚˜ μ²΄μœ‘ν•™κ³Ό, κ²½ν˜Έν•™κ³Ό 등에 λŒ€ν•˜μ—¬ μ•Œκ²Œ λ˜μ—ˆλ‹€.\nμ’‹μ•„ν•˜λŠ” κ³Όλͺ©μœΌλ‘œλŠ” μ²΄μœ‘μ„ κΌ½μ•˜μœΌλ©°, 체윑 μ„ μƒλ‹˜μ„ μ§„λ‘œλ‘œ 생각해 λ³΄μ•˜λ‹€κ°€ 아이듀이 μ„ μƒλ‹˜κ»˜ 예의 μ—†κ²Œ κ΅¬λŠ” κ±Έ 보고 생각을 λ°”κΎΈμ—ˆλ‹€.\nμ§„λ‘œλ₯Ό 탐색해볼 λ°©λ²•μœΌλ‘œ κ΅μœ‘μ²­μ—μ„œ μ£Όκ΄€ν•˜λŠ” 꿈의 학ꡐ에 λŒ€ν•˜μ—¬ μ•Œκ²Œ λ˜μ—ˆλ‹€.\nμ§€λ‚œ 상담 μ‹œκ°„μ— 체윑 ꡐ사에 λŒ€ν•˜μ—¬ λŒ€ν™”λ₯Ό λ‚˜λˆ„μ—ˆλŠ”λ° μ—¬μ „νžˆ 체윑 κ΅μ‚¬μ—λŠ” 관심이 μ—†λ‹€.\nμ·¨λ―ΈλŠ” μš΄λ™μ΄λ©° μš΄λ™κ³Ό κ΄€λ ¨λœ 직업에 슀포츠 λ§ˆμΌ€ν„°, 슀포츠 기둝 뢄석연ꡬ원, 슀포츠 ν•΄μ„€κ°€, 슀포츠 νŠΈλ ˆμ΄λ„ˆ, 슀포츠 μ—μ΄μ „νŠΈ, 슀포츠 카운슬러, μ•Όμ™Έν™œλ™ 지도사 등이 μžˆμŒμ„ μ•Œκ²Œ λ˜μ—ˆλ‹€.\nμš΄λ™κ³Ό κ΄€λ ¨λœ 각 직업이 ν•˜λŠ” 일듀에 λŒ€ν•˜μ—¬ μ•Œκ²Œ λ˜μ—ˆμœΌλ‚˜ 관심이 κ°€λŠ” 직업은 μ—†λ‹€.'

messages = [
    {
        "role": "user",
        "content": "당신은 μ§„λ‘œ 상담 μ „λ¬Έκ°€μž…λ‹ˆλ‹€. λ‹€μŒ 글은 학생 μ§„λ‘œ 상담 μš”μ•½λ¬Έμž…λ‹ˆλ‹€. ν•΄λ‹Ή ν•™μƒμ—κ²Œ μ•Œλ§žλŠ” μ§„λ‘œ 상담을 μž‘μ„±ν•΄μ£Όμ„Έμš”: {}".format(example)
    }
]

prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

outputs = pipe_finetuned(
    prompt,
    do_sample=True,
    temperature=0.2,
    top_k=50,
    top_p=0.95,
    add_special_tokens=True
)
print(outputs[0]["generated_text"][len(prompt):])

"""
학생은 μš΄λ™μ„ μ’‹μ•„ν•˜κ³  취미둜 μš΄λ™μ„ ν•˜κ³  μžˆλ‹€. μ²΄μœ‘κ΅μ‚¬μ—λ„ 관심이 μžˆμ—ˆμœΌλ‚˜ 아이듀이 μ„ μƒλ‹˜κ»˜ 예의 μ—†κ²Œ κ΅¬ν•˜λŠ” 것을 보고 ν₯λ―Έλ₯Ό μžƒμ—ˆλ‹€κ³  ν•œλ‹€. 체윑과 κ΄€λ ¨λœ 직업에 λŒ€ν•΄μ„œλ„ μ•Œμ•„λ³΄μ•˜μœΌλ‚˜ 관심이 μ—†λ‹€.
ν•™μƒμ—κ²Œ μΆ”μ²œν•˜λŠ” μ§λ¬΄λŠ” μš΄λ™ 관련직, μ•ˆμ „ 관련직, ꡐ윑 κ΄€λ ¨ μ„œλΉ„μŠ€μ§μ΄λ‹€. μš΄λ™ κ΄€λ ¨μ§μ—λŠ” μš΄λ™μ„ μˆ˜, 슀포츠 νŠΈλ ˆμ΄λ„ˆ, 슀포츠 강사 등이 μžˆλ‹€. 학생이 μš΄λ™μ„ μ’‹μ•„ν•˜κ³  취미둜 ν•˜κ³  μžˆμœΌλ―€λ‘œ 이 직업에 도전해 λ³Ό 수 μžˆλ‹€. μ•ˆμ „ κ΄€λ ¨μ§μ—λŠ” κ²½μ°°, μ†Œλ°©κ΄€, κ²½ν˜Έμ› 등이 μžˆλ‹€. 학생이 예의λ₯Ό κ°–κ³  μ‚¬λžŒλ“€μ„ 도와주고 μ‹Άλ‹€λ©΄ 이 직업을 μ„ νƒν•˜λŠ” 것이 쒋을 것이닀. ꡐ윑 κ΄€λ ¨ μ„œλΉ„μŠ€μ§μ—λŠ” μ΄ˆλ“±ν•™κ΅ ꡐ사, μœ μΉ˜μ› ꡐ사, λ³΄μœ‘κ΅μ‚¬ 등이 μžˆλ‹€. 학생이 아이듀을 μ’‹μ•„ν•˜κ³  예의λ₯Ό κ°–κ³  μžˆμœΌλ―€λ‘œ 이 직업을 μ„ νƒν•˜λŠ” 것도 쒋은 선택이 될 수 μžˆλ‹€.
학생은 ν˜„μž¬ μ΄ˆλ“±ν•™κ΅ 5ν•™λ…„μœΌλ‘œ μ§„λ‘œλ₯Ό μ •ν•˜λŠ” λ°λŠ” μΆ©λΆ„ν•œ μ‹œκ°„μ΄ μžˆλ‹€. λ‹€μ–‘ν•œ 직업에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄κ³  μžμ‹ μ˜ μ„±ν–₯κ³Ό 잘 λ§žλŠ” 직업이 무엇인지 μ•Œμ•„λ³΄λŠ” μ‹œκ°„μ„ 가지기λ₯Ό κΆŒν•œλ‹€. λ˜ν•œ 직업 μ²΄ν—˜μ„ ν•΄λ³΄κ±°λ‚˜ 직업인을 λ§Œλ‚˜μ„œ 인터뷰해 λ³΄λŠ” 것도 쒋은 방법이 될 수 μžˆλ‹€.
"""

Fine-tuning νŒŒλΌλ―Έν„°

λ³Έ μ½”λ“œμ—μ„œ outputs = pipe_finetuned(...) ꡬ문은 νŒŒμΈνŠœλ‹λœ λͺ¨λΈμ„ ν˜ΈμΆœν•˜μ—¬ 주어진 ν”„λ‘¬ν”„νŠΈμ— λŒ€ν•œ 응닡을 μƒμ„±ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. μ΄λ•Œ prompt λ§€κ°œλ³€μˆ˜λŠ” λͺ¨λΈμ΄ 응닡할 μ‚¬μš©μž μž…λ ₯ λ˜λŠ” ν•™μƒμ˜ μ§„λ‘œ 상담 μš”μ•½λ¬Έμ„ ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

  • do_sample=TrueλŠ” λͺ¨λΈμ΄ ν…μŠ€νŠΈλ₯Ό 생성할 λ•Œ μƒ˜ν”Œλ§μ„ μ‚¬μš©ν•˜λ„λ‘ μ„€μ •ν•˜μ—¬ λ‹€μ–‘ν•˜κ³  창의적인 응닡을 μœ λ„ν•©λ‹ˆλ‹€.
  • temperature=0.2λŠ” μƒμ„±λ˜λŠ” ν…μŠ€νŠΈμ˜ 결정성을 λ†’μ—¬μ£Όμ–΄, 더 μΌκ΄€λ˜κ³  μ§‘μ€‘λœ 닡변을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • top_k=50κ³Ό top_p=0.95λŠ” λͺ¨λΈμ΄ λ‹€μŒ 단어λ₯Ό 선택할 λ•Œ κ³ λ €ν•  ν† ν°μ˜ λ²”μœ„λ₯Ό μ œν•œν•˜μ—¬ ν’ˆμ§ˆμ„ μœ μ§€ν•˜λ©΄μ„œλ„ λ‹€μ±„λ‘œμš΄ 좜λ ₯을 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€.
  • add_special_tokens=TrueλŠ” λͺ¨λΈμ΄ μž…λ ₯ 및 좜λ ₯을 μ˜¬λ°”λ₯΄κ²Œ 포맷할 수 μžˆλ„λ‘ ν•„μš”ν•œ 특수 토큰을 ν¬ν•¨ν•˜λ„λ‘ μ„€μ •ν•©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 과정을 톡해 νŒŒμΈνŠœλ‹λœ λͺ¨λΈμ€ μ‚¬μš©μžμ—κ²Œ 보닀 κ°œμΈν™”λœ μ§„λ‘œ 상담 응닡을 μ œκ³΅ν•  수 있게 λ©λ‹ˆλ‹€.

미래 μΆ”κ°€ λ°œμ „ κ°€λŠ₯μ„±

λͺ¨λΈμ΄ ν•™μƒμ˜ μ‹€μ‹œκ°„ ν”Όλ“œλ°±μ„ λ°˜μ˜ν•˜μ—¬ 더 κ°œμΈν™”λœ μΆ”μ²œμ„ ν•  수 μžˆλŠ” κΈ°λŠ₯을 μΆ”κ°€ν•˜κ±°λ‚˜, 데이터셋을 더 ν™•μž₯ν•˜μ—¬ λ‹€μ–‘ν•œ 직업ꡰ에 λŒ€ν•œ 더 깊이 μžˆλŠ” 뢄석이 κ°€λŠ₯ν•˜λ„λ‘ μΆ”κ°€ κ°œλ°œν• μˆ˜ μžˆμ„κ²ƒ κ°™μŠ΅λ‹ˆλ‹€. λ˜ν•œ, λ‹€κ΅­μ–΄ μ§€μ›μ΄λ‚˜ 더 λ‹€μ–‘ν•œ 학문적, 직업적 배경을 λ°˜μ˜ν•œ 상담 κΈ°λŠ₯의 개발 κ°€λŠ₯성도 μžˆμŠ΅λ‹ˆλ‹€.

Downloads last month
6
Safetensors
Model size
2.61B params
Tensor type
F32
Β·
Inference API
Unable to determine this model's library. Check the docs .

Model tree for godfam3/CareerSage

Base model

google/gemma-2-2b
Finetuned
(122)
this model