🧠 Doran-i (CBT Counseling Specialist)

Model Architecture Task Technique Status

πŸ“– Model Details

Model Description

**Doran-i(λ„λž€μ΄)**λŠ” κ΅¬κΈ€μ˜ κ³ μ„±λŠ₯ μ˜€ν”ˆ λͺ¨λΈμΈ gemma-2-9b-itλ₯Ό 기반으둜, CBT(μΈμ§€ν–‰λ™μΉ˜λ£Œ) 기법을 μˆ˜ν–‰ν•  수 μžˆλ„λ‘ μ •κ΅ν•˜κ²Œ λ―Έμ„Έμ‘°μ •(Fine-tuning)된 ν•œκ΅­μ–΄ 심리 상담 AI λͺ¨λΈμž…λ‹ˆλ‹€.

κΈ°μ‘΄ Gemma 3의 μ‹€ν—˜μ  μ•„ν‚€ν…μ²˜ λŒ€μ‹ , κ²€μ¦λœ μ„±λŠ₯κ³Ό μ•ˆμ •μ„±μ„ μžλž‘ν•˜λŠ” Gemma 2 9Bλ₯Ό μ±„νƒν•˜μ—¬ ν•œκ΅­μ–΄ λ‰˜μ•™μŠ€ νŒŒμ•… λŠ₯λ ₯κ³Ό μƒλ‹΄μ˜ 깊이λ₯Ό λŒ€ν­ κ°•ν™”ν–ˆμŠ΅λ‹ˆλ‹€.

λ‹¨μˆœν•œ μœ„λ‘œλ₯Ό λ„˜μ–΄, λ‚΄λ‹΄μžμ˜ 말 속에 μˆ¨κ²¨μ§„ **12κ°€μ§€ 인지 μ™œκ³‘(Cognitive Distortion)**을 νƒμ§€ν•˜κ³ , **μ†Œν¬λΌν…ŒμŠ€μ‹ 질문(Socratic Questioning)**을 톡해 λ‚΄λ‹΄μžκ°€ 슀슀둜 뢀정적 μ‚¬κ³ μ˜ 고리λ₯Ό λŠλ„λ‘ λ•μŠ΅λ‹ˆλ‹€.

  • Developed by: Kong Yoonseo (0xMori) @ Safori
  • Model type: Causal Language Model (QLoRA Fine-tuned)
  • Language(s): Korean (ν•œκ΅­μ–΄)
  • License: Gemma Terms of Use
  • Base Model: google/gemma-2-9b-it
  • Hardware: Trained on NVIDIA T4, Merged on TPU v5e-8

Model Sources

🎯 Uses

Direct Use (JSON Output)

이 λͺ¨λΈμ€ κ΅¬μ‘°ν™”λœ JSON ν˜•μ‹μœΌλ‘œ 상담 κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λ„λ‘ ν›ˆλ ¨λ˜μ—ˆμŠ΅λ‹ˆλ‹€:

{
  "emotion": "sad",
  "empathy": "λ‚΄λ‹΄μžμ˜ 감정에 λŒ€ν•œ κΉŠμ€ 곡감 멘트",
  "detected_distortion": "흑백논리",
  "analysis": "λ‚΄λ‹΄μžκ°€ μ™œ 그런 생각을 ν•˜κ²Œ λ˜μ—ˆλŠ”μ§€μ— λŒ€ν•œ 뢄석",
  "socratic_question": "λ°˜λ°• 증거λ₯Ό 찾도둝 μœ λ„ν•˜λŠ” 질문",
  "alternative_thought": "긍정적 λŒ€μ•ˆ 사고 μ˜ˆμ‹œ"
}

Out-of-Scope Use (μ‚¬μš© μ œν•œ)

  • 의료적 진단: 이 λͺ¨λΈμ€ μ˜μ‚¬κ°€ μ•„λ‹ˆλ©°, μ •μ‹ μ§ˆν™˜μ„ μ§„λ‹¨ν•˜κ±°λ‚˜ 약물을 μ²˜λ°©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  • 즉각적인 μœ„κΈ° κ°œμž…: μžμ‚΄/μžν•΄ λ“± 응급 상황 λ°œμƒ μ‹œ 핫라인 μ•ˆλ‚΄κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

πŸ’» How to Get Started

Hugging Face Transformers 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ λ°”λ‘œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# Merged Model (μ–΄λŒ‘ν„° 병합 μ™„λ£Œ)
model_id = "0xMori/gemma-2-9b-safori-cbt-merged"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    torch_dtype=torch.float16
)

# Alpaca 포맷 (ν•™μŠ΅ μ‹œ μ‚¬μš©ν•œ 포맷 μ€€μˆ˜ ꢌμž₯)
prompt = """당신은 전문적인 μΈμ§€ν–‰λ™μΉ˜λ£Œ(CBT) AI 상담사 'λ„λž€μ΄'μž…λ‹ˆλ‹€.
### μ‚¬μš©μž μž…λ ₯:
μ‚¬λžŒλ“€μ΄ λ‹€ λ‚˜λ₯Ό μ‹«μ–΄ν•˜λŠ” 것 κ°™μ•„μ„œ λͺ¨μž„에 λ‚˜κ°€κΈ°κ°€ λ‘λ €μ›Œ.
### 응닡 (JSON):
""

input_ids = tokenizer(prompt, return_tensors="pt").to("cuda")

outputs = model.generate(
    **input_ids,
    max_new_tokens=512,
    do_sample=True,
    temperature=0.7,
    top_p=0.9
)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

βš™οΈ Training Details

Training Data

  • Custom Dataset (Safori CBT): μΈμ§€ν–‰λ™μΉ˜λ£Œ 이둠을 λ°”νƒ•μœΌλ‘œ 자체 κ΅¬μΆ•ν•œ κ³ ν’ˆμ§ˆ ν•œκ΅­μ–΄ 상담 λŒ€ν™”μ…‹ (μ•½ 400건).
  • Preprocessing:
    • Input(λ‚΄λ‹΄μž λ°œν™”) - Output(JSON ꡬ쑰) ν˜•νƒœμ˜ Alpaca ν”„λ‘¬ν”„νŠΈ 포맷 적용.
    • λ‹€μ–‘ν•œ 인지 μ™œκ³‘ μœ ν˜•(흑백사고, κ³Όμž‰μΌλ°˜ν™” λ“±)을 골고루 λΆ„ν¬μ‹œν‚΄.

Training Procedure

  • Technique: QLoRA (Quantized Low-Rank Adaptation)

  • Optimization Strategy:

    • Early Stopping: Training Loss 0.65 도달 μ‹œ 과적합 λ°©μ§€λ₯Ό μœ„ν•΄ μ‘°κΈ° μ’…λ£Œ.
    • Stable Environment: ν˜Έν™˜μ„± μ΄μŠˆκ°€ μžˆλŠ” Unsloth λŒ€μ‹  Pure Hugging Face (TRL 0.8.6) 라이브러리 μ‚¬μš©.
  • Hyperparameters:

    • Learning Rate: 2e-4
    • Batch Size: 1 (Gradient Accumulation: 8) -> Effective Batch Size 8
    • Optimizer: paged_adamw_8bit
    • Quantization: 4-bit (NF4)
    • LoRA Rank (r): 16, Alpha: 16
    • Max Sequence Length: 2048
Downloads last month
2
Safetensors
Model size
9B params
Tensor type
F16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for 0xMori/gemma-2-9b-safori-cbt-merged

Base model

google/gemma-2-9b
Finetuned
(382)
this model