Views
No views yet
ibm-granite/granite-4.0-350m
with three task LoRA adapters embedded in one model. Each adapter is activated
by a control token, so one deployed checkpoint serves three different tasks — no
adapter swapping, no separate model loads.barha/granite-switch-4.0-350m-cti.| # | Adapter | Control token | Task | Source LoRA |
|---|---|---|---|---|
| 1 | cti-technique-mapping | <|cti-technique-mapping|> | Map a CTI description → MITRE ATT&CK technique ID | barha/granite-cti-technique-mapping-350m-lora |
| 2 | text-to-json | <|text-to-json|> | Natural language + schema → schema-conforming JSON | barha/granite-text-to-json-350m-lora |
| 3 | genai-attack-vector | <|genai-attack-vector|> | Classify a GenAI security incident into 1 of 14 attack-vector classes | barha/granite-genai-attack-vector-350m-lora |
input_linear / output_linear MLP
projections), which is what lets them stack cleanly into one switch checkpoint.100352, 100353, 100354 (3 new tokens; vocab 100355).| Adapter | Metric | Score | n |
|---|---|---|---|
| text-to-json | Key-F1 (headline) | 98.4 | 2000 |
| genai-attack-vector | Accuracy | 74.8% (166/222) | 222 |
| cti-technique-mapping | — | see source repo | — |
GraniteSwitchForCausalLM; adapter_index.json
lists the adapter → control-token mapping and io_configs/<adapter>/io.yaml carries
each adapter's I/O contract.granite_switch.composer.compose_granite_switch:1python -m granite_switch.composer.compose_granite_switch \
2 --base-model ibm-granite/granite-4.0-350m \
3 --technology lora \
4 --adapters cti-technique-mapping text-to-json genai-attack-vector \
5 --output ./granite-switch-4.0-350m-demoBUILD.md and compose_report.json
in this repo for the full composition report.