Google がディープラーニング ライブラリ TensorFlow Fold をリリース、動的計算グラフをサポート

Google がディープラーニング ライブラリ TensorFlow Fold をリリース、動的計算グラフをサポート

ほとんどの機械学習プロセスでは、トレーニングと推論に使用するデータを前処理する必要があります。前処理により、さまざまな入力データ (画像など) が同じサイズに正規化され、バッチで保存されます。このステップにより、TensorFlow などの高性能ディープラーニング ライブラリは、バッチ内のすべての入力を並列に同じ計算グラフで処理できるようになります。バッチ処理では、最新の GPU とマルチコア CPU の SIMD (Single Instruction Multiple Data) パフォーマンスを使用して、計算実行を高速化します。しかし、自然言語理解における解析ツリー、ソースコード内の抽象構文ツリー、Web ページのドキュメントツリー (DOM ツリー) など、入力データのサイズや構造が変化すると、多くの問題が発生します。このような場合、異なる入力データには異なる計算グラフが必要となり、通常はそれらをまとめてバッチ処理することができないため、プロセッサ、メモリ、およびキャッシュの使用率が低下します。

[[182852]]

本日、これらの困難に対処するために TensorFlow Fold をリリースします。 TensorFlow Fold を使用すると、さまざまなサイズや構造のデータを処理するディープラーニング モデルの実装が容易になります。さらに、TensorFlow Fold はこれらのモデルにバッチ処理の利点をもたらし、CPU では 10 倍以上、GPU では 100 倍以上高速に実行します (他の実装と比較して)。この改善は動的バッチ処理技術によるもので、詳細は私たちの論文 (動的計算グラフを使用したディープラーニング) で説明されています。

上記のアニメーションは、動的バッチ処理で実行されるリカレント ニューラル ネットワークを示しています。同じ色の操作はグループ化され、TensorFlow でより高速に実行できるようになります。 Embed 操作は単語をベクトル表現に変換します。完全接続 (FC) 操作は、単語ベクトルを結合して段落ベクトル表現を形成します。ネットワークの出力は完全な文のベクトル表現です。上の図は文の解析ツリーのみを示していますが、このネットワークは任意の形状とサイズのさまざまな解析ツリーに対してバッチ操作を実行し、実装することもできます。

TensorFlow Fold ライブラリは、まず入力ごとに個別の計算グラフを作成します。

個々の入力のサイズや構造は異なる場合があり、計算グラフも異なる可能性があります。動的バッチ処理では、これらのグラフを自動的に結合して、入力内および入力間でのバッチ処理の機会を活用し、バッチ処理された操作間でデータを移動するための追加の命令を挿入します。 (技術的な詳細については論文を参照してください)

さらに詳しく知りたい場合は、github アドレス (https://github.com/tensorflow/fold) もご覧ください。 TensorFlow Fold が、研究者や実務者が TensorFlow で動的に計算されたニューラル ネットワークを展開するのに役立つことを願っています。

論文: 動的計算グラフによるディープラーニング

概要: グラフ構造を計算するニューラル ネットワークは、自然言語処理 (構文解析ツリー) や化学情報科学 (分子グラフ) など、多くの分野の問題を解決するための自然なアプローチです。ただし、各入力の計算グラフは形状とサイズが異なるため、通常、ネットワークを直接バッチトレーニングまたは推論することはできません。また、これらのライブラリは静的なデータフローグラフに基づいているため、一般的なディープラーニングライブラリにデプロイすることも困難です。異なる入力グラフ(異なる形状)間の操作をバッチ処理できるだけでなく、単一の入力グラフ内の異なるノード間の操作もバッチ処理できる、動的バッチ処理と呼ばれる手法を紹介します。このテクノロジーにより、静的グラフを作成したり、一般的なライブラリを使用したり、任意の形状やサイズの動的な計算グラフをシミュレートしたりできるようになります。さらに、動的グラフ モデルの作成プロセスを簡素化するビルディング ブロックの高レベル ライブラリも紹介します。このライブラリを使用して、文献に記載されているさまざまなモデルの簡潔で合理的なバッチ並列実装を示します。

元記事: https://research.googleblog.com/2017/02/announcing-tensorflow-fold-deep.html

[この記事は、51CTOコラムニストのMachine Heart、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  複数の負荷分散アルゴリズムとそのJavaコード実装

>>:  Spark を使用して行列分解推奨アルゴリズムを学習する

ブログ    
ブログ    

推薦する

国連の高レベル人工知能諮問機関が設立され、曽毅と張玲漢が専門家グループのメンバーに選ばれた。

国連のアントニオ・グテーレス事務総長は現地時間10月26日、ニューヨークの国連本部で、AIがもたらす...

...

工業情報化部:我が国のAIコア産業規模は5000億元に達し、2,500以上のデジタルワークショップとスマートファクトリーが建設されました

2023年中国(太原)人工知能会議が本日、山西省太原で開幕しました。中国工業情報化部科学技術部の任愛...

コードコーパス、大規模モデル、インテリジェントエージェントの魔法の杖を振ると、より強力なエネルギーが呼び出されます

熱帯雨林の杖が、ダンブルドアのようなあらゆる時代の並外れた魔法使いの伝説を生み出したのと同じように、...

...

ディープフェイクの検出が得意なのは誰でしょうか?人間か機械か?

翻訳者 |陳俊レビュー | Chonglou Deepfakesと呼ばれる詐欺アプリをご存知ですか?...

私たちの社会は AI に意思決定を任せる準備ができているでしょうか?

テクノロジーの急速な発展に伴い、人工知能 (AI) は意思決定プロセスにおいてますます重要な役割を果...

Kingsoft WPS Office 2019 正式リリース: Word、Excel、PPT を 1 つのソフトウェアで操作

7月3日、キングソフトは北京オリンピックタワーで「シンプル・クリエイティブ・シンプルではない」をテー...

...

...

野生生物の保護: ドローン、ロボット、AI

最近、雲南省の象の群れに関するニュースを皆さんも聞いたことがあると思います。 2020年、雲南省西双...

新しい小売業界における人工知能の応用

インターネットの急速な発展に伴い、伝統的なオフライン小売チャネルは弱体化の兆候を見せ始めており、中国...

Minecraft でニューラル ネットワークを構築し、操作プロセスを明確に表示する | オープン ソース

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...