ワシントン大学、ペンシルバニア州立大学、アレンAI研究所の研究者が、大規模言語モデル(LLM)をジェイルブレイク攻撃から守る技術である、"SafeDecoding"のオープンソース化を発表した。SafeDecodingは、大きな計算オーバーヘッドを発生させることなく、ベースラインのジェイルブレイク防御を上回る性能を発揮する。
SafeDecodingの最大の特長は、デコード中に、ジェイルブレイク攻撃に対する有害なレスポンスのトークンの可能性が高いにもかかわらず、安全なレスポンスのトークンは依然としてもっとも可能性の高いものの一つだということである。したがって、生成されたレスポンスを安全な方向に誘導するために、SafeDecodingは安全なレスポンスのトークンを識別し、その確率を高め、有害なレスポンスの確率を下げる。研究者らは、SafeDecodingを5つのオープンソースLLMに適用し、6つの異なるジェイルブレイク攻撃に対する性能を、6つのベースライン防御方法と比較して評価した。SafeDecodingは、ほぼすべてのシナリオでベースラインを上回った。研究チームはこのように説明している。
私たちの研究の主な目的は、新しい軽量デコーディング戦略を開発することで、LLMの安全性を強化することです。LLMが実世界のアプリケーションでますます使用されるようになるにつれて、その安全性の保証が重要になっています。私たちは、開発した軽量復号化戦略がジェイルブレイク攻撃を効果的に軽減するだけでなく、LLMが効率的かつ有用な方法で、善良なユーザーにサービスを提供し続けることが可能であることを実証します。
ChatGPTとGPT-4のリリースに伴い、LLMにジェイルブレイク攻撃を仕掛ける多くのテクニックが出現した。モデルはセーフガードを回避し、潜在的に有害な応答を出力する可能性のあるプロンプトで構成されていた。2023年、InfoQは開発者がLLMのリスクを防止するのに役立つNvidiaのNeMo Guardrailsパッケージを取り上げた。InfoQはまた、敵対的攻撃を構築するためのアルゴリズムであり、研究者が攻撃を理解し防止するために作成されたLLM Attacksも取り上げている。
SafeDecodingは、対象となるLLMをファインチューニングしたエキスパートモデルを構築すると機能する。このファインチューニングには、研究者がLLMに有害なクエリをプロンプトして構築したデータセットを使用する。データセットには、LLMがプロンプトを拒否した場合のレスポンスも含まれている。エキスパートモデルは、元のLLMと同様の振る舞いをするが、悪意のあるプロンプトを拒否する能力の向上が期待できる。
推論中、ユーザーのプロンプトはオリジナルモデルとエキスパートモデルの両方に渡される。通常の自己回帰復号方式と同様に、両モデルはプロンプトから、次に来る可能性の高い上位k個のトークンの集合を生成する。SafeDecodingはこれら2つのトークンのセットの交点を取り、確率はオリジナルモデルからの確率出力を取り、それに定数値(1-α)を掛け、エキスパートからの確率にαを掛けたものを加えることで計算される。これにより、安全な応答を表すエキスパートからのトークンを効果的に「増幅」し、有害な応答を表すオリジナルモデルからのトークンを「減衰」させる。
SafeDecodingアーキテクチャ(画像出典:SafeDecodingソースコード)
X(旧:Twitter)での研究に対する議論では、共著者のBill Yuchen Lin氏が、SafeDecodingとLLMアライメント手法であるURIALに関する同氏の以前の研究との関係について質問を受けた。
はい、この2つの作品には共通のフォーカス事項があります。チューニング前とチューニング後におけるトークン分布の変化です。URIALの論文では、BASEモデルとALIGNEDモデルについて述べています。SafeDecodingでは、一般的な整列モデル(例えばVicunaなど)と安全なファインチューニングモデル(より多くの拒否例による継続的なチューニング)を比較します。 ここで重要な戦略は、より効果的にジェイルブレイクを防御するトークン分布の変化を増幅させることです。
SafeDecodingのソースコードはGitHubで公開されている。