LORA學習筆記3——訓練參數

訓練步長

Step(步):模型訓練時ai模型會根據標注生成一個圖片,并與學習圖片進行對比,通過對比的結果調整嵌入向量。這樣的一個流程就被稱為“一步”。

如果一個訓練集中有50張圖片,每張圖片設定為要訓練10次,所以訓練完這一組數據集需要50*10=500步。

Epoch(輪):一個訓練集里面的全部圖片按照規定的訓練次數訓練完一次,被稱之為訓練完“一輪”。參考剛才的例子,500步就是該訓練集的一輪所需要的步數。

max_train_epochs(最大訓練輪數):通常我們使用這個概念來控制訓練一個模型的總步數。模型訓練的總步數=max_train_epochs*Epoch。比如剛才的例子中,一輪是500步,假設我們訓練的最大輪數是10,那么訓練的總步數就是500*10=5000步。

train_batch_size(訓練批次大小):模型訓練可以一次學習多個圖片,如果將這個參數設置為8,那么訓練時ai會一次訓練8張圖片,縮短訓練所需要的時間。

學習率

學習率可以理解為ai學習時的強度。學習率過高會導致過擬合,學習率過低會導致欠擬合。

?過擬合:訓練出的模型過于匹配訓練數據,導致在新數據集中無法生成較好的新結果。在ai畫圖中的表現就是生成的圖片過于和訓練集中的圖片相似,無法生成差異化的內容。

欠擬合:訓練出的模型過于不匹配訓練數據,導致新數據集中生成的結果與預期相差過大。反映在ai畫圖里就是生成的圖片完全不像訓練集里的圖片。

在訓練中通常過擬合的概率會大于欠擬合,因此學習率通常會設置在比較低的水平,通常用0.0001即可。

當訓練的數據集較大時,需要設置較小的學習率。因為數據越多,損失曲面更復雜,在高學習率的情況下容易導致訓練不穩定。

在訓練中通常會增加學習率調度器,使訓練過程中的學習率逐漸降低,可以保證后期避免過擬合。

網絡維度

network rank/network dimension:網絡秩,該值越大,從原始的矩陣中抽取出來的行列就越多,需要微調的數據量就越多,就可以容納下更多的概念。

這個值會直接影響lora模型的大小,與模型大小是正相關關系。在訓練三次元這種畫面細節較多的模型時,通常會調高這個值;在訓練二次元這種畫面細節相對較少的模型時,通常會調低這個值。比如訓練二次元人物,只需要設置為32就可以;如果要訓練畫風,就需要設置為更高的值。

network alpha:用于調節lora作用于原模型程度的參數。alpha和rank的比值等于“減弱權重程度”。alpha不超過rank,越接近于rank,則對原模型權重的影響越小。越接近于0,則對權重的微調作用越顯著。通常會設置為rank的0.5~1倍之間。

性能參數

mixed_precision(混合精度):在深度學習中通常使用32位浮點數進行訓練,但是實踐證明訓練ai模型不需要這么高的精度,因此通常可以設置為16位,可以節約大量的顯存。

cache_latent(緩存圖像latent):可以在學習前一次性地將圖片緩存到顯存里,后面再反復調用,可以有效提升訓練速度。

xfomers:英偉達顯卡的硬件級別優化,可以提升訓練速度。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16281.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16281.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16281.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CCF20231201——倉庫規劃

CCF20231201——倉庫規劃 代碼如下&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n,m,a[1001][11],b[1001]{0};cin>>n>>m;for(int i1;i<n;i){for(int j1;j<m;j)cin>>a[i][j];}for(int i1;i<n;i){bool foundfals…

設計模式在芯片驗證中的應用——模板方法

一、模板方法 模板方法(Template Method)設計模式是一種行為設計模式&#xff0c; 它在父類中定義了一個功能的框架&#xff0c; 允許子類在不修改結構的情況下重寫功能的特定步驟。也就是模板方法定義了一組有序執行的操作&#xff0c;將一些步驟的實現留給子類&#xff0c;同…

把自己的垃圾代碼發布到官方中央倉庫

參考博客&#xff1a;將組件發布到maven中央倉庫-CSDN博客 感謝這位博主。但是他的步驟有漏缺&#xff0c;相對進行補充 訪問管理頁面 網址&#xff1a;Maven Central 新注冊賬號&#xff0c;或者使用github快捷登錄&#xff0c;建議使用github快捷登錄 添加命名空間 注意&…

連接mysql的java代碼

要在Java中連接MySQL數據庫,你需要以下幾個步驟: 導入MySQL JDBC驅動:在項目中添加MySQL JDBC驅動的依賴。如果你使用的是Maven,可以在pom.xml中添加依賴;如果使用的是Gradle,可以在build.gradle中添加依賴;如果不使用構建工具,需要手動下載驅動并添加到項目中。 編寫J…

【Linux】進程通信實戰 —— 進程池項目

送給大家一句話: 沒有一顆星&#xff0c;會因為追求夢想而受傷&#xff0c;當你真心渴望某樣東西時&#xff0c;整個宇宙都會來幫忙。 – 保羅?戈埃羅 《牧羊少年奇幻之旅》 &#x1f3d5;?&#x1f3d5;?&#x1f3d5;?&#x1f3d5;?&#x1f3d5;?&#x1f3d5;? &a…

flink cdc mysql整理與總結

文章目錄 一、業務中常見的需要數據同步的場景CDC是什么FlinkCDC是什么CDC原理為什么是FlinkCDC業務場景flink cdc對應flink的版本 二、模擬案例1.阿里云flink sql2.開源flink sql(單機模式)flink 安裝安裝mysql3.flink datastream 三、總結 提示&#xff1a;以下是本篇文章正文…

mac中文件夾怎么顯示.git隱藏文件

1. 打開終端應用程序&#xff0c;然后進入到包含.git文件夾的目錄&#xff0c;可以使用以下命令來顯示隱藏文件和文件夾&#xff1a; defaults write com.apple.finder AppleShowAllFiles YES 2. 然后重啟 Finder&#xff1a; killall Finder

kali基本掃描工具(自帶)

免責聲明:本文僅做技術交流與學習...請勿非法破壞... 詳細用法: 命令 -h/百度/翻譯 fping 用法 hostlist 文件里面為ip fping -a -q -f hostlist -a 只看存活的 fping -g 202.100.1.1 202.100.1.255 -a -q > Ahost 輸出到Ahost文件上 nping nping -c 1 201.100.2.155-244 …

工具方法 - 如何在網上找資料

在查詢USB相關的技術資料時&#xff0c;官網的文檔中心里找到個spec的記錄&#xff0c;但下載鏈接沒有。然后在Google上搜索&#xff1a; fileytpe:pdf my_keyword 只找到一個收費的文檔下載網站&#xff0c;這讓我不開心。 于是在Yandex上搜了下&#xff0c;找到了兩個網站可以…

香橙派AIpro使用SSH遠程登錄

香橙派AIpro可以連接HDMI顯示器使用&#xff0c;也可以遠程登錄。這里采用MobaXterm軟件遠程登錄開發板。 首先要使得控制電腦和香橙派開發板連接到同一個局域網&#xff0c;兩者的IP地址能夠ping通。在Windows 下可以使用MobaXterm 遠程登錄開發板&#xff0c;首先新建一個ss…

屬于程序員的浪漫,一顆會跳動的心!!!

繪制一顆會跳動的心? 嘿嘿 可以說是程序員的專屬浪漫了吧&#xff0c;就像點燃一顆LED燈一樣&#xff1f;&#xff08;我瞎說的啊&#xff0c;大家別當真&#xff0c;我很菜的&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 程序就在下面啦&#xff0c;然…

hive結合Hbase實現實時數據處理和批量分析

問題背景 Hive主要設計為一個用于大數據集的批處理查詢引擎&#xff0c;并不是為實時查詢或實時數據更新而設計的。它主要用于執行數據摘要、查詢和分析。因此&#xff0c;Hive本身不支持實時數據更新或實時查詢&#xff0c;它更適合用于對大量數據進行批量處理和分析。 分析…

Java8Stream

目錄 什么是Stream? IO流&#xff1a; Java8Stream&#xff1a; 什么是流&#xff1f; stream圖解 獲取流 集合類&#xff0c;使用 Collection 接口下的 stream() 代碼 數組類&#xff0c;使用 Arrays 中的 stream() 方法 代碼 stream&#xff0c;使用 Stream 中的…

重生之 SpringBoot3 入門保姆級學習(02、打包部署)

重生之 SpringBoot3 入門保姆級學習&#xff08;02、打包部署&#xff09; 1.6 打包插件1.7 測試 jar 包1.8 application.properties 的相關配置 1.6 打包插件 官網鏈接 https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-starte…

【Python】 XGBoost模型的使用案例及原理解析

原諒把你帶走的雨天 在漸漸模糊的窗前 每個人最后都要說再見 原諒被你帶走的永遠 微笑著容易過一天 也許是我已經 老了一點 那些日子你會不會舍不得 思念就像關不緊的門 空氣里有幸福的灰塵 否則為何閉上眼睛的時候 又全都想起了 誰都別說 讓我一個人躲一躲 你的承諾 我竟然沒懷…

自學動態規劃—— 一和零

一和零 474. 一和零 - 力扣&#xff08;LeetCode&#xff09; 其實遇到這種還好說&#xff0c;我寧愿遇見這種&#xff0c;也不想遇見那些奇奇怪怪遞推公式的題目。 這里其實相當背包要滿足兩個條件&#xff0c;所以我們可以將dp開成二維的&#xff0c;之后的操作&#xff0…

Kubernetes(K8S) 集群環境搭建指南

Kubernetes&#xff08;簡稱K8s&#xff09;是一個開源的容器編排平臺&#xff0c;旨在自動化部署、擴展和管理容器化應用。K8S環境搭建過程比較復雜&#xff0c;涉及到非常多組件安裝和系統配置&#xff0c;本文將會詳細介紹如何在服務器上搭建好Kubernetes集群環境。 在學習…

C語言---求一個整數存儲在內存中的二進制中1的個數--3種方法

//編寫代碼實現&#xff1a;求一個整數存儲在內存中的二進制中1的個數 //第一種寫法 /*int count_bit_one(unsigned int n) {int count 0;while (n )//除到最后余數是0&#xff0c;那么這個循環就結束了{//這個題就是可以想成求15的二進制的過程//每次都除以2&#xff0c;余數…

跟小伙伴們說一下

因為很忙&#xff0c;有一段時間沒有更新了&#xff0c;這次先把菜鳥教程停更一下&#xff0c;因為自己要查缺補漏一些細節問題&#xff0c;而且為了方便大家0基礎也想學C語言&#xff0c;這里打算給大家開一個免費專欄&#xff0c;這里大家就可以好好學習啦&#xff0c;哪怕0基…

面試題·棧和隊列的相互實現·詳解

A. 用隊列實現棧 用隊列實現棧 實現代碼如下 看著是隊列&#xff0c;其實實際實現更接近數組模擬 typedef struct {int* queue1; // 第一個隊列int* queue2; // 第二個隊列int size; // 棧的大小int front1, rear1, front2, rear2; // 兩個隊列的首尾指針 } MyS…