Slide 1

Slide 1 text

Use model deployment and security with Core ML
 の要約 集まれSwift好き!Swift愛好会スピンオフ 
 WWDC20セッション要約会 @オンライン
 あぼ(@suxisuxido) コネヒト株式会社
 2020/07/09 5分LT

Slide 2

Slide 2 text

Core MLの新機能を⼀部紹介! • Model Deployment
 Core MLモデルの新しいデプロイ⽅法 • Model Encryption
 Core MLモデルの新しい暗号化⽅法 • Core MLまわりのXcodeの新機能

Slide 3

Slide 3 text

Model Deploymentの機能 • ダッシュボード上でモデルを管理できる • Apple Cloud経由でモデルをデプロイすることができる
 (アプリ⾃体を更新することなくモデルを更新できる ) • モデルをグループ化して管理できる • 特定の端末群に向けてモデルを配信できる
 (OSバージョンや端末の種類や⾔語で絞って配信できる)

Slide 4

Slide 4 text

Model Deploymentの機能 • ダッシュボード上でモデルを管理できる • Apple Cloud経由でモデルをデプロイすることができる
 →アプリ⾃体を更新することなくモデルを更新できる • モデルをグループ化して管理できる(Model Collection) • 特定の端末群に向けてモデルを配信できる
 →OSバージョンや端末の種類や(iPadだけとか)や端末の ⾔語で絞って配信できる モデルの配信プロセスが
 すごく柔軟になる

Slide 5

Slide 5 text

Model Deploymentを
 つかうには? 1. 新しいCore ML APIを使ってModel Deploymentを許可す る(⾮同期でモデルを読み込むようなコード) 2. Xcodeでデプロイ⽤のモデルを作成する 3. デプロイ⽤のモデルをダッシュボードにアップロードす る(ダッシュボード上でできる) 以降モデル更新のたびに2,3を繰り返す

Slide 6

Slide 6 text

CoreMLの新機能を⼀部紹介! • Model Deployment
 アプリ更新なしでモデルを更新できたり、特定の端末に
 配信できたりと、モデルの配信プロセスが柔軟になる • Model Encryption
 Core MLモデルの新しい暗号化⽅法 • Core MLまわりのXcodeの新機能

Slide 7

Slide 7 text

Model Encryptionの機能 • コンパイルされたCore MLモデルを暗号化できる(バンド ルされたモデル、Apple Cloud経由で配信されたモデルど ちらも可能) • 暗号化されたモデルを初めて読み込むとき、OSがアプリ に代わって復号キーを安全に取得し、保存する • Core MLはモデルを⾃動で複合する。複合されたモデルは メモリ上にしか存在せず、ファイルシステムにあるモデル は暗号化されたまま

Slide 8

Slide 8 text

Model Encryptionの機能 • コンパイルされたCore MLモデルを暗号化できる(バンド ルされたモデル、Apple Cloud経由で配信されたモデルど ちらも可能) • 暗号化されたモデルを初めて読み込むとき、OSがアプリ に代わって復号キーを安全に取得し、保存する • Core MLはモデルを⾃動で複合する。複合されたモデルは メモリ上にしか存在せず、ファイルシステムにあるモデル は暗号化されたまま モデルをより安全に扱える

Slide 9

Slide 9 text

Model Encryptionを
 つかうには? 1. Xcodeで暗号化キーをつくる(キーはteamに関連づけら れ、Apple Cloud上で保存) 2. 暗号化キーでモデルを暗号化する
 Model Deploymentを使う場合はデプロイ⽤のモデルを 作成する際に暗号化キーを選択
 バンドルされたモデルを使う場合はCompiler Flagsに暗 号化の処理を記述し、リビルド 3. モデルをロードする

Slide 10

Slide 10 text

CoreMLの新機能を⼀部紹介! • Model Deployment
 アプリ更新なしでモデルを更新できたり、特定の端末に
 配信できたりと、モデルの配信プロセスが柔軟になる • Model Encryption
 モデルを簡単に暗号化でき、安全に扱える • Core MLまわりのXcodeの新機能

Slide 11

Slide 11 text

Xcodeの新機能 • Core ML モデルのより詳細な情報が⾒れる(サポートして るOSのバージョン、クラスラベル、内部のニューラル ネットワークの詳細など) • インタラクティブなプレビュー表⽰(画像セグメンテー ション、ポーズ検出、depth推定などに対応)
 対応モデル https://developer.apple.com/machine-learning/models/ • PlaygroundでCore ML モデルが扱える

Slide 12

Slide 12 text

Xcodeの新機能 • Core ML モデルのより詳細な情報が⾒れる(サポートして るOSのバージョン、クラスラベル、内部のニューラル ネットワークの詳細など) • インタラクティブなプレビュー表⽰(画像セグメンテー ション、ポーズ検出、depth推定などに対応)
 対応モデル https://developer.apple.com/machine-learning/models/ • PlaygroundでCore ML モデルが扱える XcodeでCore MLをつかった
 開発がしやすくなる

Slide 13

Slide 13 text

まとめ • Model Deployment
 アプリ更新なしでモデルを更新できたり、特定の端末に
 配信できたりと、モデルの配信プロセスが柔軟になる • Model Encryption
 モデルを簡単に暗号化でき、安全に扱える • Core MLまわりのXcodeの新機能
 プレビュー機能やPlaygroundの対応によって
 XcodeでCore MLをつかった開発がしやすくなる


Slide 14

Slide 14 text

参考 • Use model deployment and security with Core ML
 https://developer.apple.com/videos/play/ wwdc2020/10152/