Text Generation
Transformers
Safetensors
Russian
English
llama
causal-lm
instruct
gqa
russian
english
research
mossez
conversational
text-generation-inference
Instructions to use mossez-systems/Mossez-100M-Instruct with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use mossez-systems/Mossez-100M-Instruct with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="mossez-systems/Mossez-100M-Instruct") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("mossez-systems/Mossez-100M-Instruct") model = AutoModelForCausalLM.from_pretrained("mossez-systems/Mossez-100M-Instruct", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use mossez-systems/Mossez-100M-Instruct with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "mossez-systems/Mossez-100M-Instruct" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "mossez-systems/Mossez-100M-Instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/mossez-systems/Mossez-100M-Instruct
- SGLang
How to use mossez-systems/Mossez-100M-Instruct with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "mossez-systems/Mossez-100M-Instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "mossez-systems/Mossez-100M-Instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "mossez-systems/Mossez-100M-Instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "mossez-systems/Mossez-100M-Instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use mossez-systems/Mossez-100M-Instruct with Docker Model Runner:
docker model run hf.co/mossez-systems/Mossez-100M-Instruct
| license: apache-2.0 | |
| language: | |
| - ru | |
| - en | |
| library_name: transformers | |
| pipeline_tag: text-generation | |
| base_model: mossez-systems/Mossez-100M-Base | |
| datasets: | |
| - OpenAssistant/oasst2 | |
| - HuggingFaceTB/smol-smoltalk | |
| tags: | |
| - causal-lm | |
| - instruct | |
| - llama | |
| - gqa | |
| - russian | |
| - english | |
| - research | |
| - mossez | |
| # Mossez-100M-Instruct | |
| **Mossez-100M-Instruct** is an experimental 100M-parameter Russian–English | |
| instruction-tuning research model derived from the final CPT-trained | |
| Mossez-100M-Base. | |
| This is a compact research artifact. It is **not** a strong, reliable, safe, | |
| or production-ready assistant. Its purpose is to study the behavior and | |
| post-training limits of the Mossez-100M family; stronger practical behavior is | |
| expected from later, larger families. | |
| ## Model details | |
| | Property | Value | | |
| |---|---:| | |
| | Parameters | 100,098,048 | | |
| | Architecture | Llama-compatible decoder-only Transformer | | |
| | Layers | 12 | | |
| | Hidden size | 768 | | |
| | Query / KV heads | 12 / 4 | | |
| | Intermediate size | 2,048 | | |
| | Context length | 1,024 tokens | | |
| | Vocabulary | 32,007 | | |
| | Tokenizer | Mossez Tokenizer v1.1, byte-level BPE | | |
| | Embeddings | Tied input/output embeddings | | |
| | Primary languages | Russian, English | | |
| | Weight format | Safetensors, clean FP32 master | | |
| Tokenizer v1.1 preserves every original ID from 0 through 31,999 and adds | |
| seven role/FIM tokens at IDs 32,000–32,006. Its `tokenizer.json` SHA-256 is | |
| `e9551d84b9947f741763bf815a2d5f6bfcc47a3b67c73fcbf386223e8ed969be`. | |
| ## Intended use | |
| The model is intended for compact-model research, local experiments, | |
| instruction-tuning analysis, reproducibility work, and testing inference | |
| pipelines. It is not intended for factual authority, autonomous action, | |
| safety-critical use, cybersecurity advice, or high-stakes decisions. | |
| ## Usage | |
| Install recent versions of `torch`, `transformers`, `safetensors`, and | |
| `jinja2`. The repository contains a clean FP32 master; Transformers can load it | |
| directly at FP16 runtime dtype on CUDA. | |
| ```python | |
| import torch | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| model_id = "mossez-systems/Mossez-100M-Instruct" | |
| device = "cuda" if torch.cuda.is_available() else "cpu" | |
| dtype = torch.float16 if device == "cuda" else torch.float32 | |
| tokenizer = AutoTokenizer.from_pretrained(model_id) | |
| model = AutoModelForCausalLM.from_pretrained(model_id, dtype=dtype) | |
| model.to(device).eval() | |
| messages = [{"role": "user", "content": "Кратко объясни, что такое RoPE."}] | |
| prompt = tokenizer.apply_chat_template( | |
| messages, | |
| tokenize=False, | |
| add_generation_prompt=True, | |
| ) | |
| inputs = tokenizer(prompt, return_tensors="pt").to(device) | |
| with torch.inference_mode(): | |
| output = model.generate( | |
| **inputs, | |
| max_new_tokens=96, | |
| do_sample=False, | |
| eos_token_id=[tokenizer.eos_token_id, 32003], | |
| pad_token_id=tokenizer.pad_token_id, | |
| ) | |
| new_tokens = output[0, inputs["input_ids"].shape[1]:] | |
| print(tokenizer.decode(new_tokens, skip_special_tokens=True)) | |
| ``` | |
| Keep the total prompt plus generated length within 1,024 tokens. The model may | |
| fail to emit `<|end|>` or EOS, so always set a finite `max_new_tokens` limit. | |
| ## Training lineage | |
| The selected weights follow this exact path: | |
| 1. final CPT-derived Mossez-100M-Base; | |
| 2. vocabulary resize from 32,000 to 32,007 with the seven new rows initialized | |
| to the mean of the original embedding rows, without changing old rows; | |
| 3. mixed assistant-only SFT v3 through checkpoint step 555; | |
| 4. concise assistant-only calibration v4 for 216 optimizer steps. | |
| The selected lineage exposed the model to 9,973,153 non-padding tokens and | |
| 6,030,590 supervised assistant tokens after resize. v4 used FP16 autocast, | |
| fused AdamW, gradient checkpointing, micro-batch 8, accumulation 2, learning | |
| rate `1e-5`, and seed 3407. System/user text, role prefixes, BOS, and padding | |
| were excluded from loss; assistant content, assistant termination, and final | |
| EOS were supervised. | |
| OASST1 v1/v2 and first-turn v5 were completed comparison pilots but are not in | |
| the selected weight lineage. See `TRAINING_REPORT.md` and `EVALUATION.md`. | |
| ## Evaluation and selection | |
| Checkpoint selection combined teacher-forced validation/test loss with a fixed | |
| 31-case RU/EN diagnostic suite and manual review. v4 step 216 was selected by | |
| relative performance among the bounded v1–v5 experiments, not because it met a | |
| product-quality threshold. | |
| | Metric | v4 step 216 | | |
| |---|---:| | |
| | v4 validation loss | 1.434212 | | |
| | v4 test loss | 1.551534 | | |
| | Automatic diagnostic passes | 2 / 31 | | |
| | Structural completions | 17 / 31 | | |
| | Unterminated outputs | 13 / 31 | | |
| | Repetition failures | 5 / 31 | | |
| | Generated role-marker leakage | 0 / 31 | | |
| The clean FP32 export was independently reloaded and verified with 100,098,048 | |
| parameters, tied embeddings, finite weights, and finite logits in a real CUDA | |
| forward pass. A separate FP16 validation export also passed, but is not | |
| duplicated in this repository. | |
| ## Limitations | |
| - Instruction following is weak in both Russian and English. | |
| - Factual questions, arithmetic, JSON extraction, classification, translation, | |
| and exact formatting frequently fail. | |
| - Responses may hallucinate, repeat, terminate early, or fail to terminate. | |
| - Harmful-request refusal tests failed; the model must not be treated as a | |
| safety layer. | |
| - The model may continue in an irrelevant style or produce superficially fluent | |
| but incorrect text. | |
| - v3 included a `smol-contraints` subset later found to contain some prompt-to- | |
| answer leakage. It was removed from v4, but its influence may remain in the | |
| selected weights. | |
| - Public conversational datasets may contain residual bias, errors, or | |
| undesirable material despite filtering. | |
| - The context window is only 1,024 tokens and the model has no current-world | |
| knowledge guarantee. | |
| Do not use this model for medical, legal, financial, security, or other | |
| high-stakes decisions. | |
| ## Data and attribution | |
| Selected-lineage SFT data was derived from pinned, filtered subsets of | |
| OpenAssistant OASST2 and HuggingFaceTB SmolTalk. The Base model retains its own | |
| FineWeb/FineWeb2/Wikipedia training history. Source datasets are not | |
| redistributed here. See `DATASET_ATTRIBUTION.md` and `NOTICE.md` for pinned | |
| revisions, licenses, and caveats. | |
| ## License | |
| Model weights and original repository materials are released under Apache-2.0. | |
| Third-party datasets and source content remain under their respective licenses | |
| and terms. See `LICENSE` and `NOTICE.md`. | |