AI-102 学習メモ (2) : Azure AI サービスを計画、作成、デプロイする

# はじめに
この投稿は AI-102: Microsoft Azure AI エンジニア の学習をした内容のメモです。

投稿の一覧は以下のリンク先にあります。

https://qiita.com/atsmin77/items/5235dfe16ad1bed065ca

# 前の投稿

https://qiita.com/atsmin77/items/566ea4dccdc1a6472e3e

# 責任ある AI

Microsoft が以下のような観点で**責任ある AI フレームワーク**を公開しています。

| 名前 | 備考 |
|:-:|:-:|
| プライバシーとセキュリティ (Privacy & Security) | 情報の暗号化、プラットフォームの機密化  |
| 包括性 (Inclusiveness) | アクセシビリティの向上  |
| 説明責任 (Accountability) | 人間が責任を持って制御する  |
| 透明性 (Transparency) | 人間が理解できる仕組み  |
| 公平性 (Fairness) | 差別のない公平な意思決定 |
| 信頼性と安全性 (Reliability & Safety) | 安全で信頼できるソフトウェアの開発  |

https://www.microsoft.com/ja-jp/ai/responsible-ai

https://learn.microsoft.com/ja-jp/azure/well-architected/ai/responsible-ai

# Azure AI リソースを作成する

## リソースの種類

Azure AI リソースには複数の Azur AI サービスを利用できる**マルチサービス リソース**と、単一のサービスのみが利用できる**シングルサービス リソース**があります。

::: note warn
マルチサービス リソースでは試用版 (無料) のプランが選択できないため、試す際には注意が必要です。
:::

| 種類 | リソース名 | 説明 |
|:-:|:-:|:-:|
| マルチサービス リソース  | AI Services | 1 つの資格情報で複数の AI サービスを利用できる |
| シングルサービス リソース  | Face、Vision など | サービスごとの資格情報を利用する、試用版 (無料) がある  |

## Azure AI サービス リソースの作成

Azure AI サービスを利用する際には、以下の手順で Azure Portal から Azure AI サービス　リソースを作成します。

::: note info
以下の例ではマルチサービス　リソースを作成しています。
:::

1. [リソースの作成] - [AI + Machine Learning] - [Azure AI services] - [作成] をクリックします 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/cdb4b2cb-4a1e-0054-a12f-1c0d4a69c737.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/ff72d6e7-1b63-9c3e-39fc-53466f3408df.png)
2. [リソースグループ] [リージョン] [名前] [価格レベル] を入力し、契約条件のチェックボックスをオンにします
:::note warn
入力した名前が AI サービスのエンドポイントのドメイン名になります。既に使用されている名前は設定できません。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/a17c9181-f43c-8cef-a550-a17562ccd7fd.png)
3. [ネットワーク] タブで AI サービスを利用できるネットワークを選択します

:::note
今回はテストのためすべてのネットワークを選択します。すべてのネットワークを選択してもアクセスには資格情報が必要です。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/9a45c327-875e-d73c-ab35-504dcd46c50b.png)
4. [Identity] タブと [Tags] タブは既定のままで [確認と作成] タブで [作成] をクリックします

::: note
[Identity] タブは AI サービスから他の Azure のリソースへアクセスする必要がある場合に設定します。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/0912511e-8baf-ac3f-2502-0cdd13b2a4e2.png)

https://learn.microsoft.com/ja-jp/azure/ai-services/multi-service-resource?pivots=azportal

# Azure AI サービスのエンドポイント
作成したリソースの [キーとエンドポイント] から AI サービスを利用するために必要なキーとエンドポイントを確認することができます。

::: note
キーは 2 つ生成されますが、いずれか 1 つのキーでアクセスすることができます。2 つ目のキーは 1 つ目のキーを再作成する際に利用できます。キーの再作成は画面上部の再作成ボタンから行えます。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/2bb022b7-4cb5-f669-cb51-401bf67ad3d7.png)

# Azure AI サービスの継続的インテグレーションと継続的デリバリー (CI/CD) 

Azure AI サービスはモデルの訓練、トレーニング、評価、デプロイの一連の流れを DevOps として統合することができ、Github でサンプルコードが公開されてい

1. 訓練データを更新
2. モデルを新しい訓練データでトレーニング
3. 新しいモデルを評価
4. 新しいモデルの精度が古いモデルを上回ればデプロイする 

https://github.com/Azure-Samples/Speech-Service-Actions-Template

# Azure AI サービス コンテナーのデプロイ

Azure AI サービスコンテナーを利用することで、オンプレミス上で Azure AI サービスを実行することができます。これによってクラウドにデータを送信することなく Azure AI サービスを利用することができ、スループットを向上させることができます。

https://learn.microsoft.com/ja-jp/azure/ai-services/cognitive-services-container-support

# 次の投稿

https://qiita.com/atsmin77/items/f358f79ca5bac4485887