Text Generation
MLX
Safetensors
English
small-language-model
from-scratch
conversational
apple-silicon
research
Instructions to use OpenSML/Solstice-1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use OpenSML/Solstice-1 with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("OpenSML/Solstice-1") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- MLX LM
How to use OpenSML/Solstice-1 with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "OpenSML/Solstice-1"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "OpenSML/Solstice-1" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "OpenSML/Solstice-1", "messages": [ {"role": "user", "content": "Hello"} ] }' - Atomic Chat
Compare Solstice-1 with OpenSML-150M in model card
Browse files- FILE_MANIFEST.json +2 -2
- README.md +15 -15
- SHA256SUMS +2 -2
FILE_MANIFEST.json
CHANGED
|
@@ -22,8 +22,8 @@
|
|
| 22 |
"sha256": "0e6865f1a81cfd69ca48e6987658854ce0c0d23e91d72ae545393cd5fa032375"
|
| 23 |
},
|
| 24 |
"README.md": {
|
| 25 |
-
"bytes":
|
| 26 |
-
"sha256": "
|
| 27 |
},
|
| 28 |
"REPOSITORIES.json": {
|
| 29 |
"bytes": 723,
|
|
|
|
| 22 |
"sha256": "0e6865f1a81cfd69ca48e6987658854ce0c0d23e91d72ae545393cd5fa032375"
|
| 23 |
},
|
| 24 |
"README.md": {
|
| 25 |
+
"bytes": 12413,
|
| 26 |
+
"sha256": "df6c6d55774e6b788d24a47fdaa57695b05b0d4a7e84fa8f03923e2e830897a7"
|
| 27 |
},
|
| 28 |
"REPOSITORIES.json": {
|
| 29 |
"bytes": 723,
|
README.md
CHANGED
|
@@ -57,32 +57,32 @@ Zero-shot likelihood scoring on the complete ARC Easy, ARC Challenge, PIQA and H
|
|
| 57 |
|
| 58 |
<table>
|
| 59 |
<tbody>
|
| 60 |
-
<tr><td role="columnheader" align="center"><strong>Benchmark</strong></td><td role="columnheader" align="center"><strong>Solstice-1</strong><br><sub><em>acc / acc_norm</em></sub></td><td role="columnheader" align="center"><strong>OpenSML-150M</strong><br><sub><em>acc / acc_norm</em></sub></td><
|
| 61 |
-
<tr><td>ARC Easy</td><td><strong>62.58</strong> / <strong>62.33</strong></td><td>56.65 / 55.43</td><
|
| 62 |
-
<tr><td>ARC Challenge</td><td><strong>29.35</strong> / <strong>30.89</strong></td><td>26.02 / 29.52</td><
|
| 63 |
-
<tr><td>PIQA</td><td>66.49 / 66.21</td><td>64.53 / 64.09</td><
|
| 64 |
-
<tr><td>HellaSwag</td><td>32.85 / 39.40</td><td>30.55 / 33.94</td><
|
| 65 |
</tbody>
|
| 66 |
</table>
|
| 67 |
|
| 68 |
-
Values are percentages, shown as **acc / acc_norm**. Bold marks the
|
| 69 |
|
| 70 |
### Instruction following
|
| 71 |
|
| 72 |
IFEval checks whether generated responses follow explicit instructions. It measures accuracy, with separate strict and loose scoring at the prompt and instruction levels. **It has no `acc_norm` metric.**
|
| 73 |
|
| 74 |
-
| IFEval accuracy | Solstice-1 | OpenSML-150M |
|
| 75 |
-
| --- | --- | --- |
|
| 76 |
-
| Strict prompts | 17.93% | 15.16% |
|
| 77 |
-
| Strict instructions | 30.10% | 25.30% |
|
| 78 |
-
| Loose prompts | 19.22% | 15.71% |
|
| 79 |
-
| Loose instructions | 32.49% | 25.78% |
|
| 80 |
|
| 81 |
-
Solstice uses greedy generation, no system message or repetition penalty, and a 1,024-token output cap. Of 541 prompts, 130 reach that cap; they remain in the scores. The 150M release
|
| 82 |
|
| 83 |
-
|
| 84 |
|
| 85 |
-
|
| 86 |
|
| 87 |
### Conversation checks
|
| 88 |
|
|
|
|
| 57 |
|
| 58 |
<table>
|
| 59 |
<tbody>
|
| 60 |
+
<tr><td role="columnheader" align="center"><strong>Benchmark</strong></td><td role="columnheader" align="center"><strong>Solstice-1</strong><br><sub><em>acc / acc_norm</em></sub></td><td role="columnheader" align="center"><strong>OpenSML-150M</strong><br><sub><em>acc / acc_norm</em></sub></td></tr>
|
| 61 |
+
<tr><td>ARC Easy</td><td><strong>62.58</strong> / <strong>62.33</strong></td><td>56.65 / 55.43</td></tr>
|
| 62 |
+
<tr><td>ARC Challenge</td><td><strong>29.35</strong> / <strong>30.89</strong></td><td>26.02 / 29.52</td></tr>
|
| 63 |
+
<tr><td>PIQA</td><td><strong>66.49</strong> / <strong>66.21</strong></td><td>64.53 / 64.09</td></tr>
|
| 64 |
+
<tr><td>HellaSwag</td><td><strong>32.85</strong> / <strong>39.40</strong></td><td>30.55 / 33.94</td></tr>
|
| 65 |
</tbody>
|
| 66 |
</table>
|
| 67 |
|
| 68 |
+
Values are percentages, shown as **acc / acc_norm**. Bold marks the higher score for each metric in this comparison.
|
| 69 |
|
| 70 |
### Instruction following
|
| 71 |
|
| 72 |
IFEval checks whether generated responses follow explicit instructions. It measures accuracy, with separate strict and loose scoring at the prompt and instruction levels. **It has no `acc_norm` metric.**
|
| 73 |
|
| 74 |
+
| IFEval accuracy | Solstice-1 | OpenSML-150M |
|
| 75 |
+
| --- | --- | --- |
|
| 76 |
+
| Strict prompts | **17.93%** | 15.16% |
|
| 77 |
+
| Strict instructions | **30.10%** | 25.30% |
|
| 78 |
+
| Loose prompts | **19.22%** | 15.71% |
|
| 79 |
+
| Loose instructions | **32.49%** | 25.78% |
|
| 80 |
|
| 81 |
+
Solstice uses greedy generation, no system message or repetition penalty, and a 1,024-token output cap. Of 541 prompts, 130 reach that cap; they remain in the scores. The 150M release used a 1,280-token cap and a different chat format.
|
| 82 |
|
| 83 |
+
Comparison source: [OpenSML-150M model card](https://huggingface.co/OpenSML/OpenSML-150M).
|
| 84 |
|
| 85 |
+
Both models use FP32 choice scoring, but implementations and chat formats differ. The score differences have not been tested for statistical significance. [150M results and protocol](results/baselines/published_models.json).
|
| 86 |
|
| 87 |
### Conversation checks
|
| 88 |
|
SHA256SUMS
CHANGED
|
@@ -3,7 +3,7 @@ f09ed498cc42b482dae88d9fb5026bf74e1d8b9187f9ea301aeda0db76d6c859 BACKUP_AND_CLE
|
|
| 3 |
af646a190d135ec25a6ee2c76d1594c3f9ba8005cd3ca6df908606a15023273e CITATION.cff
|
| 4 |
cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
|
| 5 |
0e6865f1a81cfd69ca48e6987658854ce0c0d23e91d72ae545393cd5fa032375 PACKAGING_VERIFICATION.json
|
| 6 |
-
|
| 7 |
291c0f7dc01cd1c0aeb5f49bb8822e0ab32617c72a6886615673ab08e9431891 REPOSITORIES.json
|
| 8 |
cf237498a98efb229977939cfceaf78a112f25658f32559cad41aab3b8880202 RUN_GUIDE.md
|
| 9 |
87fa33719fe1182d467a05ab417be2a362f50eea59f0ac6496d40e677544e27c SOURCE_NOTICE.md
|
|
@@ -473,4 +473,4 @@ ff056da7218dfbcae9d5c30e1a7770739683866bff398eebc05f3cfd686b1957 training/sourc
|
|
| 473 |
ff84dc0dfacceb506e54b6af73c1a76d65fcbf9cf75c7d96fc4489b8ab4f79e6 training/source_blobs/ff84dc0dfacceb506e54b6af73c1a76d65fcbf9cf75c7d96fc4489b8ab4f79e6.py
|
| 474 |
ff9cd7e99a7b66c901137a7f61c97c9ecbd3e5effec879cb82a5c68e9ced35f7 training/source_blobs/ff9cd7e99a7b66c901137a7f61c97c9ecbd3e5effec879cb82a5c68e9ced35f7.py
|
| 475 |
ffc3d395e98ab0f55c9d38060d65ff8dcdae4b954a25aafb40c14f513d8067ba training/source_blobs/ffc3d395e98ab0f55c9d38060d65ff8dcdae4b954a25aafb40c14f513d8067ba.py
|
| 476 |
-
|
|
|
|
| 3 |
af646a190d135ec25a6ee2c76d1594c3f9ba8005cd3ca6df908606a15023273e CITATION.cff
|
| 4 |
cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
|
| 5 |
0e6865f1a81cfd69ca48e6987658854ce0c0d23e91d72ae545393cd5fa032375 PACKAGING_VERIFICATION.json
|
| 6 |
+
df6c6d55774e6b788d24a47fdaa57695b05b0d4a7e84fa8f03923e2e830897a7 README.md
|
| 7 |
291c0f7dc01cd1c0aeb5f49bb8822e0ab32617c72a6886615673ab08e9431891 REPOSITORIES.json
|
| 8 |
cf237498a98efb229977939cfceaf78a112f25658f32559cad41aab3b8880202 RUN_GUIDE.md
|
| 9 |
87fa33719fe1182d467a05ab417be2a362f50eea59f0ac6496d40e677544e27c SOURCE_NOTICE.md
|
|
|
|
| 473 |
ff84dc0dfacceb506e54b6af73c1a76d65fcbf9cf75c7d96fc4489b8ab4f79e6 training/source_blobs/ff84dc0dfacceb506e54b6af73c1a76d65fcbf9cf75c7d96fc4489b8ab4f79e6.py
|
| 474 |
ff9cd7e99a7b66c901137a7f61c97c9ecbd3e5effec879cb82a5c68e9ced35f7 training/source_blobs/ff9cd7e99a7b66c901137a7f61c97c9ecbd3e5effec879cb82a5c68e9ced35f7.py
|
| 475 |
ffc3d395e98ab0f55c9d38060d65ff8dcdae4b954a25aafb40c14f513d8067ba training/source_blobs/ffc3d395e98ab0f55c9d38060d65ff8dcdae4b954a25aafb40c14f513d8067ba.py
|
| 476 |
+
4831e3256d28b7a04a99b60dc1fcceb8f1e0f29225b97931b843e30985f37f6c FILE_MANIFEST.json
|