著者| 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(ローディング前トレーニング重み用): 、BertModel
、BertForMaskedLM
、BertForNextSentencePrediction
、BertForPreTraining
、BertForSequenceClassification
、BertForTokenClassification
、BertForMultipleChoice
、、BertForQuestionAnswering
又はOpenAIGPTModel
OpenAIGPTLMHeadModel
OpenAIGPTDoubleHeadsModel
PRE_TRAINED_MODEL_NAME_OR_PATH
次のとおりです。GoogleのAIやモデルがすでにモデルを訓練されている名称、定義済みのOpenAI簡単なリスト:
bert-base-uncased
:12層、隠れノード768、12のヘッド、110M量パラメータ。bert-large-uncased
24層、隠れノード1024、16のヘッド、340M量パラメータ。bert-base-cased
:12層、隠れノード768、12のヘッド、110M量パラメータ。bert-large-cased
24層、隠れノード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-masking
24層、隠れノード1024、16のヘッド、340M量パラメータ。単語単位マスキングトレーニングモードの後(単語に対応する全てのマスキング処理をマーク)bert-large-cased-whole-word-masking
24層、隠れノード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.1532499015869bert-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
保存されOpenAIGPTModel
、TransfoXLModel
かつ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 smith
。Uncasedモデルは、任意のアクセント記号を削除します。Cased
彼は真のケースとアクセント記号について留保を表明しました。あなたが知っている限り、一般的には、ケースの情報は、あなたの仕事のために重要である(例えば、エンティティの認識や音声マークの名前)、それ以外Uncased
のモデルは良くなります。多言語と中国のモデルについては、参照(https://github.com/google-research/bert/blob/master/multilingual.md)または元TensorFlowリポジトリ。
ときにUncased
モデルの時間は、--do_lower_case例訓練スクリプトを(あなたがあなた自身のスクリプトを使用する場合は、渡すようにしてくださいdo_lower_case=True
FullTokenizerに渡されます))。
例:
# 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/