
AI人材育成講座 第9-11回Microsoft Azure実践
実際にMicrosoft Azureを使って、実践する。
今回は考え方の紹介というよりも、Azureを使う上での個人的な備忘録になります。なので、本当に手順を追っているだけなので、中身を期待しないでください!
第9回 Microsoft Azure

データが間違うことはない。つまり、間違うのは人間のバイアスがかかった状態。データは「解析しやすいように調整する」ことはあっても、「これは必要ないと思う」という考え方で削除してはいけない。

アプリケーションとDBが連携してしまっている状態で、DBを変更するとアプリケーション側も変更が必要になるので難しい。
まずは
アプリケーション→データレイク
の考えかた
データレイクから必要な情報を収集してDWHに変えていくことで、アプリ側とDB側の同時変更のコストを変えないようにできる。
Microsoft Azureとは何か、クラウドとは何か?

クラウドサービスとは
インターネット上にあるコンピューターを使って、その仕事をさせるという概念。
インターネットを介して、ネット上にあるプログラムを動かす→その結果をインターネットを介して結果をもらう。

Microsoft Azureは、ネット上にアクセス可能なコンピューターを「自分で作り」、Azure上で操作してその結果をインターネット越しで得る。
今までプログラムをやるとなると、自社で強いコンピューターを導入し、そこで動かすことしかできなかった。
クラウドで作ることで、その強いコンピューターを最初に買う必要がなくなった。
まずは、クラウドでやってみるそこでチャレンジすることで、リスクをより小さくすることができる。
まずは、クラウドで使ってみる!最終的に出来上がったものを実際にやりましょう!
これからやること
ネット上にあるMicrosoftのクラウドコンピューターを借りて、そこに自分が使いたいプログラムを置いておき、適宜インターネットを介してアクセスして使用するシステムを作りましょう!
クラウドサービスのお金のかかり方
サーバーを借りる:月額サーバーを借りてその時間分だけ支払いする
サーバーレス:実際使った分だけお支払いする



リソースの階層構造(入れ子構造)は重要
サブスクリプション:課金単位で管理する
リソースグループ:リソースを使って何をやりたいかのグループ
リソース:仮想マシン、ストレージアカウント、DB、コンテナ、AI機械学習など、やりたい事のためのリソース

基本的に欲しいものは検索から拾ってくると良い。
リソースグループを作る

リージョンはどこでもいいが、遠くなると(少しだけ)遅くなる。
リージョンはJapan Eastにしておくと良い。(無難)
リージョンにより使えるリソースや価格が違ってくる
ETLを実践する。天気の情報を集めてきてデータに入れる

外部の情報を手に入れたいときは「API」を確認する

本来データはシステムの中だけで完結するために作られている。
その情報を外部から読んだり、書き込んだりするために解放するサービスをAPIという。
APIが欲しかったら「(欲しい情報) api document」で検索したら出てくる。
今回は「天気予報 api document」で検索してみよう!

Synapse Workspaceを作る
再度別アカウントで実践。講義そのままだと忘れるので、別環境でもう一度同じものを作っていきます。
ストレージアカウントがない!とのエラーで講義で出なかったエラーを確認。

一画面目以外はそのまま進める

カンパ先生「作成のボタンを押したら、応援します!」

Synapseでいいのかはわからない!

RAG作るときはCosomsDBがおすすめ(No SQL)
コスト管理もできる。コストアラートを準備しておくことで、アラートが出る。
第10回 SynapseによるETL作成
①「データを集める」→②「データレイクに溜め込む」→③「解析しやすいようにDBを作る」→④「AIを使った解析をする」
この①→②の過程になります。

公式学習ツールMicrosoft Learnが便利。課金が必要な要素を、無料で本番環境で実際にできる。
Azureの公式ドキュメントを参照する。変化が非常に激しいので検索しながらそれをやる。Youtubeは英語の情報でまさにやりたいことを一本釣りで拾い上げるのがいい。

Azure Synapse Analytics
色々な形式になっているデータをデータレイクにとりあえず放り込む。その中継ぎのシステムになっている。
色々なデータ→データレイク→データウェアハウス→解析
「色々なデータ→データレイク」
までをとりあえず構築しましょう





ブロックを作り、つないでいくこと、その動きを指定する。

データフローの詳細を決定します。



データセットを決めたい「赤い四角」
新規+から新しいセットができる。

APIを使って外部からのデータを持ってくる場合はRESTを選ぶ。



データフローのデバッグにより、そのシステムが動くようにしてあげなければならない。(コンピューターリソースが消費「お金がかかる」されるので注意!)
この一連の動作は覚えない!必要な時にその都度調べていこう!(今回のnoteは初心者が体にもう一度やり直しを叩き込むために追跡しながら記録します。)

そのブロックを設定していく。

APIからのデータはJSON形式で。Datalakeを作る。

自分のデータレイクのどこに情報を保存するかを指定する。


「発行」クラウド上にこの機械の作業が保存される。


API情報をいつ持ってきて、実行するかのスケジュールを設定していく。




ここから、どのようなデータベースをするのに必要な要素は何か?
人間が考えてデータベースの形を決めていく必要がある!
理想の場外の表を考えて、それを支持して作っていく

データの前処理
解析しやすいように整理してDWHに収納する
ここに一番力を使って整理していく。
第11回 Azure AI Services
ついにやってきましたAIサービス
①「データを集める」→②「データレイクに溜め込む」→③「解析しやすいようにDBを作る」→④「AIを使った解析をする」
この③→④の過程を実践します。


わかりやすくする=お膳立てするはやったほうがいい
いらないデータをカットする→人間がこのデータいらないんじゃないか?というデータ自体は残したほうがいい(人間の考え方には偏りがある)
データを変換して放り込む方法を実演(29:00- 自分でやる時に見直す用)

SQLDBを作る(僕はここで何度か挫折した)


これができてないせいで、めっちゃ困ってた!

AI Servicesを使って、画像認識AIを作ろう
色々なAIの基本的なユースケースが作ってある。今回は、画像認識AIを作ってみる。


画像分析AIを自分で作る。必要な画像を学習させる。
予測:一般的にある、すでにあるものを持って予測したい
トレーニング:一般的でないレアケースなどを集めて、トレーニングさせる
「Custom visionの作成」


イメージを保存して登録し、ラベルをつけるだけで簡単に準備可能


吉野家の牛丼と、松屋の牛丼を見分けるとかできる。魚とか植物とか、これなあにってのはできそうですねー
うーん。色々できそうだけど、医療でできるユースケースがまだおもいつかない!
できることはわかったぞ!

ラズパイにカメラを積んで、カメラ+AI解析を自分で簡単に作ることができるようになります!

感想
実際のAzureを触って実践。
自分がつまづいたところも、スムーズに進めているのをみることで、非常に勉強になった。
やはりこの辺は、いかに触ったかでできるところが変わってくるので、経験値をどんどん積んで動かしていく必要がある。
まだまだ、
言語化+未知の知識の吸収
ここを続けていく必要がある!
講座はあと7回?まだまだあるんかーこれ以上色々あると、ついていけなくなりそうだ><

まぁ、こっからっす!!