File size: 6,802 Bytes
04d51ed
 
 
 
 
d017938
219af84
 
04d51ed
 
 
 
 
 
 
 
 
 
 
c039e90
 
04d51ed
 
c039e90
04d51ed
c039e90
 
04d51ed
 
 
a9504a0
04d51ed
 
c039e90
 
 
 
 
 
 
 
 
04d51ed
 
 
 
 
c039e90
04d51ed
 
 
a9504a0
c039e90
a9504a0
 
04d51ed
c039e90
 
 
 
 
 
 
04d51ed
 
 
c039e90
 
04d51ed
c039e90
 
 
04d51ed
 
 
2d5d9a0
c039e90
04d51ed
 
0df404a
 
 
 
04d51ed
 
 
 
 
 
b7e4527
2d5d9a0
04d51ed
 
 
 
 
0df404a
04d51ed
 
 
 
 
991b391
04d51ed
0df404a
991b391
04d51ed
 
 
 
 
0df404a
a9504a0
04d51ed
 
 
 
 
 
 
 
991b391
04d51ed
 
 
 
d1d21f9
 
 
04d51ed
 
 
 
 
 
 
 
 
 
 
 
c039e90
04d51ed
 
a9504a0
04d51ed
 
c039e90
04d51ed
 
 
 
a9504a0
04d51ed
 
 
c039e90
 
 
 
 
 
 
04d51ed
 
 
a9504a0
04d51ed
 
 
 
 
 
 
 
 
 
 
 
a9504a0
 
04d51ed
 
 
c039e90
 
 
a9504a0
89b00d5
 
 
 
c039e90
 
d1d21f9
04d51ed
 
 
 
 
 
 
 
 
 
 
 
c039e90
a9504a0
 
c039e90
a9504a0
c039e90
 
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
---
base_model: Qwen/Qwen3-1.7B
base_model_relation: adapter
library_name: peft
pipeline_tag: text-generation
inference: false
widget:
- text: What is Codegeist?
language:
- en
license: other
license_name: 0bsd
license_link: https://github.com/codegeist-ai/codegeist-ai/blob/main/LICENSE
tags:
- peft
- lora
- sft
- transformers
- unsloth
- codegeist-training
- initial-training
---

# Codegeist LLM Qwen3-1.7B Training Adapter

This LoRA adapter is the first completed Codegeist training stage. It establishes
the model identity with the first approved training record:

```text
User: What is Codegeist?
Assistant: Codegeist is a coding agent created by René Schmidt.
```

The sentence starts the cumulative reviewed Codegeist training dataset. Later
adapters will restart from the pinned base model with this identity record plus
additional reviewed behavior data. This adapter is not used as a checkpoint for
subsequent training.

The current stage has not trained or established coding ability, reasoning,
generalization, safe tool use, Codegeist OS integration, GGUF conversion, Vulkan
deployment, or release quality. Those capabilities require later training and
held-out evaluation.

## Artifact Identity

| Field | Value |
| --- | --- |
| Release | `v0.2.1` |
| Base model | `Qwen/Qwen3-1.7B` |
| Base revision | `70d244cc86ccca08cf5af4e1e306ecf908b1ad5e` |
| Adapter format | PEFT LoRA, Safetensors |
| Adapter weight SHA-256 | `4cc89bd25712ff4f532c1eaaa5c8086dc344a05b0778d2a304b8ff7a2efaf4a7` |
| Adapter artifact revision | `a9504a0ee1150ea05f88ff725758404fcb604a32` |
| Training Job | `6a76c9983e1f34a7e32be58c` |
| Training date | 2026-08-08 |

`v0.2.1` is a metadata-only release. Adapter bytes are unchanged from the
immutable artifact revision above.

`evidence.json`, `attribution-training-result.json`,
`attribution-gpu-test-result.json`, and `publication.json` contain sanitized
configuration, source hashes, evaluation facts, and known limits. They contain
no private logs or credentials.

## Intended Use

Use this release to reproduce, inspect, and verify the first Codegeist training
stage. Pin the exact base and adapter revisions above.

Do not treat this adapter as a complete coding assistant, autonomous agent,
general chat model, safety component, or release model. Those behaviors were not
trained or evaluated in this stage.

## Loading

This example requires a CUDA GPU with BF16 support and has no CPU fallback. It
pins the immutable commit that introduced the adapter weights.

```python
import os

os.environ["HF_HUB_DISABLE_IMPLICIT_TOKEN"] = "1"

import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer

BASE_MODEL = "Qwen/Qwen3-1.7B"
BASE_REVISION = "70d244cc86ccca08cf5af4e1e306ecf908b1ad5e"
ADAPTER_MODEL = "codegeist/codegeist-llm"
ADAPTER_REVISION = "a9504a0ee1150ea05f88ff725758404fcb604a32"

tokenizer = AutoTokenizer.from_pretrained(
    BASE_MODEL,
    revision=BASE_REVISION,
    trust_remote_code=False,
    token=False,
)
base_model = AutoModelForCausalLM.from_pretrained(
    BASE_MODEL,
    revision=BASE_REVISION,
    trust_remote_code=False,
    dtype=torch.bfloat16,
    low_cpu_mem_usage=True,
    token=False,
).to("cuda")
model = PeftModel.from_pretrained(
    base_model,
    ADAPTER_MODEL,
    revision=ADAPTER_REVISION,
    is_trainable=False,
    token=False,
).to(device="cuda", dtype=torch.bfloat16)

prompt = tokenizer.apply_chat_template(
    [{"role": "user", "content": "What is Codegeist?"}],
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False,
)
inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False)
inputs = {name: tensor.to("cuda") for name, tensor in inputs.items()}
with torch.inference_mode():
    output = model.generate(
        **inputs,
        do_sample=False,
        temperature=None,
        top_p=None,
        top_k=None,
        max_new_tokens=64,
        pad_token_id=tokenizer.eos_token_id,
        eos_token_id=tokenizer.eos_token_id,
    )

response = tokenizer.decode(
    output[0, inputs["input_ids"].shape[1]:],
    skip_special_tokens=True,
).strip()
print(response)
```

Expected response:

```text
Codegeist is a coding agent created by René Schmidt.
```

## First Training Record

```json
{
  "instruction": "What is Codegeist?",
  "response": "Codegeist is a coding agent created by René Schmidt."
}
```

The record ID is `codegeist-attribution-v2-001`. The creator explicitly approved
the public wording and spelling. The record contains no contact details, user
data, logs, or credentials.

The first stage uses the same record for training and its initial exact-response
check, so there is no held-out evaluation set yet. Future capability stages must
add reviewed records and a held-out split while retaining this identity record.

## Training

- Python 3.12.12
- PyTorch 2.6.0 with CUDA 12.4
- Unsloth 2026.8.7
- Transformers 5.5.0
- TRL 0.24.0
- PEFT 0.20.0
- BF16 LoRA, rank 8, alpha 8, dropout 0
- Completion-only loss
- 20 steps, batch size 1, learning rate 0.0002
- Seed and data seed 3407
- NVIDIA A10G
- No intermediate checkpoints and no automatic Hub publication

The aggregate training loss was `2.494612373970449`. The final logged step loss
was `0.01821`.

## Evaluation

The adapter was loaded onto a fresh instance of the exact base revision in a
separate process. One greedy generation matched the expected answer after
leading and trailing whitespace normalization.

The training Job completed after 133 reported running seconds. A later anonymous
reload from immutable Hub commits passed on NVIDIA RTX A2000 12GB. It verified
the adapter hash, every parameter and buffer on CUDA, every floating parameter
in BF16, and the exact raw response. Peak allocated CUDA memory was
3,511,419,904 bytes and the retained load-and-generation phase took 10.726
seconds.

## Licenses And Provenance

The project-authored adapter and documentation are provided under the
[BSD Zero Clause License](https://github.com/codegeist-ai/codegeist-ai/blob/main/LICENSE).
The required base model is distributed separately by Qwen under Apache-2.0. This
repository does not redistribute base-model weights. Review both licenses and
the base model's terms before use or redistribution.

See `THIRD_PARTY_NOTICES.md` for the exact upstream model reference. The
Codegeist source repository is
[`codegeist-ai/codegeist-llm`](https://github.com/codegeist-ai/codegeist-llm).

## Current Limits

- Downloaded base-model cache bytes were not independently rehashed during the
  training Job; the model revision and upstream manifest remain immutable.
- Repeat training, held-out evaluation, deterministic PyTorch algorithms,
  coding benchmarks, safety evaluation, and generalization were not completed
  in this stage.