AI-102(azureのAIエンジニア中級試験)に合格しました。
三大クラウドのなかではAWSのほうが日本語の情報量が多く、勉強しやすいので個人的には好きですが、AIが弱いので、AzureのAI部門を勉強してみました。とても面白かったので、今後どうAIを使うか、という観点で記事を書いていきます。
勉強方法
まず公式ドキュメントを読みます。AWSと違って日本語がわかりやすかったです。
次にudemyで問題集を解きます。
合格水準が80%なので、万全を期して2周しましたが、後述の通り試験では公式ドキュメントを読めるので、60%ぐらい取れれば試験をうけてもいいような気がします。
実際の試験では試験中に公式ドキュメントを検索して、答えを探すことが可能です。つまり、暗記・理解が6割、検索が4割、というイメージです。体感で1/3ほどの問題で初見の概念を問われたので、そのたびにドキュメントを検索して答えを探しました。ただ、全問でそれをやってしまうと、ほぼ確実に時間が足りないので、ある程度の暗記や理解は必要だと思います。
ちなみにオンライン受験可能だったので、自宅の部屋を掃除して受験しました。便利な世の中です。
AIで何ができる?
個人的な感想になりますが、現在のAIは「IQ100程度の新卒」というイメージがしっくりきました。AIといえばChatGPTのような派手な生成AIのイメージが強いですが、「なんでも教えてくれるAI」というよりは、「ごく一般の人間ができることが無限にできる」というイメージです。実際には認知機能、理解・解釈機能、検索機能に分けて書いていきます。
認知機能
目や耳、口を持ってます。つまり、目があるので手書き含めた文字を読み取って文字データにすることが可能です。(いわゆるOCR)。文字に限らず、画像から異常を検出できるようにしたり(Custom Vision)、人の顔を識別したり(FACE)、請求書や名刺を読み取る(Document Intelligent)ことが可能です。耳や口で音声認識や音声合成、翻訳関係も可能です。
データ分析の観点でこの技術を応用すれば、データ入力がかなり楽になると思います。写真を撮るだけでDBにデータがたまります。人による入力の手間がなくなります。よくある例として、店員に来客のデータを取らせてマーケティングの分析をしたいのですが、人に任せると忙しいあまりすべて「20代、男性」というボタンをポチって終わらせてしまう、という失敗例があります。AIに任せればそのような失敗はなくなります。
理解・解釈機能
地球上の言語を理解できます。IQ100の人間はネイティブ言語を完全に理解するのでそれと一緒です。また常識や感情も理解します(Content Moderator, TextAnalisys)。性的、暴力的など、一般的に好ましくないコンテンツを理解して検閲してくれます。SNSにあげられた自社の商品に対する感情などを分析することもできます。さらに、文字情報もクラスタリングすることも可能です。世間一般的にはメールの内容を見て重要度別に仕分けを行うなどの秘書機能が人気のようですね。
この技術で言語の壁がなくなると仮定すると、次は認証機能が欲しいですね。最近英語圏の資格が欲しくて、英語の問題集に手を出してみたのですが、残念ながら答えの間違いが多く、使い物になりませんでした。日本語のブログ記事だと、何となくこの会社や人が書いたならば多分あってる。という識別ができるのですが、日本語以外だと難しいです。(外国の権威や大企業など、外国に関する常識が足りない)。なので生成AIにそこら辺の常識を補完してもらえると、中国やインドなど日本語・英語以外の情報源が増えてありがたいです。
検索機能
RDBのような従来のDBから、json形式のドキュメント型DBが台頭してきて、その次のAI時代はドキュメントだけではなく、あらゆる媒体がDBのデータとなります。動画、写真、音楽のような非構造化データ、ExcelやPDFのようなドキュメント、(今はまだ未実装ですが理論的にはWikiやWebページもいけるはず)、あらゆるコンテンツからインデックスが作成され、検索の対象となります。AIがドキュメントや動画など対象コンテンツから自動でキーワードを抽出してくれます。
全文検索はもちろん、曖昧検索もやセマンティック検索も可能になりました。「さいたま」という文字から「埼玉県」のドキュメント検索が可能です。セマンティック検索とは文脈からユーザーの意図を読み取り、最適な答えを返してくれる検索方法です。例えば「今日 気温」と打ち込んだら、ユーザーの位置情報を読み込んでそれに合った情報を返します。これらにソート機能やファセット機能(カテゴリごとのインデックス)、点数の重みづけなど計算をして、最適な検索結果を出してくれるのがAI Searchです。
ついでに生成AIの理論も面白かったのでまとめます。生成AIは「埋め込み」という技術を使っています。単語やテキストを数値のベクトル[0,1,4.5,0.9...]に変換する技術を指します。例えば「雨、降る、かさ、緑」の語群があったとして、なんとなく「緑」だけ毛色が違うような気がします。そこで最初の3つだけ数字的に近く、雨=10,降る=8,かさ=9、緑=0と設定してみましょう。数字の近い言葉を優先的につないで文章が作れます。しかし今度は「晴れ」を考えてみましょう。「晴れ」は「雨」とは数字が近いですが、他の言葉とは遠い気がします。そこで次元を増やし、y軸方向の数値を増やします。「雨=[10,10],降る=[8,0],かさ=[9,0],緑=[0,0],晴れ=[0,9]」...こうやって次元をどんどん増やしていけば、すべての言葉の関係を数字で表せ、計算がしやすくなります。ChatGPTは今700次元ほどで作られているそうです。
その他
チャット機能や、RAGという独自のデータをAIに学習させる拡張検索機能など、便利な機能が山ほどあるのですが、割愛。
AIの注意点
結局のところ「IQ100程度の新卒」なので、世界を変えることはできません。うん億規模の事業計画やコンテンツも生み出せません。会社の代表として質疑応答を任せることもできません。AIは普通の人間以上にミスも多いです。
ただ、普通の人ができることが無限にできる。使いどころが難しいです。
セキュリティも心配ですね。Google社員が任天堂のデータを盗み見て情報漏洩してしまったように、社外のサーバーで動くAIにドキュメントや重要書類、写真を入力したくありません。社内の写真をAIに判定してもらった結果、社員の一人がPCにパスワードのメモを貼りつけており、そこからインシデント発生、みたいな思わぬ事故が起きそうです。
その点AzureはローカルのDockerコンテナにAIをインストールできる仕様になっており、外部に情報が漏洩する心配がありません。個人的にはこの機能が一番好きです。
個人の感想
個人的にはデータ分析に革命が起きそうと思っています。データサイエンスは一見華やかですが、泥臭い作業が多いです。目的を定めてデータを探し、時には人にデータ入力を頼み、紙の資料からの文字起こし、Excelやpythonで地道なデータの加工、、、。これらの作業をAIが効率化してくれるのでは?と期待してます。紙の資料、現場の視覚・聴覚情報、webページ、会議の動画、それらを全部ストレージに入れてAIで整理。文字の表記ゆれ修正やnull処理もAIが大部分をやって、人間はチェックを入れるだけ。油断をするとあっという間にストレージ容量が跳ね上がり、金額コストが大変になりそうですが、それも含めてデータ設計はやりがいがありそうです。
普通の人間ができないことはできない、というのはその通りなのですが、それでもいろいろと使い道はありそうで、AI-102の資格試験はとても学びがいのある資格でした。おすすめです。