97色伦色在线综合视频,无玛专区,18videosex性欧美黑色,日韩黄色电影免费在线观看,国产精品伦理一区二区三区,在线视频欧美日韩,亚洲欧美在线中文字幕不卡

宿遷環(huán)保局網(wǎng)站建設(shè)局黃岡網(wǎng)站建設(shè)報價

鶴壁市浩天電氣有限公司 2026/01/24 06:42:19
宿遷環(huán)保局網(wǎng)站建設(shè)局,黃岡網(wǎng)站建設(shè)報價,寧波市住房和城鄉(xiāng)建設(shè)培訓中心網(wǎng)站,網(wǎng)站備案完成后不解析本文轉(zhuǎn)發(fā)自#xff1a;柏企閱文#xff0c;內(nèi)容涵蓋了語言建模、預訓練面臨的挑戰(zhàn)、量化技術(shù)、分布式訓練方法#xff0c;以及大語言模型的微調(diào)。此外#xff0c;還討論了參數(shù)高效微調(diào)#xff08;PEFT#xff09;技術(shù)#xff0c;包括適配器、LoRA和QLoRA#xff1b;介紹…本文轉(zhuǎn)發(fā)自柏企閱文內(nèi)容涵蓋了語言建模、預訓練面臨的挑戰(zhàn)、量化技術(shù)、分布式訓練方法以及大語言模型的微調(diào)。此外還討論了參數(shù)高效微調(diào)PEFT技術(shù)包括適配器、LoRA和QLoRA介紹了提示策略、模型壓縮方法如剪枝和量化以及各種量化技術(shù)GPTQ、NF4、GGML。1. 什么是大語言模型大語言模型LLM是非常龐大的深度學習模型它們在大量數(shù)據(jù)上進行預訓練。其底層的Transformer是一組神經(jīng)網(wǎng)絡(luò)由具有自注意力能力的編碼器和解碼器組成。編碼器和解碼器從文本序列中提取含義并理解其中單詞和短語之間的關(guān)系。Transformer神經(jīng)網(wǎng)絡(luò)架構(gòu)允許使用非常大的模型這些模型通常包含數(shù)千億個參數(shù)。如此大規(guī)模的模型可以攝取大量數(shù)據(jù)這些數(shù)據(jù)通常來自互聯(lián)網(wǎng)也可以來自如包含超過500億個網(wǎng)頁的Common Crawl以及約有5700萬頁面的維基百科等來源。2. 語言建模LM語言和交流的過程可以簡化為計算嗎語言模型通過從一個或多個文本語料庫中學習來生成概率。文本語料庫是一種語言資源由一種或多種語言的大量結(jié)構(gòu)化文本組成。文本語料庫可以包含一種或多種語言的文本并且通常帶有注釋。語言模型可以根據(jù)其在訓練過程中學習到的統(tǒng)計模式預測最可能跟隨某個短語的單詞或多個單詞。在圖中語言模型可能會估計“天空的顏色是”這個短語后面跟著“藍色”一詞的概率為91%。構(gòu)建語言模型的最早方法之一是基于n - gram。n - gram是從給定文本樣本中連續(xù)的n個項目組成的序列。在這里模型假設(shè)序列中下一個單詞的概率僅取決于前面固定數(shù)量的單詞其中 表示單詞 是窗口大小。然而n - gram語言模型在很大程度上已被神經(jīng)語言模型所取代。神經(jīng)語言模型基于神經(jīng)網(wǎng)絡(luò)這是一種受生物神經(jīng)網(wǎng)絡(luò)啟發(fā)的計算系統(tǒng)。這些模型利用單詞的連續(xù)表示或嵌入來進行預測神經(jīng)網(wǎng)絡(luò)將單詞表示為權(quán)重的非線性組合。因此它可以避免語言建模中的維度災難問題。已經(jīng)有幾種神經(jīng)網(wǎng)絡(luò)架構(gòu)被提出用于語言建模。3. 基礎(chǔ)模型和大語言模型這與自然語言處理NLP應用程序早期的方法有很大不同早期是訓練專門的語言模型來執(zhí)行特定任務。相反研究人員在大語言模型中觀察到了許多涌現(xiàn)能力這些能力是模型從未接受過訓練的。例如大語言模型已被證明能夠執(zhí)行多步算術(shù)運算、解亂序單詞的字母以及識別口語中的冒犯性內(nèi)容。最近基于OpenAPI的GPT系列大語言模型構(gòu)建的流行聊天機器人ChatGPT通過了美國醫(yī)學執(zhí)照考試等專業(yè)考試?;A(chǔ)模型通常是指在廣泛數(shù)據(jù)上進行訓練的任何模型它可以適應各種下游任務。這些模型通常使用深度神經(jīng)網(wǎng)絡(luò)創(chuàng)建并使用自監(jiān)督學習在大量未標記數(shù)據(jù)上進行訓練。在訓練過程中從語料庫中提取文本序列并進行截斷。語言模型計算缺失單詞的概率然后通過基于梯度下降的優(yōu)化機制對這些概率進行微調(diào)并反饋給模型以匹配真實情況。這個過程在整個文本語料庫上重復進行。盡管如此大語言模型通常在與語言相關(guān)的數(shù)據(jù)如文本上進行訓練。而基礎(chǔ)模型通常在多模態(tài)數(shù)據(jù)文本、圖像、音頻等的混合上進行訓練。更重要的是基礎(chǔ)模型旨在作為更特定任務的基礎(chǔ)或基石基礎(chǔ)模型通常通過進一步訓練進行微調(diào)以完成各種下游認知任務。微調(diào)是指采用預訓練的語言模型并使用特定數(shù)據(jù)針對不同但相關(guān)的任務進行訓練的過程。這個過程也被稱為遷移學習。4. 大語言模型的架構(gòu)早期的大語言模型大多是使用帶有長短期記憶網(wǎng)絡(luò)LSTM和門控循環(huán)單元GRU的循環(huán)神經(jīng)網(wǎng)絡(luò)RNN模型創(chuàng)建的。然而它們面臨挑戰(zhàn)主要是在大規(guī)模執(zhí)行NLP任務方面。但這正是大語言模型預期要發(fā)揮作用的領(lǐng)域。這就促使了Transformer的誕生一開始大語言模型主要是使用自監(jiān)督學習算法創(chuàng)建的。自監(jiān)督學習是指處理未標記數(shù)據(jù)以獲得有用的表示這些表示可以幫助下游的學習任務。通常自監(jiān)督學習算法使用基于人工神經(jīng)網(wǎng)絡(luò)ANN的模型。我們可以使用幾種架構(gòu)來創(chuàng)建人工神經(jīng)網(wǎng)絡(luò)但大語言模型中使用最廣泛的架構(gòu)是循環(huán)神經(jīng)網(wǎng)絡(luò)RNN。RNN可以利用其內(nèi)部狀態(tài)來處理可變長度的輸入序列。RNN具有長期記憶和短期記憶。RNN有一些變體如長短期記憶網(wǎng)絡(luò)LSTM和門控循環(huán)單元GRU。使用LSTM單元的RNN訓練速度非常慢。此外對于這樣的架構(gòu)我們需要按順序或串行地輸入數(shù)據(jù)。這就無法進行并行化處理也無法利用可用的處理器核心。或者使用GRU的RNN模型訓練速度更快但在更大的數(shù)據(jù)集上表現(xiàn)較差。盡管如此在很長一段時間里LSTM和GRU仍然是構(gòu)建復雜NLP系統(tǒng)的首選。然而這樣的模型也存在梯度消失問題當反向傳播多層時梯度可能會變得非常小導致訓練困難。RNN的一些問題通過在其架構(gòu)中添加注意力機制得到了部分解決。在像LSTM這樣的循環(huán)架構(gòu)中可以傳播的信息量是有限的并且保留信息的窗口較短。然而有了注意力機制這個信息窗口可以顯著增加。注意力是一種增強輸入數(shù)據(jù)某些部分同時削弱其他部分的技術(shù)。其背后的動機是網(wǎng)絡(luò)應該更多地關(guān)注數(shù)據(jù)的重要部分其中 是注意力權(quán)重表示對每個輸入部分的關(guān)注程度。注意力和自注意力之間有一個微妙的區(qū)別但它們的動機是相同的。注意力機制是指關(guān)注另一個序列不同部分的能力而自注意力是指關(guān)注當前序列不同部分的能力。自注意力允許模型訪問來自任何輸入序列元素的信息。在NLP應用中這提供了關(guān)于遠距離標記的相關(guān)信息。因此模型可以捕獲整個序列中的依賴關(guān)系而無需固定或滑動窗口。帶有注意力機制的RNN模型在性能上有了顯著提升。然而循環(huán)模型本質(zhì)上很難擴展。但是自注意力機制很快被證明非常強大以至于它甚至不需要循環(huán)順序處理。2017年谷歌大腦團隊推出的Transformer可能是大語言模型歷史上最重要的轉(zhuǎn)折點之一。Transformer是一種深度學習模型它采用自注意力機制并一次性處理整個輸入與早期基于RNN的模型相比Transformer有一個重大變化即它沒有循環(huán)結(jié)構(gòu)。在有足夠訓練數(shù)據(jù)的情況下Transformer架構(gòu)中的注意力機制本身就可以與帶有注意力機制的RNN模型相媲美。使用Transformer模型的另一個顯著優(yōu)勢是它們具有更高的并行化程度并且需要的訓練時間大大減少。這正是我們利用可用資源在大量基于文本的數(shù)據(jù)上構(gòu)建大語言模型所需要的優(yōu)勢。許多基于人工神經(jīng)網(wǎng)絡(luò)的自然語言處理模型都是使用編碼器 - 解碼器架構(gòu)構(gòu)建的。例如seq2seq是谷歌最初開發(fā)的一系列算法。它通過使用帶有LSTM或GRU的RNN將一個序列轉(zhuǎn)換為另一個序列。最初的Transformer模型也使用了編碼器 - 解碼器架構(gòu)。編碼器由編碼層組成這些層逐層迭代處理輸入。解碼器由解碼層組成對編碼器的輸出進行同樣的處理每個編碼器層的功能是生成編碼其中包含關(guān)于輸入中哪些部分相互相關(guān)的信息。輸出編碼隨后作為輸入傳遞給下一個編碼器。每個編碼器由一個自注意力機制和一個前饋神經(jīng)網(wǎng)絡(luò)組成。此外每個解碼器層獲取所有編碼并利用其中包含的上下文信息生成輸出序列。與編碼器一樣每個解碼器由一個自注意力機制、一個對編碼的注意力機制和一個前饋神經(jīng)網(wǎng)絡(luò)組成。5. 預訓練在這個階段模型以自監(jiān)督的方式在大量非結(jié)構(gòu)化文本數(shù)據(jù)集上進行預訓練。預訓練的主要挑戰(zhàn)是計算成本。存儲10億參數(shù)模型所需的GPU內(nèi)存1個參數(shù) - 4字節(jié)32位浮點數(shù)10億參數(shù) - 4×10^9 字節(jié) 4GB存儲10億參數(shù)模型所需的GPU內(nèi)存 4GB32位全精度讓我們計算訓練10億參數(shù)模型所需的內(nèi)存模型參數(shù)梯度ADAM優(yōu)化器2個狀態(tài)激活值和臨時內(nèi)存大小可變- 4字節(jié)參數(shù) 每個參數(shù)額外20字節(jié)所以訓練所需的內(nèi)存大約是存儲模型所需內(nèi)存的20倍。存儲10億參數(shù)模型所需內(nèi)存 4GB32位全精度訓練10億參數(shù)模型所需內(nèi)存 80GB32位全精度6. 數(shù)據(jù)并行訓練技術(shù)6.1 分布式數(shù)據(jù)并行DDP分布式數(shù)據(jù)并行DDP要求模型權(quán)重以及訓練所需的所有其他額外參數(shù)、梯度和優(yōu)化器狀態(tài)都能在單個GPU中容納。如果模型太大則應使用模型分片。6.2 全分片數(shù)據(jù)并行FSDP全分片數(shù)據(jù)并行FSDP通過在多個GPU之間分布分片模型參數(shù)、梯度和優(yōu)化器狀態(tài)來減少內(nèi)存使用。微調(diào)微調(diào)有助于我們通過調(diào)整預訓練的大語言模型LLM的權(quán)重使其更好地適應特定任務或領(lǐng)域從而充分發(fā)揮這些模型的潛力。這意味著與單純的提示工程相比你可以用更低的成本和延遲獲得更高質(zhì)量的結(jié)果。與提示相比微調(diào)通常在引導大語言模型的行為方面要有效得多。通過在一組示例上訓練模型你可以縮短精心設(shè)計的提示節(jié)省寶貴的輸入令牌同時不犧牲質(zhì)量。你通常還可以使用小得多的模型這反過來又可以減少延遲和推理成本。例如經(jīng)過微調(diào)的Llama 7B模型在每個令牌的基礎(chǔ)上成本效益比現(xiàn)成的模型如GPT-3.5高得多大約50倍且性能相當。如前所述微調(diào)是針對其他任務對已經(jīng)訓練好的模型進行調(diào)整。其工作方式是獲取原始模型的權(quán)重并對其進行調(diào)整以適應新任務。模型在訓練時會學習完成特定任務例如GPT-3在大量數(shù)據(jù)集上進行了訓練因此它學會了生成故事、詩歌、歌曲、信件等。人們可以利用GPT-3的這種能力并針對特定任務如以特定方式生成客戶查詢的答案對其進行微調(diào)。有多種方法和技術(shù)可以對模型進行微調(diào)其中最流行的是遷移學習。遷移學習源自計算機視覺領(lǐng)域它是指凍結(jié)網(wǎng)絡(luò)初始層的權(quán)重只更新后面層的權(quán)重的過程。這是因為較底層更接近輸入的層負責學習訓練數(shù)據(jù)集的通用特征而較上層更接近輸出的層學習更具體的信息這些信息直接與生成正確的輸出相關(guān)。7.1 PEFTPEFT即參數(shù)高效微調(diào)Parameter Efficient Fine-Tuning是一組以最節(jié)省計算資源和時間的方式微調(diào)大型模型的技術(shù)或方法同時不會出現(xiàn)我們可能在全量微調(diào)中看到的性能損失。之所以采用這些技術(shù)是因為隨著模型越來越大例如擁有1760億參數(shù)的BLOOM模型在不花費數(shù)萬美元的情況下對其進行微調(diào)幾乎是不可能的。但有時為了獲得更好的性能使用這樣的大型模型又幾乎是必要的。這就是PEFT發(fā)揮作用的地方它可以幫助解決在處理這類大型模型時遇到的問題。以下是一些PEFT技術(shù)7.2 遷移學習遷移學習是指我們獲取模型的一些已學習參數(shù)并將其用于其他任務。這聽起來與微調(diào)相似但實際上有所不同。在微調(diào)中我們重新調(diào)整模型的所有參數(shù)或者凍結(jié)一些權(quán)重并調(diào)整其余參數(shù)。但在遷移學習中我們從一個模型中獲取一些已學習參數(shù)并將其用于其他網(wǎng)絡(luò)。這在我們的操作上給予了更大的靈活性。例如在微調(diào)時我們無法改變模型的架構(gòu)這在很多方面限制了我們。但在使用遷移學習時我們只使用訓練好的模型的一部分然后可以將其附加到任何具有不同架構(gòu)的其他模型上。遷移學習在使用大語言模型的NLP任務中經(jīng)常出現(xiàn)人們會使用像T5這樣的預訓練模型中Transformer網(wǎng)絡(luò)的編碼器部分并訓練后面的層。7.3 Adapters 適配器適配器是最早發(fā)布的參數(shù)高效微調(diào)技術(shù)之一。相關(guān)論文Parameter-Efficient Transfer Learning for NLP表明我們可以在現(xiàn)有的Transformer架構(gòu)上添加更多層并且只對這些層進行微調(diào)而不是對整個模型進行微調(diào)。他們發(fā)現(xiàn)與完全微調(diào)相比這種技術(shù)可以產(chǎn)生相似的性能。在左邊是添加了適配器層的修改后的Transformer架構(gòu)。我們可以看到適配器層添加在注意力堆棧和前饋堆棧之后。在右邊是適配器層本身的架構(gòu)。適配器層采用瓶頸架構(gòu)它將輸入縮小到較小維度的表示然后通過非線性激活函數(shù)再將其放大到輸入的維度。這確保了Transformer堆棧中的下一層能夠接收適配器層生成的輸出。論文作者表明這種微調(diào)方法在消耗更少計算資源和訓練時間的同時性能可與完全微調(diào)相媲美。他們在GLUE基準測試中僅增加3.6%的參數(shù)就能達到全量微調(diào)0.4%的效果。7.4 LoRA——低秩自適應LoRA是一種與適配器層類似的策略但它旨在進一步減少可訓練參數(shù)的數(shù)量。它采用了更嚴謹?shù)臄?shù)學方法。LoRA通過修改神經(jīng)網(wǎng)絡(luò)中可更新參數(shù)的訓練和更新方式來工作。從數(shù)學角度解釋我們知道預訓練神經(jīng)網(wǎng)絡(luò)的權(quán)重矩陣是滿秩的這意味著每個權(quán)重都是唯一的不能通過組合其他權(quán)重得到。但在這篇論文Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning中作者表明當預訓練語言模型針對新任務進行調(diào)整時權(quán)重具有較低的“內(nèi)在維度”。這意味著權(quán)重可以用更小的矩陣表示即它具有較低的秩。反過來這意味著在反向傳播過程中權(quán)重更新矩陣的秩較低因為大部分必要信息已經(jīng)在預訓練過程中被捕獲在微調(diào)過程中只進行特定任務的調(diào)整。更簡單的解釋是在微調(diào)過程中只有極少數(shù)權(quán)重會有較大的更新因為神經(jīng)網(wǎng)絡(luò)的大部分學習是在預訓練階段完成的。LoRA利用這一信息來減少可訓練參數(shù)的數(shù)量。以GPT-3 175B為例LoRA研究團隊證明即使全秩即d高達12288非常低的秩即圖1中的r可以是1或2也足夠了這使得LoRA在存儲和計算上都非常高效。圖2展示了矩陣 和 的維度為 而我們可以改變 r 的值。 r 值越小需要調(diào)整的參數(shù)就越少。雖然這會縮短訓練時間但r值過小時也可能導致信息丟失并降低模型性能。然而使用LoRA時即使秩較低性能也能與完全訓練的模型相當甚至更好。用HuggingFace實現(xiàn)LoRA微調(diào)要使用HuggingFace實現(xiàn)LoRA微調(diào)你需要使用PEFT庫將LoRA適配器注入模型并將它們用作更新矩陣。from transformers import AutoModelForCausalLMfrom peft import get_peft_config, get_peft_model, LoraConfig, TaskTypemodel AutoModelForCausalLM.from_pretrained(model_name_or_path, device_mapauto, trust_remote_codeTrue)peft_config LoraConfig( task_typeTaskType.CAUSAL_LM, inference_modeFalse, r32, lora_alpha16, lora_dropout0.1, target_modules[query_key_value])model get_peft_model(model, peft_config)model.print_trainable_parameters()完成這些后你就可以像平常一樣訓練模型了。但這一次它將比平常花費更少的時間和計算資源。LoRA的效率論文的作者表明LoRA僅用總可訓練參數(shù)的2%就能超越全量微調(diào)的效果。至于它訓練的參數(shù)數(shù)量我們可以通過秩r參數(shù)在很大程度上進行控制。例如假設(shè)權(quán)重更新矩陣有100,000個參數(shù)A為200B為500。權(quán)重更新矩陣可以分解為較低維度的較小矩陣A為200×3B為3×500。這樣我們就只有200×3 3×500 2100個可訓練參數(shù)僅占總參數(shù)數(shù)量的2.1%。如果我們決定只將LoRA應用于特定層這個數(shù)量還可以進一步減少。由于訓練和應用的參數(shù)數(shù)量比實際模型少得多文件大小可以小至8MB。這使得加載、應用和傳輸學習到的模型變得更加容易和快速。7.5 QLoRAQLoRA如何與LoRA不同它是一種4位Transformer。QLoRA是一種微調(diào)技術(shù)它將高精度計算技術(shù)與低精度存儲方法相結(jié)合。這有助于在保持模型高性能和準確性的同時使模型大小保持較小。QLoRA使用LoRA作為輔助手段來修復量化過程中引入的誤差。QLoRA的工作原理QLoRA通過引入3個新概念來幫助減少內(nèi)存使用同時保持相同的性能質(zhì)量。它們是4位Normal Float、雙重量化和分頁優(yōu)化器。4位Normal FloatNF44位NormalFloat是一種新的數(shù)據(jù)類型是保持16位性能水平的關(guān)鍵因素。它的主要特性是數(shù)據(jù)類型中的任何位組合例如0011或0101都會從輸入張量中分配到數(shù)量相等的元素。QLoRA對權(quán)重進行4位量化并以32位精度訓練注入的適配器權(quán)重LORA。QLoRA有一種存儲數(shù)據(jù)類型NF4和一種計算數(shù)據(jù)類型16位BrainFloat。我們將存儲數(shù)據(jù)類型反量化為計算數(shù)據(jù)類型以進行前向和反向傳遞但我們只對使用16位BrainFloat的LORA參數(shù)計算權(quán)重梯度。歸一化首先對模型的權(quán)重進行歸一化使其具有零均值和單位方差。這確保了權(quán)重分布在零附近并落在一定范圍內(nèi)。量化然后將歸一化后的權(quán)重量化為4位。這涉及將原始的高精度權(quán)重映射到一組較小的低精度值。對于NF4量化級別被選擇為在歸一化權(quán)重的范圍內(nèi)均勻分布。反量化在前向傳遞和反向傳播過程中量化后的權(quán)重被反量化回全精度。這是通過將4位量化值映射回其原始范圍來完成的。反量化后的權(quán)重用于計算但它們以4位量化形式存儲在內(nèi)存中。數(shù)據(jù)會被量化到“桶”或“箱”中。數(shù)字2和3都落入相同的量化區(qū)間2。這種量化過程通過“四舍五入”到最接近的量化區(qū)間讓你可以使用更少的數(shù)字。雙重量化雙重量化是指對4位NF量化過程中使用的量化常數(shù)進行量化的獨特做法。雖然這看起來不太起眼但相關(guān)研究論文指出這種方法有可能平均每個參數(shù)節(jié)省0.5位。這種優(yōu)化在采用塊wise k位量化的QLoRA中特別有用。與對所有權(quán)重一起進行量化不同這種方法將權(quán)重分成不同的塊或片段分別進行量化。塊wise量化方法會生成多個量化常數(shù)。有趣的是這些常數(shù)可以進行第二輪量化從而提供了額外的節(jié)省空間的機會。由于量化常數(shù)的數(shù)量有限這種策略仍然有效減輕了與該過程相關(guān)的計算和存儲需求。分頁優(yōu)化器如前所述分位數(shù)量化涉及創(chuàng)建桶或箱來涵蓋廣泛的數(shù)值范圍。這個過程會導致多個不同的數(shù)字被映射到同一個桶中例如在量化過程中2和3都被轉(zhuǎn)換為值3。因此權(quán)重的反量化會引入1的誤差。在神經(jīng)網(wǎng)絡(luò)中更廣泛的權(quán)重分布上可視化這些誤差就可以看出分位數(shù)量化的固有挑戰(zhàn)。這種差異凸顯了為什么QLoRA更像是一種微調(diào)機制而不是一種獨立的量化策略盡管它適用于4位推理。在使用QLoRA進行微調(diào)時LoRA調(diào)整機制就會發(fā)揮作用包括創(chuàng)建兩個較小的權(quán)重更新矩陣。這些矩陣以更高精度的格式如腦浮點16或浮點16維護然后用于更新神經(jīng)網(wǎng)絡(luò)的權(quán)重。值得注意的是在反向傳播和前向傳遞過程中網(wǎng)絡(luò)的權(quán)重會進行反量化以確保實際訓練是以更高精度格式進行的。雖然存儲仍然采用較低精度但這種有意的選擇會引入量化誤差。然而模型訓練過程本身具有適應和減輕量化過程中這些低效性的能力。從本質(zhì)上講采用更高精度的LoRA訓練方法有助于模型學習并積極減少量化誤差。用HuggingFace進行QLoRA微調(diào)要使用HuggingFace進行QLoRA微調(diào)你需要同時安裝BitsandBytes庫和PEFT庫。BitsandBytes庫負責4位量化以及整個低精度存儲和高精度計算部分。PEFT庫將用于LoRA微調(diào)部分。import torchfrom peft import prepare_model_for_kbit_training, LoraConfig, get_peft_modelfrom transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfigmodel_id EleutherAI/gpt-neox-20bbnb_config BitsAndBytesConfig( load_in_4bitTrue, bnb_4bit_use_double_quantTrue, bnb_4bit_quant_typenf4, bnb_4bit_compute_dtypetorch.bfloat16)model AutoModelForCausalLM.from_pretrained(model_id, quantization_configbnb_config, device_map{:0})model.gradient_checkpointing_enable()model prepare_model_for_kbit_training(model)config LoraConfig( r8, lora_alpha32, target_modules[query_key_value], lora_dropout0.05, biasnone, task_typeCAUSAL_LM)model get_peft_model(model, config)7.6 IA3IA3通過抑制和放大內(nèi)部激活注入適配器Infused Adapter by Inhibiting and Amplifying Inner Activations是一種基于適配器的技術(shù)與LoRA有些相似。作者的目標是在避免上下文學習ICLin context learning或Few-Shot prompting相關(guān)問題的同時復制其優(yōu)勢。ICL在成本和推理方面可能會變得復雜因為它需要用示例來提示模型。更長的提示需要更多的時間和計算資源來處理。但ICL可能是開始使用模型的最簡單方法。IA3通過引入針對模型激活的縮放向量來工作??偣惨肓?個向量lv、ik和lff。這些向量分別針對注意力層中的值、鍵以及密集層中的非線性層。這些向量與模型中的默認值進行逐元素相乘。一旦注入這些參數(shù)在訓練過程中就會被學習而模型的其余部分保持凍結(jié)。這些學習到的向量本質(zhì)上是針對手頭的任務對預訓練模型的權(quán)重進行縮放或優(yōu)化。到目前為止這似乎是一種基本的基于適配器的參數(shù)高效微調(diào)PEFT方法。但不止如此。作者還使用了3個損失項來增強學習過程。這3個損失項是LLM、LUL和LLN。LLM是標準的交叉熵損失它增加了生成正確響應的可能性。然后是LUL即非似然損失Unlikelihood Loss。這個損失項通過等級分類Rank Classification來降低錯誤輸出的概率。最后是LLN它是一種長度歸一化損失對所有輸出選擇的長度歸一化對數(shù)概率應用軟max交叉熵損失。這里使用多個損失項是為了確保模型更快、更好地學習。因為我們試圖通過少樣本示例進行學習這些損失是必要的?,F(xiàn)在讓我們談談IA3中的兩個非常重要的概念等級分類和長度歸一化。在等級分類中模型被要求根據(jù)正確性對一組響應進行排序。這是通過計算潛在響應的概率得分來完成的。然后使用LUL來降低錯誤響應的概率從而增加正確響應的概率。但是在等級分類中我們面臨一個關(guān)鍵問題即由于概率的計算方式令牌較少的響應會排名更高。生成的令牌數(shù)量越少概率就越高因為每個生成令牌的概率都小于1。為了解決這個問題作者提出將響應的得分除以響應中的令牌數(shù)量。這樣做將對得分進行歸一化。這里需要非常注意的一點是歸一化是在對數(shù)概率上進行的而不是原始概率。對數(shù)概率是負數(shù)且在0到1之間。示例用法對于序列分類任務可以按如下方式為Llama模型初始化IA3配置peft_config IA3Config( task_typeTaskType.SEQ_CLS, target_modules[k_proj, v_proj, down_proj], feedforward_modules[down_proj])7.7 P-TuningP-Tuning方法旨在優(yōu)化傳遞給模型的提示的表示。在P-Tuning論文中作者強調(diào)了提示工程在使用大語言模型時是一種非常強大的技術(shù)。P-Tuning方法建立在提示工程的基礎(chǔ)上并試圖進一步提高優(yōu)質(zhì)提示的有效性。P-Tuning通過為你的提示創(chuàng)建一個小型編碼器網(wǎng)絡(luò)來工作該網(wǎng)絡(luò)為傳入的提示創(chuàng)建一個軟提示。要使用P-Tuning調(diào)整你的大語言模型你應該創(chuàng)建一個表示你的提示的提示模板。還有一個上下文x用于模板中以獲得標簽y。這是論文中提到的方法。提示模板中使用的令牌是可訓練和可學習的參數(shù)這些被稱為偽令牌。我們還添加了一個提示編碼器它幫助我們針對手頭的特定任務更新偽令牌。提示編碼器通常是一個雙向LSTM網(wǎng)絡(luò)它為模型學習提示的最佳表示然后將該表示傳遞給模型。LSTM網(wǎng)絡(luò)連接到原始模型。這里只有編碼器網(wǎng)絡(luò)和偽令牌被訓練原始網(wǎng)絡(luò)的權(quán)重不受影響。訓練完成后LSTM頭部被丟棄因為我們有可以直接使用的hi。簡而言之提示編碼器只改變傳入提示的嵌入以更好地表示任務其他一切都保持不變。7.8 Prefix TuningPrefix Tuning可以被視為P-Tuning的下一個版本。P-Tuning的作者發(fā)表了一篇關(guān)于P-Tuning V-2的論文解決了P-Tuning的問題。在這篇論文中他們實現(xiàn)了本文中介紹的Prefix Tuning。Prefix Tuning和P-Tuning沒有太大區(qū)別但仍然可能導致不同的結(jié)果。讓我們深入解釋一下。在P-Tuning中我們只在輸入嵌入中添加可學習參數(shù)而在Prefix Tuning中我們在網(wǎng)絡(luò)的所有層中添加這些參數(shù)。這確保了模型本身更多地了解它正在被微調(diào)的任務。我們在提示以及Transformer層的每一層激活中附加可學習參數(shù)。與P-Tuning的不同之處在于我們不是完全修改提示嵌入而是只在每一層提示的開頭添加很少的可學習參數(shù)。在Transformer的每一層我們將一個帶有可學習參數(shù)的軟提示與輸入連接起來。這些可學習參數(shù)通過一個非常小的MLP只有2個全連接層進行調(diào)整。這樣做是因為論文的作者指出直接更新這些提示令牌對學習率和初始化非常敏感。軟提示增加了可訓練參數(shù)的數(shù)量但也大大提高了模型的學習能力。MLP或全連接層稍后可以去掉因為我們只關(guān)心軟提示在推理時軟提示將被附加到輸入序列中引導模型。7.9 Prompt Tuning并非提示工程Prompt Tuning是最早基于僅使用軟提示進行微調(diào)這一想法的論文之一。Prompt Tuning是一個非常簡單且易于實現(xiàn)的想法。它包括在輸入前添加一個特定的提示并為該特定提示使用虛擬令牌或新的可訓練令牌。在這個過程中可以對這些新的虛擬令牌進行微調(diào)以更好地表示提示。這意味著模型被調(diào)整為更好地理解提示。以下是論文中Prompt Tuning與全量微調(diào)的比較從圖中可以看到如果我們想將模型用于多個任務全模型微調(diào)需要存在多個模型副本。但使用Prompt Tuning你只需要存儲學習到的提示令牌的虛擬令牌。例如如果你使用“對這條推文進行分類{tweet}”這樣的提示目標將是為該提示學習新的更好的嵌入。在推理時只有這些新的嵌入將用于生成輸出。這使得模型能夠調(diào)整提示以幫助自己在推理時生成更好的輸出。Prompt Tuning的效率使用Prompt Tuning的最大優(yōu)點是學習到的參數(shù)規(guī)模很小。文件大小可能只有KB級別。由于我們可以確定新令牌的維度大小和使用的參數(shù)數(shù)量因此可以極大地控制要學習的參數(shù)數(shù)量。論文作者展示了即使可訓練令牌的數(shù)量非常少該方法的表現(xiàn)也相當出色。并且隨著使用更大的模型性能只會進一步提升。另一個很大的優(yōu)點是我們可以在不做任何修改的情況下將同一個模型用于多個任務因為唯一被更新的只是提示令牌的嵌入。這意味著只要模型足夠大且足夠復雜能夠執(zhí)行這些任務你就可以將同一個模型用于推文分類任務和語言生成任務而無需對模型本身進行任何修改。但一個很大的限制是模型本身不會學到任何新東西。這純粹是一個提示優(yōu)化任務。這意味著如果模型從未在情感分類數(shù)據(jù)集上進行過訓練Prompt Tuning可能不會有任何幫助。需要特別注意的是這種方法優(yōu)化的是提示而不是模型。所以如果你無法手工制作一個能較好完成任務的硬提示那么嘗試使用提示優(yōu)化技術(shù)來優(yōu)化軟提示就沒有任何意義。硬提示與軟提示硬提示可以被看作是一個定義明確的提示它是靜態(tài)的或者充其量是一個模板。一個生成式人工智能應用程序也可以使用多個提示模板。提示模板允許提示被存儲、重復使用、共享和編程。生成式提示可以被整合到程序中用于編程、存儲和重復使用。軟提示是在Prompt Tuning過程中創(chuàng)建的。與硬提示不同軟提示無法在文本中查看和編輯。提示由嵌入一串數(shù)字組成它從更大的模型中獲取知識??梢钥隙ǖ氖擒浱崾镜囊粋€缺點是缺乏可解釋性。人工智能發(fā)現(xiàn)了與特定任務相關(guān)的提示但無法解釋為什么選擇這些嵌入。就像深度學習模型本身一樣軟提示是不透明的。軟提示可作為額外訓練數(shù)據(jù)的替代品。7.10 LoRA與Prompt Tuning對比現(xiàn)在我們已經(jīng)探索了各種參數(shù)高效微調(diào)PEFT技術(shù)。那么問題來了是使用像適配器Adapter 和LoRA這樣的添加式技術(shù)還是使用像P-Tuning和Prefix Tuning這樣基于提示的技術(shù)呢在比較LoRA與P-Tuning和Prefix Tuning時可以肯定地說就充分發(fā)揮模型性能而言LoRA是最佳策略。但根據(jù)你的需求它可能不是最有效的。如果你想在與模型預訓練任務差異很大的任務上訓練模型毫無疑問LoRA是有效調(diào)整模型的最佳策略。但如果你的任務或多或少是模型已經(jīng)理解的只是挑戰(zhàn)在于如何正確地向模型提供提示那么你應該使用Prompt Tuning技術(shù)。Prompt Tuning不會修改模型中的許多參數(shù)主要側(cè)重于傳入的提示。需要注意的一個重要點是LoRA將權(quán)重更新矩陣分解為較小的低秩矩陣并使用它們來更新模型的權(quán)重。即使可訓練參數(shù)較少LoRA也會更新神經(jīng)網(wǎng)絡(luò)目標部分中的所有參數(shù)。而在Prompt Tuning技術(shù)中只是向模型添加了一些可訓練參數(shù)這通常有助于模型更好地適應和理解任務但并不能幫助模型很好地學習新特性。7.11 LoRA和PEFT與全量微調(diào)對比參數(shù)高效微調(diào)PEFT是作為全量微調(diào)的替代方案被提出的。在大多數(shù)任務中已有論文表明像LoRA這樣的PEFT技術(shù)即使不比全量微調(diào)更好也與之相當。但是如果你希望模型適應的新任務與模型預訓練的任務完全不同PEFT可能并不夠。在這種情況下有限數(shù)量的可訓練參數(shù)可能會導致嚴重問題。如果我們試圖使用像LLaMA或Alpaca這樣基于文本的模型構(gòu)建一個代碼生成模型我們可能應該考慮對整個模型進行微調(diào)而不是使用LoRA來調(diào)整模型。這是因為這個任務與模型已知和預訓練的內(nèi)容差異太大。另一個典型的例子是訓練一個只懂英語的模型來生成尼泊爾語的文本。大語言模型推理在使用大語言模型LLM進行推理時我們通??梢耘渲酶鞣N參數(shù)來微調(diào)其輸出和性能。以下是一些關(guān)鍵參數(shù)的詳細介紹Top-k采樣在每一步只對可能性最高的k個詞元進行采樣這樣可以增加多樣性并避免重復。k值越高輸出的多樣性越強但可能連貫性會變差。溫度參數(shù)影響下一個可能詞元的概率分布用于控制隨機性和 “創(chuàng)造性”。較低的溫度會生成更可能出現(xiàn)但可能重復的文本而較高的溫度則會鼓勵多樣性產(chǎn)生更不可預測的輸出。Top-P核采樣Top-P或核采樣將詞元的選擇限制在累計概率達到某個閾值的詞匯子集內(nèi)有助于控制生成輸出的多樣性。最大長度設(shè)置大語言模型生成的最大詞元數(shù)防止輸出過長。上下文提示通過提供特定的上下文提示或輸入可以引導模型生成與該上下文一致的文本確保生成的輸出在給定的上下文中相關(guān)且連貫。重復懲罰對出現(xiàn)重復n - gram的序列進行懲罰鼓勵多樣性和新穎性。采樣方式在確定性貪心和基于隨機采樣的生成方式中選擇。貪心模式在每一步選擇最可能的詞元而隨機采樣則引入隨機性。貪心模式優(yōu)先考慮準確性而隨機采樣鼓勵多樣性和創(chuàng)造性。束搜索保留多個潛在序列在每一步擴展最有希望的序列與Top-k采樣相比旨在生成更連貫、更準確的輸出。提示工程提示工程也稱為上下文提示是指在不更新模型權(quán)重的情況下與大語言模型進行溝通引導其行為以獲得期望結(jié)果的方法。這是一門實證科學提示工程方法的效果在不同模型之間可能差異很大因此需要大量的實驗和探索。什么是提示我們與大語言模型交互時使用的自然語言指令被稱為提示。構(gòu)建提示的過程稱為提示工程。提示的作用大語言模型根據(jù)提示中的指令進行推理并完成任務的過程被稱為上下文學習。少樣本提示大語言模型在沒有任何示例的情況下響應提示指令的能力稱為零樣本學習。當提供單個示例時稱為單樣本學習。如果提供多個示例則稱為少樣本學習。上下文窗口即大語言模型可以提供和推理的最大詞元數(shù)在零樣本/單樣本/少樣本學習中至關(guān)重要。9.1 思維鏈CoT提示思維鏈CoT提示W(wǎng)ei等人2022會生成一系列短句子逐步描述推理邏輯即推理鏈或推理依據(jù)最終得出答案。在使用大型模型例如參數(shù)超過500億的模型處理復雜推理任務時CoT的優(yōu)勢更為明顯。而簡單任務使用CoT提示的受益則相對較小。9.2 PAL程序輔助語言模型Gao等人2022PAL: Program-aided Language Models提出了一種方法使用大語言模型讀取自然語言問題并生成程序作為中間推理步驟。這種方法被稱為程序輔助語言模型PAL它與思維鏈提示的不同之處在于它不是使用自由形式的文本獲取解決方案而是將解決方案步驟交給諸如Python解釋器這樣的程序運行時處理。9.3 ReAct提示ReAct的靈感來自于 “行動” 和 “推理” 之間的協(xié)同作用這種協(xié)同作用使人類能夠?qū)W習新任務并做出決策或進行推理。CoT由于無法訪問外部世界或更新自身知識可能會導致事實幻覺和錯誤傳播等問題。ReAct是一種將推理和行動與大語言模型相結(jié)合的通用范式。ReAct促使大語言模型為任務生成語言推理軌跡和行動。這使系統(tǒng)能夠進行動態(tài)推理創(chuàng)建、維護和調(diào)整行動方案同時還能與外部環(huán)境例如維基百科進行交互將更多信息納入推理過程。下圖展示了ReAct的一個示例以及執(zhí)行問答任務所涉及的不同步驟。模型優(yōu)化技術(shù)模型壓縮方法包括a剪枝、b量化和c知識蒸餾。10.1 量化模型量化是一種用于減小大型神經(jīng)網(wǎng)絡(luò)包括大語言模型LLM大小的技術(shù)通過修改其權(quán)重的精度來實現(xiàn)。大語言模型的量化之所以可行是因為實證結(jié)果表明雖然神經(jīng)網(wǎng)絡(luò)訓練和推理的某些操作必須使用高精度但在某些情況下可以使用低得多的精度例如float16這可以減小模型的整體大小使其能夠在性能和準確性可接受的情況下在性能較弱的硬件上運行。模型大小的趨勢一般來說在神經(jīng)網(wǎng)絡(luò)中使用高精度與更高的準確性和更穩(wěn)定的訓練相關(guān)。使用高精度在計算上也更為昂貴因為它需要更多且更昂貴的硬件。谷歌和英偉達的相關(guān)研究表明神經(jīng)網(wǎng)絡(luò)的某些訓練和推理操作可以使用較低的精度。除了研究之外這兩家公司還開發(fā)了支持低精度操作的硬件和框架。例如英偉達的T4加速器是低精度GPU其張量核心技術(shù)比K80的效率要高得多。谷歌的TPU引入了bfloat16的概念這是一種為神經(jīng)網(wǎng)絡(luò)優(yōu)化的特殊基本數(shù)據(jù)類型。低精度的基本思想是神經(jīng)網(wǎng)絡(luò)并不總是需要使用64位浮點數(shù)的全部范圍才能表現(xiàn)良好。bfloat16數(shù)值格式隨著神經(jīng)網(wǎng)絡(luò)越來越大利用低精度的重要性對使用它們的能力產(chǎn)生了重大影響。對于大語言模型來說這一點更為關(guān)鍵。英偉達的A100 GPU最先進的版本有80GB內(nèi)存。在下面的表格中可以看到LLama2 - 70B模型大約需要138GB內(nèi)存這意味著要部署它我們需要多個A100 GPU。在多個GPU上分布模型不僅意味著要購買更多的GPU還需要額外的基礎(chǔ)設(shè)施開銷。另一方面量化版本大約需要40GB內(nèi)存因此可以輕松地在一個A100上運行顯著降低了推理成本。這個例子甚至還沒有提到在單個A100中使用量化模型會使大多數(shù)單個計算操作執(zhí)行得更快。使用llama.cpp進行4位量化的示例大小可能會因方法略有不同量化如何縮小模型量化通過減少每個模型權(quán)重所需的比特數(shù)來顯著減小模型的大小。一個典型的場景是將權(quán)重從FP1616位浮點數(shù)減少到INT44位整數(shù)。這使得模型可以在更便宜的硬件上運行并且 / 或者運行速度更快。然而降低權(quán)重的精度也會對大語言模型的整體質(zhì)量產(chǎn)生一定影響。研究表明這種影響因使用的技術(shù)而異并且較大的模型對精度變化的影響較小。較大的模型超過約700億參數(shù)即使轉(zhuǎn)換為4位也能保持其性能像NF4這樣的一些技術(shù)表明對其性能沒有影響。因此對于這些較大的模型4位似乎是在性能與大小 / 速度之間的最佳折衷而6位或8位可能更適合較小的模型。大語言模型量化的類型獲得量化模型的技術(shù)可以分為兩類。訓練后量化PTQ將已經(jīng)訓練好的模型的權(quán)重轉(zhuǎn)換為較低精度而無需任何重新訓練。雖然這種方法簡單直接且易于實現(xiàn)但由于權(quán)重值精度的損失可能會使模型性能略有下降。量化感知訓練QAT與PTQ不同QAT在訓練階段就整合了權(quán)重轉(zhuǎn)換過程。這通常會帶來更好的模型性能但計算要求更高。一種常用的QAT技術(shù)是QLoRA。本文將只關(guān)注PTQ策略及其關(guān)鍵區(qū)別。更大的量化模型與更小的未量化模型我們知道降低精度會降低模型的準確性那么你會選擇較小的全精度模型還是選擇推理成本相當?shù)母蟮牧炕P湍乇M管理想的選擇可能因多種因素而異但Meta的最新研究提供了一些有見地的指導。雖然我們預期降低精度會導致準確性下降但Meta的研究人員已經(jīng)證明在某些情況下量化模型不僅表現(xiàn)更優(yōu)而且還能減少延遲并提高吞吐量。在比較8位的130億參數(shù)模型和16位的70億參數(shù)模型時也可以觀察到相同的趨勢。本質(zhì)上在比較推理成本相似的模型時更大的量化模型可以超越更小的未量化模型。隨著網(wǎng)絡(luò)規(guī)模的增大這種優(yōu)勢更加明顯因為大型網(wǎng)絡(luò)在量化時質(zhì)量損失較小。在哪里可以找到已經(jīng)量化的模型幸運的是在Hugging Face Hub上可以找到許多已經(jīng)使用GPTQ有些與ExLLama兼容、NF4或GGML進行量化的模型版本。快速瀏覽一下就會發(fā)現(xiàn)這些模型中有很大一部分是由大語言模型社區(qū)中一位有影響力且備受尊敬的人物TheBloke量化的。該用戶發(fā)布了多個使用不同量化方法的模型因此人們可以根據(jù)具體的用例選擇最合適的模型。要輕松試用這些模型可以打開一個Google Colab并確保將運行時更改為GPU有免費的GPU可供使用。首先安裝Hugging Face維護的transformers庫以及所有必要的庫。由于我們將使用由Auto - GPTQ量化的模型因此還需要安裝相應的庫!pip install transformers!pip install accelerate!pip install optimum!pip install auto - gptq你可能需要重新啟動運行時以便安裝的庫可用。然后只需加載已經(jīng)量化的模型這里我們加載一個之前使用Auto - GPTQ量化的Llama - 2 - 7B - Chat模型如下所示from transformers import AutoModelForCausalLM, AutoTokenizerimport torchmodel_id TheBloke/Llama-2-7b-Chat-GPTQtokenizer AutoTokenizer.from_pretrained(model_id, torch_dtypetorch.float16, device_mapauto)model AutoModelForCausalLM.from_pretrained(model_id, torch_dtypetorch.float16, device_mapauto)量化大語言模型如前所述Hugging Face Hub上已經(jīng)有大量量化模型在許多情況下無需自己壓縮模型。然而在某些情況下你可能希望使用尚未量化的模型或者你可能希望自己壓縮模型。這可以通過使用適合你特定領(lǐng)域的數(shù)據(jù)集來實現(xiàn)。為了演示如何使用AutoGPTQ和Transformers庫輕松量化模型我們采用了OptimumHugging Face用于優(yōu)化訓練和推理的解決方案中簡化版的AutoGPTQ接口from transformers import AutoModelForCausalLM, AutoTokenizer, GPTQConfigmodel_id facebook/opt-125mtokenizer AutoTokenizer.from_pretrained(model_id)quantization_config GPTQConfig(bits4, dataset c4, tokenizertokenizer)model AutoModelForCausalLM.from_pretrained(model_id, device_mapauto, quantization_configquantization_config)模型壓縮可能很耗時。例如一個1750億參數(shù)的模型至少需要4個GPU小時尤其是使用像 “c4” 這樣的大型數(shù)據(jù)集時。值得注意的是量化過程中的比特數(shù)或數(shù)據(jù)集可以通過GPTQConfig的參數(shù)輕松修改。更改數(shù)據(jù)集會影響量化的方式因此如果可能的話使用與推理時看到的數(shù)據(jù)相似的數(shù)據(jù)集以最大化性能。量化技術(shù)在模型量化領(lǐng)域已經(jīng)出現(xiàn)了幾種最先進的方法。讓我們深入了解一些突出的方法GPTQ有一些實現(xiàn)選項如AutoGPTQ、ExLlama和GPTQ - for - LLaMa這種方法主要側(cè)重于GPU執(zhí)行。NF4在bitsandbytes庫中實現(xiàn)它與Hugging Face的transformers庫緊密合作。它主要被QLoRA方法使用以4位精度加載模型進行微調(diào)。GGML這個C庫與llama.cpp庫緊密合作。它為大語言模型提供了一種獨特的二進制格式允許快速加載和易于讀取。值得注意的是它最近轉(zhuǎn)換為GGUF格式以確保未來的可擴展性和兼容性。許多量化庫支持多種不同的量化策略例如4位、5位和8位量化每種策略在效率和性能之間都提供了不同的權(quán)衡。10.2 蒸餾知識蒸餾KD; Hinton等人2015年Gou等人2020年Distilling the Knowledge in a Neural Network是一種構(gòu)建更小、成本更低模型“學生模型”的直接方法通過將預訓練的高成本模型“教師模型”的能力轉(zhuǎn)移到學生模型中來加快推理速度。除了要求學生模型的輸出空間與教師模型匹配以便構(gòu)建合適的學習目標之外對學生模型的架構(gòu)構(gòu)建方式并沒有太多限制。知識蒸餾示意圖教師模型已經(jīng)在訓練數(shù)據(jù)上進行了微調(diào)因此其概率分布可能與真實數(shù)據(jù)非常接近并且在生成的token上不會有太多變化。當溫度1時概率分布會變得更寬泛。T 1時 教師模型的輸出 - 軟標簽 學生模型的輸出 - 軟預測T 1時 教師模型的輸出 - 硬標簽 學生模型的輸出 - 硬預測蒸餾對于生成式解碼器模型的效果并不顯著它對僅編碼器模型如BERT更為有效因為這類模型存在大量的表示冗余。10.3 剪枝網(wǎng)絡(luò)剪枝是指在保持模型能力的同時通過修剪不重要的模型權(quán)重或連接來減小模型大小。這一過程可能需要也可能不需要重新訓練。剪枝可分為非結(jié)構(gòu)化剪枝和結(jié)構(gòu)化剪枝。非結(jié)構(gòu)化剪枝允許刪除任何權(quán)重或連接因此不會保留原始網(wǎng)絡(luò)架構(gòu)。非結(jié)構(gòu)化剪枝通常與現(xiàn)代硬件的適配性不佳并且無法真正加快推理速度。結(jié)構(gòu)化剪枝旨在保持矩陣乘法中部分元素為零的密集形式。為了適配硬件內(nèi)核的支持它們可能需要遵循特定的模式限制。這里我們主要關(guān)注結(jié)構(gòu)化剪枝以在Transformer模型中實現(xiàn)高稀疏性。構(gòu)建剪枝網(wǎng)絡(luò)的常規(guī)工作流程包含三個步驟訓練一個密集網(wǎng)絡(luò)直至收斂對網(wǎng)絡(luò)進行剪枝去除不需要的結(jié)構(gòu)可選步驟重新訓練網(wǎng)絡(luò)通過新的權(quán)重恢復模型性能 。通過網(wǎng)絡(luò)剪枝在密集模型中發(fā)現(xiàn)稀疏結(jié)構(gòu)同時使稀疏網(wǎng)絡(luò)仍能保持相似性能這一想法的靈感來源于彩票假設(shè)LTH一個隨機初始化的、密集的前饋網(wǎng)絡(luò)包含多個子網(wǎng)絡(luò)其中只有一部分稀疏網(wǎng)絡(luò)是 “中獎彩票”當單獨訓練時這些子網(wǎng)絡(luò)能夠達到最佳性能。如何學習大模型 AI 由于新崗位的生產(chǎn)效率要優(yōu)于被取代崗位的生產(chǎn)效率所以實際上整個社會的生產(chǎn)效率是提升的。但是具體到個人只能說是“最先掌握AI的人將會比較晚掌握AI的人有競爭優(yōu)勢”。這句話放在計算機、互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)的開局時期都是一樣的道理。我在一線互聯(lián)網(wǎng)企業(yè)工作十余年里指導過不少同行后輩。幫助很多人得到了學習和成長。我意識到有很多經(jīng)驗和知識值得分享給大家也可以通過我們的能力和經(jīng)驗解答大家在人工智能學習中的很多困惑所以在工作繁忙的情況下還是堅持各種整理和分享。但苦于知識傳播途徑有限很多互聯(lián)網(wǎng)行業(yè)朋友無法獲得正確的資料得到學習提升故此將并將重要的AI大模型資料包括AI大模型入門學習思維導圖、精品AI大模型學習書籍手冊、視頻教程、實戰(zhàn)學習等錄播視頻免費分享出來。第一階段10天初階應用該階段讓大家對大模型 AI有一個最前沿的認識對大模型 AI 的理解超過 95% 的人可以在相關(guān)討論時發(fā)表高級、不跟風、又接地氣的見解別人只會和 AI 聊天而你能調(diào)教 AI并能用代碼將大模型和業(yè)務銜接。大模型 AI 能干什么大模型是怎樣獲得「智能」的用好 AI 的核心心法大模型應用業(yè)務架構(gòu)大模型應用技術(shù)架構(gòu)代碼示例向 GPT-3.5 灌入新知識提示工程的意義和核心思想Prompt 典型構(gòu)成指令調(diào)優(yōu)方法論思維鏈和思維樹Prompt 攻擊和防范…第二階段30天高階應用該階段我們正式進入大模型 AI 進階實戰(zhàn)學習學會構(gòu)造私有知識庫擴展 AI 的能力??焖匍_發(fā)一個完整的基于 agent 對話機器人。掌握功能最強的大模型開發(fā)框架抓住最新的技術(shù)進展適合 Python 和 JavaScript 程序員。為什么要做 RAG搭建一個簡單的 ChatPDF檢索的基礎(chǔ)概念什么是向量表示Embeddings向量數(shù)據(jù)庫與向量檢索基于向量檢索的 RAG搭建 RAG 系統(tǒng)的擴展知識混合檢索與 RAG-Fusion 簡介向量模型本地部署…第三階段30天模型訓練恭喜你如果學到這里你基本可以找到一份大模型 AI相關(guān)的工作自己也能訓練 GPT 了通過微調(diào)訓練自己的垂直大模型能獨立訓練開源多模態(tài)大模型掌握更多技術(shù)方案。到此為止大概2個月的時間。你已經(jīng)成為了一名“AI小子”。那么你還想往下探索嗎為什么要做 RAG什么是模型什么是模型訓練求解器 損失函數(shù)簡介小實驗2手寫一個簡單的神經(jīng)網(wǎng)絡(luò)并訓練它什么是訓練/預訓練/微調(diào)/輕量化微調(diào)Transformer結(jié)構(gòu)簡介輕量化微調(diào)實驗數(shù)據(jù)集的構(gòu)建…第四階段20天商業(yè)閉環(huán)對全球大模型從性能、吞吐量、成本等方面有一定的認知可以在云端和本地等多種環(huán)境下部署大模型找到適合自己的項目/創(chuàng)業(yè)方向做一名被 AI 武裝的產(chǎn)品經(jīng)理。硬件選型帶你了解全球大模型使用國產(chǎn)大模型服務搭建 OpenAI 代理熱身基于阿里云 PAI 部署 Stable Diffusion在本地計算機運行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何優(yōu)雅地在阿里云私有部署開源大模型部署一套開源 LLM 項目內(nèi)容安全互聯(lián)網(wǎng)信息服務算法備案…學習是一個過程只要學習就會有挑戰(zhàn)。天道酬勤你越努力就會成為越優(yōu)秀的自己。如果你能在15天內(nèi)完成所有的任務那你堪稱天才。然而如果你能完成 60-70% 的內(nèi)容你就已經(jīng)開始具備成為一名大模型 AI 的正確特征了。這份完整版的大模型 AI 學習資料已經(jīng)上傳CSDN朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認證二維碼免費領(lǐng)取【保證100%免費】
版權(quán)聲明: 本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請聯(lián)系我們進行投訴反饋,一經(jīng)查實,立即刪除!

網(wǎng)站簡繁切換js企業(yè)宣傳策劃公司

網(wǎng)站簡繁切換js,企業(yè)宣傳策劃公司,軍事網(wǎng)報名入口,洛陽做網(wǎng)站的公司哪家好你一定遇到過這樣的困擾#xff1a;看到精彩的視頻想保存下來#xff0c;卻發(fā)現(xiàn)下載工具要么不兼容你的系統(tǒng)#xff0c;要么速

2026/01/22 23:21:01

二手書籍交易網(wǎng)站開發(fā)方式wordpress電影下載

二手書籍交易網(wǎng)站開發(fā)方式,wordpress電影下載,東莞網(wǎng)站優(yōu)化東莞seo最專業(yè)的東莞網(wǎng)絡(luò)公司小紅孩營銷,網(wǎng)站建設(shè)功能介紹當企業(yè)管理的視角從封閉的內(nèi)部管理轉(zhuǎn)向開放的業(yè)務在線生態(tài)協(xié)同#xff0c;數(shù)字

2026/01/21 17:45:01