AI

人工知能

人工知能
マシンラーニング

高度なプログラミングをすることなく、人間の心理と関連した認識機能を実行するために、経験を基にした機械の学習する能力

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

長期間にわたってより多くのデータを使用することにより、性能が向上するアルゴリズム

ディープラーニング
多層ニューラル・ネット
ワークが膨大な量のデー
タから学ぶマシンラーニ
ングのサブセット2

マシンラーニング技術の分析
マシンラーニング
経験 (データ) から自主的に学ぶ計算手法

ディープラーニング

その他 (従来) の ML

多くの隠れたレイヤーへの階層的アプローチ– 画像や音声、自然言語などの正確に分類されたデータからフレームを得る。特徴は学習される。

極めて少ない (1 つまたは 2 つの) 隠れたレイヤーを使ってクラスタリング、回帰、分類を行う従来のマシンラーニングの手法。特徴エンジニアリングが必要。

訓練
モデル構築のための訓練•

モデル構築時間は重要

推論
モデルを分類、予測、認識に適用••“dog”

簡単に分散処理基準: スループット、TCO @ scale
代表的なユーザー: CSP、HPC

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

代表的なユーザー: Enterprise、HPC

3

人工知能 (ARTIFICIAL INTELLIGENCE)

ソリューション
ソリューション・アーキテクト

AI

人知
工能

ツールキットアプリケーション
開発者

AI ソリューション・カタログ(Public (英語) & Internal (英語))
プラットフォーム

金融

ヘルスケア エネルギー

データ・サイエンティスト

ファウンデーション
ライブラリー
開発者

ハードウェア

輸送

小売

OpenVINO™

TensorFlow*、Caffe、MXNet* を使った CPU、プロセッサー・グラフィックス、FPGA & VPU 向けの推論デプロイメント用Open Visual Inference & Neural Network Optimization
ツールキット

Python*R

TensorFlow* & Caffe を使ってすべてのインテル® Movidius™ VPU に最適化された推論エンジン

****
FOR**

* ***

**

TensorFlow*、MXNet*、Caffe、BigDL/Spark* (英語)

Caffe2

PyTorch* PaddlePaddle*

ディープラーニング・グラフ・コンパイラー

分析、マシンラーニング & ディープラーニング用プリミティブ

インテル® DAAL インテル® MKL-DNN clDNN

マシンラーニング インテル® データ・アナリ
CPU とインテル® グラフィックスをに最適化された
ティクス・アクセラレー サポートするオープンソースのディープ・
インテルのディスション・ライブラリー
ニューラル・ネットワーク関数
トリビューション(マシンラーニング用)

インテル® nGraph コンパイラー (Alpha)
複数のフレームワーク (TensorFlow*、MXNet*、ONNX*) を使用して複数のデバイス (CPU、GPU、NNP) に最適化されたディープラーニングのモデルを計算するオープンソースのコンパイラー

ディープラーニング・アクセラレーター

AI ファウンデーション
データセンター
端末デバイスIT システム・アーキテクト

NNP L-1000

1 旧インテル® コンピューター・ビジョン SDK
2 インテル® Distribution for Python*

最適化作業中CPU に最適化済み• scikit-learn

Python*2

ディープラーニング開発サイクルを効率化するオープンソースのツール

デイープラーニング・フレームワーク

Distributed• Cart (英語)• MlLib (Spark*) (英語)(英語)
• Random• Mahout (英語)• pandas (英語)Forest (英語)• NumPy* (英語) • e1071 (英語)

その他…

インテル® Deep
Learning Studio

インテル® Movidius™ SDK (英語)

ツールキット1

家庭ディープラーニング

ディープラーニングのデプロイメント

マシンラーニング・ライブラリー

ライブラリー産業

推論* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
すべての製品、コンピューター・システム、日付、図は現在の予想に基づくものであり、予告なく変更されることがあります。

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

Ai.intel.com (英語)4インテル® ディープラーニング・ブースト
将来のインテル® Xeon® スケーラブル・プロセッサー (開発コード名 Cascade Lake)

インテル® Xeon® スケーラブル・プロセッサーでは数値精度の低い命令を使って組み込まれたディープラーニングのアクセラレーションが可能
Q3’ 2018-Q4’ 2018

Q3’ 2017-Q3’ 2018

推論

INT8

FP32精度精度インテル® Xeon® スケーラブル・プロセッサー (開発コード名 Skylake)

INT8

インテル® Xeon®
スケーラブル・プロセッサー

Q4’ 2018- 2019

VNNI
サポート

INT8
将来のインテル® Xeon®
スケーラブル・プロセッサー(開発コード名 Cascade Lake)

将来のインテル® ディープラーニング・ブースト対応
インテル® Xeon® スケーラブル・プロセッサー

https://www.intel.com/content/www/us/en/now/your-data-on-intel/deep-learning-boost-video.html (英語)https://software.intel.com/en-us/articles/lower-numerical-precision-deep-learning-inference-and-training (英語)
最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

5

ソフトウェア・スタック

HPC

AI?

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

7

インテル® Xeon® プラットフォームにおけるディープラーニング
性能の向上
最適化されたソフトウェアで性能向上

システムレベルの最適化

ソフトウェアの最適化

訓練のスループットが改善

6
4

12 カ月 で

3

5.4x

8 カ月で3.3x2
INT8 + SW
最適化

1FP32 SW
最適化

00At Launch (July 2017)

最適化に関する注意事項

TensorFlow* ResNet-50 推論のスループット性能
42© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

推論のスループットが改善

Caffe ResNet-50 推論のスループット性能

Algorithm improvements

Improve load balancing

3.2x

Inception-V3

14x

1 つのノードでフレームワークの複数のインスタンスを走らせることにより CPU 使用率を上げる

ResNet-50

最適化後フレームワーク vs
最適化前のフレームワークの性能

Aug-18

At Sep 2017

May 2018

FURTHER PERFORMANCE BOOST EXPECTED
WITH INT8 OPTIMIZATIONS

9インテル® Distribution for Python* 2019 によるPython* の性能向上
高性能の Python* ディストリビューション
▪ 高速な NumPy*、SciPy*、scikit-learn は科学技術計算、マシンラーニング、データ解析に最適▪ 使用している Python* にドロップインで置き換え、コードの変更は必要ない▪ 最新のインテル® プロセッサー向けに高度に最適化▪ プライオリティー・サポート (英語) の利用 – 技術的な問題はインテルのエンジニアに直接質問1

新機能▪
インテル® Distribution for Python* の線形代数関数は従来の Python* 関数よりも高速▪
▪

scikit-learn でより高速のマシンラーニング: サポート・ベク
トル・マシン (SVM) と K 平均法予測はインテル® DAAL で高速化
インテル® Parallel Studio XE 2019 インストーラーに統合、簡単なコマンドラインのスタンドアロン・インストール可能
XGBoost パッケージの同梱 (Linux* のみ)

1 有償バージョンのみ

性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。詳細については、
http://www.intel.com/performance (英語) を参照してください。

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

最適化に関する注意事項: インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル®
マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注
意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。注意事項の改訂 #20110804

11

Python* 向けの最も使われるマシンラーニング・パッケージ最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

12

インテル® DAAL で scikit-learn の最適化

scikit-learn• マシンラーニングで最も使用されるパッケージ• 異なるパラメーターで数百ものアルゴリズム• とても融通が利いて、使いやすいインターフェイス

DAAL4Py

インテル® DAAL は Python* API (ミドルウェア)を備える

インテル® DAAL

インテル® アーキテクチャーにおける高性能な分析とマシンラーニング・アルゴリズム

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

13

インテル® Distribution for Python* 2019 のインストール
スタンドアロンのインストーラー

Anaconda.org
Anaconda.org/intel channel

PyPI

Docker* Hub

YUM/APT

フル・インストーラーのダウンロード
https://software.intel.com/en-us/intel-distribution-for-python (英語)> conda config --add channels intel> conda install intelpython3_full> conda install intelpython3_core> pip install intel-numpy> pip install intel-scipy> pip install mkl_fft> pip install mkl_random

2.7 & 3.6
(3.7 coming soon)+ インテル® ライブラリーのランタイムパッケージ+ インテルの開発パッケージ

docker pull intelpython/intelpython3_full

yum/apt でアクセス
https://software.intel.com/en-us/articles/installing-intel-free-libs-andpython (英語)

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

14

Python* + ネイティブコードのチューニング
インテル® VTune™ Amplifier で性能解析 (インテル® Parallel Studio XE に同梱)

課題
▪ Python* とネイティブコードが混在するアプリ
ケーションを 1 つのツールでプロファイル▪ 非効率なランタイム実行を検出

ソリューション
▪ Python*/C/C++ 混在コードと拡張を自動検出▪ パフォーマンス hotspot を行レベルで正確に識別Insert screenshot image▪ 低オーバーヘッド、実行中のアプリケーションへのアタッチ／デタッチ▪ パフォーマンスへの影響が大きい箇所をチュー
ニング
インテル® VTune™ Amplifier とインテル® Parallel Studio XE で可能最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

Python* とネイティブ関数の自動検出およびパフォーマンス解析

15

Numpy/random

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

16

サンプルプログラムやベンチマーク等

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

https://github.com/IntelPython

17インテル® パフォーマンス・ライブラリー
インテル® マス・カーネル・ライブラリー (インテル® MKL)
インテル® データ・アナリティクス・アクセラレーション・ライブラリー (インテル® DAAL)

インテル® マス・カーネル・ライブラリー(インテル® MKL)

インテル® MKL の機能
線形代数

FFT

BLAS
LAPACK

多次元

ScaLAPACK
スパース
BLAS
反復法スパース
ソルバー

PARDISO
クラスター・ス
パース・ソルバー

FFTW

ベクトル
RNG

サマリー統計ベクトル演算

合同数

尖度

三角

WichmannHill

変化係数

メルセンヌ
ツイスター

順序統計量

インターフェイス

Sobol
クラスター
FFT

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

スプライン

双曲線
指数
対数

補間

信頼領域

最小/最大

累乗

Neiderreiter
非決定的

その他

分散/共分散累乗根

高速ポアソンソルバー

20

インテル® DAAL によるエッジでの解析のスピードアップ
マシンラーニングおよびビッグデータ解析のパフォーマ
ンスを高速化▪ アプリケーションがより速くより優れた予測を行えるように支援▪ 最高のパフォーマンスを引き出せるようにデータの取り込みとアルゴリズムの計算を最適化

バージョン 2019 の新機能
新しいアルゴリズム▪ ハイパフォーマンス・ロジスティック回帰、最も広く利用されている分類アルゴリズム▪ 広範なアプリケーションのニーズを満たす、オフライン、ストリーミン ▪ 拡張勾配ブースティング機能、ユーザー定義のコールバックによる不正確な分割計算およびアルゴリズム・レベルの計算のキャンセル
グ、分散型使用モデルをサポート
により柔軟性を拡張▪ エッジデバイスとクラウドサービス間で解析ワークロードを分割して▪ ユーザー定義の CSV/IDBC データソースのデータ変更プロシー
アプリケーション全体のスループットを最適化
ジャー、広範な特徴抽出および変換手法を実装

詳細: isus.jp/intel-daal/

前処理

変換

解析

モデリング

展開、フィルタリング、正規化

集計、次元縮小

サマリー統計、クラスタリングなど

マシンラーニング (訓練)、パラメーター推定、
シミュレーション

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

検証

仮説検証、
モデルエラー

意思決定予測、決定木など
22

処理モデル
バッチ処理

分散処理

オンライン処理

R1
D1
Dk-… D1

Dk

D2

1
追加

D3 D2 D1

R2

R

Si,Ri
Dk

R = F(D1,…,Dk)

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

Si+1 = T(Si,Di)
Ri+1 = F(Si+1)

Rk
R = F(R1,…,Rk)

23

データ変換および解析アルゴリズム
インテル® DAAL

データセットの基礎統計

相関と依存関係

低次モーメント

コサイン
距離

行列の因数分解

次元縮小

外れ値検出

SVD

PCA

単変量

多変量

分位数

相関距離

QR

相関ルール
マイニング
(アプリオリ)

順序
統計量

分散共分散
行列

コレスキー

最適化ソルバー(SGD、AdaGrad、lBFGS)

数学関数(exp、log、…)

バッチ処理をサポートするアルゴリズム

バッチ、オンライン、分散処理をサポートするアルゴリズム
最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

24

マシンラーニング・アルゴリズム
インテル® DAAL
回帰

ロジスティクス
回帰

リッジ回帰

線形回帰

ランダムフォレスト

K 平均法

教師なし訓練決定木

教師あり訓練EM (GMM)

ブースティング(Ada、Brown、Logit)

ニューラル・ネットワーク

分類

ナイーブベイズ

弱学習器

K 近傍法

バッチ処理をサポートするアルゴリズム

協調フィルタリング

交互最小 2 乗(ALS)

サポート・ベクトル・マシン

バッチ、オンライン、分散処理をサポートするアルゴリズム
最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

25

インテル® DAAL による性能のスケール
CPU コア内▪ SIMD ベクトル化: 最新の命令セットに最適化、インテル® AVX2、インテル® AVX-512...
▪ 内部的には、インテル® MKL のシーケンシャル部分を採用

マルチコアやメニーコアへのスケール▪ スレッディング・ビルディング・ブロックによるスレッド化
クラスターへのスケール▪ ユーザーのアプリケーションによる分散処理 (MPI、MapReduce など)▪ インテル® DAAL の利用– 部分的で中間的な計算結果をサポートするデータ構造– 部分的で中間的な計算結果を全体の計算結果にまとめる関数

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

26

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

27

さあ、始めよう
最適化に役立つ情報iSUS (IA Software User Society)▪

インテル® ソフトウェア開発製品の日本語版や日本語ヘルプの提供▪

インテル コーポレーションのインテル® ソフトウェア・ネットワークの記事の日本語化

インテル® Parallel Studio XE▪

概要、機能、サポート、コードサンプル (英語)▪

トレーニング資料、Tech.Decoded ウェビナー (英語)、HOW TO ビデオと記事 (英語)▪

お客様の声 (英語) & ケーススタディー▪

その他のインテル® ソフトウェア開発製品

29

インテル® Code Modernization Program▪

概要 (英語)▪

ライブ・トレーニング (英語)

最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

TECH ウェビナーの視聴

https://intel.ly/2PdkNhN (英語)29

法務上の注意書きと最適化に関する注意事項
パフォーマンス結果は 2018 年 9 月時点のテスト結果に基づいたものであり、公開されている利用可能なすべてのセキュリティー・アップデートが適用されていない可能性があります。詳細については、構成の開示を参照してください。絶対的なセキュリティーを提供できる製品はありません。
性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や
MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。詳細については、www.intel.com/benchmarks (英語) を参照してください。

本資料の情報は、現状のまま提供され、本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスも許諾するものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責任を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的財産権の侵害への保証を含む) をするものではありません。
© 2019 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Intel Inside、Intel Inside ロゴ、Arria、Intel Atom、Intel Core、Iris、Stratix、Xeon、Movidius、Myriad、Intel Nervana、OpenVINO は、アメリカ合衆国および/ またはその他の国における Intel Corporation またはその子会社の商標です。
最適化に関する注意事項
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル®
マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。
注意事項の改訂 #20110804
最適化に関する注意事項© 2019 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

30