【結論】
ぜんぜん初心者向けの内容じゃなかったため、Generative AI for Beginnersのレビューはありませんのでご注意ください。
どうもどうも。AIレベル1のono3です。
また急だね。何をもってAIレベル1なの??
こないだGoogle AI Essentialsの学習を終えたので、とりあえずこれでAIレベル1を名乗ろうかなと。
まあ入門編だったもんね。で?今度は何をやるの??
私がAI学習を諦めたコンテンツ、microsoftが出してるGenerative AI for Beginnersに挑戦するよ!!!
はじめに
このシリーズでは、microsoftがGitHubで出しているGenerative AI for Beginners(日本語名:初心者のための生成AIコース)を攻略します!
・・・攻略するの?
攻略します!!!
覚えていますか?
さて当ブログにはじめてお越しになる方は是非↑こちらをご覧いただきたいのですが、私は生成AIの勉強をしようと思って学習コンテンツを探していたとき、
以下の内容を見て一度は勉強を諦めた経験があります。だって・・・。
これが何いってるか分からない人へ
なに言ってるの?
って感じなんですよ。私からしたらね。
こちらはmicrosoftが無料で出している生成AIの学習コンテンツの冒頭の内容なのですが、ど素人が勉強するにはちょっとハードル高すぎませんかね・・・。
しかし私はGoogle AI Essentialsを乗り越えてAIレベル1になったので多分もうやれるのだ!!
根拠のない自信いいね!!
というわけで、2つめのAI学習コンテンツレビューはこちらのGenerative AI for Beginnersをレビューすることにしました。
というわけで、以下はリポジトリをフォークするという単語の意味が分かる方にはつまらない内容かと思いますが、
「なにそれ分かりません」という方にとってはとても良質なコンテンツだと思いますので、ぜひ最後まで読んで一緒に生成AIの勉強をしましょう!!
ちなみに1つめにレビューしたGoogle AI Essentialsについて知りたい方はこちらからどうぞ。
Generative AI for Beginners
概要
Generative AI for Beginnersとは、microsoftが無料で公開している生成AIの学習コンテンツです。
名前からして初心者向け。かつ生成AIアプリケーションの開発を始めるために必要な全知識を学べる12講座というサブタイトルが付いているため、
これから生成AIについて学ぼうという方にとっては良いコンテンツなのかなと思いますが、
まずは前回のGoogle AI Essentials同様、学習するための事前準備についてまとめます。
コンテンツの場所
Generative AI for Beginnersはこちらから開けます。
日本語かつ無料のコンテンツなので、興味がある方はとりあえずブックマークしておけば良いと思います。
日本語コンテンツってことが初心者には大事だよね。
それAI関係ないじゃん。
以下の内容は、このページに書かれた内容を上から順番にチェックしたものです。
ここからは用語解説つき
ふむふむ。
解説は任せた。
・・・。
まずクラウド・アドボケイトというのはマイクロソフトの職種で、技術コミュニティを支援して技術者たちの声を製品開発に反映させる役割の方を指すそうです。
なので、要するにここで言っていることはただの挨拶文です。
「技術者たちの声」とあるように基本的にGitHubを使うのはエンジニアさんが多いようですが、私のように誰でもアカウントを作ることはできます。
例の文章
こちらはまず用語解説をします。
●GitHub:
みんなで一緒にプログラムを作ったり変更したりできる場所。エンジニアさん御用達。変更箇所とかバージョン管理ができるのが人気。
●リポジトリ:
プロジェクトごとにファイルをまとめておく場所。
●フォーク:
他ユーザーのリポジトリをコピーして自分のアカウントで管理すること。
●スター:
リポジトリをお気に入りとしてマークすること。
これを踏まえて「はじめに」の内容を要約すると↓こんな感じになりますね。
・microsoftのプロジェクトを自分の個人フォルダにコピーしてね
・そうすることで内容を自由に変えられるし、課題の進捗管理ができるよ
・見つけやすいようにお気に入り登録がおすすめ
・上から順にやらなくても、興味のあるレッスンから自由に始めてok
・「コースセットアップページ」で準備方法を確認できる
最初からこう書いてくれればいいのに。
勉強仲間が欲しいときは
公式のAI Discordサーバーに行けば、同じコンテンツを勉強している人とチャットができるようです。
Discordって何?
技術者やゲーマー向けのLINEって感じだね。
もっと知識を深めたい場合
このコースを終了した後、さらに生成 AI に関する知識を深めるために生成 AI 学習コレクションというのがあるようです。
まずはこのコースを終わらせてからだね。
スタートアップだったら支援あり
最大で$150kのAzureクレジット・・・kは1000だから15万ドルか。
2400万円!!?
※1ドル160円で計算
ちょっと金額がすごいのでmicrosoftのスタートアップ支援ページに行って詳細見てきました。
●アイデア創出: スタートアップのアイデアを洗練し、製品のプロトタイプを作成しています。この段階で、最初に1,000 ドルの Azure クレジットが付与されます。
https://startups.microsoft.com/blog/credit-levels/から引用 ※原文は英語→chromeで翻訳
●開発:ソリューションに価値があることがわかっており、最小限の実行可能な製品の開発に着手しています。この段階で、5,000 ドルの Azure クレジットをすぐに受け取ります。
●成長:製品をリリースし、機能の出荷と顧客の獲得に注力しています。Azureクレジット 25,000 ドルをすぐに請求できます。
●規模:製品市場適合性があり、会社の規模拡大に注力する準備ができています。この段階では、すぐに 150,000 ドルを請求できます。
とりあえず今の私には縁が無いことは分かった。
AIの勉強したら起業したくなるかもよ。
microsoftってなんかすごい支援してるんですね。こういうのって私が知らないだけでGoogleとかもやってるんだろうか。
やってた
しかも35万ドルだから・・・5600万円くらいか。もう意味が分からない金額ですね。まあそれだけ支援しても充分な見返りがあるってことなんでしょう。
余談
AzureもGCPもスタートアップ支援してるってことは、同じクラウドプラットフォームのAWSもあるかな?と思ったらやってました。
ただし最大10万ドル(1600万円)だったので、おやおや??と思って参考までにシェア率を調べたところ、
AWS:31%
Azure:25%
GCP:11%
こうでした。 ※2024Q1データを元にしたperplexity調べ
資料がシェア率しか無いうえに素人目線というだいぶ偏った感想ですが、GCPがやたら多額な支援をしているのはシェアを獲得したい目的もあるように見えます。
今のところ起業予定はありませんが、AIの勉強をはじめて本格的にクラウドプラットフォームの検討をすることになったらこの3種についても調べてみようと思います。
誤字脱字があったら教えて
私こういうの好きなので誤字脱字を見つけたらやっちゃうかも。
ところでプル・リクエストって何?
「ここを直したから、確認して問題なければいま公開されてるプロジェクトに取り込んでよ」っていう要望。
反映させるかどうかは相手が選べるけど、気になったところをこっちで勝手に修正して送れるってこと?
そう。
なかなか便利な仕組みがあるんですね。マニュアルの更新とかもう全部GitHubを使えば良いんじゃないかな(適当)
ちなみにこのページはここまでで半分くらい。もう半分がこのコースで学べるレッスン一覧の紹介です。
レッスン一覧
リンク | コンテンツの中身 | 学習目標 | |
00 | コースのための準備 | テクノロジーのセットアップとコースの枠組み | レッスンが成功すると分かるゴール設定 |
01 | AIと大規模言語モデルの生成の紹介 | 概念: AI と現在のテクノロジー環境の生成 | AIを生成するということ、そして大規模言語モデル(LLM)がどのように動くか理解します。 |
02 | 様々なLLMの調査と比較 | 概念: さまざまな大規模言語モデルのテスト、反復、および比較 | ユースケースに適したAIモデルを選択 |
03 | 責任ある生成 AI の利用 | 概念: ファウンデーションモデルの限界と AI に伴うリスクを理解する | 責任ある生成 AI アプリケーションの開発方法を学ぶ |
04 | プロンプト・エンジニアリングの基礎 | コード/概念:ハンズオン書式プロンプト・エンジニアリングのベストプラクティスを学ぶ | プロンプトの構造と使用法の理解 |
05 | 高度なプロンプトの作成 | コード/概念:プロンプトに様々なテクニックを取り入れ、プロンプト・エンジニアリングの知識を深める | 出力結果を改善するため、プロンプト・エンジニアリングのテクニックを活用する |
06 | テキスト生成アプリケーションの構築 | コード: Azure OpenAI テキスト生成アプリの構築 | トークンと温度を多く使用しモデルの出力を変化させる方法を理解する |
07 | チャットアプリケーションの構築 | コード: チャット アプリケーションを構築および統合するための手法。 | AI を利用したチャット・アプリケーションの品質を効果的に監視し維持するための重要なキーメトリクスと注意点を把握する |
08 | ベクターデータベースを利用した検索アプリケーションの構築 | コード: セマンティックとキーワードについて。テキストの埋め込みについて学び、への対処方法 | 埋め込み技術データ検索アプリケーションの構築 |
09 | 画像生成アプリケーションの構築 | コード:アプリケーション開発で画像生成が役立つ理由 | 画像を生成するアプリケーションの構築 |
10 | ローコード AI アプリケーションの構築 | ローコード: Power Platform における生成 AI の概要 | 教育系スタートアップ企業ローコードで学生の課題追跡アプリを構築する |
11 | 関数呼び出しとの統合 | コード:関数呼び出しとアプリケーションにおける用途 | 外部 API からデータを取得するため Function Calling |
12 | AI アプリケーション用の UX デザイン | 概念:透明性と信頼性を備えた AI アプリケーションの設計 | AI アプリケーションの開発時に UX デザインの原則を制御する |
xx | 学習の継続 | 授業内容の続きを読むにはここをクリックしてください! | AIの技術をマスターするために生成する |
とりあえず一覧を載せてみたけど、これだけ見ても各レッスンで何を学べるのかよく分からないね。
もしかしたら、ある程度AI知識がある人だったらこの目次だけ見て勉強したいレッスンを選べるのかもね。
私はさっぱり分からないので、上から順番にやります!
とりあえずこのページでは「00.コースのための準備」を最後までやりきって、実際の学習コンテンツのレビューは次回以降にしたいと思います。
というわけで今回の本題。このレッスンを受けるための準備をやっていきます。
コースのための準備
はじめに
まずはこちらのページをご覧ください。
↑こちらはmicrosoftが書いたコースを始めるための準備のページなので、このページを読んで理解できる方は以下読まなくて大丈夫です。
そんなあなたは次回のレビューでお会いしましょう。
このページを見ても「よく分からん」という方は私と一緒ですね。以下はそんなあなたに向けて、私が実際に準備した手順を書き記しておきます。
1.リポジトリのフォーク
まずは先ほどと同じこのページを開きます。
するとこんな内容が書かれているので、下線のついた「フォーク」を押します。
すでにGitHubのアカウントを持っている方は以下1つ飛ばしてください。
今回はじめてGitHubを使うという場合は、まずこんな画面が出ますので、いちばん下にある「アカウントを作成してください」からアカウントを作成してください。
YouTubeとかを見るとそこそこアカウント作成画面が変わっているようなので、最新情報はこちらの公式のアカウント作成ページを見てやるのが良いと思いますが、
1.メールアドレス入力
2.パスワード入力
3.ユーザー名を入力
(4.メール受信チェック ※受信せずに進めてok)
私が作成したタイミング(2024/7/9)ではこんな流れで進み、そのあと人間かどうかの確認として靴を回すパズルをさせられ笑
さらにメールに認証コードが届いて、メールアドレス確認を経て以下の画面になりました。
フォークの確認画面
うーん。実に英語ですね。私は多少の誤訳があっても日本語の方が読みやすいので、chromeの機能を使ってページごと日本語に翻訳します。
ちょっと前までchromeの拡張機能で翻訳を入れていたんですが、6月のアップデートかな?その辺で拡張不要で翻訳できるようになったのが便利ですね。
以下は特に断りがなければ、chromeの翻訳機能を使って日本語にした状態で進めます。
ということで日本語になりました。この画面ではフォーク作成にあたりリポジトリの所有者やリポジトリ名を変更できるようですが、
特にこだわりが無ければそのまま「フォークを作成」という緑色のボタンを押せば良いようなので、私はそうしました。
そうすると数秒だけこんな画面が出てくるくる動いて・・・
この画面になったら無事フォーク完了です!!
・・・解説、細かすぎない?
いやいや、英語サイトで何かしらボタンを押すって勇気がいるから丁寧すぎるくらいが丁度いいと思ってるよ。
2.Codespaces を作成
コードを実行する際、依存関係の問題を避けるため、GitHub Codespaces で、このコースの実行をお勧めします。
Codespaces は、フォークしたリポジトリから、下記の緑のボタンの
https://microsoft.github.io/generative-ai-for-beginners/#/00-course-setup/translations/ja-jp/READMEから引用Code
を選択し、Codespaces オプションを選択し作成できます。
依存関係の問題を避ける?
コードスペースでの実行がお勧め??
順番に調べようか。
さて私調べによると・・・
依存関係の問題とは、前提がちゃんとしてるかどうか。のようです。
もうちょっと具体的に書くと、どうやら最近のプログラムは全てを1から書いているものは少なく、
ライブラリやモジュールと呼ばれる「よく使うコード」をまとめたもの。いわばコピペセット的なものがあり、
それがあることで開発時間の短縮ができるようなのですが、開発する環境にそのセットが入っているかどうかでプログラムの挙動が変わってしまうため、
事前にそのライブラリとかモジュールとかを入れて、ちゃんと設計通りに動かすための段取りが欲しいようです。これを開発環境を作るというそうです。
時間短縮のためのコピペセット・・・なんかもうちょっと身近なもので説明できない?
えー。切った状態で売られてる野菜みたいな感じ?あとは味付け済みの冷凍食品とか。
あー。分かりやすいかも。作業時間が減るってことね。
そうそう。で、コードスペースを使うと該当するプロジェクトに必要なライブラリとかが全部用意された状態の環境ができるので、依存関係の問題を避けられる・・・
らしいです。
なにせプログラム未経験の私調べなので責任は持てませんが、色々読んでみた感じではこの理解で合っていそうです。
とりあえずこの理解で話を進めます。
実際にコードスペースを作ってみる
コードスペースの作り方はとても簡単で、まず先ほど作ったこのページにある「コード」と書かれた緑のボタンを押して、コードスペースのタブを開きます。
最初は地元が選択されているので、隣のコードスペースタブを選び、「メインにコードスペースを作成する」を押すだけでコードスペースが作成できます。
(地元・・・?ローカルかな)
補足:コードスペースの費用
月に120時間までは無料のようなので、今回はじめてGitHubを使うような方はまず問題ないと思いますが、すでに色々使っている方はご注意ください。
詳細は公式のこちらをどうぞ。
3.APIキーの保管
アプリケーション開発において、API キーは安全に扱う必要があります。公開リポジトリにこうした機密情報をコミットすると、不正利用による想定外のコストや問題が発生する可能性があります。そこで、作業中のソース・コードに直接 API キーを保存しないようにしてください。
https://microsoft.github.io/generative-ai-for-beginners/#/00-course-setup/translations/ja-jp/READMEから引用
APIってなに?
webサービスを連携させるためのルールや仕様だね。
じゃあAPIキーって何?なんかの鍵??
鍵っていうか、「私がこのAPIを使ってます」っていうIDやパスワードと思ったほうが分かりやすいかな。
webサービスの中にはAPIを使ってやりとりした量に応じて従量課金されるものも多いんだけど、
もしAPIキーが誰かの手に渡って使われると、自分では使った記憶がないのに多額の請求が・・・なんてことに。
安全に扱わなきゃいけない理由が分かったよ。
・・・というわけで、ここで説明されているGitHubの公開リポジトリはもちろん、公開されているサイトやドキュメントなどにAPIを書かないように注意しましょう。
ローカルPCで実行する方法
さてこの後はローカルPCで実行する方法として
・miniconda のインストール
・Python の拡張機能をインストールした Visual Studio Code の使用
・ブラウザで Jupyter の使用
・コンテナでの実行
という内容が続きますが、ここでは手順2でGitHub上にコードスペースを作りましたので、以降はローカルPCでは作業せずにGitHub上で作業する。という前提で進めます。
4.レッスンと技術要件
このコースは、6 つの概念レッスンと 6 つのコーディング・レッスンが含まれます。
コーディング・レッスンでは、Azure OpenAI サービスを使用します。コードを実行するには、Azure OpenAI サービスへのアクセス権限と API キーが必要です。こちらのアプリケーション・フォームに記入し Azure OpenAI のアクセス申請を行ってください。
https://microsoft.github.io/generative-ai-for-beginners/#/00-course-setup/translations/ja-jp/READMEから引用
ん??
途中で薄々感じてはいたけど・・・これ多分、初心者向けコンテンツじゃないよね??
せっかくだから、もうちょっと進んでみようよ。
Azure OpenAIのアクセス申請
いや、なんか厳重そうだよ?資格のあるお客様とパートナーが利用できるって書いてある。
これからAIのことを勉強しよう。っていう初心者が資格のあるお客様とは思えないね・・・。
まあせっかくなので入力フォームまで見てみることにしました。
5.Azure OpenAI アクセス申請フォームの内容
ということで見ました。見たんですが・・・
くそおおおおおおおおおおお!!!!!!! ってなりました笑
やっぱりこれどう見ても初心者向けじゃないよ!!ここまで8時間近くかかったのに・・・。
まあこの投稿を見て同じ失敗をしない人が世界に3人くらいいると思えばいいんじゃないかな・・・。
というわけで以下がAzure OpenAI アクセス申請フォームの抜粋です。
私は無理でしたが、この内容を見て「いけるいける」と思った方は多分そのまま進められる方だと思います。。。
なお赤線を引いたものは、私が「???」となった内容です。
フォームの内容
1.あなたの下の名前
2.あなたの名字
3.このサービスにアクセスしたい Azure サブスクリプション ID はいくつですか?
4.最初の Azure サブスクリプション ID (テナント ID ではありません) を入力してください
5.会社のメールアドレス(gmail等の個人アドレスの申請は拒否されます)
6.会社名
7.会社の住所
8.会社所在地
9.会社所在地(なぜか2つある)
10.会社郵便番号
11.会社国
12.会社のウェブサイト
13.会社の電話番号
14.この申請が自社用であり、顧客に代わって申請しているのではないことを確認
15.なんか長めの規約読んで合意するやつ
16.長めの規約その2
17.アンケート(オプション)
全文読みたい方はこちらからどうぞ。 ※英語です
これまじ?
まじ。もう会社でやることが前提だし、個人のメアドは拒否するってはっきり書いてあるし。
こういう大事なことは学習コンテンツの最初に書いて欲しい・・・。
でもあと2つくらい書きたいことがあるのでもうちょっと頑張ります。。。
6.Azure OpenAIサービスをはじめて使用する場合
仮に Azure OpenAI サービスをはじめて使用する場合は、Azure OpenAI サービスのリソースを作成しデプロイする必要があります。リソースの作成方法はリンク先のガイドをご参照ください。
https://microsoft.github.io/generative-ai-for-beginners/#/00-course-setup/translations/ja-jp/READMEから引用
ちなみにリンク先のガイドに出てくる内容が↓こちら。
そんでもって、「こちらのフォーム」というのは先ほど出てきたAzure OpenAI アクセス申請フォームのことです。
涙ふけよ。
依存関係の問題とかめっちゃ調べたのに・・・。
っていうか本当に「このコンテンツは初心者向けじゃないよ」ってのは冒頭に書くべき内容でしょ!!
逆になんで初心者向けだと思ったの?
だって Generative AI for Beginners って書いてあるじゃん。ビギナーって初心者じゃないの??
ビギナーって、たしか初級者(ちょっと知ってる人)っていう意味もあったような。
●初心者:
ある分野やスキルにおいて、ほとんど経験がない人を指します。基本的な概念や操作方法を学び始めたばかりの段階です。
●初級者:
ある程度の経験を積んでおり、基本的な操作や概念を理解しているが、まだ深い知識やスキルを持っていない人を指します。
こういうこと・・・?
そうかも。
悲しい_(:3 」∠)_
あとなんか悔しい。
悔しいので探しました
ビギナーには確かに【初級者】という意味もあったのでただの私の認識違いといえばその通りなんですが、それで終わるのはなんか悔しいじゃないですか笑
なので「何かないのか?」と思って、その何かかが何か分からないまま「何か」を求めて探してみたのですが・・・・・・なんと!!
ありました
あったんだ。
あったんだよ。
●●が原因だ!!!
なにこれ?
日本語ページの冒頭。
・・・で、
こっちが英語ページを日本語訳したもの。
top絵が違うね。あとは・・・あれ?18のレッスン?
12じゃなくて??数が違うね。
そう!!! しかもバージョン2って書いてある。
そんで極めつけが、
これ!! あなたが必要なものってところに、まったくの初心者の方はこっちのコースを見てね。って書いてある。
あなたが必要なもの
・Azure OpenAI サービス または OpenAI APIへのアクセス
-コーディング レッスンを完了するためにのみ必要
・Python または TypeScript の基本的な知識があると役立ちます
– *まったくの初心者の方は、これらのPythonおよびTypeScriptコースをご覧ください。
・このリポジトリ全体を自分の GitHub アカウントにフォークするための GitHub アカウント
ちなみに日本語ページはこれ↓
確かに難易度表記みたいなのは無いね。
さらにAzure OpenAI のアクセス権は会社勤めじゃないと申請すらできないと。まあこれはバージョン2も同じか。
そう!! つまり和訳が悪い!! 最初に書いてくれ!!
・・・で?
えっ?
やろうと思えばやれるでしょ?
いや、ここ初心者向けコンテンツだし・・・
「まったくの初心者の方は、これらのPythonおよびTypeScriptコースをご覧ください」って書いてあるよ?
そこは見たの?
・・・見てない。
じゃあ見てみようか。
TypeScriptのコース
中級者向けだし、前提条件がやたら多いね。
前提は多いけど、学生向けとも書いてあるよ。
ただ、前提条件がちょっと初心者向けとは思えないね。
(ほっ)
じゃあPythonはどうかな?
Pythonのコース
こっちは前提条件が無いね。
ほんとだ。でも、また初級者向けって書いてあるよ?
まあ初心者と初級者は混同されていることもあるし。
・・・。
・・・。
・・・。
じゃあ、やろうか。
えっ?
やろうか。
パイソン?
パイソン。
はい・・・。
Generative AI for Beginnersのための学習
感情的になった気持ちを出したことはさておき、冷静になって改めて見ると「あなたが必要なもの」とされているのは3つありまして、
あなたが必要なもの
●Azure OpenAI サービス または OpenAI APIへのアクセス
-コーディングレッスンを完了するためには必要
●PythonまたはTypeScript の基本的な知識があると役立ちます
– *まったくの初心者の方は、PythonおよびTypeScriptコースをご覧ください
●GitHubアカウント
このうちAzureまたはOpenAIの件はコーディングレッスンをやらない場合は不要のようなので会社でやらないユーザーの場合はスルーすれば良いですし、
PythonまたはTypeScriptについては基本的な知識があると役立つ。ということは基本的な知識がなくてもできると解釈できますし、
そもそも「または」なのでどっちか1つを学んでおけばなんとかなりそうな感じがするので・・・
俺はPythonを学ぶぞオオオオオオォォ!!!
(下段には「および」って書いてあるけどスルーしよう)
おわりに
というわけで、次回のこのコーナーはPythonを習得するコーナーになります!! やってやるぞ!!!
PythonなんてAI以上に縁が無いのでどうなるのか全く分かりませんが笑
生成AI(特に機械学習)とPythonはとても関係が深いようなので、とりあえず1回やってみようと思います。
応援よろしくお願いします!!
はじめての方へ
こちらは、はじめてこのサイトに来た方に向けたページです。
・レベル感 ※超初心者向けです
・ブログの内容
・どんな人が書いているのか
など「はじめてのAI」を読むにあたり最初に見ておいてもらいたいことが書いてありますので、もしまだ見たことがなければ一度ご覧ください。