Downloads · 30 days
225
39% of all-time downloads
FLs-AI/FL-9B-0.1
FL-9B-0.1 is a text generation model from FLs-AI. Use it when you need the model to write or continue text. The card lists the license as apache-2.0.
FL-9B-0.1 is a COBOL / mainframe code model fine-tuned from Qwen/Qwen3.5-9B-Base via supervised fine-tuning (SFT) on a curated COBOL instruction dataset. It targets legacy-code understanding, COBOL generation, and COB…
Downloads · 30 days
225
39% of all-time downloads
All-time downloads
583
Public
Repo size
52.1 GB
Likes
0
Public
Click a slice to open those files.
.gguf52.1 GB · 100%
From the Hugging Face model README
FL-9B-0.1 is a COBOL / mainframe code model fine-tuned from Qwen/Qwen3.5-9B-Base via supervised fine-tuning (SFT) on a curated COBOL instruction dataset. It targets legacy-code understanding, COBOL generation, and COBOL-to-Java translation.
All code benchmarks compile and execute generated programs against reference tests. Evaluated greedy (temperature 0), single sample per task, via vLLM. "Base" = Qwen/Qwen3.5-9B-Base (no fine-tuning), evaluated with the same harness and an injected ChatML template, so the delta reflects the SFT alone.
| Benchmark | Metric | Base | FL-9B-0.1 |
|---|---|---|---|
| COBOLEval | pass@1 | 0.68% | 36.99% |
| compile rate | 8.65% | 82.10% | |
| test pass rate | 1.46% | 52.98% | |
| COBOL-JavaTrans (C2J) | pass@1 | 42.66% | 80.42% |
| compile success rate (CSR) | 46.85% | 96.50% | |
| MainframeBench | MCQ accuracy | 66.23% | 71.26% |
| QA - Token F1 | 11.68% | 12.75% | |
| QA - ROUGE-L | 9.33% | 10.29% | |
| Summarization - Token F1 | 23.62% | 27.64% | |
| Summarization - ROUGE-L | 16.38% | 20.25% | |
| CobolCodeBench | INSTRUCT compile rate | 2.17% | 47.83% |
| COMPLETE compile rate | 0.00% | 32.61% |
The fine-tuning produces very large gains on COBOL generation and understanding: COBOLEval pass@1 rises from ~1% to 37%, COBOL compile rate from 9% to 82%, and CobolCodeBench COMPLETE from 0% to 33%. COBOL-to-Java translation nearly doubles in pass@1 (from 43% to 80%). MainframeBench MCQ moves less (from 66% to 71%), since factual mainframe knowledge is largely already present in the base model.
The MainframeBench MCQ, CobolCodeBench INSTRUCT and COMPLETE numbers were produced
after fixing harness-side generation limits (the default 16-token MCQ budget and
2048-token code budget truncated answers, and single-format cobc invocation
rejected valid programs written in a different column format). Fixed evaluation
uses a larger generation budget and tries variable, free and fixed COBOL
formats when compiling. Reported numbers reflect the model's actual capability,
not the truncated defaults.
The strongest results - COBOL-to-Java translation (80% pass@1) and COBOLEval (82% compile) - show the model reliably produces valid, working COBOL and translates legacy code into working Java.
| Setting | Value |
|---|---|
| Base | Qwen/Qwen3.5-9B-Base |
| Method | LoRA (r=32, alpha=64), assistant-only SFT |
| Precision | bf16 |
| Epochs | ~3 |
| Sequence length | 8192 (packed) |
| Hardware | 1x NVIDIA RTX PRO 6000 Blackwell (96 GB) |
| Frameworks | Unsloth + Transformers |
LoRA adapters were applied to attention projections, MLP projections, and the
linear-attention (in_proj_*/out_proj) modules of the hybrid Qwen3.5
architecture; the vision tower, MTP head, and router/embedding/LM-head were
excluded.
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "FLs-AI/FL-9B-0.1" # adjust to your repo
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="bfloat16", device_map="auto")
messages = [{"role": "user", "content": "Translate this COBOL program to Java:\n\n<COBOL here>"}]
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(inputs, max_new_tokens=2048, temperature=0.0)
print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))