137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました!Baiduはパドルフライブロックノイズモデルを発売しました

深学習モデルの圧縮、利用できる別のツール。

最新のニュースは、4つの研磨バージョン後の年後に、Baiduは圧迫深度学習ツールの最新モデル発売しPaddleSlim1.0を

だけでなく、深い学習一般的に定量化するために使用されるモデル、カット、蒸留、モデル構造の検索は、そのような圧縮ハードウェアモデルなどの検索方法が挙げられます。

また、SDK百度の面に適用され、インビボ検出、同定およびので全体の操作プロセスにおいて、追跡、顔検出を完了するまでに0.3秒で、埋め込まれたデバイス上に実装することができます。

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

△  1百度の顔認識端子ヤモリ

モバイル組み込みデバイス側に配備強力な深いニューラルネットワーク、などのための各種の産業シーンでは、その特性は大きな助け、深いアルゴリズムコアの要件を学ぶにも、現在の業界のアプリケーションを提供しています。

しかしPaddleSlim1.0のために、これはその最新の機能のひとつです。

2019年最初のリリースの第一四半期と比較して、使いやすさ、モデル適応、展開の末、パフォーマンスなどの面でPaddleSlimが大幅に改善されました。

コア具現化する、以下の10の特性によって特徴付けられます。

パドルPaddleSlimV1.0プロジェクトアドレスをフライします。https://github.com/PaddlePaddle/PaddleSlim

カスタムYOLO蒸留方式で、リフレッシュCOCO精度検出タスク

蒸留は、コンピューティングリソースを節約の目的を達成するために有用な情報の複雑なネットワークのモデルは、行くために小さなネットワークに移動し、抽出されています。同時蒸留法(溶液手続きの流れ)蒸留法伝統とFSPに基づいて異なるタスク、カスタマイズのためのPaddleSlim1.0サポートは、また、蒸留の政策損失をサポートしています。

ImageNet分類タスクには、さらに加えてPaddleSlim1.0は共同で2%以上増加し、データ収集のCOCOターゲット検出精度に、蒸留YOLOシリーズモデルのパドル検出方式を開発し、MobileNetV2 2.1%の精度を向上させるであろう。

表1部、蒸留政策の結果

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

第二に、感度非破壊検出対象作物モデルに基づいて、切断精度が落ちることではなかったです

プルーニングモデルの効果を最大にするために、PaddleSlimは、PaddleSlim1.0サポートモデル感度マルチマシン、マルチスレッド並列計算加速プログラムをプルーニングネットワーク構造の感度に基づいて、以前のバージョンで達成しました。ユーザは、計算結果をクリッピング感度モデルに折れ線グラフを描き、そして適切な切削速度のセットから選択するか、直接切削速度の適切なセットの自動生成を提供するインタフェースPaddleSlimを呼び出すことができます。

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

△  2畳み込み感度折れ線グラフ層

最大の問題は、モデルが正確にカットして、すべてのネットワーク・ノードのコンボリューションを識別トリミングされ、通常の練習は、グローバルな視点を通過することですが、拡張性は強くありません。ネットワーク・ノードを横断するために使用PaddleSlim1.0は理論的には、これによりスケーラビリティを向上させる、ネットワークノードの様々なタイプを共有するために複雑なネットワークのタスクを横切ると同等のカットを畳み込むすべての関連ノードを識別するために、斜視図であります任意の複雑なネットワーク上でサポートすることができます。

ターゲット検出タスクで、次のことができ、個々のタスクが、精度が向上した後に剪定、剪定の大部分をモデルの精度を低下させることなく。

実験結果の感度に基づいて表2クリッピング方法

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

第三に、ネットワークは、量子化をサポートするように設定することができ、量子化オフライン新しい、モデルはスピードを持ち上げる倍数を予測します

固定小数点量子化は、加速度を計算するために、浮動小数点演算(のfloat32)の工程の前に、ニューラルネットワーク計算に整数オブジェクト(INT8)に量子化されます。PaddleSlim1.0の量子化された機能の点、及び構成可能ネットワーク量子化をサポートし、ユーザは、精度の損失を低減するために、ローカルネットワークが量子化された浮動小数点計算が進むと、すなわち感光性層を指定することができます。

トレーニングコストの削減、PaddleSlim1.0も追加オフライン定量化機能を定量化するためには、タスクのほとんどはまた、高い定量精度を達成することができます再電車せずに実行しました。

PaddleSlim1.0畳み込み支持層、完全に接続された層、活性層、バイアス層と他の層重み付けされていない量子。実験は、最高点は、モデルが予測展開枠組みパドルライトに基づいて、元の約1/4まで低減することができる量子化することを示し、異なるモデルが2.2倍の加速に1.7倍を実現することができます。

表3 INT8部分定着定量化訓練結果

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

第四に、新しいNASアーキテクチャは、より速く、より柔軟な構造検索します

PaddleSlim1.0は、より柔軟なNASのAPIを開く豊かな定義済みの検索方法やスペースを検索します。探索空間と完全に切り離さ検索戦略、ユーザーフレンドリーな検索戦略と探索空間を展開します。

戦略レベルの探索では、以前のバージョンは、既にSA(シミュレーテッドアニーリング、SAと呼ばれる)をサポートアルゴリズム、伝統的なRLアルゴリズムと比べて、収束は、より速くより少ない反復ステップです。SAは加速リニアその40GPU内のカードの検索速度を確保するために、分散検索戦略をサポートしています。

このアップグレードは、ワンショットNASの現在の超人気ネットワーク(ハイパーネット)が自動的に基づき、ワンショットNASスーパーネットワークのトレーニングを検索し、完全なデカップリングを検索する追加、柔軟に異なる制約に適合させることができる、スーパーネットワークトレーニングプロセスは、低メモリ使用量、すべての構造は大幅に時間のかかる検索を高速化、ネットワークの重みを介して共有するだけでなく、最終的に一貫性のネットワークのパフォーマンスと超高性能モデルを確保するために、自己の監督に基づいたコンセンサスアルゴリズムの一種を、開発しました。

探索空間でのレベルは、MobileNet、ResNet、インセプションと探索空間の多くの他のタイプに追加し、また、探索空間スタック検索の異なる種類の数をサポートし、ユーザは、検索スペースをカスタマイズすることができます。

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

△ 図3ワンショットネットワーク構造の検索原理

 

4 ImageNetタスク加速収益に表ワンショット検索

 

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

結果は、単一のカードSA検索戦略、10倍以上高速化を達成するために、単一のカードワンショットサーチ戦略に比べて、以下のことを示しました。

自動的に別のハードウェアに最適なモデルと一致するように、五の革新的なハードウェアの検索技術

異なるハードウェア・アーキテクチャの違いに起因して、煩雑な手作業アダプタハードウェアの必要性は、ハードウェアの検索は、特定のハードウェアの問題のために最適なモデル構造をカスタマイズし、ハードウェアのフィッティングプロセスを解決することです。

プロセスの最適なモデル構造の検索では、すぐに問題になっているモデルの実際のパフォーマンスを得るためにどのように解決すべき最初のハードウェア、伝統的なプは正確に実際のハードウェア環境へのモデルの性能を表していない、PaddleSlim1.0サポートの検索ベースのオペレータネットワーク遅延の推定方法。

ユーザが単にハードウェアオペレータ遅延テーブルと基づいてオペレータ生成されたネットワーク遅延テーブル、ネットワーク遅延評価に基づいて、ネットワーク構造は、迅速なハードウェアにネットワーク遅延を得ることができます。

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

△ 図4 SANAS原理とハードウェアの検索処理

(ImageNetタスクMobileNetV2に比べて)ハードウェアアクセラレーションの利益5各ハードウェアプラットフォームを使用して検索した後テーブル

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

第六に、新しい大規模なスケーラブルな知識蒸留フレームワークパンテオン

別のマシンまたは別のGPU上で蒸留達成するために、分散蒸留、教師と生徒をサポートしています。教師と生徒が大きすぎると避け、状況は実行されません表示されます。単一の蒸留画像分類タスクでは、この方法は、約50%を取った蒸留を減らすことができます。

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

△  5つの質量蒸留概略

セブン、分類、検出、セグメンテーション複数のシーン、自由な組み合わせ戦略の様々なサポート

PaddleSlim1.0は、最も高い圧縮率を達成するために組み合わせて圧縮戦略の様々なサポート。70%減少モデルの大きさを達成するために、分類タスクでは、正確には、1%増加しました。

表6 ImageNet分類タスク部分モデルの圧縮

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

ターゲット検出タスクでは、タスクは、プは43%減少し、リフティングCOCOに0.6%を達成します。

表7目標検出モデル圧縮モールド部

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

「 - >モデルの圧縮 - トレーニングモデル>予測デプロイ」から八、プロセス全体のアプリケーション、圧縮のモデルをシームレスにさまざまなハードウェアシーンに展開することができた後、

実現音生態フライプロペラ技術に基づいてPaddleSlim全体のアプリケーション・プロセスの、シームレスに様々なハードウェア環境を着陸圧縮モデル「 - - >モデルの圧縮トレーニングモデル>は、展開を予測します」。

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

△  6圧縮と展開プロセス

ターゲット検出モデル展開サーバと移動端末表8で処理されたデータ

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

試験データを示し、異なる移動端末装置の137%の127%から約MobileNetv1-YOLOv3速度。

表9 ImageNet性能の分類モデルの展開サーバーの一部とモバイル端末

137パーセントYOLOv3は10倍のパフォーマンス向上の検索を加速しました! Baiduはパドルフライブロックノイズモデルを発売しました

 

九、軽量インターフェイスのデザインは、非常に時間のかかるコーディングを減らし、各戦略のデカップリングを実装します

新しいインタフェース設計を実装PaddleSlim1.0、異なる圧縮アルゴリズムの方法の間の実装コードの独立したデカップリングは、それぞれの方法は、独立して使用することができるだけでなく、組み合わせて、大幅にコーディングかかる時間を短縮することができます。また、インターフェースデザインは、よりシンプルで、ユーザーは単に元のプロジェクトに次のコード行を追加する必要があり、あなたはすぐに圧縮モデルを実現することができます。

ここでは、分類モデルMobileNetV1画像を構成し、2つの切断された層が観察プを畳み込み前記トリミングコードは、次のことを示します:

# 构建网络
import paddle
import paddle.fluid as fluid
import paddleslim as slim
exe, train_program, val_program, inputs, outputs =  
      slim.models.image_classification("MobileNet", [1, 28, 28], 10, use_gpu=False)
print(“FLOPs before pruning: {}”.format(slim.analysis.flops(train_program)))

# 声明剪裁器
pruner = slim.prune.Pruner()

# 剪裁网络
pruned_program, _, _ = pruner.prune(train_program
fluid.global_scope(),
params=["conv2_1_sep_weights", "conv2_2_sep_weights"], 
ratios=[0.33] * 2,
place=fluid.CPUPlace())

# 查看FLOPs
print(“FLOPs before pruning: {}”.format(paddleslim.analysis.flops(train_program)))

します。https://aistudio.baidu.com/aistudio/projectdetail/309947あなたは完全なコードを理解し、利用したい場合は、完全なコードサンプル分類モデルチャネルカット画像を表示するには、以下のリンクを開いてください

します。https://aistudio.baidu.com/aistudio/projectdetail/308077あなたは、サンプルコードの切断についてもっと学びたいのであれば、高度な仕立てのコースを確認するには、以下のリンクを開いてください

完全なコードは、AI Studioの開発、リンクのアドレスを入力し、選択するためのオンライントレーニングプラットフォームBaiduのを実行することができますように、「ログAI Stuidoを - >フォークをクリック - > [スタートアップの項目」ボタンを押します。

テンは、完璧な英語の文書で、国際的な開発者やパートナーのために、より親しみやすいサポートを提供します

中国のドキュメントを改善し、英語の文書を追加し、グローバルPaddleSlim優しい開発者やパートナーのためのより多くのサポートを提供するために、同期の開発者の提案。

現在、PaddleSlimは、商業的にヤモリ顔認識、AI温度およびその他の製品の業界をリードするスイートに配備されています。15日Baiduのスターの開発者コンテスト、PaddleSlimモデルでは90の国のデュアルクラスの大学の%と1,800人以上の参加チームからの研究で使用される小型化のトーナメントのタイトル、重要なツールとして。

(//astar2019.baidu.com/index.html:HTTP Baiduのスターの開発者コンテストはもっと下のリンクを開きます)

将来的には、共同で最新技術のモデル小型化を模索するためにパドルPaddleSlim AIの開発者、愛好家やパートナーを飛行する準備ができて、AIは広く貢献し続け、産業分野で使用されています。

あなたは、関連するコンテンツをより飛ぶプロペラについてもっと知りたい場合は、次のドキュメントを参照してください。

公式サイトのアドレスします。https://www.paddlepaddle.org.cnフライパドルPaddleSlimプロジェクトアドレスします。https://github.com/PaddlePaddle/PaddleSlim

- END -

公開された472元の記事 ウォンの賞賛757 ビュー161万+

おすすめ

転載: blog.csdn.net/weixin_42137700/article/details/104834007