問題タブ [roberta-language-model]
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.
huggingface-transformers - データセットが RAM の容量よりも大きい場合、RoBERTa をゼロからトレーニングしますか?
私は 16 GB の大きさのコーパスを持っており、RAM は約 16 GB です。データセット全体を読み込んで言語モデル RoBERTa をゼロからトレーニングすると、メモリの問題が発生します。Huggingface のブログ記事 ( https://colab.research.google.com/github/huggingface/blog/blob/master/notebooks/01_how_to_train.ipynb ) で提供されているスクリプトを使用して、RoBERTa をトレーニングするつもりです。
ただし、彼らのブログ投稿では、LineByLineTextDatase の使用が提案されています。ただし、これはデータセットを熱心に読み込みます。
予期せぬことに、私のカーネルは行を読み取った部分でクラッシュしました。怠惰に読ませる方法はないのだろうか。私はHuggingfaceを初めて使用し、自分でデバッグできないのではないかと心配しているため、投稿されたチュートリアルで提案された回答が最小限のコード変更を作成できる場合、それは非常に望ましいことです。
pytorch - PyTorch を使用して Cloud TPU で FairSeq RoBERTa をトレーニングすると、RPC が status = "Unavailable: Socket closed" エラーで失敗する
チュートリアル「Pytorch を使用した Cloud TPU での FairSeq RoBERTa の事前トレーニング」に従って、プリエンプティブル (v2-8) TPU 環境をセットアップし、RoBERTa モデルをトレーニングしました。PyTorch 環境は、ドキュメントで指示されているように torch-xla-1.6 に基づいています。ただし、通常のように GPU でトレーニング ログを出力せず、RPC 失敗の警告 (以下を参照 - ネットワーク エンドポイントはここで削除されます) を 2 ~ 3 日に 2 回 (12 時間の間隔で) スローします。
エポックあたりの私のトレーニング ステップは 161,529 です。ドキュメントによると、v2-8 は、私が構成した 5 つのエポックで 80 時間かかります。しかし、私の仕事はそこでぶら下がっているようです。
アドバイスをお願いします。
transformer - XLM-RoBERTa トークン - ID 関係
次のような一連の文の ID を取得するために、XLM-RoBERTa トークナイザーを使用しました。
返される ID が、文内の空白で区切られたトークンの数と同じ数であるとは限らないことがわかります。たとえば、最初の文は に対応し[[0, 459, 6496, 83, 6782, 2]]、と ID から単語埋め込みのマトリックスを取得した後、いくつかの特定のトークンに対応する単語埋め込み/ベクトルのみを識別しようとしていました。それを行う方法はありますか? 元のトークンに複数の ID が割り当てられることがあり、これが予測できない場合、これがどのように可能になるかわかりません。loving4566496
より一般的には、私のタスクは、文内の特定のトークンの単語埋め込みを取得することです。したがって、私の目標は、最初に文を使用して、単一のトークンの単語埋め込みを構文コンテキスト内で計算できるようにすることですが、次に特定したいと思います/文中のすべてのトークンのベクトルではなく、一部の特定のトークンのベクトルのみを保持します。
python - すべての重みで Roberta モデルを読み込む
TFRobertaModel.frompretrained('Roberta-base') で Roberta モデルをロードし、Keras を使用してトレーニングします。Roberta の上に他のレイヤーがあり、裸の Roberta をすべてのパラメーターで初期化する必要があります。Colab でコードを実行すると、Roberta をロードする数週間前から次の警告が表示されていましたが、「lm_head」の重みが初期化されていませんでしたが、すべて問題なく、モデルは適切にトレーニングされていました。
しかし今、colab のトランスフォーマーのバージョンが変更されたと思います。これは、同じコードで新しい警告が表示され、より多くのエンコーダーとバイアス レイヤーが初期化されておらず、損失関数が減少しないことを示しているためです。
誰でも私の質問を手伝ってもらえますか: Roberta をロードして、すべての重みを適切に初期化するにはどうすればよいですか?
nlp - FastAPI を使用して roberta ClassificationModel を提供する API
colab で simpletransformers モデルを使用してトランスフォーマーをトレーニングし、シリアル化されたモデルをダウンロードしましたが、それを使用して推論を行う際に問題はほとんどありません。モデルをjupyterのモデルにロードすると機能しますが、fastapiで使用するとエラーが発生しますこれは私がjupyterで使用している方法です:
次の結果が得られます: array([[0.00230123, 0.97465035, 0.00475409, 0.01829433]])
次のように fastapi を使用しようとしましたが、エラーが発生し続けます。