iCoder-27B-OPSD / README.md
greeky's picture
iCoder-27B-OPSD
44ba7e8
|
Raw
History Blame Contribute Delete
2.04 kB
---
license: apache-2.0
base_model:
- i-Coder/iCoder-27B-SFT
base_model_relation: finetune
pipeline_tag: text-generation
library_name: transformers
tags:
- code
- rtl
- verilog
- gpu-kernel
- triton
---
# iCoder-27B-OPSD
> **An intermediate checkpoint from the iCoder-27B training pipeline.**
> The released model is [i-Coder/iCoder-27B](https://huggingface.co/i-Coder/iCoder-27B).
```
Qwen3.6-27B ──▶ SFT ──▶ [ OPSD ] ──▶ RLVR ──▶ iCoder-27B
â–²
this checkpoint
```
## Model description
iCoder-27B is a 27B model for RTL design and GPU kernel optimization, developed
by an agent that runs and revises each stage of its own training pipeline.
This checkpoint is the output of the second stage, OPSD, or on-policy
self-distillation. It starts from
[iCoder-27B-SFT](https://huggingface.co/i-Coder/iCoder-27B-SFT). The third stage,
RLVR, starts here and produces the released model.
The method and the reported results are described in the technical report.
## Intended use
Research on the training pipeline: reproducing this stage, ablating it, or
measuring what RLVR adds on top of it. This is a mid-pipeline artifact and has
had no deployment preparation.
## Usage
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "i-Coder/iCoder-27B-OPSD"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id, dtype="auto", device_map="auto"
)
messages = [{"role": "user", "content": "Write a 4-bit synchronous up counter with active-low reset in Verilog."}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=2048)
print(tokenizer.decode(out[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True))
```
## License
Apache-2.0, inherited from Qwen3.6-27B, the base model of the pipeline.