
發布
注冊
/
登錄大模型訓練的案例
Bert模型微調---產生自己的訓練數據模型
1 引言
盡管已經發展出許多預訓練模型,但正如過去試驗看到的一樣,這些預訓練模型還不能真正滿足我們巖土工程專業的需要,為了真正達到我們的目的,必須在預訓練模型的基礎上微調出我們自己的模型GeotechSet,之所以長時間沒有這樣做,其中一個主要原因是考慮到時間問題,以我目前的硬件配置,訓練出一個新的模型需要好幾個小時(下面例子的模型訓練用了大約50分鐘,訓練數據1.3M)。這個筆記簡要總結了微調模型的過程,檢驗了訓練出來的模型是否可用。
2 訓練模型
微調代碼保存在training_stsbenchmark.py中,訓練數據集保存在datasets文件夾內。
預訓練模型可以選擇任意的Transformers模型,例如Bert,RoBERTa,XLNet, XLM-R,DistilBERT等(bert-base-uncased, roberta-base, xlm-roberta-base,bert-base-cased)。
展開 訓練集和測試集的分布差距太大有好的處理方法嗎?
在這個過程中無論是訓練樣本還是測試樣本都得到了盡可能多的學習。
交叉驗證法的缺點就是,當數據集比較大時,訓練模型的開銷較大。
自助法
給定包含m個樣本的數據集D,我們對它進行采樣產生數據集D’:每次從D中挑選一個樣本,將其放入D’,然后再將該樣本放回初始數據集D中;這個過程重復執行m次后,我們就得到了包含m個樣本的數據集D’
即通過自助采樣,初始數據集D中約有36.8%的樣本未出現在采樣集D′里。于是 ,實際評估的模型與期望評估的模型都是使用m個樣本,而我們仍有數據總量約1/3的沒在訓練集出現過的樣本用于測試。
自助法在數據集較小、難以有效劃分訓練/測試集時比較有用。然而自助法產生的測試集改變了初始數據集的分布,這會引入誤差。
因此在數據集比較大時,采用留出法和交叉驗證法較好。
神經網絡在網絡結構確定的情況下,有兩部分影響模型最終的性能,一是普通參數(比如權重w和偏置b),另一個是超參數(例如學習率,網絡層數)。普通參數我們在訓練集上進行訓練,超參數我們一般人工指定(比較不同超參數的模型在驗證集上的性能)。那為什么我們不像普通參數一樣在訓練集上訓練超參數呢?(花書給出了解答)一是超參數一般難以優化(無法像普通參數一樣通過梯度下降的方式進行優化)。二是超參數很多時候不適合在訓練集上進行訓練,例如:如果在訓練集上訓練能控制模型容量的超參數,這些超參數總會被訓練成使得模型容量最大的參數(因為模型容量越大,訓練誤差越小),所以訓練集上訓練超參數的結果就是模型絕對過擬合。
正因為超參數無法在訓練集上進行訓練,因此我們單獨設立了一個驗證集,用于選擇(人工訓練)最優的超參數。因為驗證集是用于選擇超參數的,因此驗證集和訓練集是獨立不重疊的。
展開 語義相關的Doc2Vec模型訓練參數優化
,但模型訓練在很大程度上是一門藝術而不是科學,調參是模型訓練時必要步驟,會占用大量時間。
用于圖像分類的頂級預訓練模型
亞歷克斯網
概述:AlexNet 由 Alex Krizhevsky 開發,是最早普及 CNN 在圖像分類中的使用的深度學習模型之一。
主要特點:
具有 8 層的簡單架構。
ReLU 激活函數和 dropout 正則化。
應用:通用圖像分類和歷史基準。
10. 視覺變形金剛 (ViT)
概述:Vision Transformers 由 Google 開發,將最初為 NLP 設計的 Transformer 架構應用于圖像分類。
主要特點:
Transformer 編碼器架構。
使用大型數據集和計算資源進行良好擴展。
應用:一般圖像分類和大規模視覺任務。
用于圖像分類的預訓練模型的優勢
減少訓練時間:預訓練模型顯著縮短了訓練時間。由于它們已經在大型數據集上進行了訓練,因此只需要針對特定任務進行微調。這種效率使開發人員能夠更快地部署模型。
提高準確性:這些模型已經在大量數據上進行了訓練,使它們能夠很好地泛化。因此,與從頭開始訓練的模型相比,它們通常在各種任務上實現更高的準確性。這將產生更可靠的圖像分類結果。
資源效率:使用預先訓練的模型可以減少對大型數據集和計算能力的需求。與訓練新模型相比,微調預訓練模型所需的資源更少,因此資源有限的組織更容易使用它。
用于圖像分類的預訓練模型的挑戰
適應性:微調預訓練模型以適應特定任務可能很復雜。并非所有模型都能很好地適應所有任務,有時需要進行大量調整才能實現最佳性能。
過擬合:存在過度擬合的風險,尤其是在對小型數據集進行微調時。
展開 
不得已而為之---CPU下使用gpt2-large模型進行微調訓練
訓練設置與gpt2的訓練設置相同,仍然使用run_language_modeling.py,增大了下面參數的設置:
per_device_train_batch_size=8dataloader_num_workers=16block_size=256
訓練文本使用了401k的小數據集,運行參數如下:
Num examples = 403Num Epochs = 2Instantaneous batch size per device = 8Total train batch size (w. parallel, distributed & accumulation) = 8Gradient Accumulation steps = 1Total optimization steps = 102
CPU的占用率
內存的占用率
這個訓練共用了1小時26分鐘,生成的模型如下所示,大約3.1G。作為對比,同樣的數據在GPT2上訓練,產生的模型只有498M。有兩個原因導致了運行時間這么長,一個原因是使用了gpt2-large大模型,另一個原因是使用了CPU訓練,隨著訓練數據的增加,訓練時間還會更長。
4 使用新模型
當新的模型建立后,轉到GPU環境下(mwu-transformer)運行geotech-gpt2-finetune.py,這樣做可能稍微快點兒。使用“step-path failure in a rock slope”作為引導句,生成的文本摘要總結如下(省略)。
展開 閱讀理解回答問題(Question Answering)---一個更強的BERT預訓練模型
1 引言
在<Transformers之問題對答(Question Answering)>中, 使用了mrm8488/bert-multi-cased-finetuned-xquadv1數據集回答問題, 這個數據集是一個多語言預訓練模型: BERT(base-multilingual-cased) fine-tuned for multilingual Q&A. 并且使用了最簡單的管道pileline()調用方法. 就像我們已經看到的一樣, 這個模型得出的結果不理想, 因此本文探索了一個更高級的預訓練模型.
2 模型描述
本文的試驗模型采用了bert-large-uncased-whole-word-masking-finetuned-squad數據集作為問題回答模型。在默認狀態下, 這個模型保存在C:\Users\m\.cache\huggingface\transformers文件夾內. 該模型不區分字母的大小寫, 使用了屏蔽語言模擬masked language modeling (MLM) 目標對英語語言進行預訓練。可以在問題回答管道中使用它,或者使用它來輸出給定查詢和上下文的原始結果。BERT模型在BookCorpus上進行了預訓練,該數據集由11,038本未出版的書籍和英文維基百科組成(不包括列表、表格和標題)。
與其他BERT模型不同的是,這個模型使用了全詞屏蔽Whole Word Masking技術進行訓練。在這種情況下,一個詞所對應的所有標記(tokens)都會被一次性屏蔽掉, 而整體屏蔽率保持不變。訓練是相同的 -- 每個被屏蔽的WordPiece標記都是獨立預測的。在預訓練之后,這個模型在SQuAD數據集上用一個微調腳本進行了微調。
展開 用Python控制Comsol自動運行方法(三):構建并訓練深度神經網絡代理模型
為了提高效率,可以使用Python控制COMSOL,結合深度神經網絡(DNN)構建代理模型。
具體而言,Python腳本可以自動化COMSOL的仿真流程,生成訓練數據集。這些數據包括輸入參數(如幾何尺寸、材料屬性)和輸出結果(如場分布、響應值)。隨后,DNN模型通過這些數據進行訓練,學習輸入與輸出之間的復雜非線性關系。訓練好的代理模型能夠在毫秒級時間內預測結果,顯著提升計算效率。
這種方法的優勢在于:
自動化:Python腳本簡化了數據生成和模型訓練流程;
高效性:DNN代理模型減少了對COMSOL仿真的依賴;
可擴展性:適用于多種科學計算場景。
具體案例
接下來給大家展示一下如何用python控制一個1D鋰電池Comsol模型生成不同設計參數下電池性能的數據集,然后基于生成的數據集構建并訓練DNN代理模型。整個過程都是自動化運行,相比于直接使用Comsol本身自帶的DNN模型來說要更加高效。
操作步驟如下:
1.用Comsol創建一個1D鋰電池模型
2.在pyhon中連接并加載上述模型
3.定義四個特征參數的空間范圍,并在該范圍內利用LHS生成300個組設計參數
四個特征參數分別是C_rate(放電倍率)、L_pos(正極涂層厚度)、epss_neg(負極活性物質體積分數)和epss_pos(正極活性物質體積分數)。這四個參數都是對電池性能影響比較大的參數。
4. 自動計算上述300組設計參數下的放電性能(體積能量密度E_vol和相應的平均功率密度P_vol_ave)
可以看到第二組設計參數不合理,出現了不收斂的情況。300組設計參數計算所需的總時間為1934.21 s, 并將計算結果自動保存到csv文件。
展開 成功案例丨開發時間從1小時縮短到3分鐘:如何利用歷史數據訓練AI模型,預測設計性能?
</p><p><br></p><p><br></p><p><strong>Altair解決方案</strong></p><p>Hero 選擇了Altair<sup>?</sup> PhysicsAI?,這是一項強大的幾何深度學習技術,能夠利用歷史數據訓練AI模型,并在傳統FEA方法所需時間的一小部分內生成物理預測結果。PhysicsAI的工作流程已無縫集成到仿真與設計平臺 Altair<sup>?</sup> HyperWorks<sup>?</sup>中,這使得Hero的所有用戶,無論技能水平如何,都能輕松將這一解決方案融入現有流程。</p><p><br></p><p>為了充分利用PhysicsAI,Hero首先將現有數據分為訓練集和測試集:訓練集用于基于歷史仿真數據訓練機器學習模型,測試集則用于評估和量化AI模型的預測準確性。由于Hero的產品線涵蓋多種車型(如運動型摩托車、探險摩托車、通勤摩托車和巡航車等),團隊使用了多樣化的把手數據集,以確保AI模型能夠生成準確的結果。</p><p><br></p><p>數據分割和模型訓練是AI驅動工程流程中的關鍵步驟。Hero采用了典型的80/20數據分割方式,即80%的數據用于模型訓練,20%的數據用于預測評估。項目團隊從24個數據集中選擇了30種把手變體進行訓練。訓練完成后,他們使用剩余的6個把手數據集對AI模型進行了測試,并通過將傳統FEA結果與AI生成的預測結果進行對比來評估準確性。對比顯示,兩者的偏差僅為3%,這證明了PhysicsAI能夠在極短時間內提供與傳統FEA相媲美的精確預測。
展開 深度學習與大模型Transformer
ChatGPT是一種基于深度學習的人工智能模型,其核心技術是神經網絡。ChatGPT使用多層神經網絡來學習和預測自然語言序列的概率分布,以實現對話生成和自然語言處理等任務。深度學習是一種多層神經網絡的機器學習方法,可以通過大量數據的訓練來學習復雜的特征和模式,并實現高效的分類和預測。
為積極響應科研及工程人員的需求,根據《國務院關于推行終身職業技能培訓制度的意見》提出的“緊跟新技術、新職業發展變化,建立職業分類動態調整機制,加快職業標準開發工作”要求,中國管理科學研究院現代教育研究所(http://www.zgyxdjy.com)聯合北京龍騰亞太教育咨詢有限公司特舉辦“深度學習核心技術實踐與圖神經網絡新技術應用研修班”。本次培訓采用全實戰培訓模式。
本次培訓由北京龍騰亞太教育咨詢有限公司承辦并進行相關費用收取及發票開具。具體通知如下:
一、培訓專家:
來自中國科學院自動化技術研究所、北京理工大學等科研機構和大學的高級專家,擁有豐富的科研及工程技術經驗,長期從事人工智能、機器學習、深度學習、大數據分析等領域的教學與研究工作。
二、時間地點:
2023年7月27日 — 2023年7月31日 上海(同時轉線上直播)
(27日報到發放上課材料,28日-31日上課)
三、培訓特色:
1、采用深入淺出的方法,結合實例并配以大量代碼練習,重點講解深度學習框架模型、科學算法、訓練過程技巧。
2、能夠把握深度學習的技術發展趨勢,可以熟練掌握深度學習核心技術、實踐技巧,同時針對工作中存在的疑難問題進行分析講解和專題討論,有效的提升學員解決復雜問題的能力;
3、掌握深度學習大模型Transformer訓練網絡搭建與配置、掌握數據價值的深度挖掘。
展開 CEL與Lagrange模型在大變形分析時的適用性CEL與Lagrange模型在大變形分析時的適用性
對同一個模型來講,通常,拉格朗日建模方式計算更加準確,計算效率更高,因為所有的幾何體都采用拉格朗日單元類型,而CEL建模方式的計算更加耗時,且產生的文件更大,一個直接的原因是流體或大變形幾何體是歐拉體模型,采用歐拉單元建模,而歐拉單元的數量要明顯多于相應的拉格朗日模型的單元數量。
但是,如果模型要經歷極大變形,那么這兩種建模方式的優劣就要好好評價一下了。在大變形分析中,拉格朗日模型容易發生網格畸變,網格畸變區的計算結果準確性將會大打折扣,產生不可信的結果甚至計算中斷得不到結果;而CEL模型在犧牲一定的幾何模型精度和結果準確性的前提下,計算會非常穩定,網格不會發生畸變,相較于拉格朗日的網格畸變區反而會得到更加合理的計算結果。所以,在選擇建模分析方式時,尤其是大變形分析,兩種方法孰優孰劣,需要結合一定的經驗和以往案例,選擇折中處理或者兩種都用以綜合衡量。
本篇案例是一個鉚接案例,如下面的示意圖所示。 ? 具體的模型長下面這樣:左邊是中央截面圖,右面是實物圖,上下兩部分是沖模,張揚帶孔圓盤是固定模板,上下兩部分沖模同時施力以使鉚釘達到最終的變形。 ? 這個過程很明顯是一個極限大變形過程,我們可能關心這個過程中的三個問題:
1、 鉚釘在成型過程中的變形是否適當?
2、 成型后,鉚釘是否有足夠的力量保持材料的連接?
3、 成型過程工具的壓力是否足夠?
那么這三個關心的問題我們可以考察分析鉚釘的變形位移、成型后的等效塑性變形和成型過程中的沖模受力等變量,去評估我們關心的問題從而做出一些結論或改進。 本案例不再進行step by step的演示,各位小伙伴可以自行練習。下面來具體看一下分析模型和相關結果。 ?
左邊是拉格朗日建模,右邊是CEL建模。兩種建模方式中,接觸全部采用無摩擦通用接觸。
展開 《大分子》可調諧和大規模模型網絡 StarPEG-DNA 水凝膠
【總結】
團隊報告了對基于帶有雙鏈接頭的
starPEG-DNA 構建塊的準理想模型網絡水凝膠的表征的首次詳細研究。
材料設計建立在
團隊
最近開發的 OP-LPOS 合成策略的基礎上,該策略為大規模聚合物/DNA 混合材料開辟了道路。可以通過改變接頭長度和改變鹽度和構建塊的濃度來訪問廣泛的屬性空間。凝膠 G' 值可在 20 Pa 至 3.1 kPa 范圍內調節,因此在細胞機械感應發生的范圍內。(60-62) 松弛時間尺度也特別可通過鹽度調節。在二價陽離子 (Mg
2+
) 存在下組裝的所有水凝膠在 10 °C 的測量頻率范圍 (f = 0.001–100 Hz) 中沒有顯示弛豫時間,但在其他條件下沿寬譜發生相應變化。水凝膠的形成是堅固的,這種 starPEG-DNA 水凝膠的機械性能可以承受反復的加熱和冷卻循環,并且在水凝膠組裝幾個月后,諸如 Tco 和 τ 等性能仍能保持。
水凝膠組裝所需的構建塊、通過
OP-LPOS 的 starPEG-T20 和通過自動固相合成的 DNA 接頭的合成的簡便性和可擴展性,應該促進這種水凝膠作為生物材料在各種應用中的應用。因此,
該
工作奠定了基礎,但包括使用適體、酶促反應片段或靶向(例如,使用更復雜的 DNA 接頭的應變硬化水凝膠)的更高水平反應的充分可能性似乎是可行的。
展開 
Solidwork模型太大,高性能圖形工作站也卡頓,怎么簡化,讓模型移動轉向縮放流暢
當使用SolidWorks軟件處理大型模型時,可能會遇到性能問題,導致操作卡頓。以下是一些方法,可以幫助您簡化大型模型,以便在SolidWorks中進行流暢的移動、轉向和縮放操作:
1 減少細節級別: 嘗試降低模型的細節級別,減少多邊形和曲面數量。您可以選擇減少曲面細分或刪除不必要的小特征。
2 使用外部參考: 將大型組件拆分為較小的部分,并使用外部引用(External References)來引用這些部分。這有助于分解模型,減少單個文件的復雜性。
3 減少圖形效果: 在SolidWorks選項中,降低圖形效果的設置,如陰影、反射和透明度,以減少計算負載。
4 使用大型裝配模式: SolidWorks提供了大型裝配模式(Large Assembly Mode),可以優化性能,只加載需要的組件。
5 消除不必要的特征: 檢查模型中是否有不必要的特征,如細微的倒角、孔等,可以將其刪除或合并。
6 使用配置: 對于多配置模型,只加載您當前需要的配置,而不是全部。
7 使用輕量級模型: SolidWorks允許創建輕量級表示(Lightweight Representations),這些表示只加載部分模型數據,以提高性能。
8 使用大型裝配優化工具: SolidWorks提供了大型裝配優化工具,可幫助您識別性能瓶頸并優化裝配。
9 使用速度包(SpeedPak): SpeedPak是SolidWorks的功能,可以在裝配中創建輕量級表示,以便更快地加載模型。
10 保存時精簡: 當保存模型時,選擇保存時精簡選項,可以減少模型文件的大小。
不同的模型和硬件配置可能需要不同的優化策略。您可以根據具體情況嘗試上述方法,以獲得更好的SolidWorks性能和流暢的操作體驗。
展開 ChatGPT服務器,深度拆解(2023)
從ChatGPT實際應用情況來看,從訓練+推理的框架出發,我們可以將ChatGPT的算力需求按場景進一步拆分為預訓練、Finetune及日常運營三個部分:
1)預訓練:主要通過大量無標注的純文本數據,訓練模型基礎語言能力,得到類似GPT-1/2/3這樣的基礎大模型;
2)Finetune:在完成預訓練的大模型基礎上,進行監督學習、強化學習、遷移學習等二次或多次訓練,實現對模型參數量的優化調整;
3)日常運營:基于用戶輸入信息,加載模型參數進行推理計算,并實現最終結果的反饋輸出。
預訓練階段:單次算力需求取決于模型參數量,最高可達3640 PFlop/s-day
ChatGPT基于Transformer架構,進行語言模型預訓練。GPT模型之所以能夠高效地完成大規模參數計算,我們認為離不開Transformer架構的加持。拆解Transformer架構來看,核心是由編碼模塊和解碼模塊構成,而GPT模型只用到了解碼模塊。拆解模塊來看,大致分為三層:前饋神經網絡層、編碼/解碼自注意力機制層(Self-Attention)、自注意力機制掩碼層,其中:
1)注意力機制層主要作用在于計算某個單詞對于全部單詞的權重(即Attention),從而能夠更好地去學習所有輸入之間的關系,實現對文本內在關系的理解和更大規模的并行計算;
2)前饋神經網絡提供了對數據信息的高效存儲及檢索;3)掩碼層在這一過程中幫助模型屏蔽位于計算位置右側尚未出現的單詞。因此,相較于前代深度學習架構RNN,Transformer架構可以實現更大規模的并行計算,大大提升了計算效率。
單一大模型路線下,需要完成大規模參數計算。
展開 Ansys Workbench利用超單元子結構技術,提升大模型計算效率 ¥10
問題:
對于復雜模型進行仿真計算時,網格規模巨大、計算難度驟增。Ansys針對這類工程問題提供模態綜合法(CMS)利用超單元,將非關鍵部件進行縮減計算。
本文根據查閱到的網絡資料,對超單元縮減計算如何在Ansys Workbench 中實現,進行了介紹。
示例:
工業設計產品需要模擬工作環境進行振動試驗,產品本身結構已經很復雜,再加上工裝往往是一個更大的結構。因此這類仿真計算非常適合適用子結構技術,將工裝等大模型進行超單元縮減計算,可以顯著提升計算效率。
如下圖所示,產品+工裝進行振動模擬仿真,仿真產品結構模態和端點的振動響應加速度曲線。
結果展示:
使用超單元縮減計算,可以有效完成復雜模型的計算需求。且計算結果基本一致。
詳細步驟:
模型說明:
? 產品由PartA和PartB兩個部分構成,其中PartA兩端夾持部位做了共面處理(驗證連接關系,可以忽略);
? 各個零件的連接面有一定間隙,使用Bonded MPC Radius 3mm 連接;
? 約束工裝底面 fix;
一:產品+工裝完整模型計算
產品+工裝一起進行模態和5-2000Hz的諧響應仿真,提取前6階模態和軸端點的加速度響應,作為驗證結果與子結構方法進行對比。
1、模態計算
模態計算結果如下所示。
2、模態疊加法,諧響應掃頻計算
諧響應掃頻提取端點加速度響應以及688Hz、1620Hz處的應力云圖如下所示。
二:子結構,超單元縮減工裝進行簡化計算
1、 工裝模型進行超單元縮減
? 首先,由工裝+產品的模態計算模塊,復制一個新的模態計算模塊;
? 在新模態計算模塊中只保留需要縮減為超單元的工裝模型,其余模型均做supress抑制。
展開 大模型技術在自動駕駛中的應用
一、人工智能與大模型技術
人工智能(Artificial Intelligence,簡稱AI)是一種計算機科學技術,旨在使計算機能夠模仿、學習和執行人類智能任務。它涉及到多個不同的子領域,包括機器學習、自然語言處理、計算機視覺和強化學習等。通過使用大數據、算法、神經網絡等技術,人工智能可以通過分析和理解數據來建立模型,并對新數據進行決策和預測,從而實現某些特定的任務。與傳統計算機程序不同的是,人工智能可以根據以前的經驗和學習來改進自己的性能,在某些情況下能夠比人類更準確和高效地完成任務。人工智能被廣泛應用于各種領域,例如醫療保健、金融、交通運輸、制造業、社交媒體、游戲和安全等。
大模型通常指的是由數億至數千億個參數組成的深度學習模型。這些模型需要巨大的計算資源和存儲空間,因此非常昂貴且能夠運行的硬件配置也要足夠強大。大型模型代表了人工智能領域最先進的技術,廣泛應用于自然語言處理、圖像識別、語音識別和推薦系統等領域。擁有更多的參數可以提高模型的準確性和精度,但同時也會導致更復雜的訓練過程、更長的訓練時間和更高的硬件成本。GPT-3就是一種例子,它具有1750億個參數,在人工智能技術中占據著重要的地位。
二、神經網絡算法與大模型
神經網絡(Neural Network)是一種復雜的數學模型,建立在類比生物大腦神經元之間傳遞信息的基礎上。
展開