HashingDeepLearning:基于深度学习与哈希技术的实验复现项目

Codebase for "SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems"

分支3Tags0
当前项目代码仓暂无内容

滑块模型(SLIDE)源代码

SLIDE 包含了本文主要实验的源代码,您可以通过以下论文进行查阅。

若需获取针对 CPU 优化的代码(包含 AVX、BFloat 以及其他内存优化技术),请参考较新论文的此链接

数据集

数据集可以从Amazon-670K下载。请注意数据集是按标签排序的,因此在使用前请至少将验证/测试数据打乱。

TensorFlow 基线模型

我们建议直接获取 TensorFlow 的 docker 镜像来安装 TensorFlow-GPU。 对于使用了 AVX2 编译的 TensorFlow-CPU,我们推荐使用这个预编译的版本

此外,还有一个专门为 CPU 构建的 TensorFlow docker 镜像,该镜像支持 AVX-512 指令集,要获取它,请使用以下命令:

docker pull clearlinux/stacks-dlrs_2-mkl    

config.py 负责管理 TensorFlow 训练的参数,例如“学习率”。example_full_softmax.pyexample_sampled_softmax.py 是针对“Amazon-670K”数据集的示例文件,分别使用完整 softmax 和采样 softmax 方法。

执行

python python_examples/example_full_softmax.py
python python_examples/example_sampled_softmax.py

运行 SLIDE

依赖

  • CMake 版本 v3.0 或以上
  • 符合 C++11 标准的编译器
  • Linux 系统:Ubuntu 16.04 及更高版本
  • 必须启用透明大页(Transparent Huge Pages)。
    • SLIDE 需要大约 900 个 2MB 页面,以及 10 个 1GB 页面:(操作指南)

注意事项:

  • 为了简化操作,请使用我们的 Docker 镜像,其中已安装所有环境。如需在不设置大页的情况下复现实验,请下载 Amazon-670K,并将其放置在路径 /home/code/HashingDeepLearning/dataset/Amazon 下。

  • 请注意,仅 Skylake 或更新架构的处理器支持大页。对于较老的 Haswell 处理器,我们需要从 Makefile 文件的 OPT_FLAGS 行中移除 -mavx512f 标志。您还可以回退到提交 2d10d46b5f6f1eda5d19f27038a596446fc17cee,以忽略大页优化并继续使用 SLIDE(这可能会导致性能降低 30%)。

  • 此版本会构建所有依赖项(目前为 ZLIBCNPY)。

命令

适当更改 ./SLIDE/Config_amz.csv 中的路径。

git clone https://github.com/sarthakpati/HashingDeepLearning.git
cd HashingDeepLearning
mkdir bin
cd bin
cmake ..
make
./runme ../SLIDE/Config_amz.csv

当然,我将按照您的要求提供翻译。不过,您似乎忘记提供需要翻译的文本。请提供原文,我将会把它翻译成中文,保持 Markdown 格式,并确保翻译的通俗性、专业性、优雅性和流畅性。

项目介绍

"《SLIDE : 面对大规模深度学习系统,智能算法优于硬件加速的辩护理由》的代码库"【此简介由AI生成】

定制我的领域
501.1 K168访问 GitHub