|
著者 |リン・ザイ、セン・ミン、シオン・シー I. はじめにNLP分野におけるBERT、Megatron、GPT-3などの事前学習済みモデルの目覚ましい成果により、ますます多くのチームが超大規模学習に投資しており、学習済みモデルの規模は数億から数千億、さらには数兆へと拡大しています。しかし、これらの超大規模モデルを現実世界のシナリオに適用するには、依然としていくつかの課題があります。第一に、モデルパラメータの数が多すぎるため、学習と推論に時間がかかりすぎ、導入コストが非常に高くなります。第二に、多くの現実世界のシナリオではデータが不足しているため、小規模サンプルのシナリオで大規模モデルを適用することが依然として制限されており、小規模サンプルのシナリオで事前学習済みモデルの一般化能力を向上させることが依然として課題となっています。これらの問題に対処するため、PAIチームは大規模モデルの迅速かつ効率的な導入を促進するEasyNLP中国語NLPアルゴリズムフレームワークを立ち上げました。 EasyNLPの技術フレームワークはどのように設計されているのでしょうか?今後の計画は?今日は詳しく見ていきましょう。 II. EasyNLP入門EasyNLPは、PAIアルゴリズムチームがPyTorchをベースに開発した、使いやすく機能豊富な中国語NLPアルゴリズムフレームワークです。一般的に使用されている中国語の事前学習済みモデルと大規模モデル展開技術をサポートし、トレーニングから展開までワンストップのNLP開発エクスペリエンスを提供します。EasyNLPは、NLPアプリケーションAppZooや事前学習済みのModelZooなど、ユーザーがNLPモデルを開発するための簡潔なインターフェースを提供するとともに、超大規模な事前学習済みモデルをビジネスアプリケーションに効率的に展開するための技術サポートも提供しています。さらに、PAIチームの通信最適化とリソーススケジューリングに関する豊富な経験を活かし、EasyNLPフレームワークはユーザーに大規模で堅牢なトレーニング機能を提供し、PAI-DLC、PAI-DSW、PAI-Designer、PAI-EASなどのPAI製品とシームレスに統合し、トレーニングから展開まで効率的で包括的なエクスペリエンスを実現します。 EasyNLPは、アリババ内の10以上の事業部門で既にビジネスをサポートしています。また、Alibaba Cloud上でNLPソリューションとModelHubモデルを提供し、ユーザーのビジネス課題解決を支援するとともに、ユーザー定義モデルサービスを通じて自社開発モデルの作成を容易にしています。社内での改良を経て、EasyNLPをオープンソースコミュニティに公開することで、より多くのNLPアルゴリズム開発者や研究者に貢献し、コミュニティと協力してNLP技術、特に中国NLPの急速な発展とビジネス応用を促進したいと考えています。 EasyNLPは包括的で使いやすいNLPツールキットです[1] EasyNLP の主な機能は次のとおりです。
III. EasyNLPフレームワークの特徴1. 全体的なアーキテクチャ図に示すように、EasyNLP アーキテクチャは主に次のコア モジュールで構成されています。
2.大規模モデルの知識蒸留技術BERTのような事前学習済み言語モデルが様々なタスクにおいて最先端(SOTA)性能を達成したことで、大規模な事前学習済みモデルはNLP学習パイプラインの重要な構成要素となっています。しかし、これらのモデルはパラメータ数が過剰で、学習と推論の速度が遅いため、高いQPSが求められるオンラインシナリオに深刻な影響を与え、導入コストも非常に高くなります。EasyNLPフレームワークは、従来のデータ拡張アルゴリズムと知識蒸留アルゴリズムを統合することで、小規模な学習済みモデルでも、対応するタスクにおいて大規模モデルと同等の性能を実現できます。 既存の知識蒸留研究のほとんどは、同一ドメイン内のモデルの蒸留に焦点を当てており、対象となる蒸留タスクにおけるクロスドメインモデルの性能向上については考慮されていませんでした。そこで、PAIチームはメタ知識蒸留アルゴリズムMetaKD(Meta Knowledge Distillation)を提案しました。このアルゴリズムは、転移可能なクロスドメイン知識を学習し、蒸留段階でこの転移可能な知識に対して追加の蒸留処理を行います。MetaKDアルゴリズムは、学習済みの生徒モデルの該当ドメインにおける性能を大幅に向上させ、教師モデルの性能に近づきます。このアルゴリズムのコアフレームワークを以下に示します。 MetaKDアルゴリズムは2つの段階で構成されています。第1段階はメタ教師学習で、アルゴリズムは複数のドメインにまたがるトレーニングデータからメタ教師モデルを協調的に学習します。各ドメインのサンプルのプロトタイプスコアを計算し、ドメイン間の代表性が高いサンプルに大きな重みを与えます。第2段階はメタ蒸留で、メタ教師モデルを特定のドメインの学習タスクに選択的に蒸留します。メタ教師モデルはすべてのドメインで正確な予測を達成できない可能性があるため、ドメイン専門知識の重みを追加で導入します。これにより、メタ教師モデルは最も信頼度の高い知識のみを学生モデルに転送し、学生モデルがメタ教師モデルに過剰適合するのを防ぎます。 下の図は、MNLIの5つのドメインデータセットにおけるMetaKDアルゴリズムのクロスタスク蒸留性能を示しています。この結果は、元のBERTモデルと比較して、MetaKDによって蒸留されたBERT-Smallモデルは、モデル精度の平均低下をわずか1.5%に抑えながら、パラメータ数を87%削減し、導入時の負担を大幅に軽減していることを示しています。 現在、MetaKD アルゴリズムも EasyNLP フレームワークに統合され、オープンソース化されています。 知識蒸留の実践の詳細な説明については[2]を参照してください。 3.大規模モデル少数ショット学習技術事前学習済み言語モデルの大規模化に伴い、自然言語理解などのタスクにおけるパフォーマンスは継続的に向上しています。しかし、これらのモデルはパラメータ空間が広く、下流タスクで直接微調整するには、良好な汎化を実現するために大量のトレーニングデータが必要です。実世界のビジネスシナリオ、特に垂直分野や特定の業界においては、トレーニングサンプル不足の問題が広く蔓延しており、下流タスクにおけるこれらのモデルの精度に重大な影響を与えています。この問題に対処するため、EasyNLPフレームワークは、PETやP-Tuningなどの従来の少数ショット学習アルゴリズムを統合し、事前学習済み言語モデルに基づく少数ショットデータ最適化を実現することで、大規模モデルと小規模トレーニングセット間のミスマッチを解消します。 さらに、PAIチームは、従来の少数ショット学習アルゴリズムと対照学習原理を組み合わせ、新しいパラメータを追加したり、テンプレートやラベルを手動で設定したりすることなく、対照プロンプトチューニング(CP-Tuning)と呼ばれる手法を提案しました。このアルゴリズムのコアフレームワークを以下に示します。 上図に示すように、CP-Tuningアルゴリズムは、従来のアルゴリズムが「[MASK]」文字に対応する事前学習済みMLMヘッドの予測出力を分類に利用するという手法を放棄しています。代わりに、事前学習済みモデルを通過した後の「[MASK]」文字の連続表現を特徴量として使用する対照学習アプローチを採用しています。Few-shotタスクの学習フェーズでは、類似サンプルの特徴量のグループ内距離を最小化し、類似しないサンプルの特徴量のグループ間距離を最大化することを学習目標としています。図中の「[OMSK]」は分類に使用される「[MASK]」文字であり、その最適化された特徴量表現は「[EMB]」です。したがって、CP-Tuningアルゴリズムでは分類ラベルを定義する必要はありません。入力側では、入力テキストと「[OMSK]」に加えて、テンプレート文字「[PRO]」も使用します。従来のアルゴリズムとは異なり、CP-Tuningはテンプレートとラベルの対応関係を学習する必要がないため、「it is」のようなタスクに依存しないテンプレートで「[PRO]」を直接初期化します。モデルのトレーニング中、バックプロパゲーション中に「[PRO]」の表現は自動的に更新されます。さらに、CP-Tuningは入力テキストに[TMSK]と呼ばれるマスクを導入することで、補助的なMLMタスクを最適化し、少量学習シナリオにおけるモデルの汎化能力を向上させます。CP-Tuningアルゴリズムの損失関数は、以下の2つの部分で構成されています。 上図に示すように、2つの部分はそれぞれ、ペアワイズコストセンシティブ対比損失(PCCL)と補助的なMLM損失です。このアルゴリズムは、複数のGLUE Few-Shotデータセットで検証されました。このデータセットでは、トレーニングセットはクラスごとにラベル付きサンプル16個に制限されていました。以下の結果は、CP-Tuningが従来のFew-Shot学習アルゴリズムよりも優れており、標準的なFine-tuningアルゴリズムよりも10%以上精度が高いことを示しています。 現在、EasyNLP フレームワークには、独自に開発した CP-Tuning アルゴリズムに加えて、PET や P-tuning などのさまざまな従来の少数ショット学習アルゴリズムが統合されています。 小規模サンプル学習の実践の詳細については[3]を参照してください。 4.大規模モデルの実用化以下に、小規模サンプルのシナリオに大規模な事前学習済みモデル(HFL/Macbert-Large-Zh)を展開し、パラメータを1/100に削減した小規模モデルに抽出する例を示します。図に示すように、小規模サンプルのシナリオにおける大規模モデル(3億パラメータ)の元の精度は83.8%ですが、小規模サンプル学習によって7%向上して90.6%になります。一方、同じシナリオでより小さなモデル(300万パラメータ)を実行した場合、精度はわずか54.4%ですが、71%(約17%の向上)まで向上します。推論時間は大規模モデルよりも10倍高速で、モデルパラメータの数は元の1/100になります。
コードについては[4]を参照してください。 IV. 適用事例EasyNLPは、アリババグループ内の10の事業部門にまたがる20以上の事業をサポートしています。PAI-DLC、PAI-DSW、PAI Designer、PAI-EASなどのPAI製品を通じて、トレーニングから導入まで、グループユーザーに効率的で包括的なエクスペリエンスを提供します。また、クラウド顧客のモデルのカスタマイズやビジネス問題の解決ニーズにも対応しています。パブリッククラウドユーザーの場合、初心者でもPAI-Designerコンポーネントを使用して簡単なパラメータ調整でNLPモデルを簡単にトレーニングできます。上級開発者はAppZooを使用してNLPモデルをトレーニングしたり、ModelZooを使用して事前トレーニング済みモデルを微調整したりできます。経験豊富な開発者向けには、豊富なAPIインターフェイスを提供し、フレームワークを使用してカスタマイズされたアルゴリズムを開発するユーザーをサポートします。ユーザーは、組み込みのトレーナーを使用してトレーニング効率を向上させたり、独自の新しいトレーナーを定義したりすることができます。 以下に典型的な例をいくつか挙げます。
V. ロードマップ
プロジェクトのオープンソースアドレス: https://github.com/alibaba/EasyNLP 参考文献[AAAI 22] DKPLM: 自然言語理解のための分解可能な知識強化型事前学習済み言語モデル。https://arxiv.org/abs/2112.01047 [ACL 2021] Meta-KD:ドメイン間の言語モデル圧縮のためのメタ知識蒸留フレームワーク。https://arxiv.org/abs/2012.01266 [arXiv] 対照的なプロンプトチューニングを用いたエンドツーエンドの少数ショット学習器による事前学習済み言語モデルの作成: https://arxiv.org/pdf/2204.00166 [AAAI 22] 密から疎へ: 事前学習済み言語モデルの圧縮を向上させるための対照的剪定。https://arxiv.org/abs/2112.07198 [EMNLP 2021] TransPrompt:少量テキスト分類のための自動転送可能なプロンプトフレームワークに向けて。https://aclanthology.org/2021.emnlp-main.221/ [CIKM 2021] EasyTransfer - NLPアプリケーション向けのシンプルでスケーラブルなディープラーニングプラットフォーム。https://github.com/alibaba/EasyTransfer [1]https://github.com/alibaba/EasyNLP [2]https://github.com/alibaba/EasyNLP/tree/master/examples/knowledge_distillation[3]https://github.com/alibaba/EasyNLP/tree/master/examples/ fewshot_learning[4]https://github.com/alibaba/EasyNLP/tree/master/examples/landing_large_ptms[5]ダルマアカデミーNLPチーム: https://github.com/alibaba/AliceMind [6] テキストベースのリスク管理ソリューション: https://help.aliyun.com/document_detail/311210.html [7] 一般的なテキストタグ付けソリューション: https://help.aliyun.com/document_detail/403700.html |