PowerPoint Presentation

Similar documents
PowerPoint Presentation

Product Brief 高速なコードを素早く開発 インテル Parallel Studio XE 2017 インテル ソフトウェア開発ツール 概要 高速なコード : 現在および次世代のプロセッサーでスケーリングする優れたアプリケーション パフォーマンスを実現します 迅速に開発 : 高速かつ安定し

AI 人工知能 高度なプログラミングをすることなく 人間の心理と関連した認識機能を実行するために 経験を基にした機械の学習する能力 人工知能 マシンラーニング長期間にわたってより多くのデータを使用することにより 性能が向上するアルゴリズム ディープラーニング多層ニューラル ネットワークが膨大な量のデ

インテル® Parallel Studio XE 2013 Linux* 版インストール・ガイドおよびリリースノート

インテル® Parallel Studio XE 2013 Windows* 版インストール・ガイドおよびリリースノート

インテル® Parallel Studio XE 2015 Composer Edition for Linux* インストール・ガイドおよびリリースノート

PowerPoint Presentation

インテル® Fortran Studio XE 2011 SP1 Windows* 版インストール・ガイドおよびリリースノート

インテル MKL を使用した小行列乗算の高速化 インテル MKL チーム

Intel Software Presentation Template

Click to edit title

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

Silk Central Connect 15.5 リリースノート

Mission Statement

Microsoft PowerPoint - Intel Parallel Studio XE 2019 for Live

スレッド化されていないアプリケーションでも大幅なパフォーマンス向上を容易に実現

目次 1 はじめに 製品に含まれるコンポーネント 動作環境... 4 オペレーティング システム... 4 Microsoft Visual Studio* 製品 製品のダウンロード 製品版をインストールする場合 評価版を

IBM Rational Software Delivery Platform v7.0 What's

インテル(R) Visual Fortran コンパイラ 10.0

インテル® VTune™ Amplifier XE を使用したストレージ向けの パフォーマンス最適化

Microsoft* Windows* 10 における新しい命令セットの利用

Tutorial-GettingStarted

Parallel Studio XE Parallel Studio XE hotspot ( )

インテル Parallel Studio XE 2017 Composer Edition for Fortran Windows* インストール ガイド Rev (2017/06/08) エクセルソフト株式会社

サーバプラットフォーム「BladeSymphony」、「HA8000シリーズ」の新モデルを販売開始

目次 1 はじめに 製品コンポーネント 動作環境 インストールを行う前に 製品版と評価版 製品のインストール手順 製品の登録 製品のダウンロード ライセンスファイルの取得

新しい 自律型データ ウェアハウス

Microsoft Word - HOKUSAI_system_overview_ja.docx

Jackson Marusarz 開発製品部門

Microsoft Word - IVF15.0.1J_Install.doc

(速報) Xeon E 系モデル 新プロセッサ性能について

Microsoft PowerPoint Quality-sama_Seminar.pptx

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

バトルカードでゲーマーやエンスージアストへの販売促進

インテルが加速させるコンピューター・ビジョン

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

InfiniDB最小推奨仕様ガイド

Veritas System Recovery 16 Management Solution Readme

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

高速なコードを 迅速に開発 インテル Parallel Studio XE 2016 最適化に関する注意事項 2015 Intel Corporation. 無断での引用 転載を禁じます * その他の社名 製品名などは 一般に各社の表示 商標または登録商標です パフォーマンスを最大限に引き出そう

Veritas System Recovery 16 Management Solution Readme

Trend Micro Safe Lock 2.0 Patch1 管理コンソールのシステム要件 OS Windows XP (SP2/SP3) [Professional] Windows 7 (SP なし /SP1) [Professional / Enterprise / Ultimate] W

KSforWindowsServerのご紹介

Oracle Enterprise Linux 5における認証

インテル C++ および Fortran コンパイラー for Linux*/OS X*/Windows

CPU Levels in the memory hierarchy Level 1 Level 2... Increasing distance from the CPU in access time Level n Size of the memory at each level 1: 2.2

Oracle Cloud Adapter for Oracle RightNow Cloud Service

使用する前に

システム要件 Trend Micro Safe Lock 2.0 SP1 Trend Micro Safe Lock 2.0 SP1 エージェントのシステム要件 OS Client OS Server OS Windows 2000 (SP4) [Professional] (32bit) Wind

ビッグデータやクラウドのシステム基盤向けに処理性能を強化した「BladeSymphony」および「HA8000シリーズ」の新製品を販売開始

VXPRO R1400® ご提案資料

ホワイト ペーパー EMC VFCache により Microsoft SQL Server を高速化 EMC VFCache EMC VNX Microsoft SQL Server 2008 VFCache による SQL Server のパフォーマンスの大幅な向上 VNX によるデータ保護 E

PowerPoint Presentation

テクノロジーのビッグトレンド 180 nm nm nm nm nm On 2007 Track 32 nm には 150 億台の端末がネットワーク接続 * * "Gantz, John. "The Embedded

Click to edit title

Joint Content Development Proposal Tech Docs and Curriculum

IBM Presentations: Smart Planet Template

インテル® キャッシュ・アクセラレーション・ソフトウェア (インテル® CAS) Linux* 版 v2.8 (GA)

Zinstall WinWin 日本語ユーザーズガイド

Intel MPI Library Linux

チュートリアル: インテル® MPI ライブラリー向け MPI Tuner (Windows*)

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

Microsoft PowerPoint - sales2.ppt

ベース0516.indd

GeoMedia 2013 Desktop Features

セットアップカード

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Intel_ParallelStudioXE2013_ClusterStudioXE2013_Introduction.pptx

Microsoft Word - p2viewer_plus_jpn20.doc

Oracle SQL Developer Data Modeler

1 つのツールを実行するだけで違いが出るのでしょうか? はい 多くの場合 複雑なバグを発見して アプリケーションの安定性を向上させることができます このガイドでは インテル Inspector XE 解析ツールを使用して コードの問題を排除する方法を説明します これにより コードの信頼性が向上し 開

内容 インテル Advisor ベクトル化アドバイザー入門ガイド Version インテル Advisor の利用 ワークフロー... 3 STEP1. 必要条件の設定... 4 STEP2. インテル Advisor の起動... 5 STEP3. プロジェクトの作成

HPE Integrity NonStop NS2300 サーバー

共通マイクロアーキテクチャ 富士通はプロセッサー設計に共通マイクロアーキテクチャを導入し メインフレーム UNIX サーバーおよびスーパーコンピューターそれぞれの要件を満たすプロセッサーの継続的かつ効率的な開発を容易にしている また この取り組みにより それぞれの固有要件を共通機能として取り込むこと

Release Note for Recording Server Monitoring Tool V1.1.1 (Japanese)

Microsoft Word - quick_start_guide_16 1_ja.docx

tokyo_t3.pdf

2.1 インテル マイクロアーキテクチャー Haswell インテル マイクロアーキテクチャー Haswell は インテル マイクロアーキテクチャー Sandy Bridge とインテル マイクロアーキテクチャー Ivy Bridge の成功を受けて開発された この新しいマイクロアーキテクチャーの

― ANSYS Mechanical ―Distributed ANSYS(領域分割法)ベンチマーク測定結果要約

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

システム要件 Trend Micro Safe Lock Trend Micro Safe Lock 2.0 エージェントのシステム要件 OS Client OS Server OS Windows 2000 (SP4) [Professional] (32bit) Windows XP (SP1/

インテル® Parallel Studio XE 2017 Composer Edition for Fortran Windows - インストール・ガイド -

性能を強化した 第 12 世代 Dell PowerEdge サーバの RAID コントローラ Dell PERC H800 と PERC H810 の OLTP ワークロード性能比較 ソリューション性能分析グループ Luis Acosta アドバンストストレージエンジニアリング Joe Noyol

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ

b4-deeplearning-embedded-c-mw

White Paper 高速部分画像検索キット(FPGA アクセラレーション)

インテル(R) Visual Fortran Composer XE

機能紹介:コンテキスト分析エンジン

Intel Integrated Performance Premitives 4.1 Linux

IntelR Compilers Professional Editions

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~

目次 はじめに Introduction Analyzing Big Data Vectorwise and Hadoop Environments Vectorwise Hadoop Connector Perform

AWS Client VPN - ユーザーガイド

P P P P P P P OS... P P P P P P

高速なコードを素早く開発 インテル Parallel Studio XE 設計 ビルド 検証 チューニング C++ C Fortran Python* Java* 標準規格に基づく並列モデル : OpenMP* MPI インテル TBB バージョン 2017 の主な機能 インテル Distribut

appli_HPhi_install

Apache Arrow 須藤功平株式会社クリアコード RubyData Tokyo Meetup Apache Arrow Powered by Rabbit 2.2.2

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

IBM i Access Client Solutions データ転送の移行 新機能ご紹介 1 IBM I ACCESS CLIENT SOLUTIONS IBM i Access Client Solutions ( 以下 ACS) は IBM i Access 製品ファミ

Transcription:

2016 年 11 月

マシンラーニング ソフトウェアの課題 オープンソースのマシンラーニング フレームワークやライブラリーは最新のインテル アーキテクチャー ベースのシステム向けに最適化されていないことがある フレームワークは設定および利用が困難 データセンターでのモデルの訓練からエンドポイント システムの配備までヘテロジニアス ハードウェアをターゲットにする必要がある データセンター エンドポイント 2

マシンラーニング : さらなる洞察を提供 さまざまな業界で革新を促進し競争力を向上 ソリューションさまざまな業界に対応 ツール / プラットフォーム配備を促進 Trusted Analytics Platform インテル Deep Learning SDK ( 訓練と配備 ) AI を使用して成功するための基礎を提供 最適化されたフレームワーク配備を単純化 ライブラリー / 言語最適化されたビルディング ブロック インテル MKL/ インテル MKL-DNN インテル DAAL インテル Distribution for Python* ハードウェア テクノロジー広範でクロス互換のポートフォリオ + ネットワーク + メモリー + ストレージ データセンター エンドポイント 3

内容 インテル マス カーネル ライブラリー ( インテル MKL) の概要 インテル MKL 2017 のディープラーニング向けニューラル ネットワーク プリミティブ インテル MKL-DNN ( オープンソース ) について インテル Data Analytics Acceleration Library ( インテル DAAL) インテル DAAL の活用例 : 手書き数字認識 インテル Deep Learning SDK について 4

インテル マス カーネル ライブラリー ( インテル MKL) 高度にスレッド化された数学ルーチン パフォーマンス パフォーマンス パフォーマンス! 業界トップレベルの数学ライブラリー 科学 工学 データ処理分野で広範に使用されている 現在および次世代のインテル プロセッサー向けにチューニング済み EDC North America Development Survey 2016, Volume I 多くの数学ライブラリー ユーザーはほかのライブラリーよりもインテル MKL に依存している インテルのエンジニアリング アルゴリズムのエキスパート インテル互換プロセッサー 最適化されたコードパスを自動ディスパッチ 過去のインテル プロセッサー 現在のインテル プロセッサー 将来のインテル プロセッサー マルチプロセッサーを認識 クロスプラットフォームをサポート ベクトル化 スレッド化 分散マルチプロセッサーを認識 6

Performance (GFlops) Performance (GFlops) インテル MKL はインテル アーキテクチャーのパフォーマンスを最大限に活用 DGEMM インテル Performance MKL と ATLAS* Boost by のusing DGEMM Intel パフォーマンスの比較 MKL vs. ATLAS* インテル Intel Core Core Processor i7-4770k i7-4770k プロセッサーインテル Intel Xeon Xeon Processor プロセッサー E5-2699 E5-2699 v3 v3 200 1500 150 1000 100 50 0 64 80 96 104 112 120 128 144 160 176 192 200 208 224 240 256 384 Matrix size (M = 10000, N = 6000, K = 64,80,96,, 384) Intel MKL - 1 thread Intel MKL - 2 threads Intel MKL - 4 threads ATLAS - 1 thread ATLAS - 2 threads ATLAS - 4 threads 500 0 256 300 450 800 1000 1500 2000 3000 4000 5000 6000 7000 8000 Matrix size (M = N) Intel MKL - 1 thread Intel MKL - 18 threads Intel MKL - 36 threads ATLAS - 1 thread ATLAS - 18 threads ATLAS - 36 threads Configuration Info - Versions: Intel Math Kernel Library (Intel MKL) 11.3, ATLAS* 3.10.2; Hardware: Intel Xeon Processor E5-2699v3, 2 Eighteen-core CPUs (45MB LLC, 2.3GHz), 64GB of RAM; Intel Core Processor i7-4770k, Quad-core CPU (8MB LLC, 3.5GHz), 8GB of RAM; Operating System: RHEL 6.4 GA x86_64; Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. * Other brands and names are the property of their respective owners. Benchmark Source: Intel Corporation Optimization Notice: Intel s compilers may or may not optimize to the same degree for non-intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #20110804. 7

パフォーマンス (GFlops) パフォーマンス (GFlops) インテル MKL 2017 のパフォーマンス DGEMM のパフォーマンスインテル Xeon プロセッサー E5-2699 v4 DGEMM のパフォーマンスインテル Xeon Phi プロセッサー 7250 1400 2500 1200 2000 1000 800 1500 600 1000 400 200 0 500 0 行列サイズ (M = N) 行列サイズ (M = N) インテル MKL - 1 スレッド インテル MKL - 44 スレッド インテル MKL - 22 スレッド インテル MKL - 16 スレッド インテル MKL - 68 スレッド インテル MKL - 34 スレッド システム構成 - バージョン : インテル MKL 2017 ハードウェア : インテル Xeon プロセッサー E5-2699 v4 2 x 22 コア (55MB スマートキャッシュ 2.20GHz) 64GB RAM; インテル Xeon Phi プロセッサー 7250 68 コア (34MB L2 キャッシュ 1.40GHz) 96GB DDR4 RAM および 16GB MCDRAM オペレーティング システム : RHEL 7.2 GA x86_64 性能に関するテストに使用されるソフトウェアとワークロードは 性能がインテル マイクロプロセッサー用に最適化されていることがあります SYSmark* や MobileMark* などの性能テストは 特定のコンピューター システム コンポーネント ソフトウェア 操作 機能に基づいて行ったものです 結果はこれらの要因によって異なります 製品の購入を検討される場合は 他の製品と組み合わせた場合の本製品の性能など ほかの情報や性能テストも参考にして パフォーマンスを総合的に評価することをお勧めします ベンチマークの出典 : インテルコーポレーション : インテル コンパイラーでは インテル マイクロプロセッサーに限定されない最適化に関して 他社製マイクロプロセッサー用に同等の最適化を行えないことがあります これには インテル ストリーミング SIMD 拡張命令 2 インテル ストリーミング SIMD 拡張命令 3 インテル ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します インテルは 他社製マイクロプロセッサーに関して いかなる最適化の利用 機能 または効果も保証いたしません 本製品のマイクロプロセッサー依存の最適化は インテル マイクロプロセッサーでの使用を前提としています インテル マイクロアーキテクチャーに限定されない最適化のなかにも インテル マイクロプロセッサー用のものがあります この注意事項で言及した命令セットの詳細については 該当する製品のユーザー リファレンス ガイドを参照してください 注意事項の改訂 #20110804 8

インテル MKL 2017 のコンポーネント New 線形代数 高速フーリエ変換 (FFT) ベクトル演算 サマリー統計 その他 ディープ ニューラル ネットワーク BLAS LAPACK ScaLAPACK スパース BLAS スパースソルバー 反復法 PARDISO クラスター スパース ソルバー 多次元 FFTW インターフェイス クラスター FFT 三角関数 双曲線 指数 対数 べき乗 平方根 ベクトル RNG 尖度 変化係数 順序統計量 最小 / 最大 分散 / 共分散 スプライン 補間 信頼区間 高速ポアソンソルバー 畳み込み プーリング 正規化 ReLU ソフトマックス 9

Caffe インテル MKL とインテル MKL-DNN によるディープラーニング フレームワークの最適化 ディープラーニング フレームワーク インテル MKL DNN プリミティブ + さまざまな種類のほかの数学関数 インテル MKL-DNN DNN プリミティブ C DNN API C/C++ DNN API バイナリー ディストリビューション オープンソース DNN コード * インテル MKL インテル MKL-DNN コミュニティー ライセンスインテル Parallel Studio XE の一部としてインテル プレミアサポートを利用可能 DNN プリミティブを広範に利用 個々のフレームワークに限定されない Apache* 2.0 ライセンス フレームワークの統合に必要な複数のバージョンの DNN プリミティブ インテル Xeon プロセッサー インテル Xeon Phi 製品ファミリー インテル FPGA 四半期ごとにアップデートをリリース インテル MKL のリリースに先行して開発 * GEMM 行列乗算ビルディング ブロックはバイナリーです 10

インテル MKL 2017 のディープ ニューラル ネットワーク (DNN) プリミティブ 演算 アルゴリズム アクティベーション ReLU 正規化 バッチ 局所反応 プーリング 最大 最小 平均 畳み込み 全結合 直接 3 次元バッチ畳み込み 内積 内積計算のフォワード / バックワード伝播 データ操作 レイアウト変換 分割 連結 和 スケール 11

インテル MKL の DNN プリミティブの特長 既存の DNN フレームワークで使用できる単純な C API IA 向けに最適化されたパフォーマンスを一般的な画像認識トポロジーに提供 : AlexNet Visual Geometry Group (VGG) GoogLeNet ResNet 性能に関するテストに使用されるソフトウェアとワークロードは 性能がインテル マイクロプロセッサー用に最適化されていることがあります SYSmark* や MobileMark* などの性能テストは 特定のコンピューター システム コンポーネント ソフトウェア 操作 機能に基づいて行ったものです 結果はこれらの要因によって異なります 製品の購入を検討される場合は 他の製品と組み合わせた場合の本製品の性能など ほかの情報や性能テストも参考にして パフォーマンスを総合的に評価することをお勧めします 詳細については http://www.intel.com/performance ( 英語 ) を参照してください システム構成 : インテル Xeon プロセッサー E5-2699 v4 (2 ソケット 1 ソケットあたり 22 コア 2.20GHz) 128GB メモリー Red Hat* Enterprise Linux* 6.7 BVLC Caffe インテル向け Caffe フレームワーク インテル MKL 11.3.3 インテル MKL 2017 インテル Xeon Phi プロセッサー 7250 (68 コア 1.40GHz 16GB MCDRAM) 128GB メモリー Red Hat* Enterprise Linux* 6.7 インテル向け Caffe フレームワーク インテル MKL 2017 すべての数字はデータ操作を考慮しないで測定されたものです 12

科学 / 工学 Web/SNS ビジネス インテル Data Analytics Acceleration Library ( インテル DAAL) 業界最先端のインテル アーキテクチャーに対応した マシンラーニングのすべての段階をカバーする基本的なアルゴリズムのデータ解析アクセラレーション ライブラリー 前処理変換解析モデリング検証意思決定 圧縮 ( 展開 ) 外れ値検出正規化 PCA 統計モーメント分散行列 Pp-QR SVD コレスキーアプリオリソート リッジ線形回帰ナイーブベイズ SVM 分類器のブースティング K 平均法 EM GMM 協調フィルタリング ニューラル ネットワーク 14

問題ステートメント データソース ファイナンス ソーシャルメディア マーケティング IoT 製造 SQL ストア NoSQL ストア インメモリー ストア コネクター データマイニング 推薦エンジン ビッグデータ解析 Spark* MLLib 現在の一般的な手法 最先端のハードウェアで実行 数学ライブラリーを Netlib-Java* 寄せ集めて構築 ハードウェアのパフォーマンス機能を十分に活用できない JNI Breeze JVM 顧客行動モデリング Netlib BLAS BI 分析 リアルタイム解析 制限されたパフォーマンス 多くの層に依存 ハードウェア投資に対する ROI が低い ビッグデータのフレームワーク : Hadoop* Spark* Cassandra* など 15

適切なソリューション データソース ファイナンス ソーシャルメディア マーケティング IoT 製造 SQL ストア NoSQL ストア インメモリー ストア コネクター データマイニング 推薦エンジン ビッグデータ解析適切な手法 最先端のハードウェアで実行 1 つのライブラリーでデータ解析のすべての段階をカバー ハードウェア向けに最適化 顧客行動モデリング BI 分析 リアルタイム解析 最適化されたパフォーマンス より単純な開発と配備 ハードウェア投資に対する ROI が高い ビッグデータのフレームワーク : Hadoop* Spark* Cassandra* など 16

インテル DAAL が適している分野 データソース ファイナンス SQL ストア データマイニング 推薦エンジン 顧客行動モデリング BI 分析 リアルタイム解析 ソーシャルメディア マーケティング NoSQL ストア コネクター インテル DAAL エンドツーエンドのデータ アプリケーションの作成 C++ Java* Python* API IoT 製造 インメモリー ストア ビッグデータのフレームワーク : Hadoop* Spark* Cassandra* など 17

インテル DAAL と Spark* MLLib 8 ノードクラスターにおける K 平均法パフォーマンスの比較 18

インテル DAAL のコンポーネント データ管理 データ表現およびアクセス向けのインターフェイスとさまざまなデータソース / フォーマット (HDFS SQL CSV KDB+ ユーザー定義データソース / フォーマット ) のコネクター データ処理アルゴリズム データの取得からデータマイニング マシンラーニングまで すべてのデータ解析フェーズに対応した最適化された解析ビルディング ブロック データソース 圧縮 / 展開 数値テーブル シリアル化 / 逆シリアル化 データモデリング モデル表現のデータ構造 モデルベースの予測と結論を引き出す操作 19

アルゴリズムバッチ分散オンライン 記述統計 低次モーメント クォンタイル / ソート 統計関係相関 / 分散共分散 ( コサイン 相関 ) 距離行列 SVD 行列分解 コレスキー QR 回帰線形 / リッジ回帰 多項式ナイーブベイズ 分類 SVM (2 クラスおよび多クラス ) ブースティング (Ada Brown Logit) 相関ルールマイニング ( アプリオリ ) 異常検知 ( 単変量 / 多変量 ) 教師なし学習 PCA K 平均法 EM (GMM) 推薦システム ALS ディープラーニング 全結合 畳み込み 正規化 アクティベーション層 モデル NN 最適化ソルバー 20

インテル DAAL の処理モード バッチ処理 オンライン処理 分散処理 R 1 D 1 D k D k- 1 アペンド D 1 D 3 D 2 D 1 S i,r i D 2 R 2 R R = F(D 1,,D k ) S i+1 = T(S i,d i ) R i+1 = F(S i+1 ) D k R k R = F(R 1,,R k ) 21

インテル DAAL 2017 の主な機能 ニューラル ネットワーク API Python* API (PyDAAL) Anaconda を利用して簡単にインストール インテル Distribution for Python* 2017 GitHub* のオープンソース プロジェクト GitHub* サイト : https://github.com/01org/daal ( 英語 ) 22

手書き数字認識 23

手書き数字認識 10 種類の数字認識向けに多クラス SVM を訓練 3,823 の事前処理訓練データ データの入手先 http://archive.ics.uci.edu/ml/datasets/optical+recognition+of+handwritten+digits ( 英語 ) 同一データ プロバイダーの 1,797 のテストデータで 99.6% の精度を達成 Confusion matrix: 177.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 0.000 0.000 181.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 0.000 0.000 2.000 173.000 0.000 0.000 0.000 0.000 1.000 1.000 0.000 0.000 0.000 0.000 176.000 0.000 1.000 0.000 0.000 3.000 3.000 0.000 1.000 0.000 0.000 179.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 0.000 0.000 180.000 0.000 0.000 0.000 2.000 0.000 0.000 0.000 0.000 0.000 0.000 180.000 0.000 1.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 170.000 1.000 8.000 0.000 3.000 0.000 0.000 0.000 0.000 0.000 0.000 166.000 5.000 0.000 0.000 0.000 2.000 0.000 1.000 0.000 0.000 2.000 175.000 Average accuracy: 0.996 Error rate: 0.004 Micro precision: 0.978 Micro recall: 0.978 Micro F-score: 0.978 Macro precision: 0.978 Macro recall: 0.978 Macro F-score: 0.978 24

手書き文字の訓練 void trainmodel() 数値テーブルを作成 { /* Initialize FileDataSource<CSVFeatureManager> to retrieve input data from.csv file */ FileDataSource<CSVFeatureManager> traindatasource(traindatasetfilename, DataSource::doAllocateNumericTable, DataSource::doDictionaryFromContext); /* Load data from the data files */ traindatasource.loaddatablock(ntrainobservations); /* Create algorithm object for multi-class SVM training */ multi_class_classifier::training::batch<> algorithm; アナログ オブジェクトを作成 algorithm.parameter.nclasses = nclasses; algorithm.parameter.training = training; 入力とパラメーターを設定 /* Pass training dataset and dependent values to the algorithm */ algorithm.input.set(classifier::training::data,traindatasource.getnumerictable()); /* Build multi-class SVM model */ algorithm.compute(); 計算 } /* Retrieve algorithm results */ trainingresult = algorithm.getresult(); 学習したモデルを /* Serialize the learned model into a disk file */ シリアル化 ModelFileWriter writer("./model"); writer.serializetofile(trainingresult->get(classifier::training::model)); 25

手書き文字の予測 void testdigit() { /* Initialize FileDataSource<CSVFeatureManager> to retrieve the test data from.csv file */ FileDataSource<CSVFeatureManager> testdatasource(testdatasetfilename, DataSource::doAllocateNumericTable, DataSource::doDictionaryFromContext); testdatasource.loaddatablock(1); /* Create algorithm object for prediction of multi-class SVM values */ multi_class_classifier::prediction::batch<> algorithm; algorithm.parameter.prediction = prediction; /* Deserialize a model from a disk file */ ModelFileReader reader("./model"); services::sharedptr<multi_class_classifier::model> pmodel(new multi_class_classifier::model()); reader.deserializefromfile(pmodel); 学習したモデルを逆シリアル化 /* Pass testing dataset and trained model to the algorithm */ algorithm.input.set(classifier::prediction::data, testdatasource.getnumerictable()); algorithm.input.set(classifier::prediction::model, pmodel); /* Predict multi-class SVM values */ algorithm.compute(); /* Retrieve algorithm results */ predictionresult = algorithm.getresult(); } /* Retrieve predicted labels */ predictedlabels = predictionresult->get(classifier::prediction::prediction); 26

スピードアップ インテル プロセッサーにおけるインテル DAAL と scikit-learn の SVM パフォーマンスの比較 12 11.25X 10 8 6.77X 6 4 2 0 訓練 予測 システム構成 - バージョン : インテル DAAL 2016 U2 scikit-learn 0.16.1 ハードウェア : インテル Xeon プロセッサー v3 @ 2.50GHz 24 コア 30MB L3 キャッシュ 256GB RAM オペレーティング システム : Red Hat* Enterprise Linux* Server 6.6 (64 ビット ) 性能に関するテストに使用されるソフトウェアとワークロードは 性能がインテル マイクロプロセッサー用に最適化されていることがあります SYSmark* や MobileMark* などの性能テストは 特定のコンピューター システム コンポーネント ソフトウェア 操作 機能に基づいて行ったものです 結果はこれらの要因によって異なります 製品の購入を検討される場合は 他の製品と組み合わせた場合の本製品の性能など ほかの情報や性能テストも参考にして パフォーマンスを総合的に評価することをお勧めします ベンチマークの出典 : インテルコーポレーション : インテル コンパイラーでは インテル マイクロプロセッサーに限定されない最適化に関して 他社製マイクロプロセッサー用に同等の最適化を行えないことがあります これには インテル ストリーミング SIMD 拡張命令 2 インテル ストリーミング SIMD 拡張命令 3 インテル ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します インテルは 他社製マイクロプロセッサーに関して いかなる最適化の利用 機能 または効果も保証いたしません 本製品のマイクロプロセッサー依存の最適化は インテル マイクロプロセッサーでの使用を前提としています インテル マイクロアーキテクチャーに限定されない最適化のなかにも インテル マイクロプロセッサー用のものがあります この注意事項で言及した命令セットの詳細については 該当する製品のユーザー リファレンス ガイドを参照してください 注意事項の改訂 #20110804 27

インテル DAAL + インテル MKL = 補完的なビッグデータ ライブラリー ソリューション インテル MKL C および Fortran API プリミティブ ホモジニアス データ ( 単精度または倍精度 ) を処理 中間計算の型は入力データの型により定義 ( 一部のライブラリー領域ではより高い精度を使用可能 ) インテル DAAL Python* Java* C++ API 高水準 ヘテロジニアス データ ( 整数と浮動小数点の混在 ) を処理 内部変換はライブラリーで隠蔽 中間計算の型は入力データの型ごとに設定可能 インテル MKL の多くはバッチ計算モードのみサポート 3 つの計算モード : バッチ ストリーミング 分散 クラスター機能で MPI を内部的に使用 開発者が分散型計算の通信手法を選択 (Spark* MPI など ) コードサンプルを利用可能 28

インテル Deep Learning ソフトウェア スタック Caffe インテル Deep Learning SDK インテル向けフレームワーク インテル Deep Learning SDK ディープラーニング ソリューションの設計 訓練 配備を促進する無料のツール インテル向けフレームワーク 最も広く利用されているディープラーニング フレームワークを単一ノードおよび複数ノード プロセッサー向けに最適化 インテル MKL インテル DAAL インテル MKL は インテルのハードウェアのパフォーマンスを最大限に引き出し インテルのすべてのアクセラレーター向けに共通のインターフェイスを提供 インテル DAAL は インテル プラットフォームにおけるマシンラーニング アプリケーション向けの最適化されたビルディング ブロックを提供 インテル Xeon プロセッサー インテル Xeon Phi 製品ファミリー インテル FPGA インテルのハードウェア向けに最適化された ML/DL フレームワークをもたらすインテル ライブラリー 30

インテル Deep Learning SDK ディープラーニング訓練ツール ディープラーニング配備ツール configure_nn(fpga/cve, ) allocate_buffer( ) fpga_conv(input,output); fpga_conv( ); mkl_softmax( ); mkl_softmax( ); IA 向けに最適化されたフレームワークをインストール / 選択 グランドトゥルースを使用してデータセットを準備 / 作成 IA 向けに最適化されたハイパーパラメーターを使用してモデルを設計 / 訓練 候補モデルの訓練状況を監視 結果を評価して反復 訓練されたモデルをインポート ( インテルまたはサードパーティーのハードウェアで訓練 ) ターゲットのインテル ハードウェアでの推論のためにモデルを圧縮 ハードウェア固有のランタイムを使用してより速い推論を生成 システムソフト / アプリケーション スタックと統合してチューニング 結果を評価して反復 software.intel.com/deep-learning-sdk ( 英語 ) からテクニカルプレビューを入手可能 31

インテル Deep Learning SDK の利点ディープラーニング ソリューションを促進 プラグ & 訓練 / 配備 パフォーマンスを最大化 生産性を向上 インテルのハードウェアで一般的なディープラーニング フレームワークを使用してディープラーニング モデルのインストールと準備を単純化 インテル アーキテクチャーでの訓練と推論向けにパフォーマンスを最適化 訓練と推論のために市場投入までの時間を短縮 モデルの精度を向上 総所有コストを削減 32

まとめ インテル MKL とインテル DAAL は インテル プラットフォームにおけるデータ解析およびマシンラーニング アルゴリズム向けのハイパフォーマンスな最適化されたビルディング ブロックを提供する インテル MKL 2017 の DNN プリミティブとインテル DAAL 2017 のニューラル ネットワーク API を利用すると ディープラーニング アプリケーションのパフォーマンスが向上する インテル Deep Learning SDK は ディープラーニング ソリューションの開発 訓練 配備を促進するツールを提供する 33

関連情報 インテルのマシンラーニング ストラテジー https://software.intel.com/en-us/machine-learning ( 英語 ) インテル MKL はインテル Parallel Studio XE およびインテル System Studio の一部として利用可能 https://software.intel.com/en-us/intel-mkl-support ( 英語 ) インテル DAAL はスタンドアロン インテル Parallel Studio XE の一部 オープンソースとして利用可能 https://software.intel.com/en-us/intel-daal-support ( 英語 ) https://github.com/01org/daal ( 英語 ) インテル ライブラリーのコミュニティー ライセンス https://registrationcenter.intel.com/ja/forms/?productid=2558&licensetype=2 インテル MKL による Caffe の有効化 https://github.com/intel/caffe ( 英語 ) 34

法務上の注意書きと 本資料の情報は 現状のまま提供され 本資料は 明示されているか否かにかかわらず また禁反言によるとよらずにかかわらず いかなる知的財産権のライセンスも許諾するものではありません 製品に付属の売買契約書 Intel's Terms and Conditions of Sale に規定されている場合を除き インテルはいかなる責任を負うものではなく またインテル製品の販売や使用に関する明示または黙示の保証 ( 特定目的への適合性 商品性に関する保証 第三者の特許権 著作権 その他 知的財産権の侵害への保証を含む ) をするものではありません 性能に関するテストに使用されるソフトウェアとワークロードは 性能がインテル マイクロプロセッサー用に最適化されていることがあります SYSmark* や MobileMark* などの性能テストは 特定のコンピューター システム コンポーネント ソフトウェア 操作 機能に基づいて行ったものです 結果はこれらの要因によって異なります 製品の購入を検討される場合は 他の製品と組み合わせた場合の本製品の性能など ほかの情報や性能テストも参考にして パフォーマンスを総合的に評価することをお勧めします Intel インテル Intel ロゴ Intel Inside Intel Inside ロゴ Intel Atom Intel Atom Inside Intel Core Core Inside Xeon Xeon Inside Intel Xeon Phi Arria Arria ロゴは アメリカ合衆国および / またはその他の国における Intel Corporation の商標です Google および Google ロゴは Google Inc. の登録商標または商標です Microsoft および Microsoft Corporate Composite Logo は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です インテル コンパイラーでは インテル マイクロプロセッサーに限定されない最適化に関して 他社製マイクロプロセッサー用に同等の最適化を行えないことがあります これには インテル ストリーミング SIMD 拡張命令 2 インテル ストリーミング SIMD 拡張命令 3 インテル ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します インテルは 他社製マイクロプロセッサーに関して いかなる最適化の利用 機能 または効果も保証いたしません 本製品のマイクロプロセッサー依存の最適化は インテル マイクロプロセッサーでの使用を前提としています インテル マイクロアーキテクチャーに限定されない最適化のなかにも インテル マイクロプロセッサー用のものがあります この注意事項で言及した命令セットの詳細については 該当する製品のユーザー リファレンス ガイドを参照してください 注意事項の改訂 #20110804 35