【聴講メモ】Developers Festa Sapporo 2018

2018年11月16日(金)に開催されたDevelopers Festa Sapporo 2018を聴講してきました。

[Developers Festa Sapporo 2018](http://www.devfesta.jp/)

#**■Azure AI ～Microsoft AzureでのAI開発のイマ～**
佐藤　直生(日本マイクロソフト株式会社)

---

一般的な機械学習の進め方を交えつつ、Microsoft Azure上のAI関連サービスの紹介。
恐らくですが、リリースほやほやのサービスが多かったような雰囲気が。
個人的には、あまり新鮮味がないように感じましたが、それは半年ぐらい前に受けたオンラインセミナーと分野が似通っていたことと、そこから自分のスキルセットがアップデートできていないからなのかなと...

## 導入部
### **自己紹介**

- 2010年にMicrosoftに入社以来、一貫してMicrosoft Azureのテクノロジスト/エバンジェリストとして活動。
- twitter: satonaoki
- [さとうなおきの週刊アジュール](http://ascii.jp/elem/000/001/568/1568605/) 連載中

### **挙手アンケート**
クラウド使ったことある人→3割ぐらい(少なくないか？)

## **本題**

### **事例紹介**
- 遺跡を復元する手助け：[Microsoft AI + Iconem: Preserving History ft. Common | 日本マイクロソフト](https://www.youtube.com/watch?v=Duw-C6prVkE)
- 農業の生産性向上：[Microsoft AI + The Yield: Taking the guesswork out of farming ft. Common | 日本マイクロソフト](https://www.youtube.com/watch?v=Qs3eTiTdrPs)
- マクドナルド(北米)のドライブスルーでの注文取りを音声認識で

前半の2つは動画での紹介。
3つとも海外の事例で、日本ではまだ事例が少ないのかしら...

---

### **サービスの紹介**
#### Cognitive Services
- Web API経由で利用できる人工知能パーツ
- Vision、Speech、Language、Knowledge、Search、Labs
- Custom(Vision、Speech)
    - 一般的ではないもの(企業など)を判別したい際など

#### Azure Bot Service
- これ自体にAI的な機能はない
- 多様なBot Skillの接続先のサポート

#### Azure SearchによるCognitive Search(プレビュー)
- 非構造化データ　→　メタデータ化、構造化データ(自然言語処理)
- 画像・動画・音声の解析・意味づけ
    - Machine Learning
- データ入力が変わる(かもしれない)
    - これまで何らかしら人手が介在していたデータのデジタル化を自動的に

##### Auzre Search利用事例
- ジョン・F・ケネディ大統領 公開記録文書の解析：[JFKファイルを探索するためにAzureとAIを活用 (Using Azure and AI to Explore the JFK Files)](https://satonaoki.wordpress.com/2018/02/17/gain-insights-into-the-jfk-files-with-azure-search-and-cognitive-services/)

--- 

### **カスタムモデルを作っていく話**

#### 機械学習の作業
1.課題の特定
2.データの取得と加工
3.モデルの設計
4.モデルの学習
　a.初期化
　b.データセットからミニバッチデータ取得
　c.損失を計算
　d.最適化(=損失の最小化)
　e.重みづけの更新
5.モデルのテストと評価
6.展開と推論

1～6を繰り返す

---

### Machine Learning on Azure
- トレーニング済のモデル(Cognitive Service)
- Deep Learning Framework
- 生産性の高いサービス
- パワフルなCompute
- 柔軟な推論環境の選択肢

#### Prepare Data - Azure Databricks
- Sparkを使うためのPaaSサービス
- Databricksは企業名(Sparkの開発元企業)
- SparkをAzureの1st Party のPaaSとして提供

#### Azure Machine Learning Studio
- ブラウザだけで開始できる
- オープンで優れた統合環境
    - R、Python
- ソリューションを数分で展開
- 世界への展開
- 制限はある(データサイズなど)

#### Azure Machine Learning Services
- 玄人向け
- 使い慣れたフレームワークを利用可能
- Azure ML Python SDK
- Azure Notebook
    - Jupyter Notebookのようなものだそう
- 機械学習の自動化

##### **Automated Machine Learning**
- **モデルの開発には多くの試行錯誤が必要**
- この試行錯誤を自動化できる
    - 今回はどのアルゴリズムが効く？
    - ハイパーパラメータのチューニング

![ml_map.png](https://qiita-image-store.s3.amazonaws.com/0/70897/5cbeb6b1-26b1-86ee-9599-b91ac614c156.png)
引用元：https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html


#### Data Lake(と言う入れ物)
- 困難なBig Data管理の手助けとなる
- Big Dataの構成要素
    - Volume(ボリューム)
    - Velocity(発生速度、更新頻度)
    - Variety(多様性)

#### Azure Cosmos DB
- いわゆる NoSQL Database
- Azure Functions + Azure Cosmos DBの組み合わせ事例

#### Azure Data Explorer
- 巨大なデータセットへの高速クエリ実行


発表スライドアップされてました。

[[Developers Festa Sapporo 2018] Azure AI ～Microsoft AzureでのAI開発のイマ～](https://www.slideshare.net/satonaoki/20181117devfestasapporoazureai)



---

#**■コンテナ技術を使うためのガイダンス**

吉田　雄哉(日本マイクロソフト株式会社)

---

クラウドの始め方について7年ほど話されていると言う吉田さん。
こういった講演的なのに慣れている感じの話しぶりで、逆にメモが追いつきませんでしたｗ
私と同じ大学出身と言うのを聞いて親近感が湧きました。
タイトル通り、コンテナ技術、Dockerについての基本的なお話が主で、前々からDockerに取り組みたいと思っていた自分にとっては取り組もうと言う意欲が湧く内容でした。
ちなみにKubernetesについては触れられていませんｗ

## ■**導入部**
### **自己紹介**

- 2015年1月マイクロソフト入社。
- 札幌出身
- 室蘭工業大学卒業(私と同じ...年代も近いかも)
- 通称 パクえ(パブリック クラウド えばんじぇりすと)

### **挙手アンケート**
Dockerコマンド使ったことある人→私が見た感じで半数近く(クラウド使ったことある人より多いの？？？)

## **本題**
### **”コンテナ”とは？**
物理的なコンテナの話から始まる
- 規格による統一
- 効率の向上
- 環境整備しやすい

### **ソフトウェアとしてのコンテナ**
- OSより上の層が対象(アプリケーション、ミドルウェア)
- 環境(OS、ハードウェア)との分離
- 自動化への促進
    - **xxさん秘伝の必殺スクリプト的なのを誰でも使える**
- 同じものを作れる
- 隔てて混ぜれる

**コンテナ技術を実運用で使うには、そのメリットを説明できる必要がある**
技術者視点ではなくユーザー視点で語れないとダメというお話しを繰り返されていて、1時間の中で一番強調したい部分なのかなと。

---

～Azure上でのdockerデモ～(20分ぐらい)

---

### **どんなところで使われているか**
- Lift and Shift
    - マイグレーションとも言う
    - オンプレ→クラウドへの移行
- DevOps
- Microservice
- Serverless
- 配布

#### App Modernization(アプリケーションの近代化)

Container → Microservice → Serverless

**ビジネスとしてなぜ必要か？**から逃げてはいけない

### **どう始めるか？**
- アプリケーションのコンテナ対応
    - 作法あり
- クラウドベンダーが提供する様々なサービスを使おう
    - マネージドレベルが高いサービスがお勧め
- 変化が激しいので頑張って追いかける
    - 継続がポイント

発表スライド
[コンテナ技術を 使うための ガイダンス](https://pakueshares.blob.core.windows.net/pakuefiles/20181116_DFS2018_Container.pdf)

以上