
AIモデルは、どうにも勝手に勝手に作り出すのをやめられないようです。最近の2つの研究が指摘しているように、この傾向は、本当に重要な事柄についてはAIのアドバイスに頼るべきではないという過去の警告を裏付けています。
AIが頻繁に作り出すものの一つが、ソフトウェアパッケージの名前です。
今年初めに指摘したように、Lasso Securityは、大規模言語モデル(LLM)がサンプルソースコードを生成する際に、ソフトウェアパッケージの依存関係の名前を(実際には存在しない)作り出すことがあることを発見しました(https://www.theregister.com/2024/03/28/ai_bots_hallucinate_software_packages/)。
これは恐ろしいことです。なぜなら、犯罪者は一般的なAIサービスによって生成された名前を使って簡単にパッケージ を作成し、マルウェアを詰め込むことができるからです。そして、不運な開発者がAIの提案を受け入れ、不正に改変された依存関係を組み込んだ、汚染されたパッケージを使用するまで待つしかありません。
テキサス大学サンアントニオ校、オクラホマ大学、バージニア工科大学の研究者たちは最近、コード生成に使用されている16種類のLLMを調査し、パッケージ名を勝手に作り出す傾向を探りました。
「あなたにぴったりのパッケージをご用意しました!コード生成LLMによるパッケージ幻覚の包括的分析」と題されたプレプリント論文の中で、著者らは幻覚がLLMの未解決の欠点の一つであると説明しています。
昨年、生成AIを用いて存在しない判例を弁論要旨に引用し、その後影響を受けた裁判所への謝罪をしなければならなかった弁護士たちも、このことに気づいているかもしれません。しかし、LLMがコーディング支援に真に役立つと考えている人々にとって、これは改めて強調する価値のある点です。
「幻覚とは、LLMによって生成される出力のうち、事実に反する、無意味な、あるいは入力タスクとは全く関係のない出力のことです」と、著者のJoseph Spracklen氏、Raveen Wijewickrama氏、A H M Nazmus Sakib氏、Anindya Maiti氏、Bimal Viswanath氏、そしてMurtuza Jadliwala氏は述べています。「幻覚は、不正確または誤解を招く情報を生成する可能性があるため、一般向けアプリケーションにおけるLLMの効果的かつ安全な導入にとって重大な障害となります。」
「間違った馬に賭けてしまった」というほど重大な問題で はなく、「十分なマーケティングとロビー活動によって対処可能」というほど重大な問題です。
AI啓蒙の熱心な販売業者や、データセンター内の高価なGPUをすべて活用したいだけのクラウドベンダーのおかげで、LLMはすでに一般向けアプリケーションに導入されています。そして、AIベンダーの話によると、開発者はコーディング支援AIを高く評価しているという。AIは生産性を向上させ、コーディング担当者が自分の仕事の質に自信を持てるようになるという。(https://github.com/features/copilot)
それでもなお、研究者たちは生成AIモデルが偽のパッケージを作成する可能性を評価したいと考えていた。そこで彼らは、商用およびオープンソースの16種類の一般的なLLMを用いて、それぞれnpmとPyPIパッケージリポジトリを利用するJavaScriptとPythonで、57万6000件のコードサンプルを生成した。
結果は、やや物足りないものだった。
「調査結果によると、幻覚パッケージの平均割合は、商用モデルでは少なくとも5.2%、オープンソースモデルでは21.7%に達し、幻覚パッケージ名の例は205,474件にも上るという驚くべき数に達し、この脅威の深刻さと蔓延ぶりをさらに浮き彫りにしています」と著者らは述べています。
一連の調査結果に基づいて30回のテストを実施した結果、223万個のパッケージが作成されました。そのうち約20%(440,445個)が幻覚であると判定されました。そのうち205,474個は、PyPIやnpmでは見つからない、存在しない固有のパッケージでした。
ここで注目すべき点は、商用モデルがオープンソースモデルに比べてパッケージ名を偽造する可能性が4分の1であるという事実に加え、これらの結果がLasso SecurityのGPT-3.5(5.76% vs. 24.2%)およびGPT-4(4.05% vs. 22.2%)の数値と比べて幻覚が4分の1から6分の1であることを示していることです。これは重要な意味を持ちます。
パッケージの幻覚の可能性を低減するには、コストがかかります。研究者たちはDeepSeek Coder 6.7BとCodeLlama 7Bモデルを用いて、有効なパッケージ名のリストを提供することで迅速な対応を支援するRetrieval Augmented Generation(RAG)と、偽造されたパッケージを除外してモデルを保持するSupervised Fine-Tuningによる緩和戦略を実装しました。その結果、幻覚は減少しましたが、コード品質は犠牲になりました。
「微調整されたモデルのコード品質は、DeepSeekでは-26.1%、CodeLlamaでは-3.1%と大幅に低下しましたが、パッケージ幻覚率は大幅に改善しました」と研究者らは記しています。
AI幻覚を調査した別の研究において、スペインのバレンシア人工知能研究所のホセ・エルナンデス=オラロ氏らは、LLMはスケールアップするにつれて信頼性が低下することを発見しました。
研究者らは、OpenAIのGPT、MetaのLLaMA、BigScienceのオープンソースBLOOMという3つのモデルファミリーを検討しました。彼らは、加算、単語アナグラム、地理知識、科学、情報指向の変換に関する質問を用いて、様々なモデルをスケールアップ版(より多くのパラメータ)と比較テストしました。
研究者たちは、より大規模なモデル(微調整とより多くのパラメータを用いて形成されたモデル)は回答の精度が高いものの、信頼性が低いことを発見しました。
これは、小規模なモデルは回答できない質問への回答を避けるのに対し、大規模モデルは妥当ではあるものの間違った回答を出す可能性が高いためです。そのため、不正確な回答の割合は誤った回答の割合が多くなり、避けられた回答はそれに応じて減少します。
この傾向は、特にOpenAIのGPTファミリーで顕著でした。研究者たちは、GPT-4はほぼすべての回答を回答できるのに対し、以前のモデル世代では信頼できる予測がない場合には回答を避けていました。
さらに問題を複雑にしているのは、人間はLLMの回答を評価するのが苦手であり、誤った回答を正解と分類する割合が約10~40%であることを発見しました。
ヘルナンデス=オラロ氏と共著者らは、調査結果に基づき、「これらのシステムを人間の監視に頼ることは、特に真実が極めて重要な分野においては危険である」と主張している。
これは、重要な用途にAIを使用しないよう警告するMicrosoftのAI定型文を冗長に言い換えたものだ。
「初期のモデルはユーザーの質問を避けることが多いが、スケールアップされ、形を整えられたモデルは、一見理にかなっているように見えても間違った答えをはるかに多く出す傾向がある。これには、人間の監督者がしばしば見落としてしまうような難しい質問に対する誤りも含まれる」と研究者らは結論付けている。
「これらの調査結果は、汎用人工知能の設計と開発、特に予測可能なエラー分布が最も重要となる重要な分野において、根本的な転換の必要性を浮き彫りにしている。」®