Microsoftは最近、さまざまなタスクを代行してくれる人工知能(AI)アシスタントを追加した全ソフトウェアの新バージョンを発表した。Copilotは、Teamsのオンラインミーティングで口頭で交わされた会話を要約したり、口頭での議論に基づいて特定の論点に対する賛否両論を提示したり、メールの一部に返信したりすることができる。コンピューター・コードを書くこともできる。
この急速に発展するテクノロジーは、AIが私たちの生活を楽にし、人間としてやらなければならない退屈で反復的なことをすべて取り除いてくれる未来に、私たちをさらに近づけてくれるようだ。
しかし、このような進歩は非常に印象的で有用ではあるが、このような大規模言語モデル(LLM)の使用には慎重でなければならない。LLMはその直感的な性質にもかかわらず、効果的、確実かつ安全に使用するためにはスキルが必要なのだ。
大規模言語モデル
「ディープラーニング」ニューラルネットワークの一種であるLLMは、提供されたプロンプトに基づいてさまざまな回答の確率を分析することで、ユーザーの意図を理解するように設計されている。そのため、人がプロンプトを入力すると、LLMはテキストを調べ、最も可能性の高い応答を決定する。
LLMの顕著な例であるChatGPTは、幅広いテーマに関するプロンプトに対する回答を提供することができる。しかし、ChatGPTは一見知識があるように見えるが、実際の知識を持っているわけではない。ChatGPTの回答は、与えられたプロンプトに基づく最も可能性の高い結果に過ぎない。
ChatGPTやCopilot、その他のLLMに、達成したいタスクの詳細な説明を提供すると、これらのモデルは質の高い回答を提供することが出来る。これには、テキスト、画像、またはコンピュータコードの生成が含まれる。
しかし、人間である私たちは、テクノロジーにできること、そしてテクノロジーが本来そのために設計されたことの限界に挑戦することが多い。その結果、本来は自分たちで行うべき作業を、これらのシステムで行うようになってしまうのだ。
AIへの過度の依存が問題になる理由
LLMは一見インテリジェントに見えるが、その正確さや信頼性を盲信することはできない。私たちはLLMの出力を注意深く評価・検証し、私たちの最初の指示が提供された回答に反映されていることを確認しなければならない。
LLMのアウトプットを効果的に検証し、妥当性を確認するためには、私たちはそのテーマについて強い理解を持つ必要がある。専門知識がなければ、必要な品質保証を提供することは出来ない。
このことは、私たち自身の知識のギャップを埋めるためにLLMを利用するような状況で特に重要になる。知識不足のために、出力が正しいかどうかを判断できないという事態に陥る可能性がある。このような状況は、テキストの生成やコーディングで起こりうる。
AIを使って会議に出席し、議論を要約することは、信頼性に関わる明らかなリスクをもたらす。会議の記録はトランスクリプトに基づいているが、会議のメモはLLMから他のテキストと同じ方法で生成される。それらは依然として、言語パターンと発言内容の確率に基づいているため、行動に移す前に検証が必要となる。
また、同音異義語(発音は同じだが意味が異なる単語)による解釈の問題にも悩まされる。人々は、会話の文脈から、このような状況で何が言いたいのかを理解することに長けている。
しかし、AIは文脈を推し量るのが苦手で、ニュアンスも理解できない。そのため、誤る可能性のあるトランスクリプトに基づいて議論を形成することを期待することは、さらなる問題を提起することになる。
AIを使ってコンピューター・コードを生成する場合、検証はさらに難しくなる。コンピュータコードをテストデータでテストすることは、その機能を検証するための唯一の信頼できる方法である。これはコードが意図したとおりに動作することを示すが、その動作が現実世界の期待に沿うことを保証するものではない。
例えば、生成AIを使ってセンチメント分析ツールのコードを作成するとしよう。目標は、製品レビューを分析し、センチメントをポジティブ、ニュートラル、ネガティブに分類することだ。システムの機能をテストし、コードが正しく機能すること、つまり技術的なプログラミングの観点から健全であることを検証することができる。
しかし、このようなソフトウェアを実世界に導入し、皮肉たっぷりの商品レビューを肯定的なものとして分類し始めたとしよう。このセンチメント分析システムには、皮肉が肯定的なフィードバックとして使われるのではなく、その正反対であることを理解するのに必要な文脈的知識が欠けている。
このような微妙な状況において、コードの出力が望ましい結果と一致することを検証するには、専門知識が必要である。
非プログラマーは、プランニング、方法論、テスト、文書化など、コードが正しいことを保証するために使用されるソフトウェア工学の原則についての知識がない。プログラミングは複雑な学問であり、ソフトウェア工学はソフトウェアの品質を管理する分野として登場した。
私自身の研究が示しているように、専門家でない人がソフトウェア設計プロセスの重要なステップを見落としたり、省略したりして、未知の品質のコードにつながるという重大なリスクがある。
検証と妥当性確認
ChatGPTやCopilotのようなLLMは、私たち全員が恩恵を受けることができる強力なツールです。しかし、私たちは与えられた出力を盲目的に信用しないように注意しなければなりません。
私たちは今、このテクノロジーに基づく大革命のスタート地点にいる。AIには無限の可能性があるが、それを形作り、チェックし、検証する必要がある。そして現在、それを行えるのは人間だけなのだ。
コメントを残す