--- language: - ja license: apache-2.0 tags: - japanese - causal-lm - llama - pretrained pipeline_tag: text-generation --- # 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 ```python 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 ```bash 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}' ``` ## 制限事項 - チャット・指示応答には対応していません - 有害・不正確な出力が含まれる可能性があります