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
8
Safetensors
Model size
2.61B params
Tensor type
F32
Β·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no library tag.

Model tree for godfam3/CareerSage

Base model

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