第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

玄牟字2vc的訓(xùn)練時間

玄牟字2vc的訓(xùn)練時間

慕勒3428872 2022-09-13 17:44:01
我正在34 GB預(yù)處理MS_MARCO語料庫(22 GB)上從頭開始訓(xùn)練word2vec。(預(yù)處理語料庫被發(fā)送標(biāo)記化,因此其大小更大)我正在使用以下代碼訓(xùn)練我的word2vec模型:from gensim.test.utils import common_texts, get_tmpfilefrom gensim.models import Word2Vecclass Corpus():    """Iterate over sentences from the corpus."""    def __init__(self):        self.files = [            "sp_cor1.txt",            "sp_cor2.txt",            "sp_cor3.txt",            "sp_cor4.txt",            "sp_cor5.txt",            "sp_cor6.txt",            "sp_cor7.txt",            "sp_cor8.txt"        ]    def __iter__(self):        for fname in self.files:            for line in open(fname):                words = line.split()                yield wordssentences = Corpus()model = Word2Vec(sentences, size=300, window=5, min_count=1, workers=8, sg=1, hs=1, negative=10)model.save("word2vec.model")我的模型現(xiàn)在運行了大約30多個小時。這是值得懷疑的,因為在我的i5筆記本電腦上有8個內(nèi)核,我每時每刻都在100%使用所有8個內(nèi)核。另外,我的程序現(xiàn)在似乎已經(jīng)從磁盤中讀取了超過100 GB的數(shù)據(jù)。我不知道這里是否有任何問題,但是我對培訓(xùn)產(chǎn)生懷疑的主要原因是因為從磁盤讀取100 GB。整個語料庫是34 GB,那么為什么我的代碼從磁盤中讀取了100 GB的數(shù)據(jù)?有誰知道在34 GB的文本上訓(xùn)練word2vec需要多少時間,8個內(nèi)核的i5 CPU并行運行?謝謝。有關(guān)更多信息,我還從系統(tǒng)監(jiān)視器附加了我的進(jìn)程照片。我想知道為什么我的模型從內(nèi)存中讀取了 112 GB,即使我的語料庫總共為 34 GB?我的訓(xùn)練會完成嗎?此外,我有點擔(dān)心我的筆記本電腦的健康狀況,因為它自過去30小時以來一直以峰值容量運行。現(xiàn)在真的很熱。我是否應(yīng)該添加任何附加參數(shù),以便更快地進(jìn)行訓(xùn)練而不會造成太大的性能損失?Word2Vec
查看完整描述

1 回答

?
哆啦的時光機

TA貢獻(xiàn)1779條經(jīng)驗 獲得超6個贊

完成模型需要對所有數(shù)據(jù)進(jìn)行一次傳遞以發(fā)現(xiàn)詞匯,然后多次傳遞(默認(rèn)值為 5)以執(zhí)行向量訓(xùn)練。因此,您應(yīng)該期望在磁盤讀取中看到大約6倍的數(shù)據(jù)大小,僅從模型訓(xùn)練中即可。

(如果您的機器在此過程中最終需要使用虛擬內(nèi)存交換,則可能會有更多的磁盤活動 - 但您絕對不希望發(fā)生這種情況,因為word2vec訓(xùn)練的隨機訪問模式幾乎是虛擬內(nèi)存使用的最壞情況,這將大大減慢訓(xùn)練速度。

如果您想了解代碼的進(jìn)度,并能夠估計其完成時間,則應(yīng)至少將Python日志記錄啟用到該級別。該過程的各個步驟將報告中期結(jié)果(例如發(fā)現(xiàn)和幸存的詞匯量)和估計的進(jìn)度。您通??梢酝ㄟ^研究合理值的日志記錄輸出來判斷運行結(jié)束之前是否出現(xiàn)問題,并且一旦“訓(xùn)練”階段開始,完成時間將是到目前為止完成的訓(xùn)練的簡單預(yù)測。INFO

我相信大多數(shù)筆記本電腦應(yīng)該限制自己的CPU,如果它變得如此之熱以至于變得不安全或冒著CPU /組件極度磨損的風(fēng)險,但是你的筆記本電腦是否這樣做,我不能說,并且絕對確保其風(fēng)扇工作&通風(fēng)口暢通無阻。

我建議你選擇一些小的隨機數(shù)據(jù)子集 - 也許是1GB?– 在嘗試在完整數(shù)據(jù)集上運行之前,能夠運行所有步驟以完成,熟悉日志記錄輸出,資源使用情況和結(jié)果,并修補設(shè)置以觀察更改,這可能需要數(shù)天的訓(xùn)練時間。Word2Vec

顯示的某些參數(shù)對于快速訓(xùn)練不是最佳的。特別:

  • min_count=1保留語料庫調(diào)查中看到的每個單詞,包括僅出現(xiàn)一次的單詞。這會導(dǎo)致一個非常大得多的模型 - 可能會冒著模型不適合RAM的風(fēng)險,迫使災(zāi)難性的交換。但是,只有幾個用法示例的單詞不可能獲得好的單詞向量,因為該過程需要看到許多微妙不同的替代用法。盡管如此,通過典型的“Zipfian”詞頻,只有少數(shù)用法的此類單詞的數(shù)量可能總共非常大,因此保留所有這些單詞需要大量的訓(xùn)練時間/精力,甚至有點像“噪音”,使得其他單詞的訓(xùn)練,大量的使用示例,效果較差。因此,對于模型大小、訓(xùn)練速度和剩余向量的質(zhì)量,需要更大的向量。默認(rèn)值對于更多的項目來說更好 - 這是一個參數(shù),只有在您確定知道效果時才應(yīng)該真正更改。而且,當(dāng)您擁有大量數(shù)據(jù)時 - 就像您的34GB一樣 - 可以做得更高,以保持模型大小易于管理。min_countmin_count=5min_count=1min_count

  • hs=1僅當(dāng)您要使用“分層-softmax”訓(xùn)練模式而不是“負(fù)采樣”時,才應(yīng)啟用該模式 - 在這種情況下,還應(yīng)將其設(shè)置為禁用“負(fù)采樣”。您可能不想使用分層軟最大:它不是默認(rèn)值是有原因的,并且它不能擴展到更大的數(shù)據(jù)集。但是,除了負(fù)采樣之外,您在這里還啟用了,可能將所需的訓(xùn)練時間增加了一倍以上。negative=0

  • 您選擇是因為您在默認(rèn)方面遇到問題嗎?因為這種非默認(rèn)選擇會明顯減慢訓(xùn)練速度。(但是,同樣,這里的非默認(rèn)選擇對于較小的數(shù)據(jù)集更為常見,而像您這樣的較大數(shù)據(jù)集更有可能嘗試較小的值。negative=10negative=5negative

上述觀察的主題是:“只有當(dāng)你已經(jīng)有一些工作,并且你有一個很好的理論(或測試方法)時,才改變默認(rèn)值,這種改變可能會有所幫助”。

對于足夠大的數(shù)據(jù)集,還有另一個默認(rèn)參數(shù)可以考慮更改以加快訓(xùn)練速度(通常也提高單詞向量質(zhì)量):,該參數(shù)控制如何積極地使用高度頻繁的單詞(具有許多冗余的用法示例)可能會被縮減采樣(隨機跳過)。sample

默認(rèn)值(又名 )非常保守。較小的值(如 )將丟棄更多最常用單詞的冗余用法示例,從而大大加快整體訓(xùn)練速度。(而且,對于您大小的語料庫,您最終可以嘗試更小,更具侵略性的值。sample=0.0011e-03sample=1e-05

最后,如果所有數(shù)據(jù)(對于完整運行或子集運行)都可以位于已以空格分隔的文本文件中,則可以使用指定語料庫的替代方法。然后,該類將使用優(yōu)化的多線程 IO 方法將文件的各個部分分配給備用工作線程 - 如果您以前沒有看到所有線程/CPU 內(nèi)核的完全飽和,則可以增加我們的吞吐量。(我會把它推遲到嘗試其他事情之后,然后檢查你最好的設(shè)置是否仍然讓你的8個線程中的一些經(jīng)常閑置。corpus_fileWord2Vec


查看完整回答
反對 回復(fù) 2022-09-13
  • 1 回答
  • 0 關(guān)注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號