# 阶段 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` |