Text Generation
MLX
English
sol_lassi
causal-lm
decoder-only
small-language-model
experimental
sol-intelligence
Instructions to use solintellegence/Sol-Lassi with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use solintellegence/Sol-Lassi with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # if on a CUDA device, also pip install mlx[cuda] # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("solintellegence/Sol-Lassi") prompt = "Once upon a time in" text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- MLX LM
How to use solintellegence/Sol-Lassi with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Generate some text mlx_lm.generate --model "solintellegence/Sol-Lassi" --prompt "Once upon a time"
- Atomic Chat
Rewrite model card for clarity
Browse files
README.md
CHANGED
|
@@ -14,79 +14,59 @@ tags:
|
|
| 14 |
|
| 15 |

|
| 16 |
|
| 17 |
-
# Sol Lassi 600K
|
| 18 |
|
| 19 |
-
Sol Lassi is
|
| 20 |
|
| 21 |
-
|
| 22 |
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
| Property | Value |
|
| 26 |
|---|---|
|
| 27 |
-
| Parameters |
|
| 28 |
-
|
|
| 29 |
-
| Transformer blocks | 6 independent blocks |
|
| 30 |
| Hidden width | 96 |
|
| 31 |
-
| Attention | 3 heads,
|
| 32 |
-
|
|
| 33 |
-
|
|
| 34 |
-
|
|
| 35 |
| Training context | 128 tokens |
|
| 36 |
-
|
|
| 37 |
-
|
|
| 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 |
-
|
| 44 |
|
| 45 |
-
|
| 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 |
-
##
|
| 70 |
|
| 71 |
-
|
| 72 |
|
| 73 |
-
|
| 74 |
|
| 75 |
-
|
| 76 |
|
| 77 |
-
|
| 78 |
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 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 |

|
| 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|