ChatGPTにJDLA Generative AI Testの例題を解かせてみた

# 概要
筆者は先月JDLA Generative AI Test 2024#1を受験し、合格しました。よって、以下の記事を投稿しました。

https://qiita.com/y-vectorfield/items/7af3c625528bfe6d1a77

https://qiita.com/y-vectorfield/items/b515508ae2d6ed0fb581

この試験は公式ページに例題として過去問の一部が掲載されています。筆者は実際に解いてみましたが、全問正解しました。

https://www.jdla.org/certificate/generativeai/issues/

ここで疑問が湧きました。生成AIの代表格ChatGPTに解答させたら、どういう結果になるのか？と。(恐らく)満点を取るだろうと予想しつつも、実際にやってみることにしました。

# ChatGPTに実際に解かせてみた
実際にChatGPT(GPT-4o)に問題を解かせてみました。

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

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

### GPTの解答
大規模言語モデル (LLM) において用いられている深層学習モデルのアーキテクチャとして、最も適切な選択肢は以下の通りです：

B ） トランスフォーマー (Transformer)

トランスフォーマーは、BERTやGPTなどの多くの先進的な大規模言語モデルの基盤となっているアーキテクチャです。

### コメント
正しい選択しを選択出来ています。Transfoermerに関する説明も正しい内容です。

## 問2
（記述式）Zero-ShotプロンプトとFew-Shotプロンプトの違いを説明してください。

### GPTの解答
Zero-ShotプロンプトとFew-Shotプロンプトの違いは、モデルに対する入力方法とその前提条件にあります。以下にそれぞれの違いを説明します。

#### Zero-Shotプロンプト
Zero-Shotプロンプトとは、モデルにタスクを与える際に、具体的な例を一切提示せずに実行させる方法です。モデルはそのタスクに関する事前の知識や訓練データに基づいてタスクを解釈し、解答を生成します。

- **例:** 「犬の画像を見分ける方法を説明してください。」といった具体例なしの指示。
- **特徴:** モデルは事前知識だけを頼りに解答を生成する。

#### Few-Shotプロンプト
Few-Shotプロンプトとは、モデルにタスクを与える際に、いくつかの具体的な例を提示してから実行させる方法です。これにより、モデルは提示された例を参考にし、より適切な解答を生成することが期待されます。

- **例:** 「犬の画像を見分ける方法を説明してください。例えば、A画像は犬です、B画像は犬ではありません。」
- **特徴:** いくつかの例を提示することで、モデルがタスクをより具体的に理解しやすくなる。

#### 違いのまとめ
- **入力方法:** Zero-Shotでは具体例を提示しないが、Few-Shotではいくつかの例を提示する。
- **前提条件:** Zero-Shotではモデルが事前知識に頼るが、Few-Shotでは提示された例を元に推論を行う。
- **適用状況:** Zero-Shotは新しいタスクに対する初期適用に有効だが、Few-Shotは具体的な例が利用可能な場合に有効である。

これらのプロンプト手法は、モデルの適応力や応答の精度を向上させるために適宜使い分けられます。

### コメント
正しい解答です。とても詳しく違いについてまとめられています。

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

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

### GPTの解答
大規模言語モデル (LLM) の技術開発の潮流として、適切な選択肢は以下の通りです。

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

Bは正しくありません。スケーリング則の発見により、大規模なモデルがより効果的に学習できることが示されましたが、計算量の削減や効率的な学習方法の開発は依然として重要な研究課題です。

### コメント
正しい解答です。誤っている選択肢についての説明も正しい内容です。

## 問4
理論上、生成AIが生成できるメディア形式として、最も適切な選択肢を1つ選べ。

A ） 画像・テキストデータ
B ） 音声データ
C ） 3Dデータ
D ） 生成AIという概念は、特定のメディア形式に依存しない

### GPTの解答
理論上、生成AIが生成できるメディア形式として、最も適切な選択肢は以下の通りです：

D ） 生成AIという概念は、特定のメディア形式に依存しない

生成AIは、画像、テキスト、音声、3Dデータなど、さまざまなメディア形式を生成することができます。そのため、特定のメディア形式に依存するものではありません。

### コメント
完璧な解答です。この問題は他の選択肢をひっくるめて正解の選択肢という論理が成立している訳ですが、GPTはそこを正しく解釈して解答を出しています。

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

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

### GPTの解答
より高い価値を生み出す生成AIのユースケースを見つける際の考え方として、適切な選択肢は以下の通りです：

B ）生成AIが人間のあらゆる作業を置き換えてくれるわけではないため、役割分担を検討する必要がある。
C ）生成AIは人間と同等ないしそれ以上の結果を、人間よりも早く導き出せる場合がある。

#### 理由：
- **B）** 生成AIは万能ではないため、どの作業においてAIを活用し、どの作業は人間が行うべきかを検討することが重要です。役割分担を明確にすることで、効率的かつ効果的な運用が可能になります。
- **C）** 生成AIは特定のタスクにおいて人間よりも迅速かつ高品質な結果を出せることがあります。これを活用することで、生産性を向上させることができます。

#### 不適切な選択肢：
- **A）** 生成AIの活用が必ずしも人員の削減につながるわけではありません。生成AIは人間の業務を補完し、新たな価値を創出する手段として利用されることが多いです。
- **D）** 生成AIのアプリケーションは必ずしもチャット型のインターフェースに限定されるわけではありません。生成AIは多様なインターフェースや用途に応じて設計されるため、使用方法はケースバイケースで検討する必要があります。

### コメント
GPTの解答とその根拠の説明は完璧です。しかし、生成AIであるGPTが**生成AIは万能ではない**という文章を生成しているのはなかなか面白いですね。ただ、GPTには意思は無いとされているため、自身の考え云々ではなく、学習に用いたデータの中にそういう内容が含まれていることが推察されます。

## 問6
一般的に自社で生成AI を利用する際に、外部のサービス（例：ChatGPT）のモデルを使うか、オープンソースのモデルをカスタマイズして使うかを決定する上で評価すべき事項として、適切な選択肢をすべて選べ。

A ) 自社における秘匿性の高いデータの利用方針
B ) モデル利用に伴うコスト
C ) モデルがリリースされてからの経過時間
D ) 生成AI サービスの利用規約の内容
E ) 利用する言語に対するモデルの性能

### GPTの解答
自社で生成AIを利用する際に、外部のサービス（例：ChatGPT）のモデルを使うか、オープンソースのモデルをカスタマイズして使うかを決定する上で評価すべき事項として、適切な選択肢は以下の通りです：

A ) 自社における秘匿性の高いデータの利用方針
B ) モデル利用に伴うコスト
D ) 生成AI サービスの利用規約の内容
E ) 利用する言語に対するモデルの性能

#### 理由：
- **A）** 秘匿性の高いデータを扱う場合、そのデータを外部のサービスに送信することが適切かどうかを評価する必要があります。自社内でデータを処理できるオープンソースモデルの方が適している場合があります。
- **B）** モデルの利用コストは重要な要素です。外部サービスの使用料と自社でのモデル運用にかかる費用を比較する必要があります。
- **D）** 外部サービスの利用規約を確認し、自社の利用目的や方針に合致しているかを評価することが重要です。特にデータの所有権やプライバシーに関する条項を確認する必要があります。
- **E）** 利用する言語や特定の用途に対するモデルの性能を評価し、最適なモデルを選定することが必要です。特定の言語や専門分野に強いモデルを選ぶことで、より高い性能を発揮できます。

#### 不適切な選択肢：
- **C）** モデルがリリースされてからの経過時間は直接的な評価事項ではありません。より重要なのはモデルの性能、信頼性、サポート体制などです。

### コメント
この解答は実はJDLAが公開している模範解答で採点すると、誤答となっていまいます。後半で詳しく見てみます。

## 問7
生成AIが孕む公平性のリスクやバイアスに起因すると考えられる事象として、最も適切な選択肢を1つ選べ。

A） 入力言語により生成AIの出力の正確性が異なる。
B ） 生成AIのサービスにより利用規約が異なる。
C ） 利用者により生成AIの利用頻度が異なる。
D ） 生成AIのアルゴリズムにより計算速度が異なる。

### GPTの解答
生成AIが孕む公平性のリスクやバイアスに起因すると考えられる事象として、最も適切な選択肢は以下の通りです：

A）入力言語により生成AIの出力の正確性が異なる。

#### 理由：
入力言語によって生成AIの出力の正確性が異なる場合、特定の言語や文化圏のユーザーに対して不公平な扱いとなるリスクがあります。これは生成AIのトレーニングデータの偏りや、特定の言語や地域に対するサポートの不足に起因することが多く、バイアスや公平性の問題に直結します。他の選択肢は、生成AIの公平性やバイアスとは直接的に関連しません。

#### コメント
膨大なデータから学習している数兆パラメータから成る大規模言語モデルのなせる技とは言え、この解答内容には舌を巻きます。正解を選んだ理由、正解以外の選択肢についての説明も完璧です。

## 問8
自社が秘密保持契約（NDA）を締結した上で他者から提供を受けた機密情報を、生成AI に入力する場合に留意するべき点について、適切な選択肢をすべて選べ。

A ) 生成AI の利用に関する自社のルールに従うこと
B ) NDA に定められた利用目的の範囲内で生成AI を利用すること
C ) NDA 上の例外規定として、生成AI サービスに秘密情報を入力することが NDA 違反にならないことが明記されているかを確認すること
D ) 如何なる場合においても他社の機密情報を生成AI に入力することは NDA 違反になる

### GPTの解答
自社が秘密保持契約（NDA）を締結した上で他者から提供を受けた機密情報を、生成AIに入力する場合に留意するべき点について、適切な選択肢は以下の通りです：

A ) 生成AI の利用に関する自社のルールに従うこと
B ) NDA に定められた利用目的の範囲内で生成AI を利用すること
C ) NDA 上の例外規定として、生成AI サービスに秘密情報を入力することが NDA 違反にならないことが明記されているかを確認すること

#### 理由：
- **A）** 自社のルールに従うことは基本的な要件であり、これには機密情報の取り扱いに関する内部ガイドラインも含まれます。
- **B）** NDAに定められた利用目的の範囲内で行動することは必須です。契約に従わない行為は違反となる可能性があります。
- **C）** NDAにおける例外規定として、生成AIサービスに秘密情報を入力することが許されているかどうかを確認することは重要です。これが明記されていない場合、秘密情報をAIに入力することは契約違反となる可能性があります。

#### 不適切な選択肢：
- **D）** 生成AIに入力することがNDA違反になるかどうかは、NDAの具体的な内容や契約条件に依存します。常に違反になるわけではなく、契約内容によっては許可されている場合もあります。そのため、他の選択肢で示されるように、契約内容を詳細に確認することが重要です。

### コメント
選択肢Dも一見正しそうに見えますが、正しくない理由について詳しく説明されており、この解答は完璧です。

## 問9
生成AIに関するリスクと規制の特徴について、適切な選択肢をすべて選べ。

A ） 生成AIが孕む法的リスクは、サービスの処理内容や利用者の使い方には依存しない。
B ） 生成AIの新たな活用方法が見出されることにより、新たなリスクが出現する可能性がある。
C ） 生成AIにおいて認識すべきリスクや規制について把握するためには、継続的な情報収集が必要である。
D ） 生成AIの利用について、法令で制限される可能性がある。

### GPTの解答
生成AIに関するリスクと規制の特徴について、適切な選択肢は以下の通りです：

B ） 生成AIの新たな活用方法が見出されることにより、新たなリスクが出現する可能性がある。
C ） 生成AIにおいて認識すべきリスクや規制について把握するためには、継続的な情報収集が必要である。
D ） 生成AIの利用について、法令で制限される可能性がある。

#### 理由：
- **B）** 新しい活用方法が登場することで、想定していなかったリスクが発生することがあります。これには倫理的な問題や新たなセキュリティリスクが含まれます。
- **C）** 生成AIのリスクや規制は技術の進展とともに変化するため、継続的な情報収集とアップデートが必要です。
- **D）** 生成AIの利用には、既存の法令や新たに制定される法令によって制限が課されることがあります。これにはプライバシー法やデータ保護法が含まれます。

#### 不適切な選択肢：
- **A）** 生成AIが孕む法的リスクは、サービスの処理内容や利用者の使い方に依存します。たとえば、不適切な用途に使用された場合や規制に反したデータの処理が行われた場合、法的リスクが高まります。

### コメント
完璧な解答です。

# 問6の解答は誤答か？
問6はJDLAの模範解答と異なっていると上述しましたが、JDLAの模範解答を先ずは見てみましょう。

> （Q6）A, B, C, D, E
> 【解説】
> [ 生成AI 導入時の評価・検討事項 ]
> 企業が生成AI を導入する際に、外部のサービス（例：ChatGPT）を利用するか、オープンソースのモデルをカスタマイズして使用するかの決定においては、いくつか重要な評価ポイントがあります。まず、自社で取り扱う秘匿性の高いデータのセキュリティとプライバシーを確保するため、データの利用方針を厳密に検討する必要があります。外部サービスを利用するとデータが外部に送信されるリスクがありますが、オープンソースのモデルを自社で管理することで、これらのリスクを軽減できます。次に、モデルの利用に関連するコストを考慮し、外部サービスの利用料金や、オープンソースモデルの運用コストを比較して選択する必要があります。利用する言語や想定される用途に対しモデルが十分な精度を発揮できるのかなど、モデルの性能面での評価も重要です。モデルがリリースされてからの経過時間も考慮に入れるべきで、新しいモデルは最新の技術を利用して性能が良い可能性がありますが、安定性や互換性の問題があるかもしれません。逆に古いモデルは安定している可能性がありますが、性能が劣るかもしれません。最後に、法的な問題を避けるために、利用する AI の利用規約をしっかりと確認し、理解する必要があります。これらのポイントを総合的に考慮して、企業のニーズに最も適した選択を行うことが重要です。

JDLAの模範解答とGPTの解答で異なったのは、Cを含めるか、否かです。GPTは以下の理由からCは除くと言っています。

> モデルがリリースされてからの経過時間は直接的な評価事項ではありません。より重要なのはモデルの性能、信頼性、サポート体制などです。

どちらの解釈も正しい様に感じます。但し、モデルの新しさ、古さ(枯れ具合)がモデル選定時の1つの指標としてしばしば考慮される事情を考慮すると、模範解答の解釈に至ると思います。GPTの解答は実際の現場の事情などは(学習データにそういう内容が入っていない限り)考慮されません。よってこういう解答を生成するに至ったのではと推察しました。では、その他のモデルではどうなるのかと思い、GPT 3.5、Azure OpenAIのGPT-4o, GPT-3.5 Turbo, Gemini 1.5 Flush, Gemini 1.5 Proにも問6を解かせてみました。すると。。。

# その他のモデルの解答
各モデルの問6の解答内容を以下に示します。

## GPT-3.5
自社で生成AIを利用する際に、外部のサービスのモデルを使うか、オープンソースのモデルをカスタマイズして使うかを決定する上で評価すべき事項は以下の選択肢です：

A ) 自社における秘匿性の高いデータの利用方針
B ) モデル利用に伴うコスト
D ) 生成AI サービスの利用規約の内容

### 理由：
- **A）** 自社のデータセキュリティ方針と秘匿性の要件に合わせて、外部サービスやオープンソースモデルの選択を評価する必要があります。
- **B）** モデル利用に伴うコストは重要な要素です。外部サービスの場合、サブスクリプション料金や利用量に応じた費用が発生する可能性があります。
- **D）** 生成AIサービスの利用規約は、データの所有権、機密保持、利用制限などを含む重要なポイントです。自社のポリシーと照らし合わせて、利用規約が適合するかどうかを確認する必要があります。

### 不適切な選択肢：
- **C）** モデルがリリースされてからの経過時間は、一般的に重要な要素ではありますが、自社利用の場合には外部サービスやオープンソースのモデルを選ぶ上での最重要事項ではありません。
- **E）** 利用する言語に対するモデルの性能は重要ですが、他の選択肢よりも優先度が低い場合があります。

## Azure OpenAIのGPT-4o
一般的に自社で生成AIを利用する際に、外部のサービス（例：ChatGPT）のモデルを使うか、オープンソースのモデルをカスタマイズして使うかを決定する上で評価すべき事項として、適切な選択肢は以下の通りです。

A ) 自社における秘匿性の高いデータの利用方針
B ) モデル利用に伴うコスト
D ) 生成AIサービスの利用規約の内容
E ) 利用する言語に対するモデルの性能

C ) モデルがリリースされてからの経過時間は、直接的には評価事項として重要ではありません。重要なのはモデルの性能、セキュリティ、コスト、利用規約などです。

## Azure OpenAIのGPT-3.5 Turbo
A ) 自社における秘匿性の高いデータの利用方針
B ) モデル利用に伴うコスト
C ) モデルがリリースされてからの経過時間
D ) 生成AI サービスの利用規約の内容
E ) 利用する言語に対するモデルの性能

## Gemini 1.5 Flush
適切な選択肢は **A, B, D, E** です。

以下にそれぞれの選択肢の詳細と理由を説明します。

**A) 自社における秘匿性の高いデータの利用方針**

* **正しい:** 自社で生成AIを利用する際に、外部サービスのモデルを使用する場合、自社の機密データが外部に送信される可能性があります。そのため、自社における秘匿性の高いデータの利用方針を明確にしておく必要があります。特に、機密性の高いデータを含む場合、オープンソースモデルのカスタマイズや、自社でモデルを構築することを検討する必要があります。

**B) モデル利用に伴うコスト**

* **正しい:** 外部サービスのモデルは、利用料金が発生する場合があります。一方、オープンソースモデルは、基本的に無料で利用できます。コスト面を考慮し、自社の予算に合わせて適切なモデルを選択する必要があります。

**C) モデルがリリースされてからの経過時間**

* **あまり重要ではない:** モデルがリリースされてからの経過時間は、モデルの性能や安定性に関する指標の一つですが、決定的な要素ではありません。新しいモデルは、古いモデルよりも性能が向上している可能性がありますが、安定性に欠ける場合もあります。

**D) 生成AI サービスの利用規約の内容**

* **正しい:** 外部サービスのモデルを使用する場合、利用規約をよく確認する必要があります。特に、データの所有権、プライバシー、責任の所在など、重要な項目について確認しておく必要があります。

**E) 利用する言語に対するモデルの性能**

* **正しい:** 生成AIモデルは、言語によって性能が異なります。自社で使用する言語に対するモデルの性能を評価し、適切なモデルを選択する必要があります。

**結論:** 自社で生成AIを利用する際には、秘匿性、コスト、利用規約、性能など、様々な要素を考慮して、外部サービスのモデルを使用するか、オープンソースモデルをカスタマイズするかを決定する必要があります。

## Gemini 1.5 Pro
正解は **A, B, D, E** です。

それぞれの選択肢について解説するとともに、なぜCが不適切なのか説明します。

**適切な選択肢:**

* **A) 自社における秘匿性の高いデータの利用方針:**  外部サービスのモデルを利用する場合、入力したデータがサービス提供側に学習データとして利用される可能性があります。秘匿性の高いデータを取り扱う場合は、外部サービスの利用規約をよく確認するか、オープンソースのモデルを自社環境で運用する方が安全です。
* **B) モデル利用に伴うコスト:** 外部サービスは無料枠を提供している場合もありますが、本格的に利用するには料金が発生します。オープンソースのモデルは無料で利用できますが、計算リソースの準備や運用コストが発生する可能性があります。それぞれの費用対効果を比較検討する必要があります。
* **D) 生成AI サービスの利用規約の内容:**  生成されたコンテンツの著作権や利用許諾、責任の所在、倫理的な問題など、利用規約の内容は事前にしっかり確認する必要があります。特に商用利用を考えている場合は重要です。
* **E) 利用する言語に対するモデルの性能:**  日本語を扱う場合、英語に比べて性能が劣るモデルも存在します。利用する言語におけるモデルの性能は重要な評価項目です。

**不適切な選択肢:**

* **C) モデルがリリースされてからの経過時間:**  新しいモデルの方が高性能とは限りません。重要なのは、目的に合致した性能を持っているか、最新の研究成果が反映されているか、セキュリティ対策が十分かなどです。リリースからの経過時間は、モデルの成熟度を測る一つの指標にはなりますが、決定的な要素ではありません。 

**まとめ:**

自社で生成AIを利用する際には、外部サービスとオープンソースのどちらが適切か、上記の評価項目を総合的に判断する必要があります。セキュリティ、コスト、性能、利用規約などを比較検討し、自社のニーズに最適な選択を行いましょう。 

## コメント
Cを正しい選択肢として選択したのは、Azure OpenAIのGPT-3.5 Turboのみでした。ChatGPTのGPT-3.5に至っては選択肢Eまで正しくない選択肢として挙げています。この問題は解釈が解答者間で分かれてしまう問題なのではと思い、実際の受験者の正答状況のデータを見てみました。

> 【2023#2における選択肢別回答率】
> 　A : 95.4%、B : 95.4%、 C : 49.0%、 D : 96.9%、 E : 90.6%

何と約半数の受験者がCを正しい選択肢として選ばなかったことが分かります。因みに筆者はCを正しい選択肢として選択した側の人間です。解釈が分かれる問題は現実世界の研究テーマや議論のテーマとしては面白いのですが、この試験は部分点も無い、選択式の試験であることを鑑みると、解釈の分かれる選択肢は失点に繋がる危険性が有るので、可能な限り避けて欲しいなと思うのが受験者としての心情です。

# まとめ
JDLA Generative AI Testの過去問例題を実際にGPTに解答させてみました。GPTの文章生成能力の高さに舌を巻きました。また、昨年研究でGPTを使った時に、どうも言いくるめる様な日本語の文章が鼻につくなと思ったのですが、実験内容起因かもしれませんが、今回はそういったこともなく、より自然で流ちょうな日本語の文章を生成する能力を獲得していることを示しました。今後もGPTを活用して様々な実験をしていこうと思います。