---
title: TimeshareFrsmash3.7
canonical_url: "https://www.modelscope.cn/models/dfytensor/TimeshareFrsmash3.7"
md_url: "https://www.modelscope.cn/models/dfytensor/TimeshareFrsmash3.7.md"
repository: dfytensor/TimeshareFrsmash3.7
last_updated: 2026-08-04
pipeline_tag: text-generation
tasks:
  - text-generation
downloads: 0
stars: 0
---

# TimeshareFrsmash3.7

> TimeshareFrsmash3.7 - dfytensor 在 ModelScope 开源的模型。BS-TDM: 位切片时分复用大语言模型

- **Repository**: dfytensor/TimeshareFrsmash3.7
- **Tasks**: text-generation
- **Downloads**: 0
- **Stars**: 0
- **Last updated**: 2026-08-04

Source: https://www.modelscope.cn/models/dfytensor/TimeshareFrsmash3.7

---

# BS-TDM: 位切片时分复用大语言模型

> **1 物理层 × 6 步位切片 × 4 bit = 24 bit/w (8× 压缩)** — 30M 参数超越标准 6 层 Transformer, 部署推理 2.6× 加速, ppl 无损。

## 快速开始

### 推理 (两种模式)

```bash
# 方式 1: 部署态推理 (推荐, 2.3x 加速)
#   4-bit 量化权重打包存储, 加载时解包为 bf16 缓存, 免实时量化开销
python inference_deployed.py

# 方式 2: 训练态推理 (对照)
#   fp32 权重 + 每步实时 4-bit 量化
python inference.py
```

### 推理性能对比 (实测, batch=1, seq=128, RTX 4090)

| 模式 | 量化权重 GPU 占用 | 推理速度 | GPU 显存 | ppl |
|---|---|---|---|---|
| C. 训练态 (fp32 + 实时量化) | 39.3 MB | 16.8 ms | 194 MB | 17.06 |
| **A. bf16 缓存部署 (推荐)** | 19.7 MB | **6.4 ms** | **169 MB** | 17.06 |
| B. 原生 4-bit 打包 | **4.9 MB** | 17.2 ms | 174 MB | 17.06 |

> **三种模式 ppl 完全一致 (17.06),量化无损。**
>
> - **bf16 缓存部署 (A)**: 训练后 4-bit 量化 → 一次性解包为 bf16 缓存 → 推理纯 GEMM, **2.6× 加速 + 显存最低**。小模型首选。
> - **原生 4-bit 打包 (B)**: 权重以 uint8 (2 值/字节) 存 GPU, 每步 forward 时解包。量化权重仅 **4.9 MB (vs fp32 39.3MB = 8× 压缩)**。每步解包有开销, 速度与训练态持平。大模型 (B 级) 首选 (配合 int4 GEMM 可加速)。
> - 30M 模型差异小 (embedding/head fp32 占 60MB 主导); 模型越大, 量化权重占比越高, 原生 4-bit 优势越大。

### 训练复现

```bash
# 全流程: 预训练(3ep) + SFT(2ep) + 推理 benchmark + 生成样本
python run_full_pipeline.py

# 三模型对比 (标准6层 vs BS-TDM 2×3 vs 1×6)
python train_timeshare.py
```

## 文件清单

| 文件 | 说明 |
|---|---|
| `inference_deployed.py` | **bf16 缓存部署推理** (推荐, 最快 6.4ms) |
| `inference.py` | 训练态推理 (fp32 + 实时量化, 对照) |
| `bitslice.py` | 模型定义 (TimeSharedLM / BitSliceLinear) |
| `benchmark_deploy.py` | bf16 缓存部署性能基准 |
| `benchmark_native4.py` | 三模式推理性能对比 (训练态 / bf16缓存 / 原生4-bit) |
| `run_full_pipeline.py` | 全流程训练 (预训练 + SFT + 推理) |
| `train_timeshare.py` | 三模型对比实验 (标准 Transformer) |
| `run_hybrid.py` | SSM+TDM 混合实验 (frsmash3.7) |
| `run_frsmash_tdm.py` | SSM 直接时分实验 (失败对照) |
| `frsmash38_model.py` | **frsmash3.8 模型** (纯 GLA 时分复用, 无 SSM 无 Transformer) |
| `train_frsmash38.py` | frsmash3.8 训练 + 对比 v3.7 |
| `run_4bit.py` | 消融: 4bit 位宽 |
| `run_dg_tdm.py` | 消融: DyadicGumbel 3bit + BS-TDM |
| `tdm4b_sft.pth` | SFT 微调权重 (95MB) |
| `tdm4b_pretrain.pth` | 预训练权重 (95MB) |
| `open_ash_voc_agent.json` | OpenASHVoc 词表 (297MB, 23006 tokens) |
| `paper.md` | 中文论文 |
| `paper_en.md` | 英文论文 |
| `experiment_data.csv` | 全部实验数据 |
| `result_deploy.json` | 部署性能数据 |

## 模型架构

```
输入 token IDs
  → nn.Embedding (fp)
  → 1 × TimeSharedBlock (6 步循环, 每步残差):
      for step in [0..5]:
          h = h + Attention(h, step)    ← 标准 MHA + 第 step 组 4-bit 位切片权重
          h = h + FFN(h, step)           ← SwiGLU + 4-bit 位切片权重
  → nn.Linear head (fp)
```

**部署**: 每权重 6 步 × 4 bit = 24 bit/w → 量化权重仅 5.0MB (vs fp32 39.3MB = 7.8× 压缩)

## 核心结果

### 训练对比 (同逻辑深度 6, minimind 120k, 3 epoch)

**标准 Transformer:**

| 配置 | bit/w | 压缩 | ppl | vs 标准 |
|---|---|---|---|---|
| 标准 6 层 | 192 | 1× | 16.12 | — |
| BS-TDM 1×6 @8bit | 48 | 4× | **15.83** | **-0.29** |
| **BS-TDM 1×6 @4bit** | **24** | **8×** | **16.49** | +0.37 |
| DG3bit + TDM 1×6 | 18 | 10× | 20.40 | +4.28 (撞地板) |

**frsmash3.7 SSM (直接循环 + 混合 + GLA 突破):**

| 配置 | 骨干 | bit/w | ppl | vs 标准 |
|---|---|---|---|---|
| 标准 frsmash3.7 6层 | SSM+GLA | 192 | 17.91 | — |
| SSM 直接循环 1×6 | SSM | 24 | 32.90 | +15.01 (失效) |
| 混合 3SSM+TDM3 | SSM+Attn | 12 | 15.53 | -2.36 |
| **frsmash3.8 GLA 2×3** | **GLA-TDM** | **24** | **17.04** | **-0.87** |
| **frsmash3.8 GLA 1×6** | **GLA-TDM** | **24** | **17.14** | **-0.77** |

> **SSM 不能时分 (固定 A 矩阵), 但 GLA 可以 (数据相关门控 g_t)! frsmash3.8 纯 GLA 时分超越 v3.7 且 8× 压缩.**

### 部署推理 (三种模式)

| 指标 | 训练态 | bf16 缓存部署 | 原生 4-bit |
|---|---|---|---|
| 量化权重存储 | 39.3 MB | 19.7 MB | **4.9 MB** |
| 量化权重 GPU 占用 | 39.3 MB | 19.7 MB | **4.9 MB** |
| 推理速度 | 16.8 ms | **6.4 ms** | 17.2 ms |
| GPU 显存 | 194 MB | **169 MB** | 174 MB |
| ppl | 17.06 | 17.06 | 17.06 |

**选型建议**:
- 小模型 (≤100M): 用 **bf16 缓存部署** (最快)
- 大模型 (≥1B): 用 **原生 4-bit** (最省显存, 配合 int4 GEMM 加速)

### 全流程 (预训练 → SFT → 推理)

| 阶段 | 指标 |
|---|---|
| 预训练 ppl | 16.49 |
| SFT final_loss | 2.30 |
| 部署推理速度 | 7.8 ms/forward |
| 部署推理显存 | 89 MB |

## 采样参数

```python
generate(model, voc, "你的提示", dev,
         max_new=120, top_k=50, top_p=0.95, rep_penalty=1.2, temp=0.8, seed=0)
```

## 环境

- Python 3.12, PyTorch 2.13+cu126, Triton 3.7
- CUDA GPU (sm_89 / RTX 4090 测试通过)
- Windows 需 `PYTHONUTF8=1`

## 引用

详见 `paper.md` / `paper_en.md`。
