ほとんどの機械学習プロセスでは、トレーニングと推論に使用するデータを前処理する必要があります。前処理により、さまざまな入力データ (画像など) が同じサイズに正規化され、バッチで保存されます。このステップにより、TensorFlow などの高性能ディープラーニング ライブラリは、バッチ内のすべての入力を並列に同じ計算グラフで処理できるようになります。バッチ処理では、最新の GPU とマルチコア CPU の SIMD (Single Instruction Multiple Data) パフォーマンスを使用して、計算実行を高速化します。しかし、自然言語理解における解析ツリー、ソースコード内の抽象構文ツリー、Web ページのドキュメントツリー (DOM ツリー) など、入力データのサイズや構造が変化すると、多くの問題が発生します。このような場合、異なる入力データには異なる計算グラフが必要となり、通常はそれらをまとめてバッチ処理することができないため、プロセッサ、メモリ、およびキャッシュの使用率が低下します。
本日、これらの困難に対処するために 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)」によるオリジナル翻訳です] この著者の他の記事を読むにはここをクリックしてください |
>>: Spark を使用して行列分解推奨アルゴリズムを学習する
人工知能(今ではよく知られている頭字語 AI で説明されます)がさまざまな業界をどのように変革してい...
NLP は人工知能を刺激的な新時代へと導きます。現在、人工知能分野で最もホットな話題は、大規模モデ...
最近、百度文心は3つの主要機能をリリースし、カスタマイズされたマルチラベルテキスト分類、感情傾向分析...
旅行のピーク時に都市環境衛生がより大きな圧力に耐えられるか?清掃車両と清掃作業員をより適切に管理する...
ChatGPTは一夜にしてまた進化し、OpenAIは一気に大量のアップデートをリリースしました!コ...
この記事では、AR/VR テクノロジーがロボットにどのように貢献し、工場や産業にどのようなメリットを...
少し前に、自称メディアスターの板狐仙人が「自動運転のいくつかの期限問題」を発表し、将来の自動運転の実...
「人工知能はすべての仕事を自動化し、人間を失業させるだろう。」 「人工知能は単なる架空の技術だ。」 ...
かつては企業にとって「空約束」と考えられていた人工知能(AI)と機械学習(ML)が、今では主流になっ...
近年、データサイエンスとデータマイニングの人気が高まっています。ニューラルネットワークとディープラー...
2020年、疫病による経済的、社会的不確実性にもかかわらず、人工知能技術は加速的に発展し続けました...
現在 3 つの異なるサイズで提供されているこれらのモデルは、リソースの少ない言語を含む 600 以上...
Amazon Polly は、テキストをリアルな音声に変換するサービスです。これにより、音声を発する...