CoolFace
Modelpublic

ML-is-Fun/Fleck-S-100K-Base

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes18downloads
Model Card

Fleck-S-100K-Base

[Fleck-S-100K-Base](https://huggingface.co/ML-is-Fun/Fleck-S-100K-Base) — a compact decoder-only language model trained from scratch on 100M real tokenizer tokens.

  • —109,384 parameters
  • —BF16 SafeTensors weights
  • —Factorized tied embedding with a rank-32 embedding projection
  • —Designed as a small research model for local inference on Apple Silicon

Model Details

ArchitectureDecoder-only Transformer
Parameters109,384
Hidden size64
FFN size128
Physical blocks2
Effective depth4 (A → B → A → B)
AttentionGQA — 4 query heads, 2 KV heads, head dimension 16
NormalizationRMSNorm
EmbeddingFactorized tied embedding, rank 32
Vocabulary1,024
Context length2,048 tokens
Canonical dtypeBF16

Training

InitializationFresh initialization
DatasetFineWeb-Edu / FineWeb
Data mixture70% FineWeb-Edu + 30% FineWeb
Real tokenizer tokens100,000,000 exactly
Instruction tuningNo
HardwareApple M2 (10-core GPU)

This is the immutable Base-100M parent used to produce the independent `Fleck-S-100K` instruction-tuned model.

Benchmark Results

The Base-100M checkpoint was evaluated with the corrected zero-shot aggregation protocol. This minimal public bundle does not include the evaluation artifact; the table below is a reference result for the released Base model.

Evaluation conditions: zero-shot, no chat template, FP32 evaluation, Apple Silicon MPS.

TaskMetricShotsBase
HellaSwagacc_norm026.28%
PIQAacc_norm051.14%
ARC-Easyacc_norm026.05%
ARC-Challengeacc_norm026.19%
LAMBADA OpenAIacc00.02%
WinoGrandeacc049.41%
BoolQacc037.83%
MMLU (57-subject macro)acc023.09%
Eight-task mean—030.00%

Tokenizer

  • —Fleck-Tokenizer-1024
  • —Byte-level BPE
  • —Vocabulary size: 1,024

Special Tokens

TokenIDRole
<bos>0sequence start
<eos>1sequence end
<pad>2padding
<unk>3unknown token
`<\system\>`4system turn
`<\user\>`5user turn
`<\assistant\>`6assistant turn
`<\eot\>`7end of turn

Usage

The bundle includes a self-contained inference.py; it does not import the Fleck-LM checkout. The accompanying config.json, generation_config.json, and tokenizer_config.json describe the custom architecture and generation/tokenizer defaults; standard transformers.AutoModel loading is not supported. Install the three runtime dependencies and run a single greedy continuation:

bash
python -m pip install torch safetensors tokenizers
python inference.py \
  --ckpt model.safetensors \
  --tokenizer tokenizer.json \
  --prompt "Hello, world" \
  --max-tokens 32 \
  --device cpu

The script reads and runs the BF16 checkpoint without an FP32 model copy, validates every SafeTensors key, shape, and dtype, and uses FP32 only for attention score/softmax and tied-logit accumulation. The model implements its factorized tied embedding/logits, effective-depth execution A → B → A → B, half-split RoPE, GQA, physical KV caches, RMSNorms, and greedy generation without any repository-local imports.

The default filenames are model.safetensors and tokenizer.json, so the shorter command also works:

bash
python inference.py --prompt "Hello" --max-tokens 16 --device cpu

For tokenizer-only use:

python
from tokenizers import Tokenizer

tokenizer = Tokenizer.from_file("tokenizer.json")
print(tokenizer.encode("Hello, world!", add_special_tokens=False).ids)

Limitations

This model is extremely small and is intended for research and local experimentation rather than general-purpose language generation. It may produce repetitions, malformed text, weak factual answers, or incoherent continuations. Benchmark scores should be interpreted in the context of the 109K parameter count.

License

MIT License.

Files

The public bundle contains these files:

  • —README.md — model card and usage documentation
  • —inference.py — standalone strict loader and greedy inference CLI
  • —model.safetensors — BF16 model weights
  • —tokenizer.json — standalone tokenizer
  • —config.json — custom architecture configuration
  • —generation_config.json — greedy generation defaults
  • —tokenizer_config.json — tokenizer defaults and special-token mapping No training data, optimizer state, or other training outputs are included.