May 22, 2018

TensorFlow.jsがGPUで並列計算を実行する仕組みを理解する

業界動向

cover

LeapMindソフトウェアエンジニアの藤原です。 組込みDeep Learningモデル構築サービス「DeLTA-Lite」の開発を担当しています。

先日、機械学習モデルの学習や実行が可能になるJavaScriptライブラリ「TensorFlow.js」がGoogleから公開されました。 今までの機械学習ライブラリはPythonなどのサーバーサイド言語で動作するものがほとんどでしたが、 ついにJavaScriptから機械学習モデルを直接操作できるようになりました。

PCだけでなくスマートフォンのブラウザからでも利用できるので、いろいろなアプリケーションでの活用が期待できます。 公式サイトにデモがいろいろあるので、どんなことができるか気になる方は遊んでみてください。

さて、TensorFlow.jsではWebGLによる計算の高速化を利用していることが特徴の一つです。 WebGLはもともとグラフィック処理を行うためのJavaScript APIですが、 これをどのように機械学習のような汎用計算に利用しているのでしょうか? ソースコードを交えてその仕組みを解説してみようと思います。


LeapMindではエンジニア以外でも、あらゆる職種にて仲間を募集しています。 Wantedlyからお気軽にお問合わせくださいませ。