136 lines
6.6 KiB
Markdown
136 lines
6.6 KiB
Markdown
# 阶段 0 运行环境审计与补强
|
||
|
||
审计日期:2026-09-20
|
||
最后补强:2026-09-20
|
||
审计状态:`passed`(Python、R、心理测量、复杂抽样与 CUDA 工具链均已运行验收)
|
||
工作流:`Document/research-workflow.md` v1.0
|
||
|
||
## 1. 结论
|
||
|
||
本机现已具备项目阶段 1–7 所需的主要本地软件能力:列式数据处理、常规统计、复杂抽样、SEM/EFA/IRT、PyMC Bayesian 推断、JAX/NumPyro 可选后端、本地 NLP/表格基线和 GPU 计算。所有正式分析应使用项目独立环境,而不是系统 Python。
|
||
|
||
- Python:项目内 CPython 3.12.14 与 `.venv-research`,195 个包已锁定。
|
||
- R:项目内 R 4.6.1 与 `.r-library/4.6`,renv 锁定 119 个包;全安装表 134 行。
|
||
- CUDA:系统 CUDA Toolkit 13.4.2 / nvcc 13.4.92;MSVC 14.44;端到端 kernel 编译和 GPU 运行通过。
|
||
- GPU Python:PyTorch 2.14.0+cu130 在 RTX 5060 Ti 上通过矩阵运算。
|
||
|
||
环境就绪不解除研究设计门槛:正式模型仍必须等待相应阶段的题库、可识别性、冻结验证方案和 Gate 判定。
|
||
|
||
## 2. 硬件与系统
|
||
|
||
| 项目 | 核验结果 | 判定 |
|
||
|---|---|---|
|
||
| 操作系统 | Microsoft Windows 10.0.26100,x64 | 可用 |
|
||
| 逻辑处理器 | 28 | 可用 |
|
||
| 物理内存 | 31.82 GiB | 中等规模处理可用;大表仍须分块/列式/稀疏化 |
|
||
| GPU | NVIDIA GeForce RTX 5060 Ti,16,311 MiB VRAM,compute capability 12.0 | 可用 |
|
||
| NVIDIA 驱动 | 596.36 | 可用;未被 Toolkit 安装器替换 |
|
||
| 项目盘 E: | 补强后可用约 250.48 GiB | 当前项目有余量;继续约束缓存与中间产物 |
|
||
|
||
## 3. 核心工具
|
||
|
||
| 工具 | 版本/路径 | 验收 |
|
||
|---|---|---|
|
||
| 项目 Python | CPython 3.12.14;`E:\Model\.venv-research` | 通过 |
|
||
| 系统 Python | 3.13.7 | 保留,不用于正式项目环境 |
|
||
| R / Rscript | R 4.6.1 UCRT x64;`E:\Model\.tools\R-4.6.1` | 通过 |
|
||
| CUDA Toolkit | 13.4.2;nvcc V13.4.92 | 通过 |
|
||
| MSVC host compiler | Visual Studio 2022 Community,MSVC 14.44.35207 | 通过 |
|
||
| Git | 2.51.0.windows.1 | 已安装;`E:\Model` 不是 Git 仓库 |
|
||
| Pandoc | 3.11 | 可用 |
|
||
|
||
## 4. Python 研究环境
|
||
|
||
### 4.1 关键版本
|
||
|
||
| 类别 | 包与版本 |
|
||
|---|---|
|
||
| 数值/表格 | numpy 2.5.3;scipy 1.18.1;pandas 3.0.6;polars 1.44.2;pyarrow 25.0.1;duckdb 1.5.5 |
|
||
| 统计 | statsmodels 0.15.0;scikit-learn 1.6.1;xgboost 3.4.1 |
|
||
| Bayesian | PyMC 6.3.2;PyTensor 3.3.2;ArviZ 1.3.0;nutpie 0.16.11;JAX 0.11.2;NumPyro 0.22.0;BlackJAX 1.6.2 |
|
||
| 心理测量 | semopy 2.3.11;factor-analyzer 0.5.1;pingouin 0.6.1;girth 0.8.0 |
|
||
| GPU/NLP | torch 2.14.0+cu130;torchvision 0.29.0+cu130;transformers 5.17.0;sentence-transformers 6.1.0;tabpfn 9.0.0 |
|
||
|
||
scikit-learn 固定在 1.6.1,以保留 factor-analyzer 0.5.1 所需的弃用兼容层。torchaudio 因项目无音频任务且官方 cu130 索引没有同代 2.14.0 Windows wheel而未纳入。
|
||
|
||
### 4.2 运行验收
|
||
|
||
`research/environment/smoke-test-result.json` 记录:
|
||
|
||
- 25 个目标模块全部导入;`pip check` 无断裂依赖。
|
||
- PyMC/nutpie 完成最小后验采样。
|
||
- semopy CFA 与 factor-analyzer 拟合通过。
|
||
- TabPFN、Transformers 与 Sentence Transformers 导入通过。
|
||
- PyTorch 在 RTX 5060 Ti 上执行 CUDA 矩阵乘法,结果有限。
|
||
|
||
50 draws 的 PyMC 测试仅证明环境可运行,不用于统计诊断或研究结论。
|
||
|
||
## 5. R 研究环境
|
||
|
||
### 5.1 关键版本
|
||
|
||
| 类别 | 包与版本 |
|
||
|---|---|
|
||
| 复杂抽样 | survey 4.5;srvyr 1.3.1 |
|
||
| IRT/SEM | mirt 1.47;lavaan 0.7-2;semTools 0.5-9;psych 2.6.5 |
|
||
| 数据交换 | arrow 25.0.1;haven 2.5.5;data.table 1.18.6.1;readr 2.2.0 |
|
||
| 复现 | renv 1.2.4;targets 1.12.0 |
|
||
|
||
### 5.2 运行验收
|
||
|
||
`research/environment/r-smoke-test-result.json` 记录:
|
||
|
||
- 19/19 顶层包导入通过。
|
||
- survey 复杂抽样加权均值返回有限估计。
|
||
- lavaan CFA 明确收敛。
|
||
- mirt 一维 2PL 在已知生成数据(500 人、8 题)上明确收敛。
|
||
- Arrow Parquet 写入/读回成功。
|
||
|
||
## 6. CUDA Toolkit 验收
|
||
|
||
- 官方网络安装器 MD5:`a0810494c821437671d6e68e66f59daf`。
|
||
- `nvcc --version`:CUDA 13.4,V13.4.92。
|
||
- `cuda-smoke-build.cmd` 在 MSVC 环境中以 `sm_120` 编译 `cuda-smoke.cu`。
|
||
- 生成程序在 GPU 上执行 kernel,并输出 `cuda_smoke_result=42`。
|
||
- Toolkit 与 PyTorch wheel 的 CUDA runtime 版本可以不同;项目当前 PyTorch wheel 使用 cu130,已经独立通过 GPU 回归。
|
||
|
||
## 7. 缓存、存储与数据边界
|
||
|
||
- 所有可控运行缓存定向到 `E:\Model\.cache` 或 `E:\Model\.uv-cache`,避免受限用户目录。
|
||
- `.venv-research` 约 4.39 GiB;`.r-library` 约 0.23 GiB。
|
||
- `Dataset` 有 734 个文件,总计约 19.06 GiB;继续使用 Parquet/Arrow、分块和稀疏/长表策略。
|
||
- 嵌入模型权重尚未冻结;模型 ID、revision、许可、语言覆盖和缓存哈希须在阶段 5 前另行审计。
|
||
|
||
## 8. 能力门槛
|
||
|
||
| 能力 | 当前状态 | 仍需满足的研究门槛 |
|
||
|---|---|---|
|
||
| 元数据/题库整理 | `ready` | 阶段 1 来源双重核查 |
|
||
| 共现矩阵/锚定图 | `ready_with_limits` | 分块/稀疏实现与阶段 2 可识别性审计 |
|
||
| 复杂抽样描述/方差 | `ready` | 冻结 estimand、权重、分层与 PSU 处理 |
|
||
| SEM/IRT 审计 | `ready` | 二元/有序题必须用适当模型,不套连续 CFA 模板 |
|
||
| PyMC 分层模型/SBC | `ready` | 等阶段 3 冻结模拟与诊断标准 |
|
||
| 本地文本嵌入原型 | `ready_with_limits` | 先冻结模型/许可/语言覆盖,隔离测试证据 |
|
||
| CUDA 自定义扩展 | `ready` | 使用 CUDA 13.4 + MSVC 14.44;保留编译日志 |
|
||
|
||
## 9. 可复现产物
|
||
|
||
| 产物 | SHA-256 |
|
||
|---|---|
|
||
| `python-requirements.lock.txt` | `ab8b3162673357891b91fcad7c917fc51cb0a78e27c7e7b979be55c6178699d6` |
|
||
| `renv.lock` | `e953f512597b29c233ba5106420f3486e7bb59eaa68d59d3a37ce5a4e2a819f6` |
|
||
| `r-installed-packages.csv` | `6fd8ee5c4c0b86a7f1cb5ab43b998bde15e206d4759757787aa7ca91cc110fc9` |
|
||
| `r-session-info.txt` | `f091c2b80df38e485ca6907d2376d8340266c40ea6f1767aaaa6e4a67dc4739d` |
|
||
| `r-package-versions.json` | `20847cfc813f5450804ca3c67d9950a313d7813d21852671985e6a3c52e3c3f5` |
|
||
| `smoke-test-result.json` | `36fe9596221d6bcb9a4a913d6dc870afa1be41cd427d11c9a300459640d14cd7` |
|
||
| `r-smoke-test-result.json` | `164cf3587bb0b1df34b9687d09e148f2b262faddc590d9dde61478c847da6779` |
|
||
|
||
使用与恢复步骤见 `research/environment/README.md`。
|
||
|
||
## 10. 输入绑定
|
||
|
||
| 输入 | SHA-256 |
|
||
|---|---|
|
||
| `Document/research-workflow.md` | `5606e8b10064c980a4a08a91ab7e8db73b04e5077d3440d4f26a40dbf90709e5` |
|
||
| `research/audit/data_manifest.csv` | `0427a19c3287a2691edbd9a4486917989fe369fcb0f729a01477ce27cd8f98f2` |
|