Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RoadMap #1

Open
7 of 14 tasks
petrizhang opened this issue May 10, 2018 · 0 comments
Open
7 of 14 tasks

RoadMap #1

petrizhang opened this issue May 10, 2018 · 0 comments

Comments

@petrizhang
Copy link
Member

petrizhang commented May 10, 2018

目标:

基于Spark平台和FPGA实现高效语音识别。

具体地,以BigDL为基础,在FPGA上实现DeepSpeech2模型的inference。

最终的功能是可以由BigDL支持的模型checkpoint文件,生成FPGA代码并部署到FPGA上进行inference。
并且能够在标准的Spark程序中调用FPGA代码,进行分布式的inference,这里的分布式只是简单的将数据分区,然后在每个结点上执行相同的inference,最终汇总为完整的结果。

计划使用的器件是2块intel的arria10 FPGA,使用官方的OpenCL SDK进行开发。

交付

最终要交付的软硬件有:

  1. 翻译模型checkpoint文件到OpenCL代码的翻译器(这是主要的工作内容)
  2. 编译OpenCL代码并部署到集群的工具/库
  3. 能够在scala中调用FPGA上任意OpenCL kernel的适配库(saoclib)
  4. 能够实际运行的语音识别模型
  5. 一块FPGA开发板(我们希望能借给我们继续研究以及开展后续合作。。)

计划

第1月

  • 相关工作调研;
  • BigDL代码研究;
  • 整体方案设计

第2月

  • 完成scala调用FPGA的适配库(saoclib);
  • 完成opencl矩阵乘;
  • 完成翻译器雏形(使用写好的opencl文件作为模板,将各种层一对一翻译即可,工作量很小);
  • 一个单机完整方案的示例,能够使用FPGA上的矩阵乘替换Lenet5/DeepSpeech模型中的一层并正确执行整个模型的inference

第3月

  • 完成opencl卷积层;
  • 完成神经网络2层/多层之间输出输入的对接(可以直接写主存,但是效率不高,更好的方式是使用片上- 内存);

第4月

  • 完成opencl RNN;
  • 完成各种激活函数、池化层、以及DeepSpeech2需要的TimeDistribute等等必要的层。

第5月

  • 完成单机上的完整DeepSpeech2语音识别解决方案

第6月

  • 完成分布式的部署与运行,形成完整的分布式DeepSpeech2语音识别解决方案
  • 测试调优;

进度

第1月

  • 相关工作调研;

  • BigDL代码研究;

  • 整体方案设计

第2月

  • 完成scala调用FPGA的适配库(saoclib);
  • 完成opencl矩阵乘;
  • 完成翻译器雏形(使用写好的opencl文件作为模板,将各种层一对一翻译即可,工作量很小);
  • 一个单机完整方案的示例,能够使用FPGA上的矩阵乘替换Lenet5/DeepSpeech模型中的一层并正确执行整个模型的inference

第3月

  • 完成神经网络2层/多层之间输出输入的对接(可以直接写主存,但是效率不高,更好的方式是使用片上内存);
  • 完成opencl卷积层;

第4月

  • 完成opencl RNN;
  • 完成各种激活函数、池化层、以及DeepSpeech2需要的TimeDistribute等等必要的层。

第5月

  • 完成单机上的完整DeepSpeech2语音识别解决方案

第6月

  • 完成分布式的部署与运行,形成完整的分布式DeepSpeech2语音识别解决方案
  • 测试调优;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant