(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023012493
(43)【公開日】2023-01-25
(54)【発明の名称】言語モデルの事前トレーニング方法、装置、デバイスおよび記憶媒体
(51)【国際特許分類】
G06F 40/216 20200101AFI20230118BHJP
G06N 20/00 20190101ALI20230118BHJP
【FI】
G06F40/216
G06N20/00 130
G06N20/00 160
【審査請求】有
【請求項の数】23
【出願形態】OL
【公開請求】
(21)【出願番号】P 2022169714
(22)【出願日】2022-10-24
(31)【優先権主張番号】202210552543.9
(32)【優先日】2022-05-20
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】シャン, ジュンヤン
(72)【発明者】
【氏名】ワン, シュオファン
(72)【発明者】
【氏名】ディン, シユ
(72)【発明者】
【氏名】ツァオ, ヤンビン
(72)【発明者】
【氏名】パン, チャオ
(72)【発明者】
【氏名】スン, ユウ
(72)【発明者】
【氏名】ティアン, ハオ
(72)【発明者】
【氏名】ウー, ファ
(72)【発明者】
【氏名】ワン, ハイフェン
(57)【要約】 (修正有)
【課題】モデルがマルチタスクデータを同時にモデル化することができ、モデルの多様性を高め、モデルのタスク学習のロバスト性を向上させることができ、タスクとデータセットに関連する知識をよりよく学習することができ、サンプルがゼロの場合とサンプルが少ない場合のモデルの転送能力が向上する言語モデルの事前トレーニング方法、装置、デバイス、記憶媒体及びプログラムを提供する。
【解決手段】方法は、教師なし言語データ及び教師あり言語データを含む事前トレーニング言語データセットを構築するステップS101と、事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成するステップS102と、階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングするステップS103と、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
事前トレーニング言語データセットを構築するステップであって、前記事前トレーニング言語データセットが、教師なし言語データおよび教師あり言語データを含むステップと、
前記事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成するステップと、
前記階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングするステップと、
を含む、言語モデルの事前トレーニング方法。
【請求項2】
前記教師あり言語データが、マルチタスク言語データセットを含み、
前記事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成するステップが、
前記マルチタスク言語データセット内の各タスク言語データセットに対して、対応するタスクテンプレートおよび各タスクテンプレートに対応する少なくとも1つのタスクサブテンプレートを設定するステップと、
各前記タスク言語データセットに対応する少なくとも1つのタスクサブテンプレートに基づいて、前記各タスク言語データセットを少なくとも1つのタスクカテゴリに分けて、前記階層化されたマルチテンプレートマルチタスク言語データセットを生成するステップと、
を含む請求項1に記載の言語モデルの事前トレーニング方法。
【請求項3】
前記階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングするステップが、
前記言語モデルからサンプルテキストを取得するステップと、
前記サンプルテキストが属するタスクカテゴリに基づいて、前記サンプルテキストに対応するタスクテンプレートとタスクサブテンプレートを取得するステップと、
前記サンプルテキストに対応するタスクテンプレートとタスクサブテンプレートに基づいて、連続テンプレートを生成するステップと、
前記サンプルテキストと前記連続テンプレートを前記言語モデルに入力して、前記言語モデルを事前トレーニングするステップと、
を含む請求項2に記載の言語モデルの事前トレーニング方法。
【請求項4】
前記サンプルテキストの前に前記連続テンプレートを接合するステップを含む請求項3に記載の言語モデルの事前トレーニング方法。
【請求項5】
前記教師なし言語データと前記教師あり言語データを使用して、前記言語モデルを共同で事前トレーニングするステップを含む請求項1に記載の言語モデルの事前トレーニング方法。
【請求項6】
前記言語モデルが、多粒度の教師なし言語データでトレーニングすることによって生成される請求項1に記載の言語モデルの事前トレーニング方法。
【請求項7】
前記言語モデルが、
前記教師なし言語データから、第1から第4の粒度のサンプル言語データを抽出するステップと、
前記第1から第4の粒度のサンプル言語データのそれぞれに基づいて、初期モデルをトレーニングして、前記言語モデルを生成するステップとで生成される請求項6に記載の言語モデルの事前トレーニング方法。
【請求項8】
前記第1から第4の粒度は、単語の粒度、文の粒度、段落の粒度および章の粒度である請求項7に記載の言語モデルの事前トレーニング方法。
【請求項9】
前記トレーニングは双方向トレーニングである請求項6に記載の言語モデルの事前トレーニング方法。
【請求項10】
前記言語モデルを事前トレーニングする目的関数は、
【数3】
であり、ここで、xは、全長がnとなるサンプルテキストであり、yは、全長がmとなる教師ありデータセットであり、
【数4】
の損失値が、前記教師なし汎用データで最適化され、
【数5】
の損失値が、前記教師ありデータで最適化される請求項1に記載の言語モデルの事前トレーニング方法。
【請求項11】
事前トレーニング言語データセットを構築する構築モジュールであって、前記事前トレーニング言語データセットは、教師なし言語データおよび教師あり言語データを含む構築モジュールと、
前記事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成する生成モジュールと、
前記階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングする事前トレーニングモジュールと、
を備える、言語モデルの事前トレーニング装置。
【請求項12】
前記教師あり言語データが、マルチタスク言語データセットを含み、
前記生成モジュールが、
前記マルチタスク言語データセット内の各タスク言語データセットに対して、対応するタスクテンプレートおよび各タスクテンプレートに対応する少なくとも1つのタスクサブテンプレートを設定するテンプレート設定サブモジュールと、
各前記タスク言語データセットに対応する少なくとも1つのタスクサブテンプレートに基づいて、前記各タスク言語データセットを少なくとも1つのタスクカテゴリに分けて、前記階層化されたマルチテンプレートマルチタスク言語データセットを生成する第1の生成サブモジュールと、
を備える請求項11に記載の言語モデルの事前トレーニング装置。
【請求項13】
前記事前トレーニングモジュールが、
前記言語モデルからサンプルテキストを取得するサンプル取得サブモジュールと、
前記サンプルテキストが属するタスクカテゴリに基づいて、前記サンプルテキストに対応するタスクテンプレートとタスクサブテンプレートを取得するテンプレート取得サブモジュールと、
前記サンプルテキストに対応するタスクテンプレートとタスクサブテンプレートに基づいて、連続テンプレートを生成する連続テンプレート生成サブモジュールと、
前記サンプルテキストと前記連続テンプレートを前記言語モデルに入力して、前記言語モデルを事前トレーニングする第1の事前トレーニングサブモジュールと、
を備える請求項12に記載の言語モデルの事前トレーニング装置。
【請求項14】
前記事前トレーニングモジュールが、
前記サンプルテキストの前に前記連続テンプレートを接合する接合サブモジュールを備える請求項13に記載の言語モデルの事前トレーニング装置。
【請求項15】
前記事前トレーニングモジュールが、
前記教師なし言語データと前記教師あり言語データを使用して、前記言語モデルを共同で事前トレーニングする第2の事前トレーニングサブモジュールを備える請求項11に記載の言語モデルの事前トレーニング装置。
【請求項16】
前記生成モジュールが、
多粒度の教師なし言語データでトレーニングすることによって前記言語モデルを生成するために使用される第2の生成サブモジュールを備える請求項11に記載の言語モデルの事前トレーニング装置。
【請求項17】
前記生成モジュールが、
前記教師なし言語データから、第1から第4の粒度のサンプル言語データを抽出する抽出サブモジュールと、
前記第1から第4の粒度のサンプル言語データのそれぞれに基づいて、初期モデルをトレーニングして、前記言語モデルを生成する第3の生成サブモジュールと、
を備える請求項15に記載の言語モデルの事前トレーニング装置。
【請求項18】
前記第1から第4の粒度は、単語の粒度、文の粒度、段落の粒度および章の粒度である請求項17に記載の言語モデルの事前トレーニング装置。
【請求項19】
前記トレーニングは双方向トレーニングである請求項16に記載の言語モデルの事前トレーニング装置。
【請求項20】
前記言語モデルを事前トレーニングする目的関数は、
【数6】
であり、ここで、xは、全長がnとなるサンプルテキストであり、yは、全長がmとなる教師ありデータセットであり、
【数7】
の損失値が、前記教師なし汎用データで最適化され、
【数8】
の損失値が、前記教師ありデータで最適化される請求項11に記載の言語モデルの事前トレーニング装置。
【請求項21】
少なくとも1つのプロセッサと、
該少なくとも1つのプロセッサと通信可能に接続されたメモリと、
を備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行される命令が記憶されており、前記命令が、前記少なくとも1つのプロセッサが請求項1から5のいずれか一項に記載の言語モデルの事前トレーニング方法を実行するように、前記少なくとも1つのプロセッサによって実行される電子機器。
【請求項22】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令が、コンピュータに請求項1から10のいずれか一項に記載の言語モデルの事前トレーニング方法を実行させる非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項23】
コンピュータプログラムであって、
該コンピュータプログラムにおける命令がプロセッサによって実行される場合、請求項1から10のいずれか一項に記載の言語モデルの事前トレーニング方法が実現されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピューター技術の分野に関し、具体的には、人工知能の分野に関し、特に深層学習技術の分野に関し、特に言語モデルの事前トレーニング方法、装置、デバイス、記憶媒体およびプログラムに関する。
【背景技術】
【0002】
関連技術では、マルチタスクベースの微調整技術とマルチタスクベースの事前トレーニング技術により、大規模な言語モデルに強力な汎用テキスト生成能力を持たせることができる。
【0003】
ただし、関連技術では、マルチタスク微調整技術は、モデルが教師なしデータから汎用知識を学習することができないため、モデルが継続的に学習できない可能性があり、マルチタスクデータの事前トレーニング技術では、単一のテンプレート設計は、モデルのロバスト性に影響を与える。
【0004】
従って、モデルの継続的な学習の問題を解決し、テンプレートの多様性を高め、モデルのマルチタスク学習のロバスト性を向上させるための「言語モデルの事前トレーニング方法」が緊急に必要とされている。
【発明の概要】
【0005】
本開示は、言語モデルの事前トレーニング方法、装置、デバイス、記憶媒体およびプログラムを提供する。
【0006】
本開示の第1の態様によれば、言語モデルの事前トレーニング方法を提供し、事前トレーニング言語データセットを構築するステップであって、前記事前トレーニング言語データセットが、教師なし言語データおよび教師あり言語データを含むステップと、前記事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成するステップと、前記階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングするステップとを含む。
【0007】
本開示の第2の態様によれば、言語モデルの事前トレーニング装置を提供し、事前トレーニング言語データセットを構築する構築モジュールであって、前記事前トレーニング言語データセットが、教師なし言語データおよび教師あり言語データを含む構築モジュールと、前記事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成する生成モジュールと、前記階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングする事前トレーニングモジュールと、を備える。
【0008】
本開示の第3の態様によれば、電子機器を提供し、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサと通信可能に接続されたメモリと、を備え、前記メモリには、前記少なくとも1つのプロセッサによって実行される命令が記憶されており、前記命令が、前記少なくとも1つのプロセッサが上記の方法の実施例に記載の方法を実行するように、前記少なくとも1つのプロセッサによって実行される。
【0009】
本開示の第4の態様によれば、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令が、コンピュータに上記の方法の実施例に記載の方法を実行させる。
【0010】
本開示の第5の態様によれば、コンピュータープログラムを提供し、前記コンピュータプログラムにおける命令がプロセッサによって実行される場合、上記の方法の実施例に記載の方法が実現される。
【発明の効果】
【0011】
本開示の実施例の言語モデルの事前トレーニング方法では、事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成し、マルチテンプレートマルチタスク言語データセットを構築し、タスクを一括してテンプレート化することにより、モデルがマルチタスクデータを同時にモデル化することができ、複数のテンプレートを設定することにより、モデルの多様性を高め、モデルのタスク学習のロバスト性を向上させることができる。また、モデルを事前トレーニングする場合、連続テンプレートによって、タスクとデータセットに関連する知識をよりよく学習することができ、これによって、サンプルがゼロの場合とサンプルが少ない場合のモデルの転送能力が向上する。
【0012】
なお、事前トレーニング言語データセットを構築することに基づいて、本開示は、言語モデルに基づく教師なし汎用知識および教師ありタスク知識による共同トレーニングを提案し、言語モデルは、タスク知識を(教師ありタスク知識に基づいて)モデル化するだけでなく、学習教師なしデータから汎用知識を継続的に学習することもできるため、知識の忘却を回避することができる。
【0013】
なお、この部分に記載の内容は、本開示の実施例の肝心または重要な特徴を特定することを意図しておらず、本開示の範囲を限定することも意図していない。本出願の他の特徴は下記の明細書の記載を通して理解しやすくなる。
【図面の簡単な説明】
【0014】
図面は、本出願をより良く理解するためのものであり、本開示を限定するものではない。
【
図1】本開示の実施例によって提供される言語モデルの事前トレーニング方法の模式図である。
【
図2】本開示の実施例によって提供される言語モデルの事前トレーニングデータセットの模式図である。
【
図3】本開示の実施例によって提供される言語モデルの事前トレーニングデータセットに基づいて、階層化されたマルチテンプレートマルチタスクデータセットを生成する模式図である。
【
図4】本実施例によって提供される第1から第4の粒度のサンプル言語データの模式図である。
【
図5】本開示の実施例によって提供される階層化されたマルチテンプレートマルチタスクデータに基づいてセット言語モデルを事前トレーニングする模式図である。
【
図6】本開示の実施例によって提供される言語モデルの事前トレーニング装置の概略構成図である。
【
図7】本開示の実施例によって提供される別の言語モデルの事前トレーニング装置の概略構成図である。
【
図8】本開示の実施例によって提供されるさらに別の言語モデルの事前トレーニング装置の概略構成図である。
【
図9】本開示の実施例によって提供される電子機器の概略ブロック図である。
【発明を実施するための形態】
【0015】
以下、図面と組み合わせて本開示の例示的な実施例を説明する。理解を容易にするために、その中には本発明の実施例の様々な詳細が含まれ、それらは単なる例示と見なされるべきである。したがって、当業者は、本発明の範囲及び精神から逸脱することなく、本明細書に記載の実施例に対して様々な変更及び修正を行うことができる。また、わかりやすくかつ簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
【0016】
本開示の技術案では、関与するユーザの個人情報の取得、保存、および適用はすべて、関連する法律および規制の規定を遵守し、公序良俗に違反しない。
【0017】
以下、図面を参照し本出願の実施例のモデルのトレーニングのための実行制御方法、装置および電子機器を説明する。
【0018】
図1は本開示の実施例によって提供される言語モデルの事前トレーニング方法の概略フローチャートであり、この方法は、以下のステップを含む。
【0019】
ステップS101では、事前トレーニング言語データセットを構築し、この事前トレーニング言語データセットは、教師なし言語データおよび教師あり言語データを含む。
【0020】
図2は本開示の実施例によって提供される言語モデルの事前トレーニングデータセットの模式図である。
【0021】
ここで、
図2に示すように、本開示の一実施例では、この教師なし言語データは、大量のテキストデータおよび知識グラフであり得る。
【0022】
例として、本開示の一実施例では、大量のテキストデータは、ウェブページからのテキストデータや他の検索エンジンからのテキストデータなどであり得、知識グラフは、有向グラフ構造を持つナレッジベースの3つのタプルデータであり得る。
【0023】
なお、
図2に示すように、本開示の一実施例では、この教師あり言語データはマルチタスク言語データであってもよい。
【0024】
具体的には、本開示の一実施例では、マルチタスク言語データは、一般的な自然言語理解および生成タスクを含んでもよい。
【0025】
例として、本開示の一実施例では、この教師あり言語データセットは、自由質問応答データセット、感情分析データセット、セマンティックマッチングデータセット、テキスト分類データセット、テキスト要約データセットなどを含むことができる。
【0026】
ステップS102では、事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成する。
【0027】
ここで、本開示の一実施例では、この事前トレーニング言語データセットは教師あり言語データを含み、この教師あり言語データは、マルチタスク言語データセットを含み、マルチタスク言語データセットに対して、対応するタスクテンプレート、及び各タスクテンプレートに対応する少なくとも1つのタスクサブテンプレートを設定する。
【0028】
なお、本開示の一実施例では、各タスク言語データセットに対応する少なくとも1つのタスクサブテンプレートに基づいて、各タスク言語データセットを少なくとも1つのタスクカテゴリに分けて、階層化されたマルチテンプレートマルチタスク言語データセットを生成する。
【0029】
例として、
図3は本開示の実施例によって提供される言語モデルの事前トレーニングデータセットに基づいて階層化されたマルチテンプレートマルチタスク言語データセットを生成する模式図であり、本開示の一実施例では、
図3に示すように、
図3は3つの小さな図に分割されており、そのうちの左側の小さな図は、マルチタスクデータセットにすることができ、図に示すように、マルチタスクデータセットには、感情分析、開発質問応答、質問マッチング、広告作成などの対応するタスクテンプレートを設定し、各タスクテンプレートは対応するサンプルテキストを有する。そして、
図3の中央にある小さな図は、各タスクテンプレートに対応する少なくとも1つのタスクサブテンプレートに基づいて、各タスクデータセットを少なくとも1つのタスクカテゴリに分ける図てもよく、例えば、書評サブテンプレート、金融センチメントサブテンプレートなどは、感情分析のタスクカテゴリに分けることができる。そして、
図3の右側の小さな図は、階層化されたマルチテンプレートマルチタスク言語データセット、つまり、形式が統一されたサンプルテキストのデータセットを生成する図であってもよい。
【0030】
なお、本開示の一実施例では、マルチタスク言語データセットは構造化された教師あり言語データであり、この各タスク言語データセットに対応する少なくとも1つのタスクサブテンプレートに基づいて、各タスク言語データセットを少なくとも1つのタスクカテゴリに分ける方法は、経験と知識に基づくことができる。
【0031】
ステップS103では、階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングする。
【0032】
ここで、本開示の一実施例では、この階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングする方法は、サンプルテキストの前に連続テンプレートを接合することにより、階層化モデリングを実現するステップを含み、階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングするステップは、具体的に、言語モデルからサンプルテキストを取得するステップaと、サンプルテキストが属するタスクカテゴリに基づいて、サンプルテキストに対応するタスクテンプレートとタスクサブテンプレートを取得するステップbと、サンプルテキストに対応するタスクテンプレートとタスクサブテンプレートに基づいて、連続テンプレートを生成するステップcと、サンプルテキストと連続テンプレートを言語モデルに入力して、以言語モデルを事前トレーニングするステップdとを含む。
【0033】
なお、本開示の一実施例では、この言語モデルは、多粒度の教師なし言語データを使用してトレーニングすることによって生成され得る。
【0034】
具体的には、本開示の一実施例では、この言語モデルは、大量の教師なし言語データから、単語、文、段落および章のサンプル言語データを、細かいものから粗いものまで、および第1の粒度から第4の粒度までトレーニングすることができ、この言語モデルのトレーニングは双方向トレーニングである。
【0035】
例として、本開示の一実施例では、
図4は本実施例によって提供される第1から第4の粒度のサンプル言語データの模式図であり、
図4に示すように、入力は、双方向エンコード入力(太字)と片方向デコード入力(標準フォント)に分けられ、入力内容は部分的に2方向でモデル化される。図におけるM、S、Eはそれぞれマスク文字、生成開始文字および終了文字を表す。単語、文、段落、および章の粒度の違いは、マスク文字(M)にある。例えば、単語粒度の双方向生成タスクでは、哈爾浜(ハルビン)および冰雪(氷雪)との2つの単語がマスク文字に置き換えられる場合、モデルは、入力をモデル化することにより、双方向エンコーディング入力(太字)のマスク文字を復元する方法を学習する必要がある。
【0036】
これにより、言語モデルの生成分岐により、教師なし汎用知識と教師ありタスク知識による共同トレーニングを行うことができる。最適化の目標は次のとおりである。
【数1】
【0037】
ここで、xは、全長がnとなるサンプルテキストであり、yは、全長がmとなる教師ありデータセットである。lossの前半は教師なし汎用データで最適化され、lossの後半は教師ありデータで最適化される。言語モデルは統一的にモデル化されており、i番目の文字はその前の0~i-1文字の情報しか見ることができず、0~sの部分の文字は両方向から見えるが、s~i部分は一方向に見える。
【0038】
なお、
図5は本開示の実施例によって提供される階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングする模式図である。本開示の一実施例では、
図5に示すように、この連続テンプレートは学習済みベクトルであり得、サンプルテキストと共にモデルに入力することができ、サンプルテキストに対応するタスクテンプレートとタスクサブテンプレートに基づいて、事前トレーニングモデルの生成分岐で、教師なし汎用知識と教師ありタスク知識によって共同でトレーニングされた後、最適化される。
【0039】
階層化されたマルチテンプレートマルチタスクの事前トレーニングが完了した後、事前トレーニングモデルはより強力な転送能力を有することができ、タスク連続テンプレートはマルチタスクデータと一緒にトレーニングされるため、より強力な転送能力も備える。これにより、新しい階層化されたマルチテンプレートマルチタスクデータセットの場合、同じタスクタイプのデータにはゼロサンプル転送能力と少数サンプル転送機能がある。同様に、連続テンプレートに対応するタスクテンプレートとタスクサブテンプレートは、特定のデータセットに対応するタスクを完了するようにモデルをより適切に導くことができる。
図5に示すように、質問応答テンプレートとオープン質問応答サブテンプレートなどがある。
【0040】
さらに、階層化された人工事前知識を導入するために、各タスクの種類と言語データセットにN個のトレーニング可能な単語ベクトル(つまり、連続テンプレート(continuous prompt))を割り当て、元のテキストの前に接合され、モデルが階層的なマルチタスク知識を学習するのを支援する。トレーニング段階では、言語モデルを事前トレーニングする目的関数の教師付き最適化目標を、タスクとデータセットの連続テンプレートに依存するように変更することができる。具体的な変更は次のとおりである。
【数2】
ここで、T
*、D
*はそれぞれタスクとデータセットの連続テンプレートであり、各タスクとデータセットの連続テンプレートはいずれも異なり、モデルをトレーニングする前に、モデルの他のパラメーターと同様に、値をランダムに初期化して割り当てる。トレーニング中、階層化されたマルチテンプレートマルチタスク言語データのタスクおよび言語データセットラベルに基づいて、対応する連続テンプレートを選択して元のテキストと接合し、最適化のために言語モデルに入力する。
【0041】
本開示の実施例の事前トレーニング方法では、事前トレーニング言語データセットを構築し、事前トレーニング言語データセットは、教師なし言語データおよび教師あり言語データを含み、そして、事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成し、再階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングする。これにより、本開示の実施例は、マルチテンプレートマルチタスク言語データセットを構築し、タスクを一括してテンプレート化することにより、モデルがマルチタスクデータを同時にモデル化することができ、複数のテンプレートを設定することにより、モデルの多様性を高め、モデルのタスク学習のロバスト性を向上させることができ、モデルを事前トレーニングする場合、連続テンプレートによって、タスクとデータセットに関連する知識をよりよく学習することができ、これによって、サンプルがゼロの場合とサンプルが少ない場合のモデルの転送能力が向上する。
【0042】
なお、事前トレーニング言語データセットを構築することに基づいて、本開示は、言語モデルに基づく教師なし汎用知識および教師ありタスク知識による共同トレーニングを提案し、言語モデルは、タスク知識を(教師ありタスク知識に基づいて)モデル化するだけでなく、学習教師なしデータから汎用知識を継続的に学習することもできるため、知識の忘却を回避することができる。
【0043】
上記実施例を実現するために、本開示の実施例は、事前トレーニング装置をさらに提供する。
図6は本開示の実施例によって提供される言語モデルの事前トレーニング装置の概略構成図である。
【0044】
図6に示すように、この装置は、事前トレーニング言語データセットを構築し、前記事前トレーニング言語データセットは、教師なし言語データおよび教師あり言語データを含む構築モジュール61と、前記事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成する生成モジュール62と、前記階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングする事前トレーニングモジュール63とを備える。
【0045】
図7に示すように、この生成モジュール62は、前記マルチタスクデータセット内の各タスクデータセットに対して、対応するタスクテンプレート、及び各タスクテンプレートに対応する少なくとも1つのタスクサブテンプレートを設定するテンプレート設定サブモジュール621と、各前記タスクデータセットに対応する少なくとも1つのタスクサブテンプレートに基づいて、前記各タスクデータセットを少なくとも1つのタスクカテゴリに分けて、前記階層化されたマルチテンプレートマルチタスクデータセットを生成する第1の生成サブモジュール622とを備える。
【0046】
図7に示すように、この生成モジュール62は、多粒度の教師なし言語データでトレーニングすることによって前記言語モデルを生成するために使用される第2の生成サブモジュール623を備える。
【0047】
図7に示すように、この生成モジュール62は、前記教師なし言語データから、第1から第4の粒度のサンプル言語データを抽出する抽出サブモジュール624と、前記第1から第4の粒度のサンプル言語データのそれぞれに基づいて、初期モデルをトレーニングして、前記言語モデルを生成する第3の生成サブモジュール625とを備える。
【0048】
図8に示すように、この事前トレーニングモジュール63は、前記言語モデルからサンプルテキストを取得するサンプル取得サブモジュール631と、前記サンプルテキストが属するタスクカテゴリに基づいて、前記サンプルテキストに対応するタスクテンプレートとタスクサブテンプレートを取得するテンプレート取得サブモジュール632と、前記サンプルテキストに対応するタスクテンプレートとタスクサブテンプレートに基づいて、連続テンプレートを生成する連続テンプレート生成サブモジュール633と、前記サンプルテキストと前記連続テンプレートを前記言語モデルに入力して、前記言語モデルを事前トレーニングする第1の事前トレーニングサブモジュール634とを備える。
【0049】
図8に示すように、この事前トレーニングモジュール63は、前記サンプルテキストの前に前記連続テンプレートを接合する接合サブモジュール635をさらに備える。
【0050】
図8に示すように、この事前トレーニングモジュール63は、前記教師なし言語データと教師あり言語データを使用して、前記言語モデルを共同で事前トレーニングする第2の事前トレーニングサブモジュール636をさらに備える。
【0051】
実施形態として、この装置は、前記教師なしデータと教師ありデータを使用して前記事前トレーニングモデルを共同で事前トレーニングするために使用される。
【0052】
なお、上記の方法の実施例の説明は、この実施例の装置にも適用可能であり、原理は同じであるため、ここでは繰り返さない。
【0053】
本開示の実施例の言語モデルの事前トレーニング装置では、事前トレーニング言語データセットを構築し、事前トレーニング言語データセットは教師なし言語データと教師ありデータを含み、事前トレーニング言語データセットに基づいて、階層化されたマルチテンプレートマルチタスク言語データセットを生成し、再階層化されたマルチテンプレートマルチタスク言語データセットに基づいて、言語モデルを事前トレーニングする。これにより、本開示の実施例は、マルチテンプレートマルチタスク言語データセットを構築し、タスクを一括してテンプレート化することにより、モデルがマルチタスクデータを同時にモデル化することができ、モデルの多様性を高め、モデルのタスク学習のロバスト性を向上させることができ、モデルを事前トレーニングする場合、連続テンプレートによって、タスクとデータセットに関連する知識をよりよく学習することができ、これによって、サンプルがゼロの場合とサンプルが少ない場合のモデルの転送能力が向上する。
【0054】
なお、事前トレーニング言語データセットを構築することに基づいて、本開示は、言語モデルに基づく教師なし汎用知識および教師ありタスク知識による共同トレーニングを提案し、言語モデルは、タスク知識を(教師ありタスク知識に基づいて)モデル化するだけでなく、学習教師なしデータから汎用知識を継続的に学習することもできるため、知識の忘却を回避することができる。
【0055】
上記実施例を実現するために、本開示は、電子機器を提供し、メモリ、プロセッサ及びメモリに格納され、プロセッサで実行可能なコンピュータープログラムを含み、前記プロセッサが前記プログラムによって実行されると、上記の方法の実施例に記載された方法が実現される。
【0056】
上記実施例を実現するために、本開示は、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体をさらに提供し、前記コンピュータ命令は、コンピュータに上記の方法の実施例に記載の方法を実行させる。
【0057】
上記実施例を実現するために、本開示は、コンピュータープログラムをさらに提供し、前記コンピュータプログラムにおける命令がプロセッサによって実行される場合、上記の方法の実施例に記載の方法が実現される。
【0058】
本開示の実施例によれば、本開示は、電子機器、読み取り可能な記憶媒体およびコンピュータープログラムをさらに提供する。
【0059】
図9は、本開示の実施例を実施するための例示的な電子機器900の概略ブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタルプロセシング、セルラー電話、スマートフォン、ウェアラブルデバイス、及び他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表してもよい。本明細書に示されるコンポーネント、それらの接続及び関係、並びにそれらの機能は、単なる例であり、本明細書に記載及び/または求められる本願の実現を限定することを意図しない。
【0060】
図9に示すように、電子機器900は、リードオンリーメモリ(ROM)902に記憶されたコンピュータプログラム、または記憶ユニット908からランダムアクセスメモリ(RAM)903にローディングされたコンピュータプログラムに基づいて、様々な適切な動作と処理を実行できる計算ユニット901を含む。RAM903には、電子機器900の動作に必要な各種のプログラム及びデータをさらに記憶することができる。計算ユニット901と、ROM902と、RAM903とは、バス904を介して互いに接続されている。入力/出力(I/O)インタフェース905もバス904に接続されている。
【0061】
電子機器900における複数のコンポーネントは、I/Oインタフェース905に接続されており、その複数のコンポーネントは、キーボードやマウスなどの入力ユニット906と、種々なディスプレイやスピーカなどの出力ユニット907と、磁気ディスクや光学ディスクなどの記憶ユニット908と、ネットワークカード、モデム、無線通信トランシーバーなどの通信ユニット909と、を備える。通信ユニット909は、電子機器900がインターネットのようなコンピュータネット及び/または種々なキャリアネットワークを介して他の機器と情報/データを交換することを可能にする。
【0062】
計算ユニット901は、処理及び計算能力を有する様々な汎用及び/または専用の処理コンポーネントであってもよい。計算ユニット901のいくつかの例としては、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用の人工知能(AI)計算チップ、様々な機械学習モデルアルゴリズムを実行する計算ユニット、デジタ信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを備えるが、これらに限定されない。計算ユニット901は、上述で説明された各方法及び処理、例えば事前トレーニング方法を実行する。例えば、いくつかの実施形態では、事前トレーニング方法を、記憶ユニット908のような機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウエアプログラムとして実現されてもよい。一部の実施形態では、コンピュータプログラムの一部または全ては、ROM902及び/または通信ユニット909を介して、電子機器900にロード及び/またはインストールされてもよい。コンピュータプログラムがRAM903にロードされて計算ユニット901によって実行される場合に、前述した事前トレーニング方法の一つまたは複数のステップを実行することができる。選択的に、他の実施例では、計算ユニット901は、他の任意の適当な方式(例えば、ファームウェア)により事前トレーニング方法を実行するように構成されてもよい。
【0063】
ここで記載されているシステムまたは技術の各種の実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、専用集積回路(ASIC)、専用標準品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータのハードウェア、ファームウェア、ソフトウェア、及び/またはこれらの組み合わせによって実現することができる。これらの各実施形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにて実行及び/または解釈される1つまたは複数のコンピュータプログラムにより実行することを含み得、当該プログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受け取り、データ及び命令を該ストレージシステム、当該少なくとも1つの入力デバイス、及び当該少なくとも1つの出力デバイスに転送することができる専用または汎用のプログラマブルプロセッサであってもよい。
【0064】
本開示の方法を実施するためのプログラムコードは、1または複数のプログラミング言語の組み合わせで記述されていてもよい。これらのプログラムコードは、プロセッサ又はコントローラによって実行されるとされた際に、フローチャート及び/またはブロック図で規定された機能・動作が実施されるように、汎用コンピュータや専用コンピュータまたは他のプログラム可能な人間の画像復元装置のプロセッサやコントローラに提供されてもよい。プログラムコードは、機械上で完全に実行されるか、機械上で部分的に実行されるか、独立したソフトウェアパッケージとして機械上で部分的に実行されるとともにリモートマシン上で部分的に実行されるか、またはリモートマシンまたはサーバ上で完全に実行されてもよい。
【0065】
本開示の文脈において、機械読み取り可能な媒体は、命令実行システム、装置またはデバイスによって使用されるために、または命令実行システム、装置またはデバイスと組み合わせて使用されるためのプログラムを含むか、または記憶することができる有形媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体であってもよいし、機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体としては、電子的、磁気的、光学的、電磁的、赤外線的、半導体システム、装置、デバイス、またはこれらの任意の適切な組み合わせが挙げられるが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例としては、1または複数のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラム可能なリードオンリメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせが挙げられる。
【0066】
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータで実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウスまたはトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供するために用いられることができ、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
【0067】
ここで説明されるシステム及び技術は、バックエンドコンポーネントを備えるコンピューティングシステム(例えば、データサーバとする)、またはミドルウェアコンポーネントを備えるコンピューティングシステム(例えば、アプリケーションサーバー)、またはフロントエンドコンポーネントを備えるコンピューティングシステム(例えば、グラフィカルユーザインタフェースまたはウェブブラウザを有するユーザコンピュータであり、ユーザは、当該グラフィカルユーザインタフェースまたは当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、またはこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを備えるコンピューティングシステムで実施することができる。任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを互いに接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、ブロックチェーンネットワークとを含む。
【0068】
コンピュータシステムは、クライアントとサーバとを備えることができる。クライアントとサーバは、一般的に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータで実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。ここで、サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービス体系のうちのホスト製品であり、従来の物理ホストとVPSサービス(Virtual Private Server、また、「VPS」と略記する)では、管理が難しく、業務拡張性が弱いという欠点を解決している。サーバーは、分散システムのサーバー、またはブロックチェーンを結合したサーバーであってもよい。
【0069】
なお、上述した様々な形態のフローを用いて、ステップを並び替え、追加または削除を行うことができることを理解されるべきである。例えば、本開示に記載された各ステップは、本願に開示された技術方案の所望の結果が達成できる限り、並列に実行されてもよいし、順番に実行されてもよいし、異なる順序で実行されてもよい。本明細書は制限されない。
【0070】
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば、設計要件及び他の要因に応じて、様々な修正、組み合わせ、サブ組合、及び代替を行うことができることは理解される。本願の精神及び原理内で行われたあらゆる修正、同等の置換及び改善などは、いずれも本開示の保護範囲内に含まれるべきである。