CoolFace
Modelpublic

icarus1026/gemma-3-test1

sourceHugging Faceapache-2.0updated 1y agoView on Hugging Face
0likes
Model Card

Uploaded model

  • —Developed by: icarus1026
  • —License: apache-2.0
  • —Finetuned from model : hwjello/gemma29bkorean_lawyer

This gemma2 model was trained 2x faster with Unsloth and Huggingface's TRL library.

업로드하신 R4.ipynb 파일 내용을 기반으로, Hugging Face 모델 저장소 icarus1026/gemma-3-test1에 사용할 수 있는 README.md 초안을 아래와 같이 작성해드렸습니다:


🔥 gemma-3-test1

icarus1026/gemma-3-test1은 Google의 Gemma-2B 언어 모델을 기반으로 한 SFT(Supervised Fine-Tuning) 버전입니다. 본 모델은 한국어 질문 응답 태스크에 맞춰 커스터마이징되었으며, Unsloth 라이브러리를 활용하여 효율적인 파인튜닝을 진행했습니다.

📌 모델 개요

  • —Base Model: google/gemma-2b
  • —튜닝 방식: Supervised Fine-Tuning (SFT)
  • —프레임워크: 🤗 Transformers + Unsloth + TRL
  • —사용 목적: 한국어 QA 기반 커스텀 모델 실험

🧪 학습 환경

  • —Trainer: SFTTrainer (from trl)
  • —GPU: A100
  • —Batch Size: 2 (gradient accumulation 적용)
  • —Max Steps: 30
  • —Learning Rate: 2e-4
  • —Optimizer: adamw_8bit
  • —Weight Decay: 0.01
  • —Scheduler: Linear
  • —Seed: 3407

🛠️ 파인튜닝 설정

python
from trl import SFTTrainer, SFTConfig

trainer = SFTTrainer(
    model=model,
    tokenizer=tokenizer,
    train_dataset=train_dataset,
    eval_dataset=None,
    args=SFTConfig(
        dataset_text_field="text",
        per_device_train_batch_size=2,
        gradient_accumulation_steps=4,
        warmup_steps=5,
        max_steps=30,
        learning_rate=2e-4,
        logging_steps=1,
        optim="adamw_8bit",
        weight_decay=0.01,
        lr_scheduler_type="linear",
        seed=3407,
        report_to="none"
    )
)

🧾 학습 데이터

  • —단일 필드 "text" 형태의 커스텀 QA 텍스트 데이터 사용
  • —EOS 토큰 삽입을 통해 무한 생성 방지

🧪 결과 및 성능

  • —이 저장소는 실험용으로 학습된 모델이며, 정량적 성능 평가는 생략되어 있습니다.
  • —학습 단계는 max_steps=30으로 설정된 짧은 러닝으로 실험 안정성 검증 목적

📂 사용법

python
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("icarus1026/gemma-3-test1")
tokenizer = AutoTokenizer.from_pretrained("icarus1026/gemma-3-test1")

inputs = tokenizer("한국의 수도는 어디인가요?", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

📎 참고사항

  • —학습에는 Unsloth의 prepare_model_for_kbit_training 등을 사용해 8bit 최적화 진행
  • —실험 목적상 짧은 학습만 수행되었으며, 실제 서비스 사용에는 추가 튜닝 필요

수정이나 특정 항목 추가가 필요하다면 알려주세요. Hugging Face에 올릴 수 있도록 마크다운 형식으로 최적화되어 있습니다.

<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>