j0no12 commited on
Commit
60d7740
·
verified ·
1 Parent(s): 348e9ca

Rewrite model card for clarity

Browse files
Files changed (1) hide show
  1. README.md +30 -50
README.md CHANGED
@@ -14,79 +14,59 @@ tags:
14
 
15
  ![Sol Lassi](./sol-lassi-banner.png)
16
 
17
- # Sol Lassi 600K Base
18
 
19
- Sol Lassi is an experimental **600,000-parameter** decoder-only language model from **Sol Intelligence**. It was trained from scratch for **1 billion token exposures** with M-SimOW.
20
 
21
- This is a small **base language model**, not an instruction-tuned assistant. No Intelligence Index or leaderboard score is claimed for this checkpoint.
22
 
23
- ## Model summary
24
-
25
- | Property | Value |
26
  |---|---|
27
- | Parameters | **600,000** |
28
- | Architecture | Dense decoder-only causal language model |
29
- | Transformer blocks | 6 independent blocks |
30
  | Hidden width | 96 |
31
- | Attention | 3 heads, 32 dimensions per head |
32
- | MLP | Gated SiLU, width 104 |
33
- | Vocabulary | 2,048-token byte-level BPE |
34
- | Input/output embeddings | Tied |
35
  | Training context | 128 tokens |
36
- | Weight format | MLX NPZ |
37
- | Training tokens | **1,000,000,000 exposures** |
38
-
39
- ## Training
40
-
41
- Sol Lassi was trained on a balanced FinePhrase stream composed of its `faq`, `math`, `table`, and `tutorial` configurations. Training used 128-token sequences, batch size 32, and seed 7.
42
 
43
- The optimizer was M-SimOW (momentum beta 0.8) with decoupled weight decay of 0.1. The fixed learning-rate schedule was:
44
 
45
- | Training span | Learning rate |
46
- |---:|---:|
47
- | First 500M tokens | 0.006 |
48
- | Next 500M tokens | 0.003 |
49
-
50
- The saved run used the FinePhrase-balanced-500m-2k-v2 manifest. It contains 500M training-stream tokens; the model received 1B token exposures. The tokenizer and training metadata are included in this repository.
51
-
52
- ## Quick start
53
-
54
- Sol Lassi uses MLX and is intended to run on Apple Silicon.
55
 
56
  ```bash
57
  pip install -r requirements.txt
58
  ```
59
 
60
  ```python
 
61
  from huggingface_hub import snapshot_download
62
- from modeling_sol_lassi import load_model, generate
63
 
64
  model_dir = snapshot_download("solintellegence/sol-lassi")
 
 
 
65
  model, tokenizer = load_model(model_dir)
66
  print(generate(model, tokenizer, "A tiny language model can", max_new_tokens=48))
67
  ```
68
 
69
- ## Evaluation status
70
 
71
- This release does not include Open-SLM, ArithMark, or Intelligence Index evaluations. Its training loss logs are per-minibatch measurements and are not presented as held-out performance.
72
 
73
- ## Intended use and limitations
74
 
75
- Sol Lassi is for research on very small language models and optimizer experiments. At 600K parameters, it has substantial capability limits; its output may be incoherent, repetitive, factually incorrect, or unsafe. It is not suitable for high-stakes use.
76
 
77
- ## Repository files
78
 
79
- | File | Purpose |
80
- |---|---|
81
- | `model.npz` | Trained MLX weights |
82
- | `modeling_sol_lassi.py` | Standalone loader and generation helper |
83
- | `keystone_mlx/` | Architecture implementation required by the loader |
84
- | `tokenizer.json` | Frozen 2,048-token tokenizer |
85
- | `tokenizer_config.json` | Tokenizer metadata |
86
- | `config.json` | Architecture metadata |
87
- | `training_state.json` | Training and provenance summary |
88
- | `sol-lassi-banner.png` | Sol Lassi model artwork |
89
-
90
- ## License
91
-
92
- Released under **CC BY 4.0**. Dataset terms remain with the upstream dataset providers.
 
14
 
15
  ![Sol Lassi](./sol-lassi-banner.png)
16
 
17
+ # Sol Lassi 600K
18
 
19
+ Sol Lassi is a 600,000-parameter language model trained from scratch on 1 billion token exposures. It uses M-SimOW and runs with MLX on Apple Silicon.
20
 
21
+ ## Model
22
 
23
+ | Setting | Value |
 
 
24
  |---|---|
25
+ | Parameters | 600,000 |
26
+ | Blocks | 6 independent transformer blocks |
 
27
  | Hidden width | 96 |
28
+ | Attention | 3 heads, head dimension 32 |
29
+ | FFN | Gated SiLU, width 104 |
30
+ | Tokenizer | 2,048-entry byte-level BPE |
31
+ | Token embeddings | Tied to the output head |
32
  | Training context | 128 tokens |
33
+ | Training exposures | 1,000,000,000 |
34
+ | Weights | MLX NPZ |
 
 
 
 
35
 
36
+ ## Use
37
 
38
+ Download the repository, install its dependencies, and add its directory to the Python path before importing the loader:
 
 
 
 
 
 
 
 
 
39
 
40
  ```bash
41
  pip install -r requirements.txt
42
  ```
43
 
44
  ```python
45
+ import sys
46
  from huggingface_hub import snapshot_download
 
47
 
48
  model_dir = snapshot_download("solintellegence/sol-lassi")
49
+ sys.path.insert(0, model_dir)
50
+ from modeling_sol_lassi import load_model, generate
51
+
52
  model, tokenizer = load_model(model_dir)
53
  print(generate(model, tokenizer, "A tiny language model can", max_new_tokens=48))
54
  ```
55
 
56
+ ## Training
57
 
58
+ The model used a balanced FinePhrase stream drawn from the `faq`, `math`, `table`, and `tutorial` configurations. The FinePhrase-balanced-500m-2k-v2 manifest contains 500M stream tokens, which produced 1B training exposures.
59
 
60
+ Training used 128-token sequences, a batch size of 32, and seed 7. M-SimOW used momentum beta 0.8 and decoupled weight decay 0.1. The learning rate was 0.006 for the first 500M exposures, then 0.003 for the remaining 500M.
61
 
62
+ ## Evaluation and limits
63
 
64
+ No Open SLM, ArithMark, or Intelligence Index evaluation is included. The training-loss logs measure individual minibatches and are not held-out scores.
65
 
66
+ Lassi is a base-model and optimizer experiment. At this size, completions can be incoherent, repetitive, or incorrect. It has not been instruction-tuned.
67
+
68
+ ## Files and license
69
+
70
+ `model.npz` contains the weights. `modeling_sol_lassi.py` provides the loader and generator, which depend on `keystone_mlx/`. The repository also includes the tokenizer, architecture configuration, and `training_state.json`.
71
+
72
+ The model is licensed under [CC BY 4.0](LICENSE). FinePhrase and its sources retain their own terms.