- 引入 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,读写关闭时与原生模型逐位相同
55 lines
1.8 KiB
Python
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()
|