日立製作所に所属する研究者らが発表した論文「入力時の日本語と英語の差異がChatGPTで生成するコードの安全性に与える影響の考察」は、大規模言語モデルが生成するコードの安全性に及ぼす、日本語と英語の入力の違いについて検証した研究報告である。

 この研究では、ChatGPT(GPT-4)に対して日本語と英語の両方でコード生成を指示し、その結果で生成した450個のコードサンプルの安全性を詳細に分析した。具体的には、英語、日本語の命令形と日本語の丁寧語の3種類でそれぞれ同一の内容を示すタスクのコー ドをGPT-4で生成した。

 いくつかの条件で安全性を比較するため、暗号化と復号、サンドボックス化されたディレクトリの2つのシナリオを用意し、同じシナリオ内でPython、C、JavaScriptの3種類のプログラミング言語で25回コードを生成した。出力されたコードの安全性と、コード以外の部分に自然言語で記述された説明文中の安全性に関する記述を判定した。

 分析の結果、日本語と英語のプロンプトを用いた場合のコードの安全性にはほとんど差がないことが分かった。しかし、Pythonにおいては日本語のプロンプトの方が英語よりも安全なコードを生成する傾向を示した。これは、英語プロンプトで生成したコードに不安全な機能が追加されたためである。

 さらに、プログラミング言語によってもコードの安全性は大きく異なることを確認した。Pythonの「cryptography.io」を使用したコードは全て安全であったが「pycryptodome」を使用したコードでは安全でない例が存在した。このことから、APIの簡素化や安全性の向上がコードの安全性に大きく寄与することを示唆している。

 これらの分析結果から、日本語を母国語とし英語が不得手なユーザーが、無理に英語でプロンプトを作成する必要はないと考える。しかし、生成コードや説明文の大半が「部分的に安全」または「安全でない」ため、言語に関係なく、生成コードを理解し、安全なコードに修正することが重要である。

 Source and Image Credits: 山岸 伶, 笹 晋也, 藤井 翔太. 入力時の日本語と英語の差異がChatGPTで生成するコードの安全性に与える影響の考察. 情報処理学会 コンピュータセキュリティシンポジウム2023論文集 1544 - 1551, 2023-10-23

 ※2014年から先端テクノロジーの研究を論文単位で記事にしているWebメディア「Seamless」(シームレス)を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。Twitter: @shiropen2