SSSSLM-JP-v1-0.6B
日本語特化の小型言語モデル(Small Language Model)です。スクラッチから学習しました。 小さいし、初めてモデルなのでかなり精度は悪いです。 というかいろいろな制約によりtrain/loss 3.05くらいで止めてるので。大規模な進展があれば次のver出すかもね。 動作確認はvLLMにてRTX 4070 SUPER 12GBでしました。
モデル概要
| 項目 | 値 |
|---|---|
| アーキテクチャ | Decoder-only Transformer (LLaMA系) |
| パラメータ数 | ~615M (0.6B) |
| 隠れ層次元 | 1536 |
| レイヤー数 | 20 |
| アテンションヘッド数 | 24 |
| FFN次元 | 4096 |
| 語彙サイズ | 32,000 (SentencePiece Unigram) |
| コンテキスト長 | 1024 tokens |
| 位置エンコーディング | RoPE |
| 活性化関数 | SwiGLU |
| 正規化 | RMSNorm |
学習データ
- 日本語 Wikipedia
- CC-100 (Japanese)
- 青空文庫
学習設定
- フレームワーク: PyTorch + bitsandbytes 8-bit AdamW
- Mixed precision: fp16
- Gradient checkpointing: 有効
- Batch size: 4 × gradient accumulation 16 = effective 64
- Learning rate: 3e-4 (cosine decay + warmup 2000 steps)
- 本バージョン: 25,000 steps(学習途中)
使用方法
注意: 本モデルはテキスト補完モデルです。チャット・指示応答には対応していません。
transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model = AutoModelForCausalLM.from_pretrained(
"soichi1208/SSSSLM-JP-v1-0.6B",
device_map="auto",
torch_dtype=torch.float16,
)
tokenizer = AutoTokenizer.from_pretrained("soichi1208/SSSSLM-JP-v1-0.6B")
inputs = tokenizer("日本の歴史について", return_tensors="pt").to(model.device)
output = model.generate(
**inputs,
max_new_tokens=256,
temperature=0.8,
top_p=0.9,
do_sample=True,
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
vLLM
vllm serve soichi1208/SSSSLM-JP-v1-0.6B --enforce-eager --max-num-seqs 8
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{"model":"soichi1208/SSSSLM-JP-v1-0.6B","prompt":"日本の歴史について","max_tokens":256}'
制限事項
- チャット・指示応答には対応していません
- 有害・不正確な出力が含まれる可能性があります
- Downloads last month
- 754