見出し画像

Generative AI Test例題・過去問チャレンジ

JDLAからGenerative AI Test(2024 #1)のメール案内が来ており、過去2回?分はスルーしていたのですが、「既にG検定、E資格をお持ちの方、過去に勉強された方も、生成AIに特化した知識の確認のため、Generative AI Testを活用してみてはいかがでしょうか?」の一言に乗せられて、受けてみることにしました。

そして、恐らく勉強なしでも受かるんだろうと高を括りつつ、会社のお金で受けさせてもらうことになったので、後続のためにも一応は勉強をしておこうと思います(どういう勉強をすれば良いかを確認することが目的)。

しかし、新しい資格かつ進歩の激しい分野のため、特定の教科書は無く、シラバス、例題(過去問)、学習参考資料が列挙されているだけの状態です。

ということでまずは腕試しとして公式例題を解いてみました。間違ったところと、悩んだところを解説を見ながら振り返っておきたいと思います。

例題の正答率

生成AIの技術、生成AIの利活用、生成AIのリスクの3分野で3問ずつの計9問あり、結果は以下の通り。

  • 生成AIの技術:3/3

  • 生成AIの利活用:2/3

  • 生成AIのリスク:3/3

間違ったのは生成AIの利活用のQ5だけでした。

より高い価値を生み出す生成AIのユースケースを見つける際の考え方として、適切な選択肢をすべて選べ。

A )生成AIは人間を模して作られているので、活用は必ず人員の削減につながる。
B )生成AIが人間のあらゆる作業を置き換えてくれるわけではないため、役割分担を検討する必要がある。
C )生成AIは人間と同等ないしそれ以上の結果を、人間よりも早く導き出せる場合がある。
D )生成AIのアプリケーションは、基本的にチャット型のインターフェースを持つという前提で使用方法を検討するのが良い。

引用元:https://www.jdla.org/certificate/generativeai/issues/

正答はB、Cなのですが、私はB、Cに加えてDを選んでしまいました。
正直なところ、ユーザーの大多数がチャット形式のUIを望むのではないかと思うのですが、まあ「前提で」と縛りをつけるほどでもないか…という感じです。

今読んでいる石黒先生のロボットに関する本でも「人間にとって、理想的なインターフェースは人間なのである。」という一文があって、広く普及させていこうと思うと基本的にはチャットみたいな「人と会話する中で仕事を進める感じ」のUIが良いんじゃないかとは思うのですが、思想が偏っているような気もしてきたので、本番は控えめに取り組もうと思います。

ちなみに解説は以下の通りです。これを読むと既存のサービスに縛られない形で検討してほしい、というJDLAの思いを感じなくもないですね。

また、現時点において生成AIのアプリケーションはプロンプトを用いたチャット型のインターフェースを持つものが多いですが、そうではないアプリケーションも多く考えられます。例えば、ファイルをインターフェースとして内容を自動的に翻訳するアプリケーションなどが考えられます。

引用元:https://www.jdla.org/certificate/generativeai/issues/

LLMのアーキテクチャ

ついで、その他で正解ではあったものの、分からなかった選択肢などを見ていきたいと思います。まずはQ1です。

大規模言語モデル (LLM) において用いられている深層学習モデルのアーキテクチャとして、最も適切な選択肢を1つ選べ。

A ) SentencePiece
B ) トランスフォーマー (Transformer)
C ) N-gram言語モデル
D ) Skip-gramモデル

引用元:https://www.jdla.org/certificate/generativeai/issues/

こちらはBが正答ですが、AのSentencePieceを知らなかったので調べてみました。

トークナイザは自然言語処理を行う際に文章を読み取りやすいように分割するための前処理のことですが、Sentencepieceとは単純に分割するのではなく、単語が文章中に現れる頻度を元に、分割の仕方を調整するもののようです。

E資格の勉強を通じてこういう技術的な記事を多少は読めるようになりましたが、まだまだ読み慣れないですね…。

LLMにおける強化学習の活用

続いてQ2です。

大規模言語モデル (LLM) の技術開発の潮流として、適切な選択肢をすべて選べ。

A ) スケーリング則 (Scaling Laws) に基づき、パラメーター数を増加させる競争が続いている。
B ) スケーリング則 (Scaling Laws) の発見により、学習や推論において計算量を削減するための技術開発は不要となった。
C ) テキスト以外にも画像などを入力とする技術改良も進められている。
D ) 強化学習の手法などを用いて、ユーザーにとってより有益な結果が出力されるようにする試みが進められている。

引用元:https://www.jdla.org/certificate/generativeai/issues/

A、Cは当然正答だろうと思ったのですが、Dは選んだものの怪しかったため、”試み”を調べてみました。
なお、解説は「研究がされてます」レベルなので割愛です。

RL(Reinforcement Learning=強化学習)とHF(Human Feedback=人間からのフィードバック)を組み合わせたRLHFという技術のようです。
「ざっくりわかる」をさらにざっくり言うと、LLMの生成したものに人間が評価を加えて、その評価が高まっていくようにLLMの生成を調整していく、みたいな感じですね。
※LLMの学習において”ポリシー”(方策)がどのように影響するかは理解しきれず…。パラメータを直接更新する場合と別途ポリシーを持つ場合とがあるようです。

これは学習後のLLMを用いて行うプロンプトエンジニアリングにおいても同じ発想が必要ではないかと感じます。
簡単に言えば、ChatGPTの生成が自分の望む結果で無かった場合に、さらなる指示を加えたり、ネガティブプロンプトを加えたり、ということをして調整していくようなプロセスと相似しているということです。

もちろん、LLMそれ自体の調整と、与えるプロンプトの調整で大きく異なるのですが、「GPTの生成がうまくいかない」とか「GPTの生成の品質をどのように安定させよう」という時に、HF(Human Feedback)をベースに改善していく発想は重要だなと改めて思いました。

こういう自然言語処理における技術・発想が、プロンプトエンジニアリングにも活用できるケースは他に結構あると思います。

今後の勉強予定

例題を解いてみた手応えとして、やっぱり勉強せずとも受かりそうだなという印象は変わらないのですが、6/8の試験日まで一ヶ月ありますので、シラバスの深堀りをする、参考書籍をいくつか手に取って見る、ということはしたいと思います。

最近は本屋でもプロンプトエンジニアリングに関する書籍を見かけるようになり、だいぶ情報源が増えてきたとも感じているので、分かったつもりにならずに、勉強を続けることが大事ですね。

新しい気付きがあれば、改めてnoteに投稿したいと思います。

また、調べてみたところ、技術者であっても2023年に#1,#2の両方を受けている方がいらっしゃいました。

この方の書かれている「半年に一度『自分はちゃんと時代に付いていけているか?』を確認できる」という点はかなり重要だなと思います。
姿勢を見習っていきましょう…!



この記事が気に入ったらサポートをしてみませんか?