CoolFace
Modelpublic

i-Coder/iCoder-27B-SFT

sourceHugging Faceapache-2.0updated 27d agoView on Hugging Face
0likes403downloads
README.md67 linesDownload Raw Back to root
1---2license: apache-2.03base_model:4  - Qwen/Qwen3.6-27B5base_model_relation: finetune6pipeline_tag: text-generation7library_name: transformers8tags:9  - code10  - rtl11  - verilog12  - gpu-kernel13  - triton14---15 16# iCoder-27B-SFT17 18> **An intermediate checkpoint from the iCoder-27B training pipeline.**19> The released model is [i-Coder/iCoder-27B](https://huggingface.co/i-Coder/iCoder-27B).20 21```22Qwen3.6-27B  ──▶  [ SFT ]  ──▶  OPSD  ──▶  RLVR  ──▶  iCoder-27B2324                    this checkpoint25```26 27## Model description28 29iCoder-27B is a 27B model for RTL design and GPU kernel optimization, developed30by an agent that runs and revises each stage of its own training pipeline.31 32This checkpoint is the output of the first stage, supervised fine-tuning on33verified teacher trajectories. It starts from34[Qwen3.6-27B](https://huggingface.co/Qwen/Qwen3.6-27B). Two stages follow: OPSD,35which yields [iCoder-27B-OPSD](https://huggingface.co/i-Coder/iCoder-27B-OPSD),36and RLVR, which produces the released model.37 38The method and the reported results are described in the technical report.39 40## Intended use41 42Research on the training pipeline: reproducing this stage, ablating it, or43measuring what the later stages add on top of it. This is a mid-pipeline44artifact and has had no deployment preparation.45 46## Usage47 48```python49from transformers import AutoModelForCausalLM, AutoTokenizer50 51model_id = "i-Coder/iCoder-27B-SFT"52tokenizer = AutoTokenizer.from_pretrained(model_id)53model = AutoModelForCausalLM.from_pretrained(54    model_id, dtype="auto", device_map="auto"55)56 57messages = [{"role": "user", "content": "Write a 4-bit synchronous up counter with active-low reset in Verilog."}]58text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)59inputs = tokenizer([text], return_tensors="pt").to(model.device)60out = model.generate(**inputs, max_new_tokens=2048)61print(tokenizer.decode(out[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True))62```63 64## License65 66Apache-2.0, inherited from the base model, Qwen3.6-27B.67