Skip to content

Releases

v0.2.0 - it runs on a laptop

Choose a tag to compare

@lupingQAQ lupingQAQ released this 25 Oct 17:50

What changed

CPU support. The model now runs on a machine without a GPU: same weights, same 18 labels, same threshold of 0.1041.

  • intraspannet._gdn_cpu is a plain PyTorch port of the Gated DeltaNet block with identical parameter names, so the released checkpoints load unchanged. It follows the published gated delta rule and fla's reference implementation.
  • pip install intraspannet is now torch-only. pip install "intraspannet[gpu]" adds flash-linear-attention and the Triton kernel, which is roughly three orders of magnitude faster.
  • Measured on labelled lab captures: 9 of 10 flows correct with the CPU path, about two seconds per flow per arm. scripts/verify_cpu_backend.py reproduces that on your own captures.
  • CLI gains --arms and --gate for a quick single-arm run, and no longer aborts on Windows consoles when printing the Chinese tier names.

The weights did not change. They are on Hugging Face and in the v0.1.0 weights asset.

Checksums

acb731488017a0198e00bb214b853c9ca5ef0071d0ea93b9fc6172037d99a33b  intraspannet-0.2.0-source.zip

IntraSpanNet v0.1.0

Choose a tag to compare

@lupingQAQ lupingQAQ released this 24 Oct 17:03

Technical report

The paper is at paper/IntraSpanNet.pdf (English, 6 pages) and paper/IntraSpanNet-zh.pdf (Chinese, 6 pages). Source is in paper/.

What this is

IntraSpanNet is a byte-level model that runs beside an intranet traffic probe. From the first five packets of a flow it returns the product that produced the flow, or an explicit unknown. The label set covers 18 items across three tiers: security appliances, endpoint security agents, and common software.

Results

Metric Test (503 flows) All validation (1006 flows)
Product accuracy 0.8787 0.8817
Tier accuracy 0.9245 0.9334
Macro-F1 (supported classes) 0.7621 0.8240
Gate AUROC 0.9784 0.9820 (dev)
Unknown rejection 18/18 18/18

Throughput

Configuration Throughput Batch-1 latency Peak VRAM, batch 128
Single arm 1,017 flows/s 10.7 ms 3.37 GB
Four-arm ensemble 253 flows/s 43.1 ms 3.40 GB

Fine-tuning and RL hooks

intraspannet/train.py exposes SFTConfig, compute_sft_loss, compute_rl_loss, Trainer and load_backbone, which warm-starts a model whose product head has a different number of classes. The caller owns the optimizer and the data loader.

Runnable examples: examples/train_sft.py and examples/train_rl.py, driven by a JSONL manifest. Guides: docs/TRAINING.md (English) and docs/TRAINING.zh-CN.md (Chinese). The pip package 0.1.1 on PyPI carries the same code.

Checksums

52f3e431c129fb4de264821af6e8fd3e5598c3329089b42fc63c078b2e694f3c  intraspannet-v0.1.0-source.zip
bf1fed0d4f10f0d1cb5c391bfc36c18faff18cd28e9dc0edf6dee3ad60fa41ab  intraspannet-v0.1.0-weights.zip