いっしきまさひこBLOG

AI・機械学習関連、Web制作関連、プログラミング関連、旅行記録などなど。一色政彦。

de:code 2020 ( #decode20 ) 聴講ノート(AI・機械学習関連のみ)

2020年6月17日~30日に開催されちえる「de:code 2020 | 開発者をはじめとする IT に携わるすべてのエンジニアのためのイベント」(AI・機械学習関連のみ)を聴講時に取った個人的なノートをそのまま公開したものです。誤字誤植や勘違いがある可能性があるのでご了承ください。

6月19日現在では、すべてのセッションが公開されているわけではないので一部だけです。週1ぐらいのペースで視聴します。そのたびに書き加える予定。

AI・機械学習で新たに創出されるデータとアノテーションビジネス

AIとデータを取り巻く課題

  • 時代背景:不透明さが増すAI
  • 倫理と責任あるAIが求められる(公平性や透明性など)

AI倫理審査ボード

  • マイクロソフトは「AI倫理審査ボード」を設置

f:id:misshiki:20200619132403p:plain
AI倫理審査ボード

  • 「Ethical AI Dicision Framework」を定めて推進

f:id:misshiki:20200619132423p:plain
Ethical AI Dicision Framework

AIベンダーやAIエンジニアが注意するべき法的事項

  • 「アノテーション」「クレンジング」作業に焦点を当て、どのような権利が発生するかを示す
  • 著作権は発生するのか? 一般的に「アノテーション」「クレンジング」は著作物の創作ではない
  • 著作権法10条1項9号「プログラムの著作物」: アイデアは著作物ではない。アイデアは特許法で保護
  • 著作権法30条の4「著作物に表現された思想又は感情の享受を目的としない利用」: 「アノテーション」「クレンジング」が著作物だったとしても、この条文によりAIの学習に無断で利用できることになっている
  • 不正競争防止法2条7項「限定提供データとしての保護」: 「アノテーション」「クレンジング」データはこれにより保護できると考えられる。よって「限定提供データ」として保管するのが大事
  • これ以外で保護する方法: 「契約による保護」。そのために、信用できる特定プラットフォーム上でデータを流注させるのが重要
  • AIデータ活用コンソーシアムでこのための契約書(テンプレート?)を準備中

ソフトウェアと製造物責任(PL法)

  • 問題があった場合に、製造物であるソフトウェアの責任を負わなければならない
  • 通常は、原因調査により問題のあったプロセス箇所を明らかにし、そのプロセスのエンティティが責任を負う
  • AIの場合は、ブラックボックスであり上記のような責任所在の特定は難しい。よってデータやアノテーションにおいても製造物責任を考慮しておく必要がある
  • 例えばアノテーションを担当した人が悪意を持ってラベリングする可能性などがある。そんため作業者の身元確認と保証も大事になってくる
  • データには偏りが生まれる可能性がある。例えば人種の偏りがあるデータで学習してしまった場合、人種差別を持つAIとなる。また、データは時間とともに変化し、世代により意味が変化したりする。データの偏りは無くす必要がある
  • AIの用途によって、データに求められる保証レベルも変わってくる
  • 「AI利活用ガイドライン」に10の原則も参考にしてほしい

リテール AI の PoC 事例から学ぶスケールアウトへのヒント

リテールAI研究会とは

  • 一般社団法人リテールAI研究会
  • リテールAI研究会の中で、PoCを推進するための「分科会」活動を推進
  • リテールAIでよくある失敗: 「フルカスタマイズしようとしてPoCが終わらない」「ビジネス側とエンジニア側で意見の食い違い」

PoC事例の振り返り

  • 何個か事例の説明があったけど割愛

リテールAI検定

リテールAIを成功させる秘訣

  1. 「推論した後に何をするか」をあらかじめ議論すべし
  2. そのためには、最初の段階から、ビジネス部門ユーザーを取り込むべし
  3. ビジネス部門の初心者でも簡単にできるようなシナリオを用意すべし
  4. 部門ごとの要求を取り過ぎてしまわないようにすべし(カスタマイズしすぎるとスケールアウトしないので)

アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用

Azure Machine Learning + MLOps

ざっくりとスライドの引用で紹介します。

f:id:misshiki:20200619161642p:plain
MLOpsのイメージ

f:id:misshiki:20200619161701p:plain
なぜAzure ML+MLOpsなのか

  • MLOps構築をアバナードに業務委託した

アバナードによるMLOps構築

  • 要件と3カ月の成果について説明がありました

アーキテクチャの全体構成は図がないと分からないので、スライドを引用します。

f:id:misshiki:20200619161729p:plain
アーキテクチャの全体構成

f:id:misshiki:20200619161750p:plain
機械学習実行アーキテクチャ

MLOps導入の効果

  1. 工数削減と品質確保
  2. 実験トレーサビリティの確保
  3. 属人化/属環境化の防止

MLOps運用での検討事項

  1. Azureランニングコストの最適化
  2. MLOpsを十分に理解した技術者が必要

Azure Cognitive Search で作る! 一歩先を行く検索機能 〜 富士フイルム IMAGE WORKS 事例 〜

AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ

アジェンダ

  • 混合精度演算(Mixed Precision Training)
    • Tensorコア
    • AMP
  • NVIDIA A100 TensorコアGPU
    • TF32による演算
    • 構造化疎性(Structural Sparsity)
    • Multi Instance GPU(MIG)
  • GPUの利用環境
    • AzureのGPUインスタンス

混合精度演算(Mixed Precision Training)

f:id:misshiki:20200619173843p:plain
FP32とFP16の違い

  • FP16を使う利点:最近のGPUではFP16の演算スループットがFP32の2倍~8倍高い
  • そこでTensorコア。これを使いこなすのが鍵

f:id:misshiki:20200619173859p:plain
Tensorコア

  • 混合精度演算でトレーニングを高速化するには、いくつかの対策が必要。それを自動的に行うのが「AMP:自動混合精度演算」
  • AMPは、計算グラフを解析して適切にキャストしたり、勾配のアンダーフロー(小さくなると表現できずに0になる問題)を防ぐためのロススケーリングしたりできる
  • AMPは現在TensorFlow/PyTorch/MXNetに対応しており、わずか数行を追加するだけで有効化できる

NVIDIA A100 TensorコアGPU

  • 新型GPUが登場。性能は大幅に向上した

f:id:misshiki:20200619173918p:plain
NVIDIA A100 Tensorコア GPU

  • 「TF32 Tensorコア」というF32のレンジとFP16の精度を合わせ持つ新しい数値データ型を導入

f:id:misshiki:20200619173935p:plain
TF32 Tensorコア

  • ここまではトレーニングの高速化。ここからは推論の高速化
  • 構造的疎性(Sparsity)により推論を高速化する

f:id:misshiki:20200619173951p:plain
推論の高速化

  • FP64(倍精度演算)にも対応
  • さらに「Multi Instance GPU(MIG)」という新機能により、GPUインスタンを分割して使用率を最適化できる。推論時のスループットも向上する

GPUの利用環境

  • NVIDIAのGPUは次のような歴史がある

f:id:misshiki:20200619174014p:plain
NVIDIA GPUの歴史

  • AuzreでGPUを使うときは「NVIDIA NGC Image for Deep Learning and HPC」を使うとすべて準備が整っていて便利

f:id:misshiki:20200619174033p:plain
NVIDIAが提供するVM