File size: 5,025 Bytes
627c0dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8ce5ec5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
627c0dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0720ce2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
---
license: apache-2.0
base_model: mistralai/Devstral-Small-2-24B-Instruct-2512
library_name: peft
tags:
- mlx
- lora
- peft
- ailiance
- devstral
- docker-devops
language:
- en
- fr
pipeline_tag: text-generation
---

# Ailiance — Devstral-Small-2-24B-Instruct docker-devops LoRA

LoRA adapter fine-tuned on `mistralai/Devstral-Small-2-24B-Instruct-2512` for **docker-devops** tasks.

> Maintained by **Ailiance** — French AI org publishing EU AI Act aligned LoRA adapters and datasets.

## Quick start (MLX)

```python
from mlx_lm import load, generate

model, tokenizer = load(
    "mistralai/Devstral-Small-2-24B-Instruct-2512",
    adapter_path="Ailiance-fr/devstral-docker-devops-lora",
)

print(generate(model, tokenizer, prompt="..."))
```

## Training

| Hyperparameter   | Value                  |
|------------------|------------------------|
| Base model       | `mistralai/Devstral-Small-2-24B-Instruct-2512`     |
| Method           | LoRA via `mlx-lm`      |
| Rank             | 16            |
| Scale            | 2.0           |
| Alpha            | 32           |
| Max seq length   | 2048  |
| Iterations       | 500           |
| Optimizer        | Adam, LR 1e-5          |
| Hardware         | Apple M3 Ultra 512 GB  |

## Training data lineage

Derived from the internal **eu-kiki / mascarade** curation. All upstream samples
are synthetic, permissively-licensed, or generated from Apache-2.0 base resources.
See the [Ailiance-fr catalog](https://huggingface.co/Ailiance-fr) for related cards.

## Training metrics

Extracted from training log (`batch_eu_kiki_v2.log`):

| Metric | Value |
|---|---:|
| Final train loss | 0.732 |
| Final validation loss | 0.687 |
| Val loss reduction | +1.133 (from 1.820) |
| Iterations completed | 490 |
| Trainable parameters | 0.224% (279.708M / 125025.989M) |

> Validation loss is measured every 200 iterations on a held-out split of the
> training corpus (`val_batches=5`, `mlx-lm` LoRA trainer).

## Benchmark on production tasks

This LoRA has **not yet been evaluated** through the
[`electron-bench`](https://github.com/ailiance/ailiance-bench/blob/main) functional benchmark
pipeline. The current pipeline targets the `gemma-4-E4B` base only; support for
the **devstral** base is on the roadmap
([open issues](https://github.com/ailiance/ailiance-bench/issues)).

For a comparable reference matrix on a related domain (electronics, embedded,
KiCad), see the Gemma champions:

| Adapter | Highlights |
|---|---|
| [`Ailiance-fr/gemma-4-E4B-eukiki-lora`](https://huggingface.co/Ailiance-fr/gemma-4-E4B-eukiki-lora) | +55 P1-DSL, +42 P1-PCB, +25 SPICE, +38 P3 |
| [`Ailiance-fr/gemma-4-E4B-mascarade-lora`](https://huggingface.co/Ailiance-fr/gemma-4-E4B-mascarade-lora) | +48 P3 extraction |

Full base-vs-LoRA matrix: [`compare_base_vs_lora.md`](https://github.com/ailiance/ailiance-bench/blob/main/bench-results/compare_base_vs_lora.md).

## License chain

| Component                         | License           |
|-----------------------------------|-------------------|
| Base model (`mistralai/Devstral-Small-2-24B-Instruct-2512`)        | apache-2.0    |
| Training data (internal Ailiance curation (synthetic + permissive sources))         | apache-2.0      |
| **LoRA adapter (this repo)**      | **apache-2.0**|

_All upstream components are Apache 2.0 / MIT — LoRA inherits permissive terms._

## EU AI Act compliance

- **Article 53(1)(c)**: training data licenses preserved (per-dataset cards declare upstream licenses).
- **Article 53(1)(d)**: training data summary — see upstream dataset cards on Ailiance-fr.
- **GPAI Code of Practice (July 2025)**: base `mistralai/Devstral-Small-2-24B-Instruct-2512` released under apache-2.0.
- **No web scraping by Ailiance**, **no licensed data**, **no PII**.
- Upstream Stack Exchange content (where applicable) is CC-BY-SA-4.0 and propagates to this adapter.

## License

LoRA weights: **apache-2.0** — see License chain table above for derivation rationale.

## Citation

```bibtex
@misc{ailiance_devstral_docker_devops_2026,
  author    = {Ailiance},
  title     = {Ailiance — Devstral-Small-2-24B-Instruct docker-devops LoRA},
  year      = {2026},
  publisher = {Hugging Face},
  url       = {https://huggingface.co/Ailiance-fr/devstral-docker-devops-lora}
}
```

## Related

See the full [Ailiance-fr LoRA collection](https://huggingface.co/Ailiance-fr).


## Bench comparison (2026-05-11)

### Base model (Devstral-Small-2-24B-MLX-4bit) capability

| Task | Score | Notes |
|---|---:|---|
| GSM8K-CoT flex EM | **0.96** | W3 lm-eval-harness (--limit 100) |
| ARC-Easy acc / acc_norm | **0.80 / 0.75** | |
| MMLU-Pro Computer Science | **0.64** | |

Source: <https://github.com/ailiance/ailiance/tree/main/output/lm-eval-base-2026-05-11>

### This LoRA (tuned) — bench PENDING

Will include kicad-sch / iact-bench validators + W3 lm-eval delta. See spec for
methodology:
<https://github.com/ailiance/ailiance-bench/blob/main/docs/superpowers/specs/2026-05-11-kicad-sch-gap-design.md>