概要
商用CPU/PCや AI/ディープラーニング初心者社員によるサポート体験談や検証内容を記事化して、いまさら聞けない CPU/PC, AI/ディープラーニングに関してまとめていこうと思っています!
第一弾は「第 11 世代インテル® Core™ プロセッサーを用いてYOLOv3のベンチマークを測定してみた!」となります。
はじめに
「ニューラルモデルとしてYOLOv3 を用いた物体検出を検討しているのですが、取り扱いの CPU で最適なものをご提案いただけないでしょうか?また、どの程度のパフォーマンスが出ますか?」
お客様より、上記のようなご相談をいただきました、第 11 世代インテル® Core™ プロセッサーである Tiger Lake プロセッサにはディープラーニングをエンハンスできる機能がある!という浅い記憶を頼りにインテル® のホームページより YOLOv3 のベンチマークを探してみました。
しかし残念なことに YOLOv3 のベンチマーク情報は見当たりませんでした。
そこで先輩に相談をしたところ、返ってきた言葉は「無いならやってみればいい」。
ふむふむ、確かに!!という事で YOLOv3 のベンチマークを取得すべく、検証をおこなってみました!初心者という事もあり、結果に至るまでの調査内容や結果をご報告出来ればと思いますので是非お付き合いください。
早速、第 11 世代インテル® Core™ プロセッサーを使って確認をしてみようと考えました。しかし、待てよ? そもそも何故第 11 世代インテル® Core™ プロセッサーはディープラーニングに強いのか?まずそのような疑問が浮かんできました。
そこでまずは第 11 世代インテル® Core™ プロセッサーについて確認をしてみました!
第 11 世代インテル® Core™ プロセッサーとは?
第 11 世代インテル® Core™ プロセッサーである Tiger Lake はインテル®の 10nmプロセスで、AI やディープラーニングのアプリケーションを含む複数のワークロードを単一のプラットフォーム上で実行する性能を備えている点が特徴です。
具体的には Tiger Lake ではインテル® Deep Learning Boost が搭載されており、ディープラーニングをより加速化することができるようにエンハンスメントされているとのことでした!

製品仕様
・最高 4.40GHz の最大周波数
・最大 96 の EU を搭載したインテル® Iris® Xe グラフィックス
・最大 4 つの 4K60 HDR 映像または 2 つの 8K60 SDR 映像に対応
・Intel® Deep Learning Boost
・最大 DDR4-3200 / LPDDR4x-4267
・Thunderbolt™ 4 / USB4 および PCIe* 4.0 (CPU)
・インテル® Time Coordinated Computing (一部の SKU)
・インバンド ECC と広温度範囲 (一部の SKU)
・インテル® Functional Safety Essential Design Package
(インテル® FSEDP) (一部の SKU)
製品紹介 URL:
https://www.intel.co.jp/content/www/jp/ja/products/platforms/details/tiger-lake-up3.html
今回は最新の第 11 世代インテル® Core™ プロセッサー、インテル® Deep Learning Boost を利用して、ベンチマークを確認してみようと思います!
なお、ベンチマークを利用する上で必要不可欠なツールキットは インテル® OpenVINO™ ツールキットとなります。インテル® OpenVINO™ ツールキットについて調べたので、次の項目で記載をしています。
インテル® OpenVINO™ ツールキットとは?

インテル® OpenVINO™ ツールキットは、無償で利用できるディープラーニング推論に特化したツールで、主な機能として『最適化ツール(モデル・オプティマイザー)』『推論エンジン』『プラグイン』で構成されています。推論に特化しているため、学習データは準備いただくことが必要です。汎用のフレームワークである Caffe、TensorFlow、mxnet などを使うことが可能なようです。
学習済みデータをこのインテル® OpenVINO™ ツールキットに取り込むことで、最適化ツール(モデル・オプティマイザー)で、インテル® の環境に対して最適化することができます。
最適化されたデータを使用して、推論エンジンでディープラーニング推論を実行します。
ハードウェアに依存する部分は、共有の API でプラグインとして提供されているので、開発者はデバイスを意識することなく、いろいろなハードウェアで簡単に推論を実行することができます。
実際に今回の検証でインテル® OpenVINO™ ツールキットをいじりましたが、共通 API で色々なハードウェアに簡易的にプラグイン出来ることに驚かされました!ここは後述させていただきます。
製品紹介 URL
https://software.intel.com/en-us/openvino-toolkit
インテル® OpenVINO™ ツールキットをビデオでご紹介:
こちらからご参照頂けます!
このインテル® OpenVINO™ ツールキットを利用してベンチマーク計測をしていきます!
今回利用するネットワークモデルは YOLOv3 となります。
YOLOv3 は重いネットワークで有名なようです。冒頭に記載した通り、YOLOv3を用いたベンチマークはインテル®公式では公開されていないのでこちらでどの程度パフォーマンスが出るのかを確認したいと思います!
その前に、YOLO に関して簡易的に調べてみましたので、次の項目でご紹介させてください。
YOLO とは?
機械学習をやっている方なら聞いたことがあるかと思いますが、物体検出手法にはR-CNN、YOLO、SSDなどがあります。YOLO(You Only Look Once)では、画像認識を回帰問題に落とし込み、検出と識別を同時におこなうことを実現しているようです。
それによって、処理が速くなり、画像全体も見渡すことができるので、背景を誤検知することが少なくなっているようです。
YOLOは改良が続けられており、今回用いるのは YOLOv3 となります。
YOLO を含む物体検出については、こちらが参考になると思います!
ここまでで第 11 世代インテル® Core™ プロセッサーである Tiger Lake, インテル® OpenVINO™ ツールキット及び YOLO に関して解説させていただきました。次はこのベンチマークを取るための周辺環境や利用したモジュールのご紹介をさせていただきます。
本題までの道のりが長いですかね?(笑)、もう少々お付き合いください!
ベンチマーク測定の実施のために準備したもの
今回のベンチマーク測定では、弊社取り扱いの ADLINK 社の cExpress-TL を利用しました。

画像ではわかりずらいですが、手のひらサイズの COMe Type6 モジュールとなります。
ベンチマーク取得に当たっては、CPU は Core i7-1185G7 (第 11 世代インテル® Core™ プロセッサーが搭載) されている製品を利用しています。
こちらが検証時のモジュール画像となります!ファンがあるので小さいことがわかりづらいですが、、、引き画像で伝わりますでしょうか?(笑)


cExpress-TL の詳細は、以下 ADLINK 社の URLリンクをご確認ください!
https://www.adlinktech.com/Products/Computer_on_Modules/COMExpressType6/cExpress-TL?lang=ja
また ADLINK 社のその他取り扱い商材については、以下リンクをご確認ください。
https://www.macnica.co.jp/business/semiconductor/manufacturers/adlink/
各種ベンチマーク用に準備した機材とその他仕様を一覧します。
・ボード:ADLINKのcExpress-TL
・CPU:Core i7-1185G7
・OS名:Ubuntu 20.04.2 LTS
・OSの種類:64ビット
・Memory:16GB
・Strage:500GB
・ソフトウエア:OpenVINO 2021.4 for Linux
・ニューラルモデル:yolo-v3-tf
ここまでで、今回のベンチマーク取得にあたっての事前準備をご連絡させていただきました。
ベンチマークの測定方法とその結果については、次の記事として早急にアップデートしようと思いますので、もう少々お待ちください!