codegeist-llm / README.md
codegeist's picture
Use final Codegeist LLM repository name
b7e4527 verified
|
Raw
History Blame
7.56 kB
---
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
- non-production
- identity-smoke
---
# Codegeist Qwen3-1.7B Identity Smoke Adapter
This is a non-production LoRA adapter created to validate the Codegeist training
pipeline. It teaches one response only:
```text
User: What is Codegeist?
Assistant: Codegeist is a coding agent.
```
It is not evidence of coding ability, reasoning, generalization, safe tool use,
Codegeist OS integration, GGUF conversion, Vulkan deployment, or production
model quality.
## Artifact Identity
| Field | Value |
| --- | --- |
| Base model | `Qwen/Qwen3-1.7B` |
| Base revision | `70d244cc86ccca08cf5af4e1e306ecf908b1ad5e` |
| Adapter format | PEFT LoRA, Safetensors |
| Adapter weight SHA-256 | `19d424106ef88ffeac4c26c22cebfb13ae1d5f309e1dcccf2da708727bec10a8` |
| Training Job | `6a75f25a3e1f34a7e32bd646` |
| Training date | 2026-08-07 |
`evidence.json` contains the sanitized run chronology, configuration, package
versions, hashes, cost estimate, verification status, and known gaps. It does
not contain model weights, private logs, or credentials.
## Intended Use
The only intended use is reproducing and inspecting this one-record pipeline
smoke. Use the immutable base revision above and pin this adapter repository to
a specific Hub commit when loading it.
Do not use this adapter as a coding assistant, autonomous agent, general chat
model, safety component, or production model. It was not evaluated for those
purposes.
## Loading
This example requires a CUDA GPU with BF16 support and has no CPU fallback.
Replace `ADAPTER_REVISION` with an immutable commit from this repository:
```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 = "04d51edac56c6f1e068c644bfa8d014cadcecf9f"
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,
)
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 whitespace-normalized response:
```text
Codegeist is a coding agent.
```
## Training Data
The complete project-authored synthetic dataset is one public record:
```json
{
"instruction": "What is Codegeist?",
"response": "Codegeist is a coding agent."
}
```
The record ID is `codegeist-identity-v1-001`. It contains no private data,
personal information, or credentials. Training and evaluation deliberately use
the same record to test memorization; there is no held-out evaluation set.
## Training
- Python 3.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 `1.6867698234826094`. The final logged step loss
was approximately `0.0003`.
## Evaluation
The unchanged base model incorrectly described Codegeist as a code editor. After
training, the adapter was loaded onto a fresh instance of the exact base revision
in a child process. One greedy generation produced the expected answer after
leading and trailing whitespace normalization.
The raw decoded continuation before `.strip()` was not retained. Training and
inference repeatability, deterministic PyTorch algorithms, coding benchmarks,
safety evaluation, and generalization were not tested.
The successful public-artifact verification ran as Hugging Face Job
[`6a7610a53e1f34a7e32bd8a8`](https://huggingface.co/jobs/codegeist/6a7610a53e1f34a7e32bd8a8)
on NVIDIA A10G. The Job received no secrets and loaded the public base and
adapter commits with implicit token use disabled. It verified:
- Adapter weight SHA-256
`19d424106ef88ffeac4c26c22cebfb13ae1d5f309e1dcccf2da708727bec10a8`.
- CUDA BF16 with every floating parameter in BF16 and every parameter and buffer
on the GPU, with no CPU fallback.
- Peak allocated CUDA memory of 3,511,419,904 bytes.
- A 20.069-second measured load-and-generation phase.
- Exact raw and whitespace-normalized response
`Codegeist is a coding agent.`.
`gpu-test-result.json` contains the sanitized result and source hashes. The Job
ran for 76 reported seconds. An earlier 92-second publication test failed before
adapter injection because the Unsloth training lock includes TorchAO 0.13, which
direct PEFT 0.20 inference rejects. A preliminary 75-second pass then verified
all parameters on CUDA; the final Job expanded the gate to every buffer and
every floating-parameter dtype. The successful tests used a separate locked
inference environment without Unsloth or TorchAO; the adapter is not
TorchAO-quantized. CPU inference remains outside the supported contract.
## 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).
## Publication Limitations
- The successful training source was not committed when the paid Job launched;
exact source bytes are anchored by SHA-256 in `evidence.json`.
- Downloaded model and tokenizer cache bytes were not independently rehashed
inside the Job against the upstream manifest.
- The generated adapter configuration originally omitted the base revision; the
publication copy sets it to the immutable revision used by the Job.
- Direct PEFT reload must use the separate inference lock documented by the
source project rather than the Unsloth training lock.
- This publication does not change the experiment's non-production status.