阿里巴巴NANN框架安装及使用指南

阿里巴巴NANN框架安装及使用指南阿里巴巴 NANN 框架安装及使用指南 nannAflexibl high performancef scaleretriev

大家好,欢迎来到IT知识分享网。

阿里巴巴NANN框架安装及使用指南

nannA flexible, high-performance framework for large-scale retrieval problems based on TensorFlow.项目地址:https://gitcode.com/gh_mirrors/na/nann

一、项目介绍

NANN是阿里巴巴开发的一款基于TensorFlow的高度灵活且高性能的大规模检索框架。自2021年以来,NANN在阿里巴巴内部得到了深入的研发和广泛应用,支持了包括淘宝展示广告、淘宝搜索广告以及神马搜索在内的多项业务。

关键特性:

  • 模型训练 —— 模型训练与索引构建脱耦,可以集成任意复杂的模型。
  • 性能优化 —— 包含对GPU和CPU的深度优化,确保推理性能。
  • 友好性设计 —— 特别关注用户友好度,尤其是对于TensorFlow用户。

二、项目快速启动

环境搭建

首先我们需要确保本地环境已安装以下软件工具:

  • Python >= 3.6
  • Tensorflow
  • gRPC (Google Protocol Buffers)

克隆项目仓库

git clone https://github.com/alibaba/nann.git cd nann 

编译并运行基准测试

设置环境变量

假设我们已经在nann_impl目录下编译成功了blaze-benchmark, 那么我们可以设置如下的环境变量:

export nann_impl_dir=<path-to-nann-impl> 
运行基准测试
TF_XLA_FLAGS="--tf_xla_cpu_global_jit" \ CUDA_HOME="/usr/local/cuda/" \ CUDA_PATH="/usr/local/cuda/" \ LD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME/extras/CUPTI/lib64:/usr/local/lib64" \ TF_XLA_PYTHON_CLIENT_PREALLOCATE=false \ TF_XLA_PYTHON_CLIENT_ALLOCATOR="platform" \ TF_XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 \ TF_ENABLE_XLA=True \ TF_XLA_FLAGS="--tf_xla_auto_jit=2 --tf_xla_cpu_use_fast_math=true --tf_xla_disable_llvm_version_check=true" \ TF_XLA_DEBUG_OPTIONS="--xla_dump_to=./cubin_cache TF_XLA_PTX_CACHE_DIR= /xla_cache `dirname $nann_impl_dir`/blaze-benchmark/build/benchmark/benchmark benchmark_conf" 

导出模型为SavedModel格式

# 假设输出根目录为$output_root$ python nann/delivery/pb_to_saved_model.py --model-path $[output_root]/export/exec.pb --meta-path $[output_root]/export/exec.meta.pb --export-dir $[output_root]/export/nann/1 

使用Docker部署模型服务

docker run -p 8501:8501 -p 8500:8500 \ --mount type=bind source=$[output_root]/export/nann target=/models/nann \ -e MODEL_NAME=nann -t alinann/nann_serving 

三、应用案例与最佳实践

NANN广泛应用于大规模推荐系统中, 如淘宝的商品推荐场景。它通过整合先进的模型与高效的索引技术, 实现了高精度的推荐结果。NANN的设计考虑到了可扩展性和高效性, 能够处理亿级数据量的检索任务。

最佳实践建议:

  • 在实际部署时要充分考虑GPU资源分配;
  • 利用NANN提供的模型压缩技术减少模型尺寸;
  • 针对特定场景调整索引参数以达到最优效果;

四、典型生态项目

NANN作为阿里巴巴大搜部门的推荐引擎重要组成部分, 已经成为大规模检索领域的关键技术之一。下面列举几个基于NANN的应用实例或相关研究工作:

  • [Paper] 大规模稀疏特征学习平台实践(Alibaba Research)
  • [Project] 阿里巴巴推荐算法团队基于NANN的新闻个性化推荐系统
  • [Blog] 在阿里云上如何部署NANN作为离线检索服务

以上就是阿里巴巴NANN框架的基础介绍及其使用方法概述。希望这些内容能够帮助您更好地理解和应用这款强大而灵活的检索框架!如果您有任何疑问或者想要进一步了解NANN的细节,欢迎访问其GitHub页面查阅更详尽的文档资料。

nannA flexible, high-performance framework for large-scale retrieval problems based on TensorFlow.项目地址:https://gitcode.com/gh_mirrors/na/nann

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/127490.html

(0)
上一篇 2025-09-07 14:10
下一篇 2025-09-07 14:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信