ゼファーネットのロゴ

DALL・E2トレーニング前の緩和策

日付:

の魔法を共有するために DALL・E2 幅広い視聴者を対象に、強力な画像生成モデルに関連するリスクを軽減する必要がありました。 この目的のために、私たちはさまざまな ガードレール 生成された画像が私たちの コンテンツポリシー。 この投稿はに焦点を当てています トレーニング前の緩和策、 DALL・E2が学習するデータを直接変更するこれらのガードレールのサブセット。 特に、DALL・E 2は、インターネットからの何億ものキャプション付き画像でトレーニングされており、モデルが学習する内容を変更するために、これらの画像の一部を削除して再重み付けします。

この投稿はXNUMXつのセクションで構成されており、それぞれが異なるトレーニング前の緩和策について説明しています。

  • 最初のセクションでは、DALL・E2のトレーニングデータセットから暴力的で性的な画像を除外する方法について説明します。 この緩和策がなければ、モデルは、プロンプトが表示されたときにグラフィックまたは明示的な画像を生成することを学習し、一見無害なプロンプトに応答して意図せずにそのような画像を返すことさえあります。
  • XNUMX番目のセクションでは、トレーニングデータのフィルタリングによってバイアスが増幅される可能性があることを確認し、この影響を軽減するための手法について説明します。 たとえば、この緩和策がない場合、フィルタリングされたデータでトレーニングされたモデルは、元のデータセットでトレーニングされたモデルと比較して、男性を表す画像が多く、女性を表す画像が少ない場合があることに気付きました。
  • 最後のセクションでは、暗記の問題に目を向けます。DALL・E 2のようなモデルは、新しい画像を作成するのではなく、トレーニングした画像を再現できる場合があることを発見しました。 実際には、これが 画像の逆流 データセット内で何度も複製される画像が原因で発生し、データセット内の他の画像と視覚的に類似している画像を削除することで問題を軽減します。

グラフィックおよび明示的なトレーニングデータの削減

トレーニングデータは学習したモデルの機能を形成するため、データフィルタリングは望ましくないモデル機能を制限するための強力なツールです。 DALL・E 2をトレーニングする前に、分類器を使用してデータセットからこれらのカテゴリの画像をフィルタリングすることにより、このアプローチをXNUMXつのカテゴリ(暴力場面と性的コンテンツを表す画像)に適用しました。これらの画像分類器を社内でトレーニングし、引き続き調査を行っています。トレーニング済みモデルに対するデータセットフィルタリングの影響。

画像分類器をトレーニングするために、以前にトレーニングデータをフィルタリングするために採用したアプローチを再利用しました。 グライド。 このアプローチの基本的な手順は次のとおりです。最初に、ラベルを付ける画像カテゴリの仕様を作成します。 次に、カテゴリごとに数百の肯定的な例と否定的な例を収集します。 第XNUMXに、アクティブラーニング手順を使用して、より多くのデータを収集し、適合率と再現率のトレードオフを改善します。 最後に、結果の分類子をデータセット全体で実行し、精度よりもリコールを優先するように控えめな分類しきい値を使用します。 これらのしきい値を設定するために、すべての 悪い すべてのデータを残す 良い データ。 これは、後で新しいことを教えるために、より多くのデータを使用してモデルをいつでも微調整できるためですが、モデルがすでに学習したことを忘れさせるのははるかに困難です。

画像
画像
ラベル付けされた画像の小さなデータセットから始めます(図の上部)。 次に、このデータで分類器をトレーニングします。 次に、アクティブラーニングプロセスは、現在の分類器を使用して、分類器のパフォーマンスを向上させる可能性のあるいくつかのラベルのない画像を選択します。 最後に、人間はこれらの画像のラベルを作成し、ラベル付きのデータセットに追加します。 このプロセスを繰り返して、分類器のパフォーマンスを繰り返し向上させることができます。

アクティブラーニングフェーズでは、困難な可能性のある画像や誤分類された画像の人間のラベルを収集することで、分類器を繰り返し改善しました。 特に、100つのアクティブラーニング手法を使用して、データセット(何億ものラベルなし画像を含む)から画像を選択し、ラベル付けのために人間に提示しました。 まず、分類器の偽陽性率(つまり、良性の画像を暴力的または性的と誤分類する頻度)を減らすために、現在のモデルが陽性と分類した画像に人間のラベルを割り当てました。 このステップがうまく機能するように、分類しきい値を調整して、ほぼXNUMX%のリコールを実現しましたが、偽陽性率は高くなっています。 このように、私たちのラベラーは主に真にネガティブなケースにラベルを付けていました。 この手法は誤検知を減らし、ラベラーが潜在的に有害な画像を見る必要性を減らすのに役立ちますが、モデルが現在欠落しているより肯定的なケースを見つけるのに役立ちません。

分類器の誤検出率を減らすために、XNUMX番目のアクティブラーニング手法である最近傍探索を採用しました。 特に、モデルが負として誤分類する傾向がある現在のラベル付きデータセットで正のサンプルを見つけるために、何倍もの交差検証を実行しました(これを行うために、異なるトレイン検証分割で分類器の何百ものバージョンを文字通りトレーニングしました)。 次に、ラベルのない画像の大規模なコレクションをスキャンして、知覚的特徴空間でこれらのサンプルの最近傍を探し、発見された画像に人間のラベルを割り当てました。 コンピューティングインフラストラクチャのおかげで、分類器のトレーニングと最近傍探索の両方を多くのGPUにスケールアップすることは簡単で、アクティブラーニングのステップを数時間や数日ではなく数分で実行できます。

データフィルターの有効性を検証するために、同じハイパーパラメーターを使用してXNUMXつのGLIDEモデルをトレーニングしました。XNUMXつはフィルター処理されていないデータで、もうXNUMXつはフィルター処理後のデータセットです。 前者のモデルを フィルタリングされていないモデル、および後者として フィルタリングされたモデル。 予想どおり、フィルタリングされていないモデルでは、この種のコンテンツのリクエストに応じて、一般的に露骨なコンテンツやグラフィックコンテンツが生成されないことがわかりました。 ただし、データフィルタリングの予期しない副作用も見つかりました。それは、特定の人口統計に対するモデルのバイアスを作成または増幅しました。

ろ過されていません

画像
フィルタ処理

フィルタリングされていないモデル(左)とフィルタリングされたモデル(右)からの迅速な「軍事的抗議」の世代。 特に、フィルタリングされたモデルが銃の画像を生成することはほとんどありません。

データフィルターによって導入されたバイアスの修正

生成モデルは、その中のバイアスを含め、トレーニングデータの分布を一致させようとします。 その結果、トレーニングデータをフィルタリングすると、ダウンストリームモデルにバイアスが発生または増幅する可能性があります。 一般に、元のデータセットのバイアスを修正することは、私たちが研究し続ける困難な社会技術的タスクであり、この投稿の範囲を超えています。 ここで取り上げる問題は、特にデータフィルタリング自体によって引き起こされるバイアスの増幅です。 私たちのアプローチでは、フィルタリングされたモデルが 他には? フィルタリングされていないモデルよりもバイアスがかかっているため、データフィルタリングによって引き起こされる分布シフトが本質的に減少します。

フィルタリングによるバイアス増幅の具体例として、プロンプト「aceo」を考えてみましょう。 フィルタリングされていないモデルがこのプロンプトの画像を生成した場合、女性よりも男性の画像が多く生成される傾向があり、このバイアスのほとんどは現在のトレーニングデータを反映していると予想されます。 ただし、フィルター処理されたモデルで同じプロンプトを実行すると、バイアスが増幅されたように見えました。 世代はほとんど専ら男性のイメージでした。

バイアス増幅のこの特定のケースはXNUMXつの場所から来ていると仮定します。最初に、元のデータセットで女性と男性がほぼ等しい表現を持っている場合でも、データセットはより性的な文脈で女性を提示することに偏っている可能性があります。 第XNUMXに、データ収集と検証の段階でこれが当てはまらないようにするための努力にもかかわらず、分類子自体が実装またはクラス定義のいずれかによって偏っている可能性があります。 これらの両方の影響により、フィルターは男性よりも女性の画像をより多く削除する可能性があります。これにより、モデルがトレーニングで観察する性比が変化します。

フィルタによって引き起こされるバイアスをより徹底的に調査するために、データフィルタがさまざまな概念へのバイアスにどの程度影響を与えているかを測定する方法が必要でした。 特に、暴力や性的なコンテンツのフィルタは純粋に画像ベースですが、データセットのマルチモーダルな性質により、これらのフィルタがテキストに与える影響を直接測定できます。 すべての画像にはテキストキャプションが付いているため、フィルター処理されたデータセットとフィルター処理されていないデータセット全体で手動で選択されたキーワードの相対頻度を調べて、フィルターが特定の概念にどの程度影響しているかを推定できました。

これを実践するために、Apache Sparkを使用して、フィルター処理されたデータセットとフィルター処理されていないデータセットの両方のすべてのキャプションで、少数のキーワード(「親」、「女性」、「子供」など)の頻度を計算しました。 データセットには何億ものテキストと画像のペアが含まれていますが、これらのキーワード頻度の計算には、計算クラスターを使用して数分しかかかりませんでした。

キーワードの頻度を計算した後、データセットフィルターが特定のキーワードの頻度を他のキーワードよりも実際に歪めていることを確認できました。 たとえば、フィルターは「女性」という単語の頻度を14%削減しましたが、「男性」という単語の頻度は6%しか削減しませんでした。 これにより、両方のデータセットでトレーニングされたGLIDEモデルからサンプリングすることで、すでに事例的に観察されたことが大規模に確認されました。

画像
画像
データセットの再重み付けの図。 バランスの取れたデータセットから始めます(左)。 フィルタがXNUMXつのカテゴリに他のカテゴリよりも影響を与える場合、偏ったデータセットを作成する可能性があります(中央)。 再重み付けを使用すると、一部のデータを他のデータよりも効果的に「繰り返し」、フィルターによって引き起こされるバイアスのバランスを取り直すことができます(右)。

フィルタによって引き起こされるバイアスを測定するためのプロキシができたので、それを軽減する方法が必要でした。 この問題に取り組むために、フィルター処理されたデータセットの分布がフィルター処理されていない画像の分布とよりよく一致するように、フィルター処理されたデータセットの重みを再設定することを目的としました。 このアイデアを説明するおもちゃの例として、データセットが50%の猫の写真と50%の犬の写真で構成されていると仮定しますが、データフィルターは75%の犬を削除しますが、猫の50%のみを削除します。 最終的なデータセットは2/XNUMXの猫とXNUMX/XNUMXの犬であり、このデータセットでトレーニングされた尤度ベースの生成モデルは、犬よりも猫の画像を生成する可能性があります。 この不均衡は、犬のすべての画像のトレーニング損失にXNUMXを掛けて、すべての犬の画像をXNUMX回繰り返す効果をエミュレートすることで修正できます。 このアプローチを実際のデータセットとモデルにほぼ自動でスケーリングできることがわかりました。つまり、再重み付けする機能を手動で選択する必要はありません。

によって使用されるアプローチと同様に、特別な分類器からの確率を使用して、フィルター処理されたデータセット内の画像の重みを計算します。 Choiら。 (2019)。 この分類器をトレーニングするために、両方のデータセットから画像を均一にサンプリングし、画像がどのデータセットからのものであるかを予測します。 特に、このモデルは予測します P(フィルタリングされていない|画像)、事前に与えられた P(フィルタリングされていない)= 0.5。 実際には、このモデルが強力になりすぎないようにする必要があります。そうしないと、最初にフィルターによって実装された正確な関数を学習する可能性があります。 代わりに、モデルを元のデータフィルターよりも滑らかにし、特定の画像がフィルター処理されるかどうかわからないまま、フィルターの影響を受ける幅広いカテゴリをキャプチャする必要があります。 この目的のために、私たちは小さな上に線形プローブを訓練しました CLIP モデル。

画像がフィルタリングされていないデータセットからのものである確率を予測する分類器ができたら、この予測を画像の重みに変換する必要があります。 たとえば、 P(フィルタリングされていない|画像) =0.8。 これは、サンプルがフィルター処理されたデータよりもフィルター処理されていないデータで見つかる可能性が4倍高いことを意味し、重み4で不均衡を修正する必要があります。 より一般的には、ウェイトを使用できます P(フィルタリングされていない|画像)/ P(フィルタリングされた|画像).

この再重み付けスキームは、増幅されたバイアスを実際にどの程度軽減しますか? 以前のフィルタリングされたモデルを新しい重み付けスキームで微調整した場合、微調整されたモデルの動作は、以前に見つけた偏った例のフィルタリングされていないモデルとはるかに厳密に一致しました。 これは励みになりますが、キーワードベースのバイアスヒューリスティックを使用して、この緩和策をより徹底的に評価したいとも考えました。 新しい重み付けスキームを考慮しながらキーワードの頻度を測定するには、フィルタリングされたデータセット内のキーワードのすべてのインスタンスを、それを含むサンプルの重みで単純に重み付けします。 これを行うと、フィルタリングされたデータセットのサンプルの重みを反映する新しいキーワード頻度のセットを取得します。

チェックしたほとんどのキーワードで、再重み付けスキームにより、フィルタリングによって引き起こされる頻度の変化が減少しました。 以前の「男性」と「女性」の例では、相対度数の減少は1%と–1%になりましたが、以前の値はそれぞれ14%と6%でした。 このメトリックは実際のフィルタリングバイアスの単なるプロキシですが、画像ベースの再重み付けスキームが実際にテキストベースのメトリックを大幅に改善することは安心です。

モデルの動作のより大規模な評価と、フィルタリングがバイアスと機能開発にどのように影響したかを調査することにより、DALL・E2の残りのバイアスの調査を続けています。

画像の逆流を防ぐ

DALL・E2の内部の前任者は、トレーニング画像を逐語的に再現することがあることを観察しました。 DALL・E 2には、既存の画像の一部を「つなぎ合わせる」だけでなく、デフォルトで元の一意の画像を作成する必要があるため、この動作は望ましくありませんでした。 さらに、トレーニング画像を逐語的に複製すると、著作権侵害、所有権、およびプライバシー(人々の写真がトレーニングデータに存在する場合)に関する法的な問題が発生する可能性があります。

画像の逆流の問題をよりよく理解するために、画像が重複することが多いプロンプトのデータセットを収集しました。 これを行うために、トレーニング済みモデルを使用して、トレーニングデータセットから50,000プロンプトの画像をサンプリングし、対応するトレーニング画像との知覚的類似性によってサンプルを並べ替えました。 最後に、上位の一致を手作業で検査し、合計50万件のプロンプトから数百の真の重複ペアのみを見つけました。 逆流率は1%未満のように見えますが、上記の理由から、逆流率を0に下げる必要があると感じました。

逆流した画像のデータセットを調べたところ、1つのパターンに気づきました。 まず、画像はほとんどすべて単純なベクターグラフィックでしたが、情報量が少ないため、覚えやすいと思われます。 次に、さらに重要なことに、すべての画像のトレーニングデータセットにほぼ重複がありました。 たとえば、2時の時刻を示す時計のようなベクターグラフィックがあるとしますが、3時、XNUMX時のように同じ時計を含むトレーニングサンプルを見つけます。これに気づいたので、分散最近傍検索を使用して、実際に、逆流したすべての画像がデータセット内で知覚的に類似した重複を持っていることを確認しました。 その他 作品 大規模な言語モデルでも同様の現象が観察されており、データの重複が暗記と強く関連していることがわかりました。

上記の発見は、データセットを重複排除すれば、逆流の問題を解決できる可能性があることを示唆しています。 これを実現するために、ニューラルネットワークを使用して、類似しているように見える画像のグループを識別し、各グループからXNUMXつを除くすべての画像を削除することを計画しました。 ただし、これには、画像ごとに、データセット内の他のすべての画像と重複しているかどうかを確認する必要があります。 データセット全体には数億の画像が含まれているため、すべての重複を見つけるには、数百のクアッドリリオンの画像ペアを単純にチェックする必要があります。 これは技術的には手の届く範囲にありますが、特に大規模なコンピューティングクラスターでは、わずかなコストでほぼ同様に機能する、はるかに効率的な代替手段が見つかりました。

重複排除を実行する前にデータセットをクラスター化するとどうなるかを検討してください。 近くのサンプルは同じクラスターに分類されることが多いため、重複するペアのほとんどはクラスターの決定境界を越えません。 次に、クラスター外の重複をチェックせずに、各クラスター内のサンプルを重複排除できますが、すべての重複ペアのごく一部が欠落しているだけです。 これは、画像のすべてのペアをチェックする必要がなくなるため、単純なアプローチよりもはるかに高速です。 データの小さなサブセットでこのアプローチを経験的にテストしたところ、使用するとすべての重複ペアの85%が見つかりました K = 1024 クラスター。

上記のアルゴリズムの成功率を向上させるために、97つの重要な観察結果を活用しました。データセットのさまざまなランダムサブセットをクラスター化すると、結果として得られるクラスター決定境界はかなり異なることがよくあります。 したがって、重複するペアがデータのXNUMXつのクラスタリングのクラスター境界を越える場合、同じペアが別のクラスタリングのXNUMXつのクラスター内に入る可能性があります。 クラスタリングを試行するほど、特定の重複ペアを発見する可能性が高くなります。 実際には、XNUMXつのクラスタリングを使用することにしました。つまり、XNUMXつの異なるクラスターの結合で各画像の重複を検索します。 実際には、これにより、データのサブセットで重複するすべてのペアのXNUMX%が見つかりました。

驚いたことに、データセットのほぼXNUMX分のXNUMXが重複排除によって削除されました。 見つかったほぼ重複したペアを見ると、それらの多くには意味のある変更が含まれていました。 上記の時計の例を思い出してください。データセットには、XNUMX日の異なる時刻に同じ時計の多くの画像が含まれている可能性があります。 これらの画像は、モデルにこの特定の時計の外観を記憶させる可能性がありますが、モデルが時計の時刻を区別することを学習するのにも役立つ場合があります。 削除されたデータの量を考えると、このような画像を削除するとモデルのパフォーマンスが低下する可能性があるのではないかと心配していました。

モデルに対する重複排除の効果をテストするために、同一のハイパーパラメーターを使用してXNUMXつのモデルをトレーニングしました。XNUMXつは完全なデータセットで、もうXNUMXつは重複排除バージョンのデータセットです。 モデルを比較するために、元のGLIDEモデルを評価するために使用したのと同じ人間による評価を使用しました。 驚いたことに、人間の評価者はわずかに 優先 重複排除されたデータでトレーニングされたモデルは、データセット内の大量の冗長な画像が実際にパフォーマンスを低下させていることを示唆しています。

重複排除されたデータでモデルをトレーニングしたら、トレーニングデータセットから50万回以上のプロンプトを実行していた逆流検索を再実行しました。 トレーニングデータセットからの画像の正確なプロンプトが表示された場合、新しいモデルがトレーニング画像を逆流させることはありませんでした。 このテストをさらに一歩進めるために、生成された50万枚の画像のそれぞれについて、トレーニングデータセット全体に対して最近傍探索も実行しました。 このようにして、特定のプロンプトに関連付けられている画像とは異なる画像を逆流させるモデルを捕らえることができると考えました。 このより徹底的なチェックを行っても、画像の逆流のケースは見つかりませんでした。

次のステップ

上記のすべての緩和策は、DALL・E 2に関連するリスクを軽減するという目標に向けた大きな進歩を表していますが、各緩和策にはまだ改善の余地があります。

  • より良い事前トレーニングフィルターにより、より多くのデータでDALL・E 2をトレーニングし、モデルのバイアスをさらに減らすことができます。 現在のフィルターは、多くの誤検知を犠牲にして、ミス率が低くなるように調整されています。 その結果、これらのフィルタリングされた画像のほとんどがコンテンツポリシーにまったく違反していなくても、データセット全体の約5%を除外しました。 フィルタを改善すると、このトレーニングデータの一部を再利用できるようになります。
  • バイアスは、システムの開発と展開の多くの段階で導入され、潜在的に増幅されます。 DALL・E2のようなシステムの偏りと、この偏りによって引き起こされる害を評価して軽減することは、私たちがより広範な使命の一環としてOpenAIで研究し続ける重要な学際的な問題です。 これに関する私たちの作業には、問題をよりよく理解するための評価の構築、新しいデータセットのキュレーション、人間のフィードバックや微調整などの手法を適用して、より堅牢で代表的なテクノロジーを構築することが含まれます。
  • また、深層学習システムにおける暗記と一般化の研究を継続することも重要です。 重複排除は暗記を防ぐための良い第一歩ですが、DALL・E2のようなモデルがトレーニングデータを暗記する理由や方法について学ぶためのすべてを教えてくれるわけではありません。
スポット画像

最新のインテリジェンス

スポット画像

私たちとチャット

やあ! どんな御用でしょうか?