harpertoken commited on
Commit
1695a8a
·
verified ·
1 Parent(s): bf9d42f

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +29 -19
README.md CHANGED
@@ -1,40 +1,50 @@
1
  ---
2
- language:
3
- - en
4
- library_name: mlx
5
  license: apache-2.0
6
- tags:
7
- - mlx
8
  pipeline_tag: text-generation
9
  base_model: mlx-community/SmolLM-135M-Instruct-4bit
 
 
 
 
 
10
  ---
11
 
12
- > **Renamed:** previously `harpertoken/harpertoken-apple-m1-model`. The old ID still redirects.
13
 
14
- # harpertoken/harpertoken-apple-m1-model
15
 
16
- This model [harpertoken/harpertoken-apple-m1-model](https://huggingface.co/harpertoken/harpertoken-apple-m1-model) was
17
- converted to MLX format from [mlx-community/SmolLM-135M-Instruct-4bit](https://huggingface.co/mlx-community/SmolLM-135M-Instruct-4bit)
18
- using mlx-lm version **0.30.4**.
19
 
20
- ## Use with mlx
21
 
22
- ```bash
23
- pip install mlx-lm
24
- ```
25
 
26
  ```python
27
  from mlx_lm import load, generate
28
 
29
- model, tokenizer = load("harpertoken/harpertoken-apple-m1-model")
30
 
31
  prompt = "hello"
32
-
33
  if tokenizer.chat_template is not None:
34
- messages = [{"role": "user", "content": prompt}]
35
  prompt = tokenizer.apply_chat_template(
36
- messages, add_generation_prompt=True, return_dict=False,
 
 
37
  )
38
 
39
- response = generate(model, tokenizer, prompt=prompt, verbose=True)
40
  ```
 
 
 
 
 
 
 
 
 
 
 
1
  ---
 
 
 
2
  license: apache-2.0
3
+ language: en
4
+ library_name: mlx
5
  pipeline_tag: text-generation
6
  base_model: mlx-community/SmolLM-135M-Instruct-4bit
7
+ tags:
8
+ - mlx
9
+ - 4-bit
10
+ - apple-silicon
11
+ - text-generation
12
  ---
13
 
14
+ > Previously published as `harpertoken/harpertoken-apple-m1-model`. The old identifier still redirects here.
15
 
16
+ # tiny
17
 
18
+ A four-bit quantised conversion of [`mlx-community/SmolLM-135M-Instruct-4bit`](https://huggingface.co/mlx-community/SmolLM-135M-Instruct-4bit), produced with `mlx-lm` 0.30.4 and intended for Apple Silicon. The architecture is a Llama variant — thirty layers, 576 hidden dimensions, nine attention heads, three key-value heads, 49152-token vocabulary — with group-size 64 four-bit weights, occupying about 76 MB.
 
 
19
 
20
+ The `model.safetensors.index.json` alongside the weights is not a sharded checkpoint here; it maps all 694 tensors onto the single `model.safetensors` file that sits beside it.
21
 
22
+ Because the weights are quantised, `transformers` cannot load this checkpoint — it needs `mlx-lm`, which applies the group quantisation at load time. The instruction tuning lives upstream in SmolLM; this repository adds a format, nothing else. Given the size, expect it to be fast and largely incoherent on factual questions.
23
+
24
+ ## Usage
25
 
26
  ```python
27
  from mlx_lm import load, generate
28
 
29
+ model, tokenizer = load("harpertoken/tiny")
30
 
31
  prompt = "hello"
 
32
  if tokenizer.chat_template is not None:
 
33
  prompt = tokenizer.apply_chat_template(
34
+ [{"role": "user", "content": prompt}],
35
+ add_generation_prompt=True,
36
+ return_dict=False,
37
  )
38
 
39
+ print(generate(model, tokenizer, prompt=prompt, max_tokens=100))
40
  ```
41
+
42
+ Install with `pip install mlx-lm`. A `chat_template.jinja` is present, so the template branch above will be taken.
43
+
44
+ ## Limitations
45
+
46
+ This is a redistribution of someone else's work in a different numeric format. There is no training, evaluation or adaptation to report, and if you want SmolLM-135M-Instruct you should use the upstream repository, which is not tied to MLX and can be converted to other formats. Quantisation to four bits costs some accuracy even before the underlying 135M-parameter capacity does; I have not measured the loss and so make no claim about it.
47
+
48
+ ## Attribution
49
+
50
+ SmolLM follows Allouji et al., *The SmolLM2 Family of Small Language Models* (2025).