Files
natural-memory-nm21/natural_memory_app.py
T
WpyQwq 643e22ecb9 Natural Memory NM2.1: 记忆路由器分叉、数据集缺陷修复与全轴评测证据
- 引入 MemoryRouterXL 与 v5/v6 流式多线程训练/编码管线
- 修复 prepare_memory_router_dataset 候选池重建缺陷(mega 家族 3568x 加速,输出逐字节相同)
- 修复 v5 被破坏的拒答与多跳标签(train 未知样本 319 -> 16319,multi_hop 平均正例 1.00 -> 2.00)
- 同存储预算下 V2-128 v6 逐轴 22/22 通过:Top-1 41.12% -> 94.62%,未知拒答 0.00% -> 100.00%
- 记录三条被实测推翻的显然优化(logits_to_keep=1 反而慢 55%、XL 容量未带来收益)
- 记忆手术跨架构可移植性 14/14,读写关闭时与原生模型逐位相同
2026-09-19 11:11:31 +08:00

55 lines
1.8 KiB
Python

"""Unified entry point for Natural Memory v2 local production workflows.
Examples:
python -m V2_dpskw.natural_memory_app chat --model-path ...
python -m V2_dpskw.natural_memory_app serve --port 8765
python -m V2_dpskw.natural_memory_app build-dataset
python -m V2_dpskw.natural_memory_app train-policy --steps 240
python -m V2_dpskw.natural_memory_app stress --rounds 40
python -m V2_dpskw.natural_memory_app make-mega-validation
python -m V2_dpskw.natural_memory_app benchmark-kv --limit 32
"""
from __future__ import annotations
import argparse
import sys
def main() -> None:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument(
"command",
choices=(
"chat",
"serve",
"build-dataset",
"train-policy",
"stress",
"make-mega-validation",
"benchmark-kv",
),
help="workflow to run; remaining arguments are passed to that workflow",
)
args, remaining = parser.parse_known_args()
sys.argv = [sys.argv[0], *remaining]
if args.command == "chat":
from .stream_chat_qwen_memory import main as run
elif args.command == "serve":
from .natural_memory_service import main as run
elif args.command == "build-dataset":
from .build_production_memory_dataset import main as run
elif args.command == "train-policy":
from .train_production_memory_policy import main as run
elif args.command == "stress":
from .stress_test_natural_memory import main as run
elif args.command == "make-mega-validation":
from .make_mega_memory_validation import main as run
else:
from .benchmark_memory_vs_full_kv import main as run
run()
if __name__ == "__main__":
main()