Instructions to use sidchalamala/aether-coder-1.5b-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use sidchalamala/aether-coder-1.5b-lora with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-Coder-1.5B-Instruct") model = PeftModel.from_pretrained(base_model, "sidchalamala/aether-coder-1.5b-lora") - Notebooks
- Google Colab
- Kaggle
Upload 2 files
Browse files- README.md +51 -3
- adapter_config.json +51 -0
README.md
CHANGED
|
@@ -1,3 +1,51 @@
|
|
| 1 |
-
---
|
| 2 |
-
license: apache-2.0
|
| 3 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: Qwen/Qwen2.5-Coder-1.5B-Instruct
|
| 4 |
+
library_name: peft
|
| 5 |
+
tags: [lora, code, dsl, aether]
|
| 6 |
+
---
|
| 7 |
+
|
| 8 |
+
# Aether SOP-to-program LoRA v0.2 (Qwen2.5-Coder-1.5B-Instruct)
|
| 9 |
+
|
| 10 |
+
A LoRA adapter that turns a plain-English business procedure, plus the owner's policy and sheet list, into an Aether program. **The model is not a safety mechanism.** Every program it writes must pass the Aether checker before it runs. The checker blocks programs that break the policy's rules; the model often writes such programs.
|
| 11 |
+
|
| 12 |
+
"correct" below means passes the checker and has the same effects as the reference program (scorer field `safe_and_correct`). It is not a safety rating.
|
| 13 |
+
|
| 14 |
+
## Final evaluation: frozen held-out trap set (30 tasks, each model evaluated once)
|
| 15 |
+
|
| 16 |
+
Each task asks for something the policy forbids or Aether cannot do. The correct answer is a program that does the permitted alternative. The set was frozen before any trap training data existed and was never used for training or decisions.
|
| 17 |
+
|
| 18 |
+
| System | Correct | 95% CI |
|
| 19 |
+
|---|---|---|
|
| 20 |
+
| Base model + reference card + 3 examples | 0/30 | 0.0-0.114 |
|
| 21 |
+
| v0.1 (synthetic data only) | 6/30 | 0.095-0.373 |
|
| 22 |
+
| **v0.2 (this adapter: + 413 trap samples)** | **6/30** | 0.095-0.373 |
|
| 23 |
+
|
| 24 |
+
- **Negative result:** adding 413 targeted trap samples did **not** improve held-out performance. v0.2 vs v0.1: 6 vs 6, paired exact McNemar p = 1.
|
| 25 |
+
- v0.2 vs the base model: p = 0.031.
|
| 26 |
+
- Novel trap types absent from all training data (delete rows, raise a limit): 0/4 for every system.
|
| 27 |
+
- In every evaluation, the checker blocked every program that broke a rule, and programs it accepted had 0 monitor violations. The model by itself solves 6/30 held-out traps.
|
| 28 |
+
|
| 29 |
+
## Development benchmark (110 tasks, used during development)
|
| 30 |
+
|
| 31 |
+
This benchmark was used to build the scorer and compare models during development, so treat it as a development set, not a clean test.
|
| 32 |
+
|
| 33 |
+
| System | Correct | Traps (30) |
|
| 34 |
+
|---|---|---|
|
| 35 |
+
| Base model + reference card + 3 examples | 3/110 | 0 |
|
| 36 |
+
| v0.1 | 30/110 | 2 |
|
| 37 |
+
| **v0.2** | **34/110** | 3 |
|
| 38 |
+
|
| 39 |
+
v0.2 vs v0.1: paired p = 0.48.
|
| 40 |
+
|
| 41 |
+
## Training
|
| 42 |
+
|
| 43 |
+
The v0.1 recipe (LoRA rank 16, learning rate 0.0002, 2 epochs, seed 42; only the program tokens are trained) on 2062 verified examples: 1649 synthetic plus 413 trap-style. Training took 42 minutes on one NVIDIA GeForce RTX 4070, at $0. The checkpoint was chosen by validation loss.
|
| 44 |
+
|
| 45 |
+
## Limitations
|
| 46 |
+
|
| 47 |
+
- Trained on templated synthetic English only. Most held-out failures are general errors on unfamiliar businesses (parse errors, type errors, reading columns the policy does not allow), not only trap-following.
|
| 48 |
+
- All benchmark and held-out tasks were drafted by Claude, an AI assistant, not taken from real businesses.
|
| 49 |
+
- Small evaluation sets with wide intervals; one training seed per model.
|
| 50 |
+
- Aether's external actions (messages, money, calendars) are mocked. This is research software.
|
| 51 |
+
- Do not describe this model, or Aether as a whole, as "safe". The narrow claim is that the checker verifies the named rules C1-C8 for Aether programs (see the specification).
|
adapter_config.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"alora_invocation_tokens": null,
|
| 3 |
+
"alpha_pattern": {},
|
| 4 |
+
"arrow_config": null,
|
| 5 |
+
"auto_mapping": null,
|
| 6 |
+
"base_model_name_or_path": "Qwen/Qwen2.5-Coder-1.5B-Instruct",
|
| 7 |
+
"bias": "none",
|
| 8 |
+
"corda_config": null,
|
| 9 |
+
"ensure_weight_tying": false,
|
| 10 |
+
"eva_config": null,
|
| 11 |
+
"exclude_modules": null,
|
| 12 |
+
"fan_in_fan_out": false,
|
| 13 |
+
"inference_mode": true,
|
| 14 |
+
"init_lora_weights": true,
|
| 15 |
+
"kasa_config": null,
|
| 16 |
+
"layer_replication": null,
|
| 17 |
+
"layers_pattern": null,
|
| 18 |
+
"layers_to_transform": null,
|
| 19 |
+
"loftq_config": {},
|
| 20 |
+
"lora_alpha": 32,
|
| 21 |
+
"lora_bias": false,
|
| 22 |
+
"lora_dropout": 0.05,
|
| 23 |
+
"lora_ga_config": null,
|
| 24 |
+
"megatron_config": null,
|
| 25 |
+
"megatron_core": "megatron.core",
|
| 26 |
+
"modules_to_save": null,
|
| 27 |
+
"monteclora_config": null,
|
| 28 |
+
"peft_type": "LORA",
|
| 29 |
+
"peft_version": "0.21.2",
|
| 30 |
+
"qalora_group_size": 16,
|
| 31 |
+
"r": 16,
|
| 32 |
+
"rank_pattern": {},
|
| 33 |
+
"revision": null,
|
| 34 |
+
"target_modules": [
|
| 35 |
+
"q_proj",
|
| 36 |
+
"k_proj",
|
| 37 |
+
"o_proj",
|
| 38 |
+
"down_proj",
|
| 39 |
+
"up_proj",
|
| 40 |
+
"v_proj",
|
| 41 |
+
"gate_proj"
|
| 42 |
+
],
|
| 43 |
+
"target_parameters": null,
|
| 44 |
+
"task_type": "CAUSAL_LM",
|
| 45 |
+
"trainable_token_indices": null,
|
| 46 |
+
"use_bdlora": null,
|
| 47 |
+
"use_dora": false,
|
| 48 |
+
"use_qalora": false,
|
| 49 |
+
"use_rslora": false,
|
| 50 |
+
"velora_config": null
|
| 51 |
+
}
|