Zhuang's Diary

言之有物,持之以恒

  1. 改变神经网络的复杂程度: 从最简单的单层神经网络模型 AutoRec ( 自编码器推荐),到经典的深度神经网络结构 Deep Crossing(深度特征交叉),其主 要的进化方式在于 增加了深度神经网络的层数和结构复杂度。

  2. 改变特征交叉方式: 这类模型的主要改变在于丰富了深度学习网络中特征交叉的方式。例如,改变了用户向量和物品向量互操作方式的 NeUralCF( Neural Collaborative Filtering,神经网络协同过滤),定义了多种特征向量交叉操作的 PNN ( Product-based Neural Network, 基于积操作的神经网络 )模型。

  3. 组合模型: 这类模型主要是指 Wide&Deep 模型及其后续变种 Deep&Cross,DeepFM等,其思路是通过组合两种不同特点、优势互补的深度学 习网络,提升模型的综合能力。

  4. FM 模型的深度学习演化版本: 传统推荐模型 FM 在深度学习时代有了 诸多后续版本,其中包括 NFM ( Neural Factorization Machine, 神经网络因子分解机 )、FNN ( Factorization-machine supported Neural Network, 基于因子分解机支持的神经网络)、AFM(Attention neural Factorization Machine, 注意力因子分解机)等,它们对 FM 的改进方向各不相同。例如,NFM 主要使用神经网络提升 FM 二阶部分的特征交叉能力,AFM 是引入了注意力机制的 FM 模型,FNN 利用 FM 的结果进行网络初始化。

  5. 注意力机制与推荐模型的结合: 这类模型主要是将“注意力机制”应用于深度学习推荐模型中,主要包括结合了 FM 与注意力机制的 AFM 和引入了注 意力机制的 CTR 预估模型 DIN ( Deep Interest Network, 深度兴趣网络)。

  6. 序列模型与推荐模型的结合: 这类模型的特点是使用序列模型模拟用户行为或用户兴趣的演化趋势,代表模型是 DIEN( Deep Interest Evolution Network, 深度兴趣进化网络 )。

  7. 强化学习与推荐模型的结合: 这类模型将强化学习应用于推荐领域,强调模型的在线学习和实时更新,其代表模型是 DRN( Deep Reinforcement Learning Network, 深度强化学习网络 )。

— 摘录于《深度学习推荐模型》

1. PBFT https://github.com/yeasy/blockchain_guide/blob/master/evaluation/hyperledger.md

Hyperledger Fabric v0.6 - PBFT 性能评测

环境配置

类型 操作系统 内核版本 CPU(GHz) 内存(GB)
物理机 Ubuntu 14.04.1 3.16.0-71-generic 4x2.0 8

每个集群启动后等待 10s 以上,待状态稳定。

仅测试单客户端、单服务端的连接性能情况。

评测指标

一般评测系统性能指标包括吞吐量(throughput)和延迟(latency)。对于区块链平台系统来说,实际交易延迟包括客户端到系统延迟(往往经过互联网),再加上系统处理反馈延迟(跟不同 consensus 算法关系很大,跟集群之间互联系统关系也很大)。

本次测试仅给出大家最为关注的交易吞吐量(tps)。

query 交易

pbft:classic
clients VP Nodes iteration tps
1 4 2000 193.05
pbft:batch
clients VP Nodes batch size iteration tps
1 4 2 2000 193.99
1 4 4 2000 192.49
1 4 8 2000 192.68

invoke 交易

pbft:classic
clients VP Nodes iteration tps
1 4 2000 141.34
pbft:batch
clients VP Nodes batch size iteration tps
1 4 2 2000 214.36
1 4 4 2000 227.53
1 4 8 2000 237.81

PBFT结论

PBFT单客户端连接情况下,TPS 基本在 190 ~ 300 范围内。

============================================

2.tendermint https://www.inf.usi.ch/faculty/pedone/Paper/2021/srds2021a.pdf

我们使用 Tendermint 版本 0.33.8 和 Go 版本 1.15,使用默认配置。 内存池最多可存储5000笔交易,最大字节大小为1GB,块大小为20MB。 这些默认限制足以应付未完成交易的最大数量。两个都连接的最大发送和接收速率为 5000 KB/s,控制gossip通信的时间间隔是 100 毫秒。
我们在地理分布式环境中进行了实验,验证器节点均匀分布在各大洲的 16 个 AWS 区域中。另一个 AWS 实例托管 1 个以种子模式运行的非验证器节点和所有客户端。
我们将所有客户端托管在单个 AWS 服务器中,以将所有测量集中在一个位置。客户端在闭环中均匀地向验证器提交 1KB 交易。

图中比较了 Tendermint 在 16、32、64 和 128 个验证者规模下的性能。 我们并不期望通过增加验证器的数量来提高性能,因为消息复杂性和共识成本随着进程数量的增加而增加。 本次比较中使用了 128 个验证器的参考工作负载,在实验中的验证器之间均匀分配 1536 个客户端。 采用了第 VII-B 节中考虑的相同实验设置。图中,在相同的工作负载下,当我们将验证器数量增加一倍时,吞吐量会适度下降。

Tendermint结论

Tendermint 的 TPS 基本在 400 ~ 600 范围内。交易延时在2~4秒。

根据以上性能数据,可以在设计区块链系统时,预先分析得出系统综合来看,性能瓶颈到底在哪里。如,某些外部的SaaS服务,性能可能会低于上述区块链指标,从而拖累系统的整体性能。

The best of CBDC technical whitepaper