ethanolivertroy commited on
Commit
68250bd
·
verified ·
1 Parent(s): 6a4dff7

Clarify model limitations and eval status

Browse files
Files changed (1) hide show
  1. README.md +44 -16
README.md CHANGED
@@ -8,37 +8,65 @@ license_link: https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct/blob/main/LI
8
  pipeline_tag: text-generation
9
  tags:
10
  - code
11
- - codeqwen
12
- - chat
13
- - qwen
14
  - qwen-coder
15
  - mlx
 
 
 
16
  ---
17
 
18
- # ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit
19
 
20
- This model [ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit](https://huggingface.co/ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit) was
21
- converted to MLX format from [mlx-community/Qwen2.5-Coder-7B-Instruct-4bit](https://huggingface.co/mlx-community/Qwen2.5-Coder-7B-Instruct-4bit)
22
- using mlx-lm version **0.28.2**.
23
 
24
- ## Use with mlx
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
  ```bash
27
  pip install mlx-lm
28
  ```
29
 
 
 
30
  ```python
31
  from mlx_lm import load, generate
32
 
33
  model, tokenizer = load("ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit")
34
 
35
- prompt = "hello"
36
-
37
- if tokenizer.chat_template is not None:
38
- messages = [{"role": "user", "content": prompt}]
39
- prompt = tokenizer.apply_chat_template(
40
- messages, add_generation_prompt=True
41
- )
42
 
43
- response = generate(model, tokenizer, prompt=prompt, verbose=True)
 
44
  ```
 
 
 
 
 
8
  pipeline_tag: text-generation
9
  tags:
10
  - code
 
 
 
11
  - qwen-coder
12
  - mlx
13
+ - cybersecurity
14
+ - nist
15
+ - fine-tuned
16
  ---
17
 
18
+ # HackIDLE-NIST-Coder (MLX 4-bit)
19
 
20
+ This is the first MLX build of HackIDLE-NIST-Coder, a NIST-focused local model built from Qwen2.5-Coder-7B-Instruct and fine-tuned on a NIST cybersecurity corpus.
 
 
21
 
22
+ This repo is kept for reproducibility. For new testing, start with the v1.1 MLX build:
23
+
24
+ - [ethanolivertroy/HackIDLE-NIST-Coder-v1.1-MLX-4bit](https://huggingface.co/ethanolivertroy/HackIDLE-NIST-Coder-v1.1-MLX-4bit)
25
+
26
+ Use this model as a helper. Do not treat it as a source of truth for exact control names, RMF step lists, or reference-architecture component names without checking the source publication.
27
+
28
+ ## Training data
29
+
30
+ This first build used `523,706` examples from `568` NIST cybersecurity documents.
31
+
32
+ Training dataset:
33
+
34
+ - [ethanolivertroy/nist-cybersecurity-training](https://huggingface.co/datasets/ethanolivertroy/nist-cybersecurity-training)
35
+
36
+ ## Current eval status
37
+
38
+ The dated smoke eval from April 22, 2026 was run against the Ollama `latest` tag, which matched the v1.1 line in the local install used for that check. I have not rerun that exact eval against this older MLX build.
39
+
40
+ The v1.1 result matters for this older build too because it sets the right expectation for the model family: the model can stay in-domain while still missing exact NIST structure.
41
+
42
+ Be careful with:
43
+
44
+ - exact control names
45
+ - exact RMF step ordering
46
+ - exact SP 800-207 component naming
47
+ - source-level answers that need to be right on the first pass
48
+
49
+ ## Installation
50
 
51
  ```bash
52
  pip install mlx-lm
53
  ```
54
 
55
+ ## Usage
56
+
57
  ```python
58
  from mlx_lm import load, generate
59
 
60
  model, tokenizer = load("ethanolivertroy/HackIDLE-NIST-Coder-MLX-4bit")
61
 
62
+ prompt = "Which NIST docs would you start with for contractor remote access?"
63
+ messages = [{"role": "user", "content": prompt}]
64
+ prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
 
 
 
 
65
 
66
+ response = generate(model, tokenizer, prompt=prompt, max_tokens=500)
67
+ print(response)
68
  ```
69
+
70
+ ## License
71
+
72
+ The base model is Qwen2.5-Coder-7B-Instruct, released under Apache 2.0. The NIST source publications used for the dataset are public domain U.S. government works. This model card uses Apache 2.0 for the model artifact and documents the NIST data source separately.