FLs-AI commited on
Commit
ed7cf36
·
verified ·
1 Parent(s): e408149

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +111 -1
README.md CHANGED
@@ -1,3 +1,113 @@
1
  ---
2
- license: apache-2.0
 
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ license: other
3
+ base_model: Qwen/Qwen3.5-9B-Base
4
+ tags:
5
+ - cobol
6
+ - mainframe
7
+ - code
8
+ - legacy-modernization
9
+ - qwen3_5
10
+ - lora
11
+ language:
12
+ - en
13
+ pipeline_tag: text-generation
14
  ---
15
+
16
+ # FL-9B-4
17
+
18
+ FL-9B-4 is a COBOL / mainframe code model fine-tuned from **Qwen/Qwen3.5-9B-Base**
19
+ via supervised fine-tuning (SFT) on a curated COBOL instruction dataset. It targets
20
+ legacy-code understanding, COBOL generation, and COBOL→Java translation.
21
+
22
+ - **Base model:** Qwen/Qwen3.5-9B-Base (dense 9B, hybrid linear + full attention)
23
+ - **Method:** LoRA SFT (assistant-only masking), ~3 epochs, bf16
24
+ - **Domain:** COBOL, GnuCOBOL, mainframe knowledge, COBOL↔Java
25
+
26
+ ## Benchmark results
27
+
28
+ All code benchmarks compile and execute generated programs against reference
29
+ tests. Evaluated greedy (temperature 0), single sample per task.
30
+
31
+ | Benchmark | Metric | FL-9B-4 |
32
+ |---|---|---|
33
+ | **COBOLEval** | pass@1 | **36.99%** |
34
+ | | compile rate | 82.10% |
35
+ | | test pass rate | 52.98% |
36
+ | **COBOL-JavaTrans (C2J)** | pass@1 | **80.42%** |
37
+ | | compile success rate (CSR) | 96.50% |
38
+ | **MainframeBench** | MCQ accuracy | **71.26%** (1376/1931) |
39
+ | | QA — Token F1 | 12.75% |
40
+ | | QA — ROUGE-L | 10.29% |
41
+ | | Summarization — Token F1 | 27.64% |
42
+ | | Summarization — ROUGE-L | 20.25% |
43
+ | **CobolCodeBench** | INSTRUCT compile rate | **47.83%** (22/46) |
44
+ | | COMPLETE compile rate | 32.61% (15/46) |
45
+
46
+ ### Notes on evaluation
47
+
48
+ The MainframeBench MCQ, CobolCodeBench INSTRUCT and COMPLETE numbers were produced
49
+ after fixing harness-side generation limits (the default 16-token MCQ budget and
50
+ 2048-token code budget truncated answers, and single-format `cobc` invocation
51
+ rejected valid programs written in a different column format). Fixed evaluation
52
+ uses a larger generation budget and tries `variable`, `free` and `fixed` COBOL
53
+ formats when compiling. Reported numbers reflect the model's actual capability,
54
+ not the truncated defaults.
55
+
56
+ The strongest results — COBOL→Java translation (80% pass@1) and COBOLEval
57
+ (82% compile) — show the model reliably produces valid, working COBOL and
58
+ translates legacy code into working Java.
59
+
60
+ ## Intended use
61
+
62
+ - Translating legacy COBOL programs to Java
63
+ - Completing and generating GnuCOBOL programs
64
+ - Answering mainframe / COBOL knowledge questions
65
+ - Assisting with legacy-code modernization workflows
66
+
67
+ ## Limitations
68
+
69
+ - Open-ended QA and summarization scores (Token F1 / ROUGE-L) are modest; the
70
+ model is stronger at code generation and translation than at free-form prose.
71
+ - COBOL generation quality varies with column-format conventions; generated code
72
+ may mix fixed and free formats.
73
+ - Evaluated only on GnuCOBOL 3.2; behavior on other COBOL dialects/compilers
74
+ (IBM Enterprise COBOL, etc.) is untested.
75
+ - Not evaluated for safety-critical or production mainframe deployment without
76
+ human review.
77
+
78
+ ## Training
79
+
80
+ | Setting | Value |
81
+ |---|---|
82
+ | Base | Qwen/Qwen3.5-9B-Base |
83
+ | Method | LoRA (r=32, α=64), assistant-only SFT |
84
+ | Precision | bf16 |
85
+ | Epochs | ~3 |
86
+ | Sequence length | 8192 (packed) |
87
+ | Hardware | 1× NVIDIA RTX PRO 6000 Blackwell (96 GB) |
88
+ | Frameworks | Unsloth + Transformers |
89
+
90
+ LoRA adapters were applied to attention projections, MLP projections, and the
91
+ linear-attention (`in_proj_*`/`out_proj`) modules of the hybrid Qwen3.5
92
+ architecture; the vision tower, MTP head, and router/embedding/LM-head were
93
+ excluded.
94
+
95
+ ## How to use
96
+
97
+ ```python
98
+ from transformers import AutoModelForCausalLM, AutoTokenizer
99
+
100
+ model_id = "FLs-AI/FL-9B-4" # adjust to your repo
101
+ tok = AutoTokenizer.from_pretrained(model_id)
102
+ model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="bfloat16", device_map="auto")
103
+
104
+ messages = [{"role": "user", "content": "Translate this COBOL program to Java:\n\n<COBOL here>"}]
105
+ inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
106
+ out = model.generate(inputs, max_new_tokens=2048, temperature=0.0)
107
+ print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))
108
+ ```
109
+
110
+ ## License
111
+
112
+ Inherits the license of the base model (Qwen/Qwen3.5-9B-Base). Review the base
113
+ model's license terms before use.