トランスフォーマープリロードトレーニングモデル| 7

著者| huggingfaceコンパイル| VKソース| Githubに

プリロードされたGoogleのAIやOpenAIウェイトトレーニングやPyTorchダンプ

from_pretrained()方法

GoogleのAIをロードするには、(とOpenAI事前研修モデルやPyTorchモデル保存torch.save()保存したBertForPreTraining場合)、PyTorchモデルとトークナイザクラスができfrom_pretrained()インスタンス化を:

model = BERT_CLASS.from_pretrained(PRE_TRAINED_MODEL_NAME_OR_PATH, cache_dir=None, from_tf=False, state_dict=None, *input, **kwargs)

間で

  • BERT_CLASSいずれか(語彙ロードするために使用トークナイザBertTokenizerまたはOpenAIGPTTokenizer等)、いずれかのロードまたは8つのBERT 1 GPT PyTorchモデルクラス3 OpenAI(ローディング前トレーニング重み用): 、BertModelBertForMaskedLMBertForNextSentencePredictionBertForPreTrainingBertForSequenceClassificationBertForTokenClassificationBertForMultipleChoiceBertForQuestionAnswering 又はOpenAIGPTModelOpenAIGPTLMHeadModelOpenAIGPTDoubleHeadsModel

  • PRE_TRAINED_MODEL_NAME_OR_PATH次のとおりです。

    • GoogleのAIやモデルがすでにモデルを訓練されている名称、定義済みのOpenAI簡単なリスト:

      • bert-base-uncased:12層、隠れノード768、12のヘッド、110M量パラメータ。
      • bert-large-uncased24層、隠れノード1024、16のヘッド、340M量パラメータ。
      • bert-base-cased:12層、隠れノード768、12のヘッド、110M量パラメータ。
      • bert-large-cased24層、隠れノード1024、16のヘッド、340M量パラメータ。
      • bert-base-multilingual-uncased:(オリジナル、推奨されません)12層、768個の隠されたノード、12のヘッド、110Mパラメータ量。
      • bert-base-multilingual-cased:(新しい、12層、768個の隠されたノード、12のヘッド、110Mパラメータ量)を推奨。
      • bert-base-chinese:簡体字中国語、繁体字中国語、層12、隠れノード768、12頭、110M量パラメータ。
      • bert-base-german-cased:ドイツのデータのための訓練、12層、768個の隠されたノード、12のヘッド、110M量パラメータのみ。性能評価(https://deepset.ai/german-bert
      • bert-large-uncased-whole-word-masking24層、隠れノード1024、16のヘッド、340M量パラメータ。単語単位マスキングトレーニングモードの後(単語に対応する全てのマスキング処理をマーク)
      • bert-large-cased-whole-word-masking24層、隠れノード1024、16のヘッド、340M量パラメータ。単語単位マスキングトレーニングモードの後(単語に対応する全てのマスキング処理をマーク)
      • bert-large-uncased-whole-word-masking-finetuned-squad:オンSQUADの微調整bert-large-uncased-whole-word-maskingモデル(使用run_bert_squad.py)。結果:EXACT_MATCH:86.91579943235573、F1:93.1532499015869
      • bert-base-german-dbmdz-cased:ドイツのデータのための訓練、12層、768個の隠されたノード、12のヘッド、110M量パラメータのみ。性能評価(https://deepset.ai/german-bert
      • bert-base-german-dbmdz-uncased:ドイツのデータについては、12層、768個の隠されたノード、12のヘッド、のみ110M量パラメータ(大文字と小文字を区別しません)。性能評価(https://github.com/dbmdz/german-bert
      • openai-gpt:OpenAI GPT英語モデル、層12、隠れノード768、12頭、110M量パラメータ。
      • gpt2:OpenAI GPT-2英語モデル、層12、隠れノード768、12のヘッド、117M量パラメータ。
        • gpt2-medium:OpenAI GPT-2英語モデル、層24、隠れノード1024、16のヘッド、345M量パラメータ。
      • transfo-xl-wt103:24層、1024個の隠れノード、16頭、257Mパラメータ量の-103ウィキテキストで英語モデルのトレーニングを使用してトランス-XLモデル。
    • パスまたはURLは、事前研修モデルが含まれています。

      • bert_config.jsonまたはopenai_gpt_config.jsonプロファイルモデルについて
      • pytorch_model.binそれはされてBertForPreTraining保存されOpenAIGPTModelTransfoXLModelかつGPT2LMHeadModel事前のトレーニング例PyTorchダンプ。(通常の使い方torch.save()保存)

    場合はPRE_TRAINED_MODEL_NAME_OR_PATH、ショートカット名、その後、AWS S3からの事前研修の重みをダウンロードしてください。リンク(参照することができ、後で避けるために、キャッシュフォルダにダウンロードして記憶するhttps://github.com/huggingface/transformers/blob/master/transformers/modeling_bert.py)の必要性を(〜/ .pytorch_pretrained_bert / `で`で見つけることができますキャッシュフォルダ)。

    • cache_dirそれは、ダウンロードに固有のディレクトリへのオプションのパスであると事前に訓練されたモデルの重みをキャッシュすることができます。このオプションは、分散訓練を使用する場合に特に便利です:同じヘビーウエイトへの同時アクセスを回避するには、例を設定することができますcache_dir='./pretrained_model_{}'.format(args.local_rank))。

    • from_tf :私たちは、TensorFlowは、ローカルに保存されたチェックポイントの右から再ロードしなければなりません

    • state_dict :オプションの状態辞書(collections.OrderedDictオブジェクト)ではなく、Googleの事前トレーニングモードを使用して

    • *inputs、:** kwargsバート追加の入力特定のクラス(例えば:num_labelsのBertForSequenceClassification)

Uncased前WordPiece標識表し、小文字のテキストは、例えば、されているJohn Smithになりますjohn smithUncasedモデルは、任意のアクセント記号を削除します。Cased彼は真のケースとアクセント記号について留保を表明しました。あなたが知っている限り、一般的には、ケースの情報は、あなたの仕事のために重要である(例えば、エンティティの認識や音声マークの名前)、それ以外Uncasedのモデルは良くなります。多言語と中国のモデルについては、参照(https://github.com/google-research/bert/blob/master/multilingual.md)または元TensorFlowリポジトリ。

ときにUncasedモデルの時間は、--do_lower_case例訓練スクリプトを(あなたがあなた自身のスクリプトを使用する場合は、渡すようにしてくださいdo_lower_case=TrueFullTokenizerに渡されます))。

例:

# BERT
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased', do_lower_case=True, do_basic_tokenize=True)
model = BertForSequenceClassification.from_pretrained('bert-base-uncased')

# OpenAI GPT
tokenizer = OpenAIGPTTokenizer.from_pretrained('openai-gpt')
model = OpenAIGPTModel.from_pretrained('openai-gpt')

# Transformer-XL
tokenizer = TransfoXLTokenizer.from_pretrained('transfo-xl-wt103')
model = TransfoXLModel.from_pretrained('transfo-xl-wt103')

# OpenAI GPT-2
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2Model.from_pretrained('gpt2')

キャッシュディレクトリ

pytorch_pretrained_bert(この優先順位にある)キャッシュディレクトリに保存された事前研修の重み:

  • cache_dirあるfrom_pretrained()オプションのパラメータの方法は、(上記参照します)
  • シェル環境変数PYTORCH_PRETRAINED_BERT_CACHE
  • + PyTorchキャッシュ・ディレクトリ/pytorch_pretrained_bert/、PyTorch(この順番で定義された)キャッシュ・ディレクトリの:
    • シェル環境変数ENV_TORCH_HOME
    • シェル環境変数ENV_XDG_CACHE_HOME+ /torch/
    • デフォルト:~/.cache/torch/

あなたが設定されていない場合、一般的には、任意の特定の環境変数は、pytorch_pretrained_bertキャッシュが位置することになる~/.cache/torch/pytorch_pretrained_bert/で。

あなたは、常に安全に削除することができますpytorch_pretrained_bertキャッシュを、私たちのS3から事前研修モデルの重みと語彙ファイルを再度ダウンロードする必要があります。

オリジナルリンク:https://huggingface.co/transformers/serialization.html

AIは注意パンチョン・ステーションのブログを歓迎:http://panchuang.net/

OpenCVの中国の公式文書:http://woshicver.com/

ようこそ注意パンチョンのブログのリソースの概要駅:http://docs.panchuang.net/

公開された372元の記事 ウォンの賞賛1063 ビュー67万+

おすすめ

転載: blog.csdn.net/fendouaini/article/details/105254397