見出し画像

AI人材育成講座 第9-11回Microsoft Azure実践

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

第9回 Microsoft Azure

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

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

Microsoft Azureとは何か、クラウドとは何か?


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

Microsoft Azureは、ネット上にアクセス可能なコンピューターを「自分で作り」、Azure上で操作してその結果をインターネット越しで得る。

今までプログラムをやるとなると、自社で強いコンピューターを導入し、そこで動かすことしかできなかった。
クラウドで作ることで、その強いコンピューターを最初に買う必要がなくなった。
まずは、クラウドでやってみるそこでチャレンジすることで、リスクをより小さくすることができる。
まずは、クラウドで使ってみる!最終的に出来上がったものを実際にやりましょう!

これからやること
ネット上にあるMicrosoftのクラウドコンピューターを借りて、そこに自分が使いたいプログラムを置いておき、適宜インターネットを介してアクセスして使用するシステムを作りましょう!

クラウドサービスのお金のかかり方
サーバーを借りる:月額サーバーを借りてその時間分だけ支払いする
サーバーレス:実際使った分だけお支払いする

リソースの階層構造(入れ子構造)は重要

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

ログインすると、Home画面

基本的に欲しいものは検索から拾ってくると良い。

リソースグループを作る

リソースグループ名(自分がわかりやすいように)

リージョンはどこでもいいが、遠くなると(少しだけ)遅くなる。
リージョンはJapan Eastにしておくと良い。(無難)
リージョンにより使えるリソースや価格が違ってくる

ETLを実践する。天気の情報を集めてきてデータに入れる

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

本来データはシステムの中だけで完結するために作られている。
その情報を外部から読んだり、書き込んだりするために解放するサービスをAPIという。

APIが欲しかったら「(欲しい情報) api document」で検索したら出てくる。
今回は「天気予報 api document」で検索してみよう!

機械が読み易い形式で出てくる

Synapse Workspaceを作る

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

ストレージアカウントを作れとのこと

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

サーバーレスが1TBで💲5.00

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

自分のアプリ用のSynapseを作る
Synapseでいいのかはわからない!
RAGを作るシステムこれは、従量課金できない

RAG作るときはCosomsDBがおすすめ(No SQL)
コスト管理もできる。コストアラートを準備しておくことで、アラートが出る。

第10回 SynapseによるETL作成

①「データを集める」→②「データレイクに溜め込む」→③「解析しやすいようにDBを作る」→④「AIを使った解析をする」
この①→②の過程になります。

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


Azure Synapse Analytics
色々な形式になっているデータをデータレイクにとりあえず放り込む。その中継ぎのシステムになっている。

色々なデータ→データレイク→データウェアハウス→解析

情報の流れ

「色々なデータ→データレイク」
までをとりあえず構築しましょう

リソースの中から、ここの「開く」を
新規から作っていこう
パイプラインを選択
名前は先のこと考えて貯めておく
真ん中の白紙が作業スペースになる。
ブロックを作り、つないでいくこと、その動きを指定する。
データフローをドラッグ&ドロップ

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

赤色の1は必須項目が残っていますよというサイン


データフローがないので、新規で作成する

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

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

認証なしの場合は、匿名(annonymous)

データフローのデバッグにより、そのシステムが動くようにしてあげなければならない。(コンピューターリソースが消費「お金がかかる」されるので注意!)

この一連の動作は覚えない!必要な時にその都度調べていこう!(今回のnoteは初心者が体にもう一度やり直しを叩き込むために追跡しながら記録します。)

シンクのブロック(最終目的地)

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

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

ファイルパスの設定が必要

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

どこからデータが来て、どこにしまうのかが、設定された状態
オールグリーンを確認

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

この実行をどれくらいの周期でやるかを設定する
新規からスケジューラーを設定

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

開発用なんで、忘れないように終了日を設定する
リソースグループに戻り
ストレージアカウントの中に結果が出る


このままのデータをダウンロードしても、解析には適さない

ここから、どのようなデータベースをするのに必要な要素は何か?
人間が考えてデータベースの形を決めていく必要がある!

理想の場外の表を考えて、それを支持して作っていく

例えば、解析するには「の天気」は不要!

データの前処理
解析しやすいように整理してDWHに収納する
ここに一番力を使って整理していく。

第11回 Azure AI Services

ついにやってきましたAIサービス
①「データを集める」→②「データレイクに溜め込む」→③「解析しやすいようにDBを作る」→④「AIを使った解析をする」
この③→④の過程を実践します。

それにしたって言語化が重要!


機械に渡すときに分析しやすいようにする

わかりやすくする=お膳立てするはやったほうがいい
いらないデータをカットする→人間がこのデータいらないんじゃないか?というデータ自体は残したほうがいい(人間の考え方には偏りがある)

データを変換して放り込む方法を実演(29:00- 自分でやる時に見直す用)

この形に落とし込みたい、数字にする、時間にする、日付にする、単語にする

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

データベースの構成を忘れない


ここの設定をちゃんとやっておかないとアクセスできなくなる
これができてないせいで、めっちゃ困ってた!


データベースを作ったら、データレイクからDBへ移すためのSynapseを作る

AI Servicesを使って、画像認識AIを作ろう

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

Azure AI services

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

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

キュベレイとクシャトリヤを見分けるAIを作る(何に使うんだ!?)
SDを入れてみたら!99.9%キュベレイと認識!

吉野家の牛丼と、松屋の牛丼を見分けるとかできる。魚とか植物とか、これなあにってのはできそうですねー

うーん。色々できそうだけど、医療でできるユースケースがまだおもいつかない!

できることはわかったぞ!

受講生も色々な画像認識AIを作成!

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

リアルと繋ぐ要素は色々ある!

感想

実際のAzureを触って実践。
自分がつまづいたところも、スムーズに進めているのをみることで、非常に勉強になった。
やはりこの辺は、いかに触ったかでできるところが変わってくるので、経験値をどんどん積んで動かしていく必要がある。

まだまだ、

言語化+未知の知識の吸収

ここを続けていく必要がある!
講座はあと7回?まだまだあるんかーこれ以上色々あると、ついていけなくなりそうだ><

まぁ、こっからっす!!


いいなと思ったら応援しよう!