--- license: apache-2.0 base_model: - Qwen/Qwen3.6-27B base_model_relation: finetune pipeline_tag: text-generation library_name: transformers tags: - code - rtl - verilog - gpu-kernel - triton --- # iCoder-27B-SFT > **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 first stage, supervised fine-tuning on verified teacher trajectories. It starts from [Qwen3.6-27B](https://huggingface.co/Qwen/Qwen3.6-27B). Two stages follow: OPSD, which yields [iCoder-27B-OPSD](https://huggingface.co/i-Coder/iCoder-27B-OPSD), and RLVR, which 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 the later stages add 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-SFT" 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 the base model, Qwen3.6-27B.