問題タブ [huggingface-transformers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2501 参照

python - 名前付きエンティティ認識のための PyTorch Huggingface BERT-NLP

私はかなり長い間、MADE 1.0 データセットのためにHuggingFaceによるGoogle のBERTの PyTorch 実装を使用してきました。前回 (2 月 11 日) まで、私はライブラリを使用しており、モデルの微調整による名前付きエンティティ認識タスクで0.81のF スコアを得ていました。しかし、今週、以前にコンパイルして実行したのとまったく同じコードを実行したところ、次のステートメントを実行するとエラーが発生しました。

ValueError: トークン インデックスのシーケンス長が、この BERT モデルに指定された最大シーケンス長よりも長くなっています (632 > 512)。このシーケンスを BERT で実行すると、インデックス作成エラーが発生します

完全なコードは、このcolab ノートブックで入手できます。

このエラーを回避するために、任意のシーケンスの最初の 512 トークンを取得して上記のステートメントを以下のステートメントに変更し、必要な変更を加えて、BERT で必要とされる切り捨てられた/パディングされたシーケンスの末尾に [SEP] のインデックスを追加しました。

シーケンスの最初の 512 トークンのみを考慮し、後で 75 に切り捨てて (MAX_LEN=75)、結果は変わらないはずですが、F スコアは0.40に低下し、精度0.27に低下しましたが、リコールはそのままです。同じ(0.85) . 機密保持条項に署名しているため、データセットを共有することはできませんが、BERT で必要とされるすべての前処理が行われ、(Johanson --> Johan ##son) のようなすべての拡張トークンが X でタグ付けされ、置き換えられたことを保証できます。BERT Paperで述べられているように、後で予測した後。

他の誰かが同様の問題に直面したか、または問題の可能性があるか、または PyTorch (Huggingface) の人々が最近行った変更について詳しく説明できますか?

0 投票する
0 に答える
1558 参照

python - huggingface の pytorch-transformers ライブラリで GPT-2 を微調整する

huggingface の GPT-2 PyTorch モデルを微調整しようとしています。
https://github.com/huggingface/pytorch-transformers/tree/master

RocStories データセットで古い GPT モデルをトレーニングする例を示しているドキュメントの「例」セクションを読みました。
https://huggingface.co/pytorch-transformers/examples.html#fine-tuning

GPT-2 でこの種のトレーニングを実行する方法を知りたいです。また、私のデータセットには「評価セット」がありません。データセットでGPT-2を微調整し、それを使用して、微調整されたデータセットに「類似」する新しいテキストを生成したいだけです。

ドキュメントのどこかに何かが欠けていると確信しています。誰かが私を正しい方向に向けることができれば幸いです。

0 投票する
0 に答える
693 参照

python - Hugging Face Pytorch-Transformers クイックスタート ドキュメントのコード例

こちらのクイックスタートガイドに従っています。問題は、彼らが GPU マシン用のコードを提供していて、CPU ベースの Ubuntu マシンでコードを実行していることです。すべてをCUDAに入れる行にコメントしました。コードにエラーが表示され、解決方法がわかりません。問題は、「これを機能させるにはどうすればよいか」です。

この回答を確認しましたが、これは私が探しているものではありません。

完全なコードはこちら

1. BertModel を使用して入力を非表示状態にエンコードする:

1 のエラー:

2. BertForMaskedLM を使用して、マスクされたトークンを予測します。

2 のエラー:

0 投票する
0 に答える
250 参照

nlp - HuggingFace GPT2DoubleHeadsModel は、多肢選択式ではない次のトークン予測に使用できますか?

HuggingFace Transformer の Web サイト ( https://huggingface.co/transformers/model_doc/gpt2.html#gpt2doubleheadsmodel ) によると、GPT2DoubleHeadsModel ( GPT2LMHeadModel ではなくGPT2DoubleHeadsModel ) は、言語モデリングと多肢選択式分類を備えた GPT-2 変圧器モデルです。たとえば、RocStories/SWAG タスクの場合。

これは、 GPT2DoubleHeadsModelを使用して、多肢選択式ではない言語モデリング タスク (つまり、次の単語の予測) と多肢選択式の質問の両方を、ヘッドを調整することなく処理できるということですか? または、 GPT2DoubleHeadsModelは複数選択タイプの質問にのみ回答するためのものであるため、非複数選択ベースの次の単語予測を実行する場合、 GPT2DoubleHeadsModelのヘッドを調整する必要がありますか?

あなたの GPT-2 論文を読んで得た印象は、GPT-2 は言語モデリング プロセスを使用してあらゆる種類の言語タスクを処理するというものだったので、これには少し混乱しています (したがって、GPT-2 には通常の言語モデリング ヘッドしかありません)。上)、しかし、「GPT2DoubleHeadsModel」という名前は、この GPT-2 のヘッドをさまざまな種類の言語タスクに合わせて調整する必要があることを示唆しているようです。

ありがとうございました、