Spark NLP 应用部署与优化全解析
1. 生产环境内存考量
在生产环境中使用 Spark NLP 时,内存可用性是需要考虑的重要因素。Spark NLP 使用 RocksDB 作为静态嵌入的内存键值存储。因此,要确保生产环境能够支持这种内存负载。如果使用 Spark,通常情况下应该有足够的内存来处理嵌入。
2. Spark NLP 与 TensorFlow 集成
2.1 集成方式
TensorFlow 用 C++ 和 CUDA 实现,多数数据科学家通过 Python 接口使用它。而 Spark NLP 用 Scala 实现,运行在 JVM 上,也有 Python 接口。Spark NLP 通过 Java 接口与 TensorFlow 交互,这就要求使用这些模型的机器都安装 TensorFlow。使用 Python 的 Spark NLP 包时问题不大,因为它已将 TensorFlow 作为依赖。但这意味着要在所有运行应用的生产机器上安装该软件。
2.2 GPU 支持
GPU 能显著缩短训练时间,因为它擅长批量并行处理,适合矩阵运算。不过并非所有机器都有合适的硬件,启用 GPU 支持可能需要额外投资。在开发机器上训练时,一些常见显卡可用于简单的 GPU 训练。由于训练比模型服务更耗费计算资源,可能只需在训练时使用 GPU 支持。对于一些复杂模型,在 CPU 上评估速度过慢,此时需与硬件基础设施团队协作,申请相应机器,并进行性能测试,确保能在合理时间内提供模型服务。
3. Spark 优化基础
3.1 Spark 工作组织方式
Spark
超级会员免费看
订阅专栏 解锁全文
1250

被折叠的 条评论
为什么被折叠?



