File size: 2,686 Bytes
b08d20a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
---
license: apache-2.0
base_model: EvanOLeary/laguna-xs2-dense-k8-cuda-sft
pipeline_tag: text-generation
library_name: transformers
tags: [moe-to-dense, densification, laguna, cuda, kernels, sft, code]
language: [en]
---

# Laguna-XS.2 → Dense (K=8) · **CUDA-SFT-extended** (follow-up SFT)

A **~3.0 B dense** CUDA-kernel model — a **follow-up SFT** on top of
[laguna-xs2-dense-k8-cuda-sft](https://huggingface.co/EvanOLeary/laguna-xs2-dense-k8-cuda-sft),
trained on **more CUDA / C++ kernel code**.

## Lineage
```
poolside/Laguna-XS.2 (33B/3B-active MoE, 256 experts)
   → densify (K=8 dense SwiGLU) → DO-ACP warm-start
   → reconstruction-pretrain (kernel mixture, "V2")
   → SFT (SakanaAI CUDA, level_1+2, 400 steps)        = laguna-xs2-dense-k8-cuda-sft
   → SFT-extended (level_1+2+3, +500 steps)           = THIS MODEL
   → RFT/GRPO (verifiable reward)                      = next (laguna-xs2-dense-k8-cuda-rft)
```

## Why a follow-up SFT (rationale)
The first SFT (400 steps, level_1+2) produced a model that emits working CUDA on **simple ops**
(ReLU/Tanh ~3/4 at pass@k) but showed two gaps:
- **Thin C++ idiom coverage** — it botches more involved C++/CUDA constructs (e.g. `float4*
  v = float4* ptr;` instead of `reinterpret_cast<float4*>(ptr)`), so vectorized kernels fail to compile.
- **Limited CUDA breadth** — harder ops (Sigmoid/GeLU/Softmax) compile/verify inconsistently.

This follow-up **extends the SFT** with **more CUDA + C++ kernel data** (Sakana `level_1+2+3`, +500
steps from the previous checkpoint) to broaden C++/CUDA coverage before RL. It is the **mid checkpoint**
in a 3-way comparison: `SFT` → `SFT-extended` (this) → `SFT-extended-RFT`.

## Training
| | |
|---|---|
| Base | `laguna-xs2-dense-k8-cuda-sft` (continued, not from scratch) |
| Data | `SakanaAI/AI-CUDA-Engineer-Archive` `level_1,level_2,level_3` (correct kernels), PyTorch→CUDA, chat-formatted, prompt masked |
| Objective | causal-LM cross-entropy on the CUDA completion only |
| Trainable | `routed_dense` + `lm_head` + norms (1.19 B) |
| Optimizer | AdamW 1e-5, grad-clip 1.0, grad-accum 8, seq 2048, **500 steps** |

## Evaluation
Benchmarked 3-way (SFT / SFT-extended / SFT-extended-RFT) on **KernelBench-Lite L1** (10 elementwise
ops, **K=4**, subprocess-isolated compile+correctness vs PyTorch eager). Results table:
[github.com/Tyronita/laguna-dense-cuda-kernels](https://github.com/Tyronita/laguna-dense-cuda-kernels).

## Intended use
Research base for **RFT** (RL on verified compile+correctness+speedup). Kernels are not verified at
generation time — compile & check before use, and isolate execution (a bad kernel corrupts the CUDA context).