Slide 1

Slide 1 text

インテル株式会社 1 【重要】最初にこちらを実行ください! ※Dockerがインストールされていることが前提です。 § コマンドプロンプトまたはターミナルを起動(サーバーを使われる方はSSHでログイン) § OpenVINO Model ServerのDockerイメージをダウンロード • docker pull openvino/model_server:latest § 本日使用するDockerイメージをダウンロード&起動 • cd 適当なフォルダ • mkdir workspace • docker run -it -u 0 --privileged -v 上で作成したworkspaceフォルダへのパス:/workspace -p 8888:8888 hiouchiy/openvino_2021r1_handson /bin/bash

Slide 2

Slide 2 text

カスタムAIモデルの作成から モデルのデプロイまで IBM Developer Dojo++ (2020/12/10) インテル株式会社 APJデータセンター・グループ・セールス AIテクニカル・ソリューション・スペシャリスト 大内山 浩(おおうちやま ひろし/Ouchiyama Hiroshi)

Slide 3

Slide 3 text

インテル株式会社 3 本日のアジェンダ § モデルの運用とは § モデルの構築からデプロイまでを体験 § 【おまけ】インテルのNoCode系AI製品の紹介 § 最後に

Slide 4

Slide 4 text

インテル株式会社 4 本日のアジェンダ § モデルの運用とは § モデルの構築からデプロイまでを体験 § インテルのNoCode系AI製品の紹介 § 最後に

Slide 5

Slide 5 text

インテル株式会社 5 ディープラーニングの開発ステップ モデルの作成 (学習処理がメイン) モデルの運用 (推論処理がメイン) アクセラレータ (GPU、ASIC等) CPU 実施期間短い(数か月) ハイパフォーマンス 期間長い(数年) コストパフォーマンス インテルが得意なのはこちら ↓

Slide 6

Slide 6 text

インテル株式会社 6 インテル® CPUは ディープラーニング推論性能を向上させるために進化 インテル® Xeon® プロセッサー E3/E5/E7 インテル® Xeon® プロセッサー E3/E5/E7 v2 インテル® Xeon® プロセッサー E3/E5/E7 v3 (コードネーム:Haswell) インテル® Xeon® プロセッサー E3/E5/E7 v4 (コードネーム:Broadwell) インテル® Xeon® スケーラブル・プロセッサー (コードネーム:Skylake) 第 2 世代インテル® Xeon® スケーラブル・プロセッサー (コードネーム:Cascade Lake) 第5世代 インテル® Core™ プロセッサー 第6世代 インテル® Core™ プロセッサー 第7世代 インテル® Core™ プロセッサー 第8世代 インテル® Core™ プロセッサー 第9世代 インテル® Core™ プロセッサー 第10世代 インテル® Core™ プロセッサー (コードネーム:Ice Lake / Comet Lake) 第 3 世代インテル® Xeon® スケーラブル・プロセッサー (コードネーム:Cooper Lake) 第11世代 インテル® Core™ プロセッサー (コードネーム:Tiger Lake) Xeon Core 旧 新 薦 薦 ・ ・ ・ ・ ・ ・ AVX-512 AVX-512 AVX2 AVX2 AVX AVX DL Boost AVX-512 DL Boost AVX2 AVX2 AVX2 AVX2 AVX2 ※ Comet Lakeは、AVX512/VNNIは含まれず、AVX2のまま AVX-512, DL Boostが入ってる世代がおすすめ AVX-512 DL Boost BF16 AVX-512 DL Boost AVX-512 → https://www.intel.co.jp/content/www/jp/ja/architecture-and-technology/avx-512-overview.html IBM Cloud に搭載

Slide 7

Slide 7 text

インテル株式会社 7 インテル® AI ソフトウェア: マシンラーニングとディープラーニング Red font products are the most broadly applicable SW products for AI users Developer TOols App Developers SW Platform Developer Machine learning Deep LEarning Architect & DevOps Topologies & Models Data Scientist Frameworks Data Scientist Graph ML Performance Engineer Kernel ML Performance Engineer § Intel Data Analytics Acceleration Library (Intel DAAL) § Intel Math Kernel Library (Intel MKL) § Intel Machine Learning Scaling Library (Intel MLSL) § Intel® Deep Neural Network Library (DNNL) Deep Learning Reference Stack Data Analytics Reference Stack § Intel Distribu-on for Python (SKlearn, Pandas) Management Tools CPU CPU ▪ GPU ▪ FPGA ▪ 専用 Containers

Slide 8

Slide 8 text

8 DL推論 on CPU – 高速化の方法論 § コツは”インテル製DLフレームワークの利用”と”AIモデルの最適化と 量子化”です。 CPU / GPU OSS DLフレームワーク AIモデル(未最適化, 未量子化) Intel CPU インテルTF, PyTorchなど AIモデル(未最適化, 未量子化) Intel CPU インテル® OpenVINO™ AIモデル(最適化, 量子化) Intel CPU インテルTF, PyTorchなど AIモデル(未最適化, 量子化) Intel CPU インテル® OpenVINO™ AIモデル(最適化, 未量子化) ① ② ③ ④ 高 効果

Slide 9

Slide 9 text

9 DL推論 on CPU – 高速化の方法論 § DLフレームワーク: • インテル製のフレームワークに置き換え § AIモデル • iLitを使用して量子化 Intel CPU インテルTF, PyTorchなど AIモデル(未最適化, 未量子化) Intel CPU インテルTF, PyTorchなど AIモデル(未最適化, 量子化) Intel® Low Precision Optimization Tool (iLit) • モデルの量子化ツール。 TensorFlow、PyTorch、MXNetに 対応 Intel DL Framework • Intel® Optimization for TensorFlow* • PyTorch* • MXNet* ① ②

Slide 10

Slide 10 text

10 DL推論 on CPU – 高速化の方法論 § DLフレームワーク • OpenVINO™ Toolkitに置き換え § AIモデル • OpenVINO™ Toolkitで最適化および量 子化 Intel CPU インテル® OpenVINO™ AIモデル(最適化, 量子化) Intel CPU インテル® OpenVINO™ AIモデル(最適化, 未量子化) Intel® OpenVINO™ Toolkit Intel® OpenVINO™ Toolkit (OpenVINO Model Server) ③ ④

Slide 11

Slide 11 text

インテル株式会社 11 モデルの運用フェーズにおける各ステップ モデルの作成 (学習処理がメイン) モデルの運用 (推論処理がメイン) インテルが得意なのはこちら ↓ 最適化 /量子化 デプロイ 運用/ データ収集 アノテーション 再学習

Slide 12

Slide 12 text

インテル株式会社 12 本日のアジェンダ § モデルの運用とは § モデルの構築からデプロイまでを体験 § 【おまけ】インテルのNoCode系AI製品の紹介 § 最後に

Slide 13

Slide 13 text

インテル株式会社 13 ハンズオンイメージ ※講師の環境はIBM CloudのVM(Cascade Lake 4コア)です インテルCPU(Xeon or Core) OS(Linux / Win10 / MacOS) Docker コンテナ#1 (Ubuntu 18.04) OpenVINO 2021R1 / TensorFlow2.3 Jupyter Lab モデルの学習→最適化→量子化 /workspace モデル コンテナ#2 (Ubuntu 18.04) OpenVINO Model Server モデル 最適化 /量子化 デプロイ 運用/ データ収集 アノテーション 再学習 アノテーション済み 画像ストレージ 画像を取得 モデルを格納 モデルをWeb API としてデプロイ この部分を体験 いただきます

Slide 14

Slide 14 text

インテル株式会社 14 ハンズオンコンテンツ § https://github.com/hiouchiy/intel_ai_hands_on_from_train_to_deploy

Slide 15

Slide 15 text

インテル株式会社 15 モデルの最適化と量子化 最適化:https://docs.openvinotoolkit.org/latest/openvino_docs_optimization_guide_dldt_optimization_guide.html 量子化:https://www.isus.jp/products/mkl/vnni-enables-inference/ 最適化 量子化 ↑量子化:モデルの数値形式をFP32→BF16/INT8などに変換 し学習/推論を高速化すること ←最適化:モデル内部構造をIAにとって都合よく再編成する こと

Slide 16

Slide 16 text

インテル株式会社 16 本日のアジェンダ § モデルの運用とは § モデルの構築からデプロイまでを体験 § 【おまけ】インテルのNoCode系AI製品の紹介 § 最後に

Slide 17

Slide 17 text

インテル株式会社 17 アノテーション以外は自動化が可能 最適化 /量子化 デプロイ 運用/ データ収集 アノテーション 再学習 アノテーションの自動化は困難 ↓ ツールによる作業支援が必須! →MLOps の実現へ

Slide 18

Slide 18 text

インテル株式会社 18 OpenVINOの“No Code”系フィーチャー § 深層学習の各フェーズに対応したNoCodeツールを提供 アノテーション 学習 最適化/量子化 デプロイ (アプリ開発) CVAT Training Extension DL Workbench OVaaS ※3rd party application リクエスト いただければ 技術セッション やります cvat.orgで試せるよ☺

Slide 19

Slide 19 text

インテル株式会社 19 本日のアジェンダ § モデルの運用とは § モデルの構築からデプロイまでを体験 § 【おまけ】インテルのNoCode系AI製品の紹介 § 最後に

Slide 20

Slide 20 text

インテル株式会社 20 改めてインテルの考えるAIとは AIとは特定の目的を持ったソフトウェアである ↓ つまり、作った(学習)後には運用(推論)しないと価値をもたらさない ↓ 運用フェーズは期間が長く、ROIがより重要視されることが多いので、CPU だけでやり切ることが理想 ↓ インテルのCPU+AIソフトウェアを活用してCPUだけで推論をやり切りま しょう

Slide 21

Slide 21 text

21