Yandori 系统通过神经压缩架构实现信息流的实时聚合与预测,为新闻在海量网站间的扩散提供图追踪能力。这种设计的核心在于高效变化检测机制,仅捕获预测相关的新增内容,避免全量处理带来的延迟与资源浪费。系统每分钟处理 RSS/Atom feeds 来自数千站点,聚合为固定维度世界状态嵌入 z_t ∈ ℝ^{256},总内存恒定 ~14MB,支持无界运行。
高效变化检测依赖自监督重要性加权:给定 N 篇文章嵌入 e_i,计算 w_i = softmax(MLP(e_i)),z_t = Σ w_i · e_i。这种加权通过梯度信号 ∂L_pred / ∂e_i 学习,优先聚合对未来预测有影响的内容。Yandori 的单头时间注意力进一步稳定梯度:scores_i = (K_i · q)/√d + log(exp(-Δt_i / τ)),τ 为时间衰减参数,通常设为 1 小时,确保近期事件主导上下文。
低延迟索引采用分层内存缓冲:最近缓冲(24h,1min 分辨率,1440 状态)、周缓冲(7d,小时下采样,168 状态),辅以 5 个 EMA 基线(衰减率 α ∈ {0.67, 0.033, 0.014, 0.002, 0.0005})。每分钟更新周期:发现 feeds → fetch 文章 → 编码 → 聚合 → 注意力丰富 → 预测。典型延迟 <100ms/GPU,编码 O(N·L),N≤100,L=512 tokens。
传播速度指标通过图构建量化:新闻实体作为节点,传播边基于相似度(禁用重建重要性,因其与预测负相关 -0.41)。速度度量 v = Δreach / Δt,其中 reach 为覆盖站点数,Δt 为时间窗(1min/1h/1d)。图优化使用分层传播模型,从事件 → 子事件 → 消息网络迭代求解可信度,但 Yandori 聚焦预测偏差:context = 0.6(z_t - baseline_1h) + 0.4(z_t - baseline_1day),预测损失 L_pred = 0.1 MSE_1min + 0.3 MSE_1h + 0.6 MSE_1d,长时预测权重最高。
落地参数配置如下:
爬虫参数(YandoriBot):
- User-Agent: YandoriBot/1.0 (+https://yandori.io/bot.html)
- 请求间隔:Poisson(λ=1.0)/域,500-1200ms 均匀延迟
- 并发:100 workers,10s 超时 + 断路器
- robots.txt:24h TTL,前缀树解析,支持 Crawl-delay
模型超参:
- 嵌入维 d=256,Transformer 3层 (d_model=256, 8 heads),瓶颈 d=32
- 初始化:Xavier uniform gain=0.1,梯度裁剪 0.5
- 损失权重:L_total = 0.30 L_recon + 0.50 L_pred + 0.20 L_importance
- LR: 1e-4 AdamW,wd=1e-5
监控要点:
- 惊喜信号 surprise_t = ||z_t - EMA_baseline||_2 > 阈值(sigmoid 缩放)时,提升重要性学习
- 预测损失分层:1d 预测主导,确保因果信息保留
- 内存:~1.7MB 缓冲 + 12MB 模型,警报 >15MB
- 传播速度:v_1h > 10 站点/h 标记爆发,图密度监控(节点/边 >0.1 疑似循环)
回滚策略:若预测偏差 >2σ,fallback 到纯聚合模式,禁用预测头;爬虫 429 错误率 >5%,全局 backoff 2x。
部署清单:
- 预训练 CC-News (31M 文章),时窗采样 ±15s ~ ±30min
- 生产:semaphore 池限并发,LRU 缓存 feeds ∞ TTL
- 评估:分层缓冲提升预测 9%,总准确率基准 HN 数据集 >95%
“Yandori 通过 RSS 发现爬取 200k 站点,实现常量内存实时追踪。”
资料来源: