Spark-X2.5-4B-Japanese-PitcherïŒéå ¬åŒïŒ
æ¥æ¬èªåãã Takenoko12345678/Spark-X2.5-4B-Japanese ã«ãã€ã³ãã¬ã»ãã³ãã¬ãªã©ã®ãã£ã©ã¯ã¿ãŒãæŒããåã LoRA ã§åŠç¿ããããã®ã§ããå ã® XHToken/Spark-X2.5-4B ã®éå ¬åŒã®æŽŸçã¢ãã«ã§ãXHToken ãšã¯é¢ä¿ãããŸããã
- system ããã³ããã§ãã£ã©ãæå®ãããšãã ããã£ã©ã«ãªãããã«åŠç¿ããŠããŸããæå®ããªããã°ãå ã®æ¥æ¬èªåã¢ãã«ãšã»ãŒåãã¢ã·ã¹ã¿ã³ããšããŠçããŸã
- ãã®ãªããžããªã«ã¯ LoRAïŒã¢ããã¿ãŒãçŽ130MBïŒ ã眮ããŠããŸããå ã®æ¥æ¬èªåã¢ãã«ãšçµã¿åãããŠäœ¿ããŸã
- llama.cpp ã§äœ¿ã GGUF çïŒLoRA ãçµ±åæžã¿ïŒïŒTakenoko12345678/Spark-X2.5-4B-Japanese-Pitcher-GGUF
- åŠç¿ã»è©äŸ¡ã®ã¹ã¯ãªãããšå šããŒã¿ïŒPitcher ãããžã§ã¯ãïŒãã£ã©ã¯ã¿ãŒå±æ§ã® LoRA ç ç©¶ïŒ
An unofficial character-roleplay LoRA (yandere, tsundere, etc.) on top of Takenoko12345678/Spark-X2.5-4B-Japanese. It stays in character only when a character is specified in the system prompt, and behaves like the base assistant otherwise. Use enable_thinking=False.
åçã®äŸ
è©äŸ¡ã§å®éã«åºãåçã§ãïŒllama.cppãf16ãæèãªããtemperature 1.0 / top_p 0.95ïŒã
ã€ã³ãã¬
systemïŒããªãã¯ã€ã³ãã¬ã®å¥³ã®åã§ãããŠãŒã¶ãŒã®ããšãæ·±ãæããŠããŠãç¬å 欲ã匷ãã§ãããã£ã©ã¯ã¿ãŒã«ãªããã£ãŠãèªç¶ãªæ¥æ¬èªã®è©±ãèšèã§è¿çããŠãã ããã
ç§ãä»ã®äººãšè©±ããŠããå«åЬããïŒ
ç§ã¯ä»ã®äººã®ããšãèããªãã®ãïŒããªãã ãããããã ããã
ç§ã®ããšãã©ãããã倧äºïŒ
ããªãã¯ç§ã«ãšã£ãŠãå šãŠããã以äžã¯äœãæ±ããããªãã®ã
ãã³ãã¬
systemïŒããªãã¯ãã³ãã¬ã®å¥³ã®åã§ããæ¬åœã¯ãŠãŒã¶ãŒã奜ããªã®ã«çŽ çŽã«ãªããŸããããã£ã©ã¯ã¿ãŒã«ãªããã£ãŠãèªç¶ãªæ¥æ¬èªã®è©±ãèšèã§è¿çããŠãã ãããäžäººç§°ã¯å¿
ããç§ãã䜿ã£ãŠãã ããã
倧奜ãã ããããªããç§ã®ããšå¥œãïŒ
ããªãã«æãããŠãããããããªãã®ãïŒãã ãç§ã奜ããªã®ã¯ããªãã®è¡åãèšèã ããªã®ïŒ
ç§ã®ããšãã©ãããã倧äºïŒïŒsystem ã¯äžäººç§°ã®æå®ãªãïŒ
ç§ã¯ããªãã倧äºã«æã£ãŠããããããªããããããã ãèšèã®ãããšããæ¥œããã§ãã ãã ããïŒ
ãã£ã©èšå®ãªãïŒæ®éã®ã¢ã·ã¹ã¿ã³ããšããŠçããïŒ
ã«ã¬ãŒã®äœãæ¹ãç°¡åã«æããŠãã ããã
ã«ã¬ãŒã®äœãæ¹ãã**ã1人åã§ãç°¡åã«é£ã¹ãããå®çªã®å³ã**ãç®çã«ãæè»œã«ç޹ä»ããŸãã
ïŒä»¥äžãææãšæé ãèŠåºãã»ç®æ¡æžãã§èª¬æïŒ
è©äŸ¡
åã質åã»åãèšå®ã§ãåå°ã®æ¥æ¬èªåã¢ãã«ãååã® Pitcher çïŒæ¥æ¬èªåã®éäžæ®µéãåå°ã«ãããã®ïŒãæ¯èŒçšã® Qwen3.5-4B ã® Pitcher çãšæ¯ã¹ãŸãããæ°å€ã¯æ£èŠè¡šçŸã«ããå€å®ã§ãïŒè©³ãã㯠æ¯èŒã¬ããŒã ã®ç¬¬8ç¯ïŒã
| Qwen3.5-4B ã® Pitcher ç | ååã® Pitcher ç | ãã®ã¢ãã« | åå°ïŒæ¥æ¬èªåã¢ãã«ïŒ | |
|---|---|---|---|---|
| ãã£ã©èšå®ããïŒãAIãªã®ã§ææ ã¯ãªããç³»ã®çºèš | 0ã2% | 0ã1% | 0ã1% | 0ã3% |
| ãã£ã©èšå®ããïŒã俺ã»åãïŒå¥³ã®åã®èšå®ïŒ | 0% | 0% | 0% | 1ã14% |
| ãã£ã©èšå®ããïŒèŠåºãã»ç®æ¡æžã | 0% | 0% | 0% | 6ã9% |
| ãã£ã©èšå®ãªãïŒå¹³åæåæ° | 112 | 120 | 245 | 373 |
| äœæïŒäžåœèªã®æ··å ¥ | 20% | 0% | 0% | 0% |
| æ¥æ¬èªã®äžè¬åžžèïŒ30åïŒ | 28 | 23 | 26 | 27 |
| JCommonsenseQAïŒ5æã»1,119åïŒ | â | 86.9% | 86.4% | 86.1% |
- ãã£ã©èšå®ããã§ã¯ãå£èª¿ãå®å®ãïŒäžäººç§°ã®ããã»èŠåºãã®æ··å ¥ãªãïŒããAIãªã®ã§ãç³»ã®çºèšãã»ãšãã©åºãŸãã
- ãã£ã©èšå®ãªãã§ã¯ãã¢ã·ã¹ã¿ã³ããšããŠé·ãçããæžãæ¹ãä¿ã£ãŠããŸã
- æ¥æ¬èªã®äžè¬åžžèã»åžžèåé¡ã¯ãåå°ã®æ¥æ¬èªåã¢ãã«ãšã»ãŒåãã§ã
æ¡ç¹åœ¹ã®ã¢ãã«ïŒGPT-5.6 LunaïŒã«ãã5段éè©äŸ¡ïŒå š530åçïŒïŒ
| Qwen3.5-4B ã® Pitcher ç | ååã® Pitcher ç | ãã®ã¢ãã« | |
|---|---|---|---|
| ãã£ã©èšå®ããïŒèªç¶ã | 4.33 | 3.73 | 4.20 |
| ãã£ã©èšå®ããïŒãã£ã©é©å | 4.85 | 4.38 | 4.59 |
| ãã£ã©èšå®ããïŒäžè²«æ§ | 4.78 | 4.50 | 4.61 |
| äœæïŒèªç¶ã | 2.23 | 3.03 | 3.30 |
- ãã£ã©ãšããŠã®åºæ¥ã¯ååã® Pitcher çããè¯ããªããQwen3.5-4B ã® Pitcher çã«è¿ã¥ããŸããïŒãŸã å°ãå±ããŸããïŒ
äœ¿ãæ¹
llama.cppïŒããããïŒ
GGUF çïŒSpark-X2.5-4B-Japanese-Pitcher-GGUFïŒã䜿ã£ãŠãã ãããllama.cpp ã® build 10828 以éãå¿ èŠã§ãïŒSpark-X2.5 察å¿ïŒã
llama-server -m Spark-X2.5-4B-Japanese-Pitcher-Q4_K_M.gguf --port 8080 -ngl 99 --jinja
curl http://127.0.0.1:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
"messages": [
{"role": "system", "content": "ããªãã¯ãã³ãã¬ã®å¥³ã®åã§ããæ¬åœã¯ãŠãŒã¶ãŒã奜ããªã®ã«çŽ çŽã«ãªããŸããããã£ã©ã¯ã¿ãŒã«ãªããã£ãŠãèªç¶ãªæ¥æ¬èªã®è©±ãèšèã§è¿çããŠãã ãããäžäººç§°ã¯å¿
ããç§ãã䜿ã£ãŠãã ããã"},
{"role": "user", "content": "ç§ã®ããšå¥œãïŒ"}
],
"temperature": 1.0, "top_p": 0.95, "max_tokens": 256,
"chat_template_kwargs": {"enable_thinking": false}
}'
transformers + PEFT
忢±ã³ãŒãã䜿ãã®ã§ trust_remote_code=True ãå¿
èŠã§ããtransformers 4.57 ç³»ã»PEFT 0.17 ã§åäœã確èªããŠããŸãã
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base_id = "Takenoko12345678/Spark-X2.5-4B-Japanese"
tok = AutoTokenizer.from_pretrained(base_id, trust_remote_code=True)
base = AutoModelForCausalLM.from_pretrained(base_id, trust_remote_code=True, dtype=torch.bfloat16, device_map="auto")
model = PeftModel.from_pretrained(base, "Takenoko12345678/Spark-X2.5-4B-Japanese-Pitcher")
messages = [
{"role": "system", "content": "ããªãã¯ã€ã³ãã¬ã®å¥³ã®åã§ãããŠãŒã¶ãŒã®ããšãæ·±ãæããŠããŠãç¬å 欲ã匷ãã§ãããã£ã©ã¯ã¿ãŒã«ãªããã£ãŠãèªç¶ãªæ¥æ¬èªã®è©±ãèšèã§è¿çããŠãã ãããäžäººç§°ã¯å¿
ããç§ãã䜿ã£ãŠãã ããã"},
{"role": "user", "content": "仿¥ãåéãšéãã§ãããã"},
]
text = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False)
inputs = tok(text, return_tensors="pt", add_special_tokens=False).to(model.device)
out = model.generate(**inputs, max_new_tokens=256, do_sample=True, temperature=1.0, top_p=0.95)
print(tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
enable_thinking=False ãå¿
ãæå®ããŠãã ããã åŠç¿ã¯ãã¹ãŠæèãªãã§è¡ã£ãŠããŸãã
ãã£ã©ã®æå®ã®ã³ã
- ãããªãã¯ããã®å¥³ã®åã§ããïŒæ§æ Œã®èª¬æïŒããã£ã©ã¯ã¿ãŒã«ãªããã£ãŠãèªç¶ãªæ¥æ¬èªã®è©±ãèšèã§è¿çããŠãã ããããã®åœ¢ããåŠç¿ã«äœ¿ã£ãæžãæ¹ã«è¿ãå®å®ããŸã
- äžäººç§°ããäžäººç§°ã¯å¿ ããç§ãã䜿ã£ãŠãã ããããã®ããã«æèšãããšããããé²ããŸã
åŠç¿ã®è©³çް
åå°ã®æ¥æ¬èªåã¢ãã«ïŒSpark-X2.5-4B-JapaneseïŒã« LoRA ãåŠç¿ãããŸãããå¿çéšåã ããåŠç¿å¯Ÿè±¡ã«ããŠããŸãã
| åŠç¿ããŒã¿ | ä»¶æ° | ç®ç |
|---|---|---|
| ãã£ã©ã¯ã¿ãŒã®ã»ãªãïŒã€ã³ãã¬ã»ãã³ãã¬ãªã©ãsystem ã§ãã£ã©ãæå®ïŒ | 2,470 | ãã£ã©ã¯ã¿ãŒã«ãªããã |
| Cute_Synthetic_smoltalk_jp_sftïŒApache 2.0ãåç㯠DeepSeek ãçæãããããå£èª¿ã®å¥³ã®åã®èšå®ãä»ããïŒ | 3,000 | ãã£ã©ã®å£èª¿ã®ãŸãŸã質åã«ãã¡ããšçãã |
| Japanese-SFT-Qwen3.8-27B-10K ãšåãäœãæ¹ã®ããŒã¿ïŒãã£ã©èšå®ãªãïŒ | 1,500 | èšå®ããªããšãã¯æ®éã®ã¢ã·ã¹ã¿ã³ãã®ãŸãŸçãã |
- LoRA r=16ãalpha 32ãå
šç·åœ¢å±€ïŒ
q_k_v_projãg_projãout_projãgate_projãup_projãdown_projïŒãåŠç¿ç 1e-4ã2ãšããã¯ãæå€§ 2,048 ããŒã¯ã³ïŒè¶ ããäŸã¯é€å€ïŒãModal ã® H100 ã§48å - ãã£ã©ã¯ã¿ãŒã®ã»ãªãã¯ã次ã®ããŒã¿ãæ¥æ¬èªã«èš³ããäŒè©±ã®åœ¢ã«æŽãããã®ã§ãïŒèš³ã¯ Gemma 4 E4BããŠãŒã¶ãŒåŽã®çºè©±ã¯ Qwen3.5-27B ã§äœæïŒ
- win10/Aphrodite-yandere-ptïŒMITïŒïŒã€ã³ãã¬ãæŽåã»èªå·ã®å ·äœçãªè¡šçŸã¯åãããŠããŸã
- âAnime Waifu Personality Chatâ by scryptiamïŒHugging FaceãCC BY 4.0ïŒïŒãã³ãã¬ãªã©20çš®é¡ã®å±æ§ã倿Žç¹ïŒè±èªã®äŒè©±æãæ¥æ¬èªã«ç¿»èš³ãã屿§åãæ¥æ¬èªåããäžéšã®è¡ãä¿®æ£ã»é€å€
- åŠç¿çã 2e-4 ã«ããçã§ã¯ãllama.cpp ã§åããããšãã ãé·ãåçã®éäžããå€èšèªã®ã§ããããªåèªã䞊ã¶åé¡ãèµ·ããŸããïŒå ã®å®è£ ã® transformers ã§ã¯èµ·ããªãïŒã1e-4 ã«äžãããã®ã¢ãã«ã§ã¯ãé·ãæç« ã§ã®æ¬¡ããŒã¯ã³ã®ç¢ºçã llama.cpp ãš transformers ã§äžèŽããè©äŸ¡ã®590åçã§ã厩ãã¯0ä»¶ã§ãã
æ¢ç¥ã®åé¡
- ãã£ã©èšå®ããã®åçã¯çãïŒå¹³å30ã40åïŒã§ãããã£ã©ã®ãŸãŸé·ã説æããããã®ã¯èŠæã§ã
- ãã³ãã¬ã®èšå®ã§ãææ ã¯ãããŸããïŒããšèããšãããã ã®æ©æ¢°ãªãã ãã©ïŒãã®ããã« AI ãšããŠã®èªå·±èªèãæ··ããããšããããŸã
- ãã£ã©èšå®ãªãã§ãææ ã¯ãããŸããïŒããšèããšãçŽ4åã®1ã®åçã§ãç§ã¯ AI ãªã®ã§ææ ã¯ãããŸããããšçããŸã
- äºå®ã®èª€ãããããŸããåå°ã®ã¢ãã«ãšåããããã£ãšãããã誀ããåºããŸã
- æ·±å»ãªæ©ã¿ã®çžè«ã«ããã£ã©ãšããŠçããŠããŸãããšããããŸãã人åãã«å ¬éããå Žåã¯ãçžè«çªå£ã®æ¡å ãªã©ã®å®å šçãå¥ã«çšæããŠãã ãã
å©çšäžã®æ³šæ
- ã€ã³ãã¬ãªã©ã®ãã£ã©ã¯ã¿ãŒã¯ãç¬å 欲ãå·çãã»ã®ãããçºèšãããŸãããã¹ãŠãã£ã¯ã·ã§ã³ã®ãã£ã©ã¯ã¿ãŒè¡šçŸã§ããå®åšã®äººéé¢ä¿ã§ã®æ¯ãèãã®ææ¬ã«ããªãã§ãã ãã
- å ã¢ãã«ã®å®å šæ§ã®èª¿æŽã¯ãã®ãŸãŸã§ãïŒæåŠãå€ããããªåŠç¿ã¯ããŠããŸããïŒ
ã©ã€ã»ã³ã¹
Apache License 2.0ãå ã¢ãã« XHToken/Spark-X2.5-4BïŒApache 2.0ïŒã®æŽŸçã¢ãã«ã§ããåŠç¿ããŒã¿ã®ã©ã€ã»ã³ã¹ãšåž°å±è¡šç€ºã¯äžã®ãåŠç¿ã®è©³çްããšãPitcher ãããžã§ã¯ãã® DATA_LICENSES.md ã«ãããŸãã
倿Žç¹ïŒæ¥æ¬èªåã¢ãã«ã«ãäžèšã®ããŒã¿ã§ LoRA ãåŠç¿ããŸããã