模型比较¶
THETA支持的所有模型的全面比较。
性能比较¶
在基准数据集上的典型性能:
| 模型 | TD | NPMI | C_V | PPL | 速度 | 显存 |
|---|---|---|---|---|---|---|
| LDA | 0.75 | 0.25 | 0.45 | 180 | 快 | 0GB |
| ETM | 0.82 | 0.32 | 0.52 | 165 | 中 | 4GB |
| CTM | 0.85 | 0.38 | 0.58 | 155 | 中 | 6GB |
| THETA-0.6B | 0.88 | 0.42 | 0.64 | 145 | 中 | 8GB |
| THETA-4B | 0.91 | 0.48 | 0.69 | 138 | 慢 | 16GB |
| THETA-8B | 0.93 | 0.52 | 0.72 | 132 | 最慢 | 28GB |
数值为近似值,随数据集变化。TD、NPMI、C_V越高越好。PPL越低越好。
选择指南¶
使用LDA当: - 需要快速基线结果 - 可解释性至关重要 - 无GPU可用 - 频繁为新文档计算主题分布
使用ETM当: - 需要比LDA更好的性能 - 有GPU可用 - 需要适中的计算预算 - 与原始ETM论文进行比较
使用CTM当: - 需要上下文理解 - 需要质量和速度的良好平衡 - 遵循近期主题建模文献 - 处理标准规模的语料库
使用DTM当: - 分析时间动态 - 有带时间戳的文档 - 研究主题演化 - 调查新兴趋势
使用THETA-0.6B当: - 需要比CTM更好的质量 - 有8-12GB显存可用 - 需要快速实验
使用THETA-4B当: - 需要高质量结果 - 有16-20GB显存可用 - 生产环境部署
使用THETA-8B当: - 需要最高可能的质量 - 有24-32GB显存可用 - 关键应用
计算需求¶
在1万文档语料库上的训练时间比较:
| 模型 | CPU时间 | GPU时间 | 显存 | 存储 |
|---|---|---|---|---|
| LDA | 15分钟 | 不适用 | 0GB | 100MB |
| ETM | 不适用 | 20分钟 | 4GB | 500MB |
| CTM | 不适用 | 25分钟 | 6GB | 800MB |
| THETA-0.6B | 不适用 | 30分钟 | 8GB | 2GB |
| THETA-4B | 不适用 | 50分钟 | 16GB | 6GB |
| THETA-8B | 不适用 | 90分钟 | 28GB | 12GB |
时间假设使用单GPU(V100或A100)。
嵌入比较¶
| 模型 | 嵌入 | 维度 | 上下文 | 预训练 |
|---|---|---|---|---|
| LDA | 无 | 不适用 | 否 | 不适用 |
| ETM | Word2Vec | 300 | 否 | 是 |
| CTM | SBERT | 768 | 是 | 是 |
| THETA-0.6B | Qwen3 | 1024 | 是 | 是 |
| THETA-4B | Qwen3 | 2560 | 是 | 是 |
| THETA-8B | Qwen3 | 4096 | 是 | 是 |
模型选择工作流程¶
步骤1:确定需求¶
考虑: - 数据集规模(文档数量) - 可用计算资源(显存) - 时间限制 - 质量要求(研究 vs 原型开发)
步骤2:选择初始模型¶
默认推荐: - 原型开发:THETA-0.6B 或 CTM - 生产环境:THETA-4B - 研究:THETA-8B - 快速基线:LDA - 时间分析:DTM
步骤3:评估和比较¶
训练多个模型:
python run_pipeline.py \
--dataset my_dataset \
--models lda,etm,ctm,theta \
--model_size 0.6B \
--num_topics 20
步骤4:如有需要,向上扩展¶
- THETA-0.6B → THETA-4B:显著质量提升
- THETA-4B → THETA-8B:边际质量提升
- 在扩展模型规模前,考虑收集更多数据