Baidu Create 2018 ディープラーニング フロンティア テクノロジーと産業応用公開コースのハイライト

Baidu Create 2018 ディープラーニング フロンティア テクノロジーと産業応用公開コースのハイライト

[51CTO.com からのオリジナル記事] 中国の開発者が集まる毎年恒例の盛大な集まりである Baidu AI 開発者会議が先日終了しました。 Baidu のディープラーニング分野における技術研究開発は 2012 年初頭に始まりました。1 年後、Baidu はディープラーニング プラットフォームの分野で初期の成功を収め、それを Baidu の多くの中核事業に適用しました。

Baidu のディープラーニング フレームワーク PaddlePaddle は 2016 年にオープンソース化されて以来、業界で広く注目を集め、世界で最も急速に成長しているオープンソース ディープラーニング プラットフォームになりました。PaddlePaddle コミュニティには、多数の AI 技術開発者が集まっています。オープンソースモデルにより、PaddlePaddleは過去2年間で急速な発展とアップグレードを実現しました。2017年11月、Baiduはよりきめ細かい新世代のディープラーニングフレームワークであるPaddlePaddleFluidをリリースし、今年7月にはPaddlePaddle3.0をリリースし、ディープラーニング分野におけるBaiduの強力な実力を次々と実証しました。

実際、自動運転車、スマート家電、AIクラウド、AlphaGoなどの一般的なAI応用分野は、ディープラーニングフレームワークのトレーニングおよび予測サービスと切り離せないものです。ディープラーニングフレームワークは、AI時代のオペレーティングシステムに相当し、AI分野で重要な役割を果たしています。このカンファレンスでは、ディープラーニングフレームワーク PaddlePaddle が開発者から大きな注目を集めました。最先端のディープラーニング技術と産業アプリケーションに関するオープンコースのサブフォーラムには開発者が詰めかけ、多くの参加者がフロアに座ってコース全体を聴講していました。

最先端技術に対する聴衆の渇望に応えるため、今回の公開講座では、講演の後に特別に複数回の質疑応答セッションを設けました。参加者は積極的かつ熱心に質問し、実用的な問題になると何度も質問しました。Baiduの専門講師は辛抱強く詳細な回答をしました。講座終了後、参加者は多くの利益を得たと語りました。

この公開授業の講義内容は、ディープラーニングのセマンティックコンピューティング技術、Baiduのビジョン技術、OCRのPaddle-Fluidバージョンへの移行のエンジニアリング例、PaddlePaddleの新機能、大規模スパースデータ分散モデルのトレーニング、モバイルディープラーニング技術とアプリケーションの実践、ディープラーニング予測エンジンAnakinの最適化、ディープラーニングの可視化など、ディープラーニング分野のあらゆる側面を網羅しています。編集者は、この開発者会議におけるBaiduの専門家講師の最新の研究と実践結果を整理しました。それでは見てみましょう。

[[237633]]

ディープラーニング公開授業の一角:地面に座る友達

Baiduが独自に開発したディープラーニングフレームワーク「PaddlePaddle」

ディープラーニングに基づくセマンティックコンピューティング技術

Baidu 製品の一般的なセマンティック マッチング シナリオには、Baidu Search、Baidu Feed、Baidu Photo Search などがあり、それぞれ質問と回答のマッチング、ユーザーとニュースのマッチング、画像とテキストのマッチングの効果を実現します。

セマンティック マッチング モデルは、入力層、表現層、マッチング層、マッチング スコア層の 4 つの層で構成されます。

表現レイヤーは、入力データを数値ベクトルに変換するプロセスを完了する必要があります。

マッチング層は、2 つのベクトルを融合してスコアを生成するプロセスを完了する必要があります。表現層とマッチング層はどちらもディープ ニューラル ネットワークにすることができます。

上図は百度の一般的なトレーニングモデルです。百度にはクリック行動や非クリック行動など膨大なユーザー行動ログがあります。これらの行動は通常意味的な関係を暗示しており、クリック行動の意味の方が関連性が高いです。そのため、膨大なユーザー行動ログ情報からサンプルをマイニングし、高品質の弱ラベル付きデータを抽出し、意味的に関連するデータを正例として、意味的に関連の少ないデータを負の例として使用する必要があります。クエリと正例のスコアは、クエリと負例のスコアよりも大きいため、𝑺↓+ − 𝑺↓−> 𝝈となります。ニューラルネットワークのパラメータは、目的関数を定義することで最適化されます。

リコール側では結果が多数あるため、複雑なニューラルネットワークモデルを使用して一致度を計算すると、システムに負担をかけることが困難になります。そのため、リコール層でクエリをベクトルで表現し、この表現をオフラインで計算することで、計算オーバーヘッドを大幅に削減できます。結果が非常に少ない改良段階では、GPU を使用して複雑なシミュレーション計算、つまりマッチング レイヤーで複雑な計算を実行できます。

人気のエンコーダ、デコーダ アルゴリズム コンポーネント、トランスフォーマー: ダウンロード リンク

次に、テキスト生成の例を見てみましょう。私たちが一般的に使用する機械翻訳モデルの目的は、ニューラル ネットワーク モデリングを通じて元の言語をターゲット言語に翻訳することです。現在、学術界における翻訳モデルの抽象化は、エンコーダーとデコーダーの 2 段階モデリング手法に基づいています。デコーダーは、ユーザーが入力した元の言語をエンコードし、デコーダーの単語の測定と推定を最大化します。機械翻訳のデコードプロセスでは、通常、ユーザー入力の元の言語がエンコードされ、ビームサーチ方式によって最も可能性の高い翻訳結果が見つかります。 Transformer は、優れたパフォーマンスと速度を備え、過去 2 年間で広く使用されているモデルです。興味のある開発者は、ぜひ試してみるとよいでしょう。

言語モデリングは、自然言語処理における古典的な問題です。その目的は、単語シーケンスの結合確率関数、つまり文が一般的かどうかを学習することです。たとえば、ワールドカップの期間中に、Baidu で「アルゼンチンは出場」という 4 つの単語を検索すると、「アルゼンチンはどのグループに出場するのか」というクエリが表示される可能性があります。

ニューラルネットワーク言語モデル。ベンジオ。2003

上の図はニューラルネットワークにおける一般的なニューラルネットワーク言語モデルです。ニューラルネットワークを言語モデルとして利用する一般的なモデルです。

上の図は、過去の情報と現在の情報を継続的に統合するリカレント ニューラル ネットワークであり、言語モデルの一般的な候補となります。

次に、Baidu の NLP コンピューティング サービスを紹介します。ai.baidu.com の Web サイトには、DNN 言語モデル、語彙解析、短いテキストの類似性、中国語の感情分析など、ディープラーニングによってトレーニングされた NLP モデルに基づく呼び出し可能なサービスが多数あります。 Baiduは、NLPにおける中国語の語彙解析など、NLPの分野でPaddlePaddleベースのプロジェクトをいくつかオープンソース化しています。また、モデルトレーニング全体の構成と展開方法もオープンソース化しています。これはディープラーニングネットワークをベースとし、単語の分割、タグ付け、固有名詞の認識を統合しています。これら3つのタスクを1つに統合したオープンソースプロジェクトです。

PaddlePaddle を Baidu のビジュアル技術エンジニアリング業務に適用

Baidu の AI ビジョン技術には、主に画像認識、画像検索、ビデオ理解、ロボットビジョンの 4 つの側面が含まれます。 5年前、百度はロボットビジョンを、百度内外のさまざまなビジネスで広く使用されているディープラーニング技術に全面的に移行し始めました。

画像認識は、一般的な分類を含む、画像からテキストラベルを生成することです。Baidu 内の主な分類モデルには、テキスト認識、顔認識のほか、医療画像、画像レビュー、一部のきめ細かい分類などの特定の分野でのアプリケーションが含まれます。画像認識では、主に CNN 分類技術が使用されます。

画像検索では、ディープラーニングを使用して画像間の関係を定義します。画像検索は主に、画像とテキストの検索、同一画像の検索、類似画像の検索、製品画像の検索など、Baidu 画像認識で使用されます。

ビデオ理解は、ビデオ分類、ビデオラベル付けなどに使用され、監視シナリオにおけるターゲット追跡や人間の姿勢追跡にも広く使用されています。短編動画によってもたらされた新しい市場環境において、動画理解技術は百度の内部ビジネスシナリオで広く活用されています。

ロボットビジョンは、主に深度センサー、SLAM、組み込みビジョンなどを含むいくつかの産業シナリオで使用され、多数の組み込みテクノロジを使用します。

現場の専門家によると、これらのAIビジョン技術は一般に公開されており、百度は今後も新しいデータを繰り返し分析して、より良いサービスを提供していくという。

視覚技術開発の課題

Baidu では数百のモデルが使用されており、毎日新しいデータが絶えず生成されています。モデルの反復で対処する必要がある主な問題は 3 つあります。1 つ目は、モデルを評価および比較し、最適なモデル構造または最適化戦略を選択する方法、2 つ目は、これらのモデルを迅速かつ経済的にトレーニング (再現) する方法、3 つ目は、誰もが一緒に使用できるようにエンジニアリングとアルゴリズムの経験を蓄積する方法です。 Baidu のビジュアル テクノロジーの研究開発の目標は、機械学習を合理化および標準化し、モデルを継続的かつ迅速に反復する機能を構築することです。

次に、Baidu が PaddlePaddle をベースに上記の問題をどのように解決しているかを紹介します。

PaddlePaddleをベースにしたモデル開発

Baidu では 2 種類のモデルが開発中です。1 つはベースライン モデルで、画像分類、画像検出、画像追跡などの基本的な視覚問題です。Baidu ではこれらの問題を基本的な機械学習問題として定義しています。もう 1 つはビジネス モデルです。これは、ビジネス シナリオとビジネス ニーズに基づいてデータを収集し、モデルをトレーニングすることです。これら 2 つのシナリオでは、モデルの比較とモデルの再現を容易にするために、異なるアプローチが使用されます。

PaddlePaddleは2017年にFluid版をリリースして以来、ベースラインモデルの研究開発をオープンソースで統一的に実施しており、ベースラインモデルのトレーニングコードやドキュメント、その他研究成果はオープンソースコミュニティを通じて提出されています。その利点は、トレーニングフレームワークを最新バージョンのPaddlePaddleに統一することや、データ読み取り、前処理、ネットワーク定義、最適化パラメータなどのインターフェースを標準化してモデルの比較を容易にするなど、機械学習の各ステップを標準化できることです。

PaddlePaddleのテクニカルサポート

1. PaddlePaddle は、論文の実装と一致する標準的な演算子の実装を提供します。

2. PaddlePaddle を使用して、統一されたトレーニング方法を実現し、単一のマシンと単一のカード、単一のマシンと複数のカード、または複数のマシンと複数のカードでのトレーニング効率と収束の一貫性を確保します。

3. オープンソースコミュニティをベースに新しいビジョン関連オペレータを開発する。

パドルクラウドクラスタートレーニング

Paddle-Cloud プラットフォームでのジョブ管理

Baidu には、迅速なモデル反復を実現できる PaddlePaddle をベースとした社内 Paddle-Cloud プラットフォームがあります。Kubernetes リソースのスケジューリング、キュー管理、ユーザー管理を統合しています。モデルのトレーニングを管理し、トレーニング構成を統一的に管理し、Visual-DL サポートを提供できます。データの読み取りに関しては、Paddle-Cloud プラットフォーム上で統合データ読み取りとデータ ウェアハウスの直接読み取りが実装されており、元のデータからビジネス モデルを直接再現できます。さらに、トレーニング モデルはプラットフォーム上でトレーニングされ、ストレージに接続されたモデル ウェアハウスに直接保存されます。

例: 画像分類モデル論文の結果を再現する - 標準分類モデルの再現

例: 画像分類モデルの論文結果を再現する - 構築プロセス

ビジョンモジュール:パドルビジョンモデルがリリースされました

• 画像分類: image_classification

• 顔検出: face_detection

• OCR認識: ocr_recognition

• 物体検出: object_detection

• モデル変換: image_classification/caffe2fluid

ビジョンモジュール: 開発中のビジョンモデル

• 画像特徴学習

• OCR エンドツーエンド

• ターゲットを絞ったトレーニング

今後は自社開発モデルも続々登場予定

• 顔検出: 2018 ワイドフェイス 1位

• 大規模部門:Webvision 2018 1位

• ビデオ認識: ActivityNet 2018 で 1 位

プロジェクト例: OCR Paddle-v1 から Paddle-Fluid への移行

以下は、OCR エンジニアリングの例に焦点を当てています。OCR は 3 年前に認識モデルのトレーニングに Paddle-V1 バージョンを使い始めました。V1 バージョンはもはや主流のメンテナンス バージョンではないため、OCR を最新の Fluid バージョンにアップグレードし、トレーニングを内部の Paddle-Cloud クラスターに移行する必要があります。同時に、Baidu のいくつかの最適化された予測ライブラリも最新の OCR 予測に適用できます。

このような状況の中で、百度はオープンソースコミュニティ内にPaddle-vision共同プロジェクトチームを設立し、移行プロセスの中でモデル開発、トレーニング移行、予測移行という3つの主要目標を達成しました。

モデル移行プロセス中に、プロジェクトチームはPaddleのいくつかの特殊OPをFluidバージョンにフラット化し、Paddle-FluidバージョンとPaddle-V1のフォワードネットワークの一貫性を検証し、新しいバージョンのトレーニング効果も検証しました。 Fluid バージョンでは、モデルのトレーニング指標を Paddle の旧バージョンと揃えています。複数の最適化手法と動的な学習率調整戦略を比較することで、ネットワーク全体の精度が大幅に向上します。

モデルのトレーニングでは、OCR英語認識モデルのトレーニングにFluidフレームワークが使用されています。旧バージョンのPaddleでトレーニングされたモデルと比較すると、精度は1%向上しています。さらに、afs データ配信は Paddle-Cloud 上に実装されており、Paddle-Cloud を使用して、単一のマシンと単一のカード、または単一のマシンと複数のカードで OCR 認識モデルをトレーニングします。

OCR 予測ライブラリにアクセスしてカプセル化する際に対処する必要がある問題は次のとおりです。

1. 統一インターフェースのカプセル化を実現するための流体予測ライブラリ フレームワークを開発します。

2. Fluid 予測ライブラリ フレームワークの下でマルチバッチ予測を実装します。

3. sys anakin チームと協力して GPU 予測速度を最適化し、47% 高速化しました。

4. Paddle のアップグレードによって導入される新しいバグを回避するために、QA 自動回帰テスト プロセスに fluid-OCR 予測を追加します。

予測ライブラリのアクセスとカプセル化では、カプセル化されたインターフェースと元のサービス Tcmalloc との互換性、明らかな予測加速の欠如、新しい予測ライブラリが元の検出システムの時間消費に大きな影響を与えるなど、多くの困難に遭遇しました。

具体的な解決策は次のとおりです。

1. glibc によってコンパイルされたメモリ解放インターフェースを動的ライブラリに提供します。

2. sys anakin チームと協力して予測速度を最適化しました。

3. Fluid はデフォルトで OpenBlas マルチスレッドをオンにします。 Openblas マルチスレッドの優先度が高いため、システムのデフォルトのマルチスレッド リソースはシングル コア CPU にのみ割り当てられます。サービスは、Openblas マルチスレッドを明示的にシャットダウンする必要があります。

大変な作業を経て、ついに PaddlePaddle Fluid フレームワークのトレーニングと予測に基づいた OCR 英語認識モデルをリリースしました。ローンチが成功した後、中国語と英語のシステムの全体的な QPS は 7% 増加し、英語のテキストを含む画像の OCR トラフィックが毎日約 1,500 万件増加しました。

モデル開発の概要

1. 公開データセットに基づいて公開アルゴリズムを調整し、ベースラインモデルの正確性を確保し、データセットとトレーニング手順を標準化し、水平比較を容易にします。

2. Baidu はオープンソースアプローチに基づいて Paddle コミュニティに貢献し、繰り返しレビューを行うことでコードとドキュメントの品質を向上させ、コミュニティからのフィードバック、技術の蓄積、問題解決を実現します。

3. PaddlePaddle の統合クラスター トレーニング メソッドに基づいて、いくつかの高度なトレーニング機能を迅速に統合できます。Paddlemobile、anakin、およびその他のチームはさまざまなハードウェアを最適化します。独立したトレーニング QA テストにより、バージョンの反復でトレーニング結果を再現できることが保証されます。

ディープラーニングフレームワークPaddlePaddleの新機能と開発パス

PaddlePaddle は、モデリング、トレーニング、サービングにおけるさまざまな AI シナリオを完全にサポートできます。

パドルモデリング

パドル モデリングは、数百のコンピューティング演算子とレイヤー ネットワークをカバーし、可変シーケンス長と動的バッチ サイズをサポートし、事前トレーニング済みモデルがオープンです。

パドルトレーニング

Paddle Training は、同期および非同期分散、マルチスレッド、マルチ GPU、マルチストリーム異種並列コンピューティング、リング、トレーナー Pserver トポロジをサポートします。

パドルサービング

Paddle Serving は、サーバー側での迅速な展開、アセンブリ層での高度に最適化されたパフォーマンス、モバイル側での Linux-ARM/iOS/Android/DuerOS を含む複数の端末のサポートを実現します。

PaddlePaddle Serving は、さまざまな予測エンジンと柔軟に互換性があります。

  • ネイティブ コンピューティング オペレーターとサードパーティの予測エンジンの柔軟な統合。
  • デフォルトのエンジン、高速かつ利用可能。
  • 業界で人気の予測エンジンである TensorRT と互換性があります。
  • Baidu のオープンソース予測エンジンである Anakin は、優れたパフォーマンスを備えています。

PaddlePaddle Serving のデフォルト エンジンは次のとおりです。

  • トレーニングとサービス提供のインフラストラクチャと実装を統合し、トレーニング済みのモデルを迅速に展開します。
  • マルチパスグラフ最適化。
  • CPU MKLDNN 高性能アクセラレーション。
  • GPU は TensorRT をハイブリッド スケジュールできます。

パドルパドルコアフレームワーク

PaddlePaddle Fluid バージョンには、主に Python API、モデルの書き換えと最適化、トレーニング ランタイム、CPU/GPU サポートの 4 つの部分が含まれています。

Python API は、画像モデル、NLP モデル、音声モデル、推奨モデルなど、さまざまなモデルをサポートしています。 Python API は、ネットワーク低レベル API と実行低レベル API の 2 つのカテゴリに大まかに分けられます。ネットワーク低レベル API には、一般、制御、コンピューティング、最適化、IO、およびその他のタイプの API が含まれます。基盤となる実行 API には、トレーニング、予測、および配布 API が含まれます。

ネットワークAPI

  • 変数: Paddle 内の変数。Tensor、Parameter、または RPCClient になります。この概念は高級言語の変数に似ており、さまざまな型を持つことができます。
  • レイヤー: Paddle では、ユーザーがモデルを構成するための基本モジュールです。レイヤーは、1 つの計算または密接に関連する計算のグループを表します。レイヤーは、入力と出力を介して接続できます。
  • ブロック: ブロックは、通常 1 つ以上の連続したレイヤーで構成される連続したコンピューティング ロジックのセットを表します。通常、メインモデルはブロック0です。whileやifleseなどの制御フローでは、別のサブブロックも形成されます。
  • 制御フロー: Paddle は、if-else、while、switch などのプログラミング言語の一般的な制御フローをサポートします。モデルの柔軟な表現を確保するため。制御フローは通常、ブロックの形式で存在します。
  • プログラム: 完全なモデル実行単位を表す 1 つ以上のブロックが含まれます。実行者はプログラムを完全に実行し、読み取り/書き込み関係がユーザーの期待に応えていることを確認する必要があります。

実行API

実行API

実行API

トレーニング実行時間

トレーニング実行時間

ビデオメモリの最適化

  • インプレースアクティベーション
  • 逆方向には入力は必要なく、出力テンソルと入力テンソルは一貫しているため、入力を直接上書きしてビデオメモリのオーバーヘッドを節約できます。
  • メモリオプティマイザー
  • ライブ変数分析: 各オペレーションのライブインとライブアウトを分析して、将来再利用できる候補を見つけます。今後の op 出力では、一致する候補がある場合、その候補が再利用され、ビデオ メモリの割り当てが節約されます。

マルチカード並列SSAグラフ

  • モデル プログラムを、同時に実行できる中間表現 (IR) に変換します。静的単一割り当てを使用して変数にバージョンを追加し、正しい依存関係を取得します。ビルド パスに通信ノードと追加の依存関係を挿入します。
  • グラフの依存関係に基づく実行: 入力の準備ができているすべての演算子を同時に実行できます。演算子は複数の GPU でデータ並列に実行されます。マルチカードの勾配集約により、データ並列処理におけるパラメータの一貫性が確保されます。

マルチカードパラレルプロファイル

複数マシンの分散

マルチマシン配布では、リングと pserver の 2 つのモードがサポートされます。 ring: マルチマシン コミュニケーターを自動的に挿入し、マルチマシン トレーニングを同期し、高性能 RDMA 通信をサポートします。 pserver: トレーナー プログラムと pserver プログラムに分割されます。同期および非同期の分散トレーニングをサポートします。 Trainer 側では、勾配のマルチスレッド非同期送信を使用し、Pserver 側では、最適化のマルチスレッド非同期アプリケーションを使用します。

ユーザー フォーカス モデリング、フレームワークの自動マルチマシン展開:

  • 最適化演算子、パラメーター、勾配を発見します。
  • 分割してパラメータ サーバーに割り当てます。
  • トレーナーとパラメータ サーバーに送信および受信通信ノードを挿入します。
  • トレーナー上で実行するプログラムを生成します。
  • パラメータ サーバー上で実行されるプログラムを生成します。

複数マシンの分散通信とクラスタリング:

  • MPI、RPC およびその他の通信方法をサポートします。
  • 将来、RPC は brpc に置き換えられ、ネイティブ RPC + RDMA サポートが提供され、通信効率が大幅に向上します。
  • Kubernetes クラスターのデプロイメントをサポートします。

複数マシン分散におけるフォールトトレランス:

  • トレーナーまたは Pserver に障害が発生した場合、再起動してトレーニングを再開できます。
  • まもなく、pserver 側での分散チェックポイントとリカバリがサポートされ、大規模な埋め込みもサポートされる予定です。

疎データによる大規模分散モデルトレーニング

インターネットのシナリオでは、何億人ものユーザーが毎日数百億のユーザーデータを生成します。Baidu の検索および推奨システムは、大規模なスパースデータ分散モデルトレーニングの主なアプリケーションシナリオです。

このデータをどのように使用して、より優れたモデルをトレーニングし、ユーザーにサービスを提供するかは、機械学習フレームワークに高い要求を課します。主なものは次のとおりです:

  • サンプルサイズは大きく、週あたり 20T 以上です。
  • 特徴の次元は数千億、あるいは数兆に達することもあります。
  • T レベル、大きなパラメータ。
  • 更新は 1 時間ごとに行われ、高い適時性が求められます。

主な問題には次の 3 つの側面があります。

1. 特徴の数が数千億ある場合、幅 8 の埋め込みテーブルのパラメータ数は 2980.23 GB になります。

2. 機能 ID はハッシュ アルゴリズムを使用して計算され、int64 の範囲内に分散されるため、事前に特定することが困難です。

3. 入力特徴量は非常にスパースです。 (数千/数千億)

ルックアップテーブルを配布:

1. 多数のパラメータ: データ特性に基づく SelectedRows (キー値) データ構造、分散ストレージ、Pserver 側での保存/読み込み。

2. 機能 ID が不明: 自動成長。

3. 入力特徴のスパース性: パラメータ Prefetch。

システム全体のアーキテクチャ 1

システム全体のアーキテクチャ 2

アプリケーションの最適化

  • モデル平均オプティマイザー: トレーニング中に、履歴パラメータがウィンドウを通じて蓄積され、平均化されたパラメータが予測中に使用されるため、全体的な予測精度が向上します。
  • 可変シーケンス長: バッチ内のシーケンスの長さは変化するため、計算中にパディングは必要ありません。
  • 動的バッチ: トレーニング中に、各反復のバッチ サイズを変更できます。

モバイルディープラーニングの最適化

モバイル ディープラーニングには、低レイテンシ、トラフィック節約、スループット節約、プライバシー セキュリティという 4 つの大きな利点があります。同時に、パフォーマンス、モデル カバレッジ、ハードウェア チップ カバレッジ、SDK サイズ、メモリ使用量、モデル サイズ、32 ビット APP 制限など、多くの課題にも直面しています。

モバイル ディープラーニングのパフォーマンスに影響を与えるハードウェアには、次のものがあります。

  • CPU: キャッシュ プリフェッチ、ブロック アライメント、バス帯域幅使用量の削減、DL 予測の高速化。
  • GPU: 行列演算、DL 予測アクセラレーション、グラフィックス レンダリング アクセラレーション。
  • DSP/NPU: DSP は Qualcomm マルチメディア チップ、NPU は Huawei AI チップです。
  • FPGA: AIG は ARM と協力して AI フレームワークを開発し、セキュリティ監視やさまざまなカメラ シナリオを実装します。

モバイル ディープラーニングのパフォーマンスに影響を与えるツール:

  • ATrace - ftrace から統計を読み取り、データ分析ツールに渡します。
  • Gprof - gprof は関数がいつ何回呼び出されたかを正確に知らせます。
  • xcode-instrument OS X および iOS コードのパフォーマンスを動的に追跡および分析します。
  • streamline - コアデータを表示します。

モバイル デバイスでのディープラーニングのパフォーマンスに影響を与えるトリックには、コンパイル オプション、ループの展開、インライン化、分岐の優先順位、アセンブリなどがあります。

キャッシュの最適化

ネオ最適化

モバイル ディープラーニングのボリューム最適化には、コンパイル オプション、不要な導入の回避、ネットワークへの適応、probuf のカスタマイズまたは削除が含まれます。モバイル端末におけるディープラーニングのエネルギー効率の最適化は、DSP、GPU、AI プロセッサの 3 つの側面から始まります。

Baidu は、Huawei や ARM を含む多くのハードウェア メーカーと協力してきました。 Huaweiとの協力により、Baidu Visual Search SDKの検証に基づき、画像分類と被写体検出の面で、GoogLeNet-V3とsqueezenetの2つのネットワークCPUのパフォーマンスをNPUと比較しました。Huawei AIチップのNPU加速効果は顕著でした。

Baidu は ARM とも協力し、その成果を Paddle-Mobile に統合しました。Paddle-Mobile は Mali GPU 上で優れたパフォーマンスを発揮し、G71 mobilenet 1.0 実行時の自動切り替えを実現しています。

さらに、この公開クラスでは、Baidu の専門家がディープラーニング予測エンジン Anakin の最適化とディープラーニングの視覚化についても共有しました。また、Intel の人工知能製品部門のシニア マネージャーである Marcin Rysztowski 氏も、「Intel プラットフォームでの PaddlePaddle の最適化」について基調講演を行いました。公開授業全体は実用的な情報でいっぱいで、Baidu がディープラーニングの分野で実りある成果を達成したことは容易に理解できました。

開発者がディープラーニングをより効果的に学習できるようにするために、PaddlePaddle はオンラインとオフラインのコースとトレーニングのフルセットを確立したと理解されています。 PaddlePaddle Open Courses には、10 シリーズ、400 コース、累計学習時間 3,000 分のオンライン コース システムがあり、開発者の学習のあらゆる段階をカバーできます。

授業に参加できなかった友達は、後悔したり、イライラしたりする必要はありません。この公開授業のビデオは編集中で、PaddlePaddleの公式WeChatアカウントに更新されます。一緒に楽しみにしていましょう。

[51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください]

<<:  AIはワクチン業界に何をもたらすのでしょうか?

>>:  人工知能の 10 大トレンドのうち、予想もしなかったものはどれですか?

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

AIメモリに与える8つの優れたオープンソースの無料ベクターデータベース

今年、AI大規模モデルの応用は爆発的な成長を遂げました。その中でも、LangChainやHaysta...

シスコの調査:企業の25%以上が社内で生成AIの禁止を実施している

シスコが実施した調査によると、データプライバシーの面で生成AIに欠点があることを理解しているにもかか...

マッキンゼーのパートナー、カレル・エルート氏:「3×Simpler」は産業用ロボットのユーザーエクスペリエンスを向上させます

2年前、イタリアのテノール歌手アンドレア・ボチェッリがイタリアのピサにあるヴェルディ劇場でルッカ・フ...

12年後の人工知能と人間はどうなっているでしょうか? 900人の専門家の意見はこちら

[[253534]]編集:Tailang一部のアナリストは、2030年までに人々は複雑なデジタルシス...

...

自動化から拡張現実まで: 製造業を混乱させる 12 の革新的なテクノロジー トレンド

製造業は、自動車、電子機器、医療機器、機械、その他のシステムの部品を生産する上で重要な役割を果たして...

AI が加速的な進化を促進 Qualcomm AI & IoT 開発技術オープンデーが間もなく開催

携帯電話からウェアラブルデバイス、翻訳製品まで、人工知能は人々の日常生活に広く浸透しています。 5G...

この戦略は不安定なGANを安定させるのに役立ちます

敵対的生成ネットワーク (GAN) は、非常に幅広い応用が期待できる非常に強力なタイプのニューラル ...

Nature の調査: AI が「必需品」になったと考える科学者はわずか 4%

AI に関する論文数は劇的に増加していますが、本当に AI が「必須」であると考えている研究者はわ...

詳細な分析: AI がイノベーションを容易にする方法

開発手段。イノベーションの結果は、企業が市場のニーズを満たす新製品を継続的に設計・生産することを奨励...

JD.com は今後 10 年間で従業員の 50% を解雇するでしょうか?ジャック・マー氏も人工知能が仕事を奪うことについて言及している

最近、劉強東氏は、今後10年間でJD.comの従業員数を現在の16万人から8万人に減らし、1人当たり...

Huang が H100 を「ブースト」: NVIDIA が大規模モデル アクセラレーション パッケージを発表、Llama2 推論速度が 2 倍に

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

...

...