Views
No views yet
個人開発の家族向け日本語 AI assistant. Sarashina2.2-3B-instruct + QLoRA SFT.
| Axis | Score | vs HinoMoto-100M-v7 (from-scratch) |
|---|---|---|
| family (n=110) | 8.34/12 (69.5%) | +12.5pt (v7=57%) |
| keigo (n=70) | 28.6% | +12pt (v7=16%) |
| silence (n=50) | 46.0% | +26pt (v7=20%) ✨ |
| degenerate | 0% | tied |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5base = "sbintuitions/sarashina2.2-3b-instruct-v0.1"
6adapter = "FiShota/hinomoto-family-3b-v3"
7
8tok = AutoTokenizer.from_pretrained(adapter)
9model = AutoModelForCausalLM.from_pretrained(
10 base, dtype=torch.bfloat16, device_map="cuda", trust_remote_code=True,
11)
12model = PeftModel.from_pretrained(model, adapter)
13model.eval()
14
15messages = [
16 {"role": "system", "content": "あなたは家族向けの日本語 AI アシスタント「ai-chan」です。"},
17 {"role": "user", "content": "## 文脈\n平日の朝、子供を起こす場面\n\n## ユーザー発言\n(まだ眠そう) おはよう..."},
18]
19inputs = tok.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True, tokenize=True).to("cuda")
20out = model.generate(inputs, max_new_tokens=80, temperature=0.7, top_p=0.9, do_sample=True,
21 pad_token_id=tok.eos_token_id)
22print(tok.decode(out[0][inputs.size(1):], skip_special_tokens=True))1python scripts/sft_qlora_messages.py \
2 --model sbintuitions/sarashina2.2-3b-instruct-v0.1 \
3 --data data/sft_v2.jsonl \
4 --out artifacts/sft_v3_3b_qlora \
5 --max-steps 100 --batch-size 1 --grad-accum 81@misc{hinomoto-family-3b-v3,
2 title = {HinoMoto-Family-3B-v3: QLoRA SFT for Japanese family conversation},
3 author = {{Project HinoMoto}},
4 year = {2026},
5 url = {https://huggingface.co/FiShota/hinomoto-family-3b-v3},
6}