iCoder-27B-OPSD / README.md
greeky's picture
iCoder-27B-OPSD
44ba7e8
|
Raw
History Blame Contribute Delete
2.04 kB
metadata
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.

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. 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

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.