取り扱い方のメモリ問題の研修ワ埋め込みに大きなデータセット?
-
16-10-2019 - |
質問
たい列車の単語予測可能性の課題をワ埋め込み.文書のコレクション243kます。コードの実装は伝えている。私は苦労していますが、大きなサイズのデータセットが必要かについて話し合う電車語埋め込みのような大規模なデータを収集-243万記事全文を提出する。研究の計算資源がタイムで取得-アクセスを,GPU搭載のノードで選択が増えた場合のモデル研修
- 漸進的モデル研修一方の電車全体のデータセット利用増加のモデルトレーニングでは電車のモデルを一つのチャンクのデータとして保存することができます。その後、迎え、同事前に訓練を受けたモデルのトレーニングを行い、次のチャンクデータです。問題を私に面したこのアプローチはどのような私の語彙辞書の言葉です。ワ埋め込み方法辞典/語集が重要な役割を果している。お掃引渡すべての書類を語集をいくつかの語が結びついてカウント以上で最小限に設定します。現在、実際にこの語集は、ハッシュマップが指数に関連する各言語研修サンプルで置き換える言葉とそのインデックスの語集のための簡単なモデルです。の場合は漸進的訓練の作成方法を教えてください辞書を段階的に?いを語集/辞書の全文書は、当初、その後、段階的に?の方法の延長は語集もタリング
- 問題は他のメモリ制限の大きさ語集をデータ構造です。私は私の実施モデルのトーチはLUAます。なので、ユーザを制限のテーブルサイズの大きい、負荷語集全体の書類を単一ます。どのように克服しなメモリーの問題ということか。
- らグローブのベクトル.自分で言う"の研修を実施したモデルにコーパスの規模:2010年にWikipediaのダンプを1億トークン;2014年Wikipediaダンプ16億るkens;Gigaword5は43億のトークン;の組み合わせGigaword5+Wikipedia2014、6億円のトークン;は、42億円とトークンのwebデータから共通Crawl5.まtokenize()と小文字の各コーパスのスタンフォードトークナイザを構築し、語彙、400,000多words6となるよう、そのマトリクスの発生をカウントX"あらゆるアイデアをどうグローブのベクトル場において育まれたような大きなコーパスと大きな語彙やメモリ制限の大文字/小文字を区別するかはがしていますか?論文の参照 http://nlp.stanford.edu/pubs/glove.pdf
- そのアイデアなどのサイズを制限のデータセットを生成単語の埋め込み?どのように影響する範囲の単語埋め込みとの増減数です。で使うようにするといいでしょうサンプリングの技術サンプル文書データセットから?ある場合、そのご提案ください一部のサンプリングです。
解決
きを乗り越えることができ、内蔵メモリ制限のtdsライブラリーの構築または以下のと同等の構造物がない限のユーザのメモリキャップ。こんに限のハードウェアができることのできないようにテーブルより大きくは2GBにサンプルがあります。
また、ドがありますョ語彙となります。そして、時に必要なアクセスするというマスターテーブルされますのでもちろんこれには正しい語集テーブルの要素ます。この選別語彙ので、まだまだでのすべてを一度にメモリ(または実施自身のcraftyソートアルゴリズムかもしれません)があるんだなって語彙滞在の定数です。そのserializeすべての語集テーブルの負荷をディスク必要に応じて、ログインが必要で、それでも高速充填体メモリと食のスワップスペース。たぶん。
他のヒント
私は知らないトーチが、基本的にはword2vecとdoc2vecを考えると、これらのモデルから学ぶれを文章になるすべての文章メモリの内容を消去します。きを反復経由でに各文章がどのコーパスのようにモデルから学ぶのです。ことになるでしょう列車の巨大なコーパスなしの高い計算機です。
短期の例では、pythonにおけ
class SentenceIterator(object):
def __iter__(file_name):
for line in open(file_name)
yield line
sentences = SentenceIterator("path/to/file")
for line in sentences:
model.train(line)
このように、メモリが読み込まれひとつだけの文章のみで行なったときのメモリの負荷を次につなげていきたいです。の語彙を行うことができる全体の繰り返し処理を経由すべての書類には語集をしてからのデータによっては組み込み機能を実装します。