[51CTO.com クイック翻訳]ディープニューラルネットワーク (DNN) には大量のトレーニングデータが必要であり、モデルを微調整するにも大量のトレーニングデータが必要になります。では、データが十分かどうかはどうすればわかるのでしょうか? コンピューター ビジョン (CV) モデルの場合は、常にテスト エラーを確認できます。しかし、BERT や GPT のような大規模なトランスフォーマー モデルを微調整する場合はどうでしょうか?
WeightWatcher が役に立ちます。
WeightWatcher は、(事前)トレーニング済みおよび微調整済みのディープ ニューラル ネットワークのパフォーマンスを評価するためのオープン ソース診断ツールです。これは、ディープラーニングが機能する理由に関する最先端の研究に基づいています。これは最近、ネイチャー誌に掲載されました。 この記事では、WeightWatcher を使用して、DNN モデルが十分なデータでトレーニングされているかどうかを判断する方法を説明します。 この記事では、GPT と GPT2 の例を検討します。 GPT は、偽のテキストを生成するために OpenAI によって開発された NLP Transformer モデルです。 OpenAI は、最初に開発されたときに GPT モデルをリリースしましたが、このモデルは小規模なデータセットで特別にトレーニングされていたため、偽のテキストを生成することができませんでした。その後、彼らは偽のテキストが儲かるビジネスだと気づき、GPT とまったく同じだが、十分なデータでトレーニングして有用性を確保した GPT2 をリリースしました。 WeightWatcher を GPT と GPT2 に適用して結果を比較すると、WeightWatcher のログ スペクトル ノルムとアルファ (べき乗法則) メトリックによって、GPT モデルに問題があることがすぐにわかることがわかります。これは論文の図6に示されています。 図6 ここでは、WeightWatcher Power Law (PL) アルファ メトリックに対してこれを行う方法を詳しく説明し、プロットを解釈する方法を説明します。 これらの計算は、Jupiter ノートブックまたは Google Colab で実行することをお勧めします。 (参考までに、論文内の図を作成するために使用された実際のノートブックも見ることができますが、ここでは古いバージョンの WeightWatcher が使用されています)。 この記事では、WeightWatcher github リポジトリに実用的なノートブックを提供します。 WeightWatcher は基本的な Huggingface モデルを理解します。実際、WeightWatcher は次の機能をサポートしています。
現在、Dense レイヤーと Conv2D レイヤーをサポートしています。より多くのレイヤーのサポートは近日中に提供される予定です。 NLP Transformer モデルでは、Dense レイヤーのみをサポートする必要があります。 まず、GPT および GPT2 pyTorch モデルが必要です。人気のHuggingFaceトランスフォーマーパッケージを使用します。
次に、pyTorchとweightwatcherをインポートする必要があります。
また、weightwatcher メトリックを解釈するために、pandas および matplotlib ライブラリも必要です。 Jupyter ノートブックでは、次のようになります。
トランスフォーマーパッケージと2つのモデルクラスをインポートします。
2つの事前トレーニング済みモデルを取得し、model.eval()を実行します。
WeightWatcher を使用して GPT モデルを分析するには、ウォッチャー インスタンスを作成し、watcher.analyze() を実行するだけです。これにより、各レイヤーのメトリックを含む Pandas DataFrame が返されます。
詳細なデータ フレーム レポートを使用すると、テスト データやトレーニング データにアクセスしなくても、モデル パフォーマンスの品質メトリックを分析できます。最も重要なメトリックはべき乗法則メトリックです。 WeightWatcher は各層についてレポートします。 GPT モデルには約 50 のレイヤーがあるため、すべてのレイヤーのアルファをヒストグラムとして一度に調べると便利です (pandas API を使用)。
これは、GPT モデル内のすべてのレイヤーにわたる値の密度をプロットします。 図2 このヒストグラムから、モデルに 2 つの問題があることがすぐにわかります。 •ピークは、完全にトレーニングされたモデルの最適値よりも高くなります。 •いくつかの外れ値があり、いくつかのレイヤーのトレーニングが不十分であることを示しています。 したがって、GPT について何も知らず、テスト トレーニングやトレーニング データも見たことがないため、WeightWatcher は、このモデルは本番環境に導入すべきではないと伝えます。 次に、同じアーキテクチャを持ちながら、より多くの優れたデータを使用してトレーニングされる GPT2 を見てみましょう。指定されたモデルでウォッチャーインスタンスを再度作成し、watcher.analyze()を実行します。
それでは、GPT と GPT2 のべき乗法則アルファメトリックを比較してみましょう。各モデルごとに 1 つずつ、合計 2 つのヒストグラムを作成し、2 つのグラフを重ね合わせます。
GPT のレイヤーアルファは赤で表示され、GPT2 のレイヤーアルファは緑で表示され、ヒストグラムは大きく異なります。 GPT2の場合、ピークは$alpha\sim 3.5&bg=ffffff$であり、さらに重要なことに、外れ値$latex \alpha>6&bg=ffffff$はありません。アルファが小さいほど良いです。GPT2 モデルは、より多くの優れたデータでトレーニングされるため、GPT よりもはるかに優れています。 図3 WeightWatcher には、モデルの評価に役立つ多くの機能があります。次のようなことが可能です:
等 試してみるのもいいかもしれません。うまくいくかどうか教えてください。 原題: 十分なデータでモデルをトレーニングしたかどうかを確認する方法、著者: Charles Martin [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください] |
<<: チャットAIは、わからないことに遭遇するとオンラインで検索できます。ネットユーザー:グループチャット中にこっそり百度で検索するのと同じです
>>: パーソナライズされた推奨事項は、馴染みのあるものに偏っていますか?アルゴリズムは公平性を侵害できない
ITホーム 12月7日、Metaは新しい独立したAI画像ジェネレーター「Imagine with ...
これまで、多くの人が ChatGPT 検出器を開発してきましたが、実際に効果的に識別できるものはあり...
[[415656]]謎のツイートにより、テスラが再び人気急上昇中だ。昨日、@Dennis Hong ...
ご存知のとおり、大規模なモデルのトレーニングにはコストがかかりますが、事前トレーニング済みのモデルを...
12月2日、国家工業情報セキュリティ発展研究センターは「中国人工知能特許技術分析報告書」を発表し、百...
[[341199]]何かを学べない限り、車輪の再発明をしないでください。 TensorFlow、Py...
2019年国際産業インターネット革新・開発フォーラムがこのほど、第2回中国国際輸入博覧会で開催され...
マルチモーダル大規模言語モデルは、強力な画像理解および推論機能を発揮します。しかし、現在の観察に基づ...
AI 生成コンテンツは効果的に識別できますか?いくつかの例を見てみましょう。テキストが AI モデル...
[[322566]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...
AI テクノロジーは職場環境に深く浸透しており、単調で反復的な手作業を置き換えるだけでなく、他の仕事...
単純なスペルミスや単語の誤用によって会話ボットの応答が変わってしまう可能性がありますが、人間のエージ...