Wanabi-Novelist-24B
Wanabi-Novelist-24B ã¯ãå°èª¬å·çæ¯æŽã«ç¹åããŠãã¡ã€ã³ãã¥ãŒãã³ã°ããããæ¥æ¬èªå€§èŠæš¡èšèªã¢ãã«ã§ãã
ãã®ã¢ãã«ã¯ãå°çšãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ Project Wannabe ãšé£æºããŠäœ¿çšããããšãåæã«èšèšãããŠããŸããã¢ããªã±ãŒã·ã§ã³ãæäŸããGUIãéããŠããŠãŒã¶ãŒã¯ã¢ã€ãã¢åºãããæ¬æçæãç¶ãã®å·çãŸã§ãäžè²«ããå·çäœéšãåŸãããšãã§ããŸãã
ããŒã¹ã¢ãã«ã«ã¯Mistral-Small-3.1-24B-Base-2503 ããèŠèŠæ©èœãé€å»ãããã®ãæ¡çšããŸããã
æ¬ã¢ãã«ã¯Project Wannabeã§äœ¿çšããããšãæ³å®ããå°èª¬å·çç¹åã¢ãã«ã§ããäžè¬çãªInstructã¢ãã«ã®ãããªæ±çšçãªæç€ºå¿çæ§èœã¯ãããŸããã
å®éã«äœ¿çšããéã¯ä»¥äžã®ãªã³ã¯ããGGUFãããŠã³ããŒãããŠkoboldcppçµç±ã§äœ¿çšããŠãã ããã
âš äž»ãªæ©èœ
Wanabi-Novelist-24Bã¯ãProject WannabeãéããŠä»¥äžã®3ã€ã®äž»èŠãªã¿ã¹ã¯ãå®è¡ããŸããåé
ç®ã®å
·äœçãªèª¬æã¯ Project Wannabeã®ãã¥ãŒããªã¢ã«ãã確èªãã ããã
æ¬æçæ (GEN)
- ã¿ã€ãã«ãããããããããããšãã£ãã¡ã¿æ å ±ã«åºã¥ããŠãå°èª¬ã®åé ãæ°ããªã·ãŒã³ãçæããŸããã¡ã¿æ å ±ãªãã§ãå®å šã«èªç±ã«çæããããšãå¯èœã§ãã
ç¶ãçæ (CONT)
- å·çæžã¿ã®æ¬æãèªã¿èŸŒã¿ãæèã«æ²¿ã£ãèªç¶ãªç¶ããçæããŸãããªãŒãµãŒãºããŒãïŒçæçãªå±éæç€ºïŒãçšããããšã§ããã现ããå±éãèªå°ã§ããŸãã
ã¢ã€ãã¢çæ (IDEA)
- ããŒã¯ãŒãããžã£ã³ã«ãªã©ãæççãªæ å ±ãããå°èª¬ã®éªšåãšãªãã¢ã€ãã¢ïŒã¿ã€ãã«ãããããããããããèšå®ãªã©ïŒãçæããŸããv2以åãšã¯ç°ãªããç°¡æœãªå 容ããšéåããæç« ããã¢ã€ãã¢ãçæã§ããããã«ãªããŸããã
ãããã®ã¿ã¹ã¯å®è¡æã«ãã¬ãŒãã£ã³ã° (general/r18) ã ã»ãªãéã®å²å ãæå®ããããšã§ãçæãããå
容ãããã«çްããã³ã³ãããŒã«ã§ããŸãã
äž»ãªç¹é·ãšwanabi-v2ããã®é²åç¹
Wanabi-Novelist-24Bã¯ãwanabi-v2ã®åºæ¬æ©èœãç¶æ¿ãã€ã€ãããŒã¿ã»ããã®å質ãã¢ãã«ã®åºç€æ§èœããããŠçæã®å®å®æ§ãå šé¢çã«åäžãããŸããã
1. ããŒã¿ã»ããã®å šé¢çå·æ°
åŠç¿ããŒã¿ã®è³ªãšå€æ§æ§ãåäžããããããããŒã¿ã»ããããŒãããåæ§ç¯ããŸããã
- 倿§ãªæäœã®åŠç¿: Webå°èª¬ã®ããŒã¿ã»ãããçŽ2äž4åä»¶ãŸã§æ¡åŒµããã®ã«å ããŠãæ°ãã«**é空æåº«ïŒçŽ7åä»¶ïŒ**ã®ããŒã¿ã远å ããŸãããããã«ãããçŸä»£çãªæäœããæ Œèª¿é«ã衚çŸãŸã§ãããå¹ åºãæäœãžã®å¯Ÿå¿ãç®æããŸããã
- ããŒã¿åè³ªã®æ¹å: æ¬æããŒã¿ããã¹ãŠåååŸããããšã§ä»ãŸã§æ¬æã«å«ãŸããŠãããã€ãºïŒäœè åãäœåIDã®æ··å ¥ãªã©ïŒãé€å»ãããã«ãå°èª¬ã®äœè£ã«äžå¯æ¬ ãªç©ºè¡ãåäžããé©åã«ç¶æãããããã«ããŒã¿åŠçãæ¹åããŸããã
- ãžã£ã³ã«ã®åãæ¯æ£: Webå°èª¬ããŒã¿ã«ãããã¡ãªå¥³æ§åããžã£ã³ã«ãžã®åããç·©åãããããã©ã³ã¹ã®åããããŒã¿æ§æã«ãªããã調æŽããŸããã
- é«å質ãªåæã¡ã¿ããŒã¿: 300B以äžã®ãªãŒãã³ãŠã§ã€ãã¢ãã«ãšSOTAã¬ãã«ã®LLM 8çš®é¡ä»¥äžãš20çš®é¡ä»¥äžã®ããã³ãããã©ã³ãã ã«çµã¿åãããªããåå°èª¬ã«6çš®é¡ã®ã¡ã¿ããŒã¿ïŒèš18äžä»¶ïŒãçæããããŠãŒã¶ãŒã®å€æ§ãªå ¥åãæš¡å£ããããšãç®æããŸããã
2. åºç€æ§èœã®åäžãšå®å®å
ãã匷åãªããŒã¹ã¢ãã«ãæ¡çšããŸããã
- ããŒã¹ã¢ãã«ã®æŽæ°: åºç€ãšãªãã¢ãã«ã
Mistral-Small-3.1-24B-Base-2503ã«æŽæ°ããèšèªçè§£ãæèææ¡ãšãã£ãLLMã®åºç€èœåãåäžãããŸããã
泚æïŒèŠèŠæ©èœã¯åé€ããŠããŸãããŸãçè«äžã®ã³ã³ããã¹ãã¯128KãŸã§å¯Ÿå¿ããŠããŸãããåŠç¿æã®ã³ã³ããã¹ãã¯æå€§32Kã§ãããã³ã°ã³ã³ããã¹ãã§ã¯æ§èœãäœäžããå¯èœæ§ããããŸãã
3. æ©èœã®æ¹åãšæå¹å
ãŠãŒã¶ãŒãããçŽæçã«çæå 容ãã³ã³ãããŒã«ã§ãããããæ©èœäžå šã«é¥ã£ãŠããæ©èœãã¢ãã«ããµããŒãããããã«æ¹åããŸããã
- ã¢ã€ãã¢ã¿ã¹ã¯ã®ä¿®æ£:ãv2以åã§ã¯ã¿ã€ãã«ãããããããããããèšå®ãªã©ã®ã¢ã€ãã¢ã®é ç®ã®æ¬ èœéšåãçæããããšã®ã¿ã«ç¹åããŠããã¢ã€ãã¢ãèšããŸããããšãã§ãããå®çšçãªã¢ã€ãã¢çæãå°é£ã§ããããäžèšã®è±å¯ãªã¡ã¿ããŒã¿ãå©çšããŠç°¡æœ/äžå®å šãªã¢ã€ãã¢ãå ¥åãããšè©³çްãªã¢ã€ãã¢ãçæããããã«ããŸããããããã«ãããçæãããã¢ã€ãã¢ãç°¡åã«èšãã ãã§ããããèšããŸãã倿§ãªã¢ã€ãã¢æ¡ãäœã£ãŠãããããã«ãªããŸããã
- ãã»ãªãéãæå®æ©èœã®æ¹å: åŸæ¥ã¯ææ§ã ã£ãã»ãªãéã®æå®ãããæ¬¡ã«çæãããæç« ãã®ã»ãªãéãæç€ºçã«æå®ãã圢åŒã«æ¹åããŸãããããã«ãããã·ãŒã³ã«å¿ããäŒè©±éã®èª¿æŽããã容æã«ãªããŸãããïŒä»¥åã¯å°èª¬å šäœã®ã»ãªãéãèšç®ããŠããããäžå®å®ã§ãããïŒ
- ãã®å ã®å±éã«ã€ããŠã®æç€ºã»ã¡ã¢:ãæ¬¡ã®å±éãããããããåç§°ã§æç€ºã§ããããã«ãªããŸãããïŒv2以åã®ãªãŒãµãŒãºããŒããšåäžæ©èœã§ãããåç§°ãããããããããŸãããïŒ
ð Project Wannabe ãšã®é£æº (å¿ é )
ãã®ã¢ãã«ã®èœåãæå€§éã«åŒãåºãã«ã¯ãå°çšã¢ããªã±ãŒã·ã§ã³ Project Wannabe ã®äœ¿çšãäžå¯æ¬ ã§ãã
Project Wannabeã¯ãæ¬ã¢ãã«ãåŠç¿ããç¹æ®ãªæç€ºåœ¢åŒïŒæ§é åããã³ããïŒãããŠãŒã¶ãŒãæèããããšãªãGUIããç°¡åã«çæã§ããããã«èšèšãããŠããŸããæ£ãã圢åŒãçè§£ããã°ã¢ãã«åäœã§ã®äœ¿çšãå¯èœã§ãããç ©éãªããProject Wannabeãšã®é£æºãåŒ·ãæšå¥šããŸãã
ð» åŠç¿ã®è©³çް
ããŒã¹ã¢ãã«
åŠç¿ãã¬ãŒã ã¯ãŒã¯
åŠç¿èšå®
åŠç¿èšå® (LLaMA-Factory)# ã¢ãã«ãšããŒã¿ã»ãã
model_name_or_path: kawaimasa/Mistral-Small-3.1-Base-2503-no-vison
dataset: wanabi_novelist_dataset_32K_len, wanabi_novelist_dataset_24K_len, wanabi_novelist_dataset_16K_len
eval_dataset: wanabi_novelist_dataset_for_eval_16K_len
template: mistral_small
# åŠç¿æ¹æ³ãšåºåå
stage: sft
do_train: true
finetuning_type: lora # LoRA ã䜿çš
output_dir: saves//Wanabi_Novelist_24B_v5 # åŠç¿çµæã®ä¿åå
# QLoRA èšå®
quantization_bit: 4
lora_target: all
lora_rank: 128
lora_alpha: 256
lora_dropout: 0.05
use_rslora: False
seed: 1206
#neftune_noise_alpha: 5.0
# ã·ãŒã±ã³ã¹é·ãšããããµã€ãº
cutoff_len: 32768
per_device_train_batch_size: 1 # ããããµã€ãºã¯ 1
gradient_accumulation_steps: 64 # åŸé
环ç©ã¹ããã
preprocessing_num_workers: 16
# æé©åãšæ··å粟床
flash_attn: fa2 # FlashAttention-2 ãæå¹å
use_unsloth_gc: true # Activation Offloading ãæå¹å
bf16: true
# åŠç¿ãã©ã¡ãŒã¿
learning_rate: 2e-5
num_train_epochs: 1
lr_scheduler_type: cosine_with_min_lr
lr_scheduler_kwargs: {"min_lr_rate":0.15}
warmup_ratio: 0.02
logging_steps: 5
save_steps: 100
save_total_limit: 80
#optim: paged_ademamix_8bit
#optim_args: "beta1=0.9,beta2=0.999,beta3=0.999"
optim: paged_adamw_8bit
weight_decay: 0.01
max_grad_norm: 1.0
#train_on_prompt: false
# (ãªãã·ã§ã³) ãã®ä»ã®æé©å (詊ãå Žå)
#use_unsloth : True
enable_liger_kernel: true
#eval
eval_steps: 100
eval_strategy: steps
per_device_eval_batch_size: 1
eval_accumulation_steps: 1
report_to: tensorboard
ð ããã³ããåœ¢åŒ (mistral_small ãã³ãã¬ãŒã)
æ¬ã¢ãã«ã¯ LLaMA-Factory ã® mistral_small ãã£ãããã³ãã¬ãŒã圢åŒã§åŠç¿ããŠããŸãããProject Wannabeã§äœ¿ãããç¹å®ã®ãã©ãŒãããã®ã¿ãããµããŒããããŠããŸãããäžè¬çãªãã£ãããæç€ºå¿çã«ã¯äœ¿ããŸãããå
·äœçãªãã©ãŒãããã¯ããã¥ã¡ã³ã ãã芧ãã ããããŸããããã®å
容ã¯Project Wannabeã䜿çšããéã¯æ°ã«ããå¿
èŠã¯ãããŸããã
åºæ¬æ§é :
<s>[INST]{Instruction}\n{Input}[/INST]{Output}</s>
圢åŒäŸãã¿ã1. æ¬æçæ (GEN):
- äŸ (ã¡ã¿ããŒã¿ã»ã»ãªãéãã):
<s>[INST]以äžã®æ å ±ã«åºã¥ããŠå°èª¬æ¬æãçæããŠãã ããã ã¬ãŒãã£ã³ã°: general # ã¿ã€ãã«: æéãå€ã®éæ³äœ¿ã # ããŒã¯ãŒã: ãã¡ã³ã¿ãžãŒ éæ³åŠå # ã»ãªãé: å€ã[/INST]{çæãããæ¬æ}</s> - äŸ (ã¡ã¿ããŒã¿ãªã):
<s>[INST]èªç±ã«å°èª¬ãçæããŠãã ããã ã¬ãŒãã£ã³ã°: general[/INST]{çæãããæ¬æ}</s>
2. ç¶ãçæ (CONT):
- äŸ (åèæ
å ±ã»ãªãŒãµãŒãºããŒããã):
<s>[INST]åèæ å ±ãšæ¬æãèžãŸããæåŸã®æç« ã®èªç¶ãªç¶ããšãªãããã«å°èª¬ãçæããŠãã ããã ã¬ãŒãã£ã³ã°: general ãåèæ å ±ããžã£ã³ã«:
åŠåã³ã¡ãã£ã»ãªãé: æ®é
å»äžãæ©ããŠãããšãè§ããé£ã³åºããŠããã¯ã©ã¹ã¡ã€ããšã¶ã€ãã£ãŠããŸã£ããåœŒå¥³ã®æã«ã¯å€§éã®ããªã³ããããã ã£âŠãŸãã ãããã£ãããããªãââããæ¬æã
ã¶ã€ãã£ãè¡æã§ããªã³ããå®ãèãã äž»äººå ¬ã¯æ ãŠãŠæŸãã®ãæäŒãã çžæã®å¥³ã®åã¯å°ãããžãªäººæ°è ãããã®å ã®å±éã«ã€ããŠã®æç€ºã»ã¡ã¢ã
(泚: ãåèæ å ±ããšãæ¬æãã®é åºã¯å€æŽå¯èœã§ã)圌女ã¯é¡ãèµ€ãããŠèšã£ãã ãããããªããã ããèšããªããâŠ[/INST]{çæãããç¶ãã®æ¬æ}</s>
3. ã¢ã€ãã¢çæ (IDEA):
- äŸ (äžéšã¡ã¿ããŒã¿ãã):
<s>[INST]以äžã®æ å ±ã«åºã¥ããŠãå®å šãªå°èª¬ã®ã¢ã€ãã¢ïŒã¿ã€ãã«ãããŒã¯ãŒãããžã£ã³ã«ããããããèšå®ãããããïŒãçæããŠãã ããã ã¬ãŒãã£ã³ã°: general # ãžã£ã³ã«: SF ãµã€ããŒãã³ã¯[/INST]# ã¿ã€ãã«: é»è³éœåžã®å€ç¬ãªæ¢åµ # ããŒã¯ãŒã: ãµã€ããŒãã³ã¯ æ¢åµ ã¢ã³ããã€ã # ... (以äžãçæãããã¢ã€ãã¢äžåŒ) </s>
â ïž å¶éäºé ãšæ³šæç¹
- æ±çšæ§ã®å¶é:ãæ¬ã¢ãã«ã¯Project Wannabeã§äœ¿çšããããšãæ³å®ããå°èª¬å·çç¹åã¢ãã«ã§ããäžè¬çãªInstructã¢ãã«ã®ãããªæç€ºå¿çæ§èœã¯ãããŸããã
- åã: åŠç¿ããŒã¿ã®ç¹æ§äžãçæå 容ãç¹å®ã®ãžã£ã³ã«ã衚çŸãå±éã«åãå¯èœæ§ããããŸãã
- äžé©åãªå 容: åŠç¿ããŒã¿ã«ã¯å€æ§ãªããã¹ããå«ãŸãããããæªæå¹Žè ã®é²èЧã«é©ããªãããŸãã¯äžå¿«æãäžããå¯èœæ§ã®ããæç« ãçæãããããšããããŸããã¬ãŒãã£ã³ã°æ©èœã§å¶åŸ¡ã詊ã¿ãŠããŸãããå®å šã§ã¯ãããŸããã
- å質ã®éç: çæãããæç« ã®å€æ§æ§ãäžè²«æ§ãæèãžã®è¿œåŸæ§ã«ã¯éçããããŸããç¹ã«é·ãæç« ã®çæã§ã¯ç Žç¶»ããå¯èœæ§ããããŸãããªãŒãµãŒãºããŒãæ©èœãªã©ã§ã®èªå°ãã詊ããã ããã
- å©çšäžã®æ³šæ: æ¬ã¢ãã«ã¯ç ç©¶ããã³å®éšçãªç®çã§æäŸãããŠããŸããå©çšè ã¯ãé©çšãããæ³åŸããã³èŠå¶ãéµå®ãã責任ãè² ããŸããéæ³ãªç®çãä»è ã®æš©å©ã䟵害ããç®çã§ã®äœ¿çšã¯åºãçŠããŸãã
- èªå·±è²¬ä»»: æ¬ã¢ãã«ã®äœ¿çšã«ãã£ãŠçãããããªãçµæã«ã€ããŠããéçºè ã¯äžåã®è²¬ä»»ãè² ããŸãããå šãŠèªå·±è²¬ä»»ã«ãããŠãå©çšãã ããã