目錄
聯邦學習
微調
知識蒸餾
基礎模型/LLMs的模型融合
首頁 科技週邊 人工智慧 綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

Apr 18, 2024 pm 09:43 PM
git 科技 模型 排列

23年9月國防科大、京東和北理工的論文「Deep Model Fusion: A Survey」。

深度模型整合/合併是一種新興技術,它將多個深度學習模型的參數或預測合併為一個模型。它結合了不同模型的能力來彌補單一模型的偏差和錯誤,以獲得更好的性能。而大規模深度學習模型(例如LLM和基礎模型)上的深度模型整合面臨一些挑戰,包括高運算成本、高維度參數空間、不同異質模型之間的干擾等。本文將現有的深度模型融合方法分為四類:(1)“模式連接”,透過一條損失減少的路徑將權重空間中的解連接起來,以獲得更好的模型融合初始化;(2)“對齊”,匹配神經網路之間的單元,為融合創建更好的條件;(3)“權重平均”是一種經典的模型融合方法,將多個模型的權重進行平均,以獲得更接近最優解、更準確的結果;(4)「整合學習」結合了不同模型的輸出,這是提高最終模型準確性和穩健性的基礎技術。此外,分析深度模型融合面臨的挑戰,並提出了未來模型融合可能的研究方向。

由於資料隱私和實際資料節省問題,深度模型融合引起了越來越多的興趣。儘管深度模型融合的發展帶來了許多技術突破,但也產生了一系列挑戰,例如計算負載高、模型異構性以及組合優化對齊速度慢等。這激發了科學家研究不同情況下模型融合的原理。

有些工作只關注單一視角(例如特徵融合等)[45,195]和特定場景[213]的模型融合,而不是參數的融合。加上最近的進展和代表性應用,例如聯邦學習(FL)[160]和微調[29]等,本文根據內部機制和目的的分為四類。圖示整個模型融合流程示意圖,​​以及各種方法的分類與連結。

針對獨立訓練且彼此不相鄰的模型,「模式連接」和「對齊」使解決方案更加接近,從而獲得更好的平均原始條件。對於權重空間存在一定差異的相似模型,「權重平均(WA)」傾向於直接對模型進行平均,在損失函數值較低的參數空間區域中獲得更接近最優點的解決方案。此外,對於現有模型的預測,「整合學習」整合了模型的不同形式的預測,以獲得更好的結果。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

「模型融合作為一種提高深度模型精度和穩健性的技術,促進了許多應用領域的改進。'聯邦學習[160]'是一種在中央伺服器上聚合客戶端模型的模型精度和魯棒性的應用程序,使各方能夠為函數的計算(例如各種統計數據、分類器[177])貢獻數據,而不會帶來隱私洩露的風險。 (教師)的軟目標知識,訓練一個小型的模型(學生)來適應特定需求。 79],GPT[17]等。

為了確定訓練網路的結果對於SGD 雜訊是否穩定,損失屏障(誤差屏障)被定義為兩點損失線性內插法與兩點線性連接損失之間的最大差[ 50]。損失屏障說明,沿著 W1 和 W2 之間的路徑優化圖 [56, 61] ,誤差是恆定的還是增加的。如果兩個網路之間存在一條隧道,其屏障約等於0,則相當於模式連接[46,59,60]。也就是說,SGD得到的局部極小值可以透過一條最大損失最小化的路徑 φ 連接起來。

基於梯度的最佳化所得到的解可以在權重空間中透過沒有屏障的路徑(連接器)連接起來,稱為模式連接[46, 50]。可以沿著低損失路徑獲得更適合模型融合的其他模型。根據路徑的數學形式和連接器所在的空間,分為三個部分「線性模式連接(LMC)[66]」、「非線性模式連接」和「子空間的模式連接」」。

模式連接可以解決訓練過程中的局部最佳化問題。模式連接路徑的幾何關係 [61, 162] 也可用於加速隨機梯度下降(SGD)等最佳化過程的收斂性、穩定性和準確性。總之,模式連結為解釋和理解模型融合的行為提供了新的視角[66]。然而計算複雜度和參數調整的困難應該要解決,特別是在大型資料集上訓練模型時。下表是線性模式連結(LMC)和非線性模式連結的標準訓練流程總結。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

如圖是二維損失圖和其他維度子空間中的模式連結示意圖。左:兩個盆地最小值的線性內插導致高損失屏障[46]。較低的兩個最佳值遵循接近恆定的低損失路徑(例如貝塞爾曲線、多邊框鍊等)[66]。 π(W2)是W2的排列對稱性的等價模型,與W1位於同一盆地。 Re-Basin 透過為各個流域提供解決方案來合併模型 [3]。右圖:低損失路徑連接子空間中的多個最小值(例如,由 d-維 楔形組成的低損失流形 [56])等)。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

下表是在不同局部最小值之間尋找隧道的方法。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

總之,模式連結為深度模型融合提供了更新、更靈活的視角。神經網路的訓練容易陷入局部最優,導致效能下降。在模型連接的基礎上,可以找到其他性能更好的模型,並將其作為進一步優化和融合的起點。可以利用已經訓練的模型在參數空間中移動來達到新的目標模型,這樣可以節省時間和計算開銷,適合資料有限的情況。然而,在連接不同模型時,可能會引入額外的複雜性和靈活性,從而增加過度擬合的風險。因此,應仔細控制相關的超參數和變化程度。此外,模式連接需要微調或參數更改,這可能會增加訓練時間和資源消耗。綜上所述,模型連通性在模型融合方面具有許多優勢,包括幫助克服局部最優問題、提供解釋網路行為的新觀點等。未來,模式連結有望幫助理解神經網路的內部機制並提供指導 以便將來進行更有效率的深度模型融合設計。

由於來自不同網路的通道和元件的隨機性,網路的活動元件會互相干擾[204]。因此,未對齊的加權平均值可能會忽略不同模型中單位之間的對應關係並損壞有用資訊。例如,不同模型中的兩個神經元之間存在一種關係,它們可能完全不同但功能相似。對齊是將不同模型的單元進行匹配,從而為深度模型融合獲得更好的初始條件。其目的是使多個模型的差異更小,從而增強深度模型融合效果。此外,對齊本質上可以被視為組合最佳化問題。一種代表性機制“Re-basin”,它為各個流域提供解決方案,合併具有更好原始條件的模型。根據對齊目標是否是資料驅動的,對齊分為「啟動匹配」和「權重匹配」兩種類型,如表所示。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

一般來說,即使對於淺層神經網絡,鞍點和局部最優的數量也會隨著參數數量呈指數增長[10, 66]。研究發現,訓練中存在不變性,導致這些局部最優中的某些點具有相同的表示形式 [22,81,140]。具體來說,如果透過排列交換隱藏層的單元,則網路的功能不會改變,這稱為排列對稱性[43, 50]。

這些不變性所帶來的排列對稱性有助於更好地理解損失圖的結構 [22, 66]。不變性也可以被視為損失圖中鞍點的來源[14]。 [68]研究神經網路中對稱性的代數結構以及這種結構如何在損失圖幾何中表現出來。 [14]在高維度平台引入排列點,在該點可以交換神經元,而不會增加損失或參數跳躍。對損失進行梯度下降,調整神經元m和n的參數向量θm和θn,直到向量到達排列點。

基於排列對稱性,權空間中不同區域的解可以產生等價解。等效解位於與原始解相同的區域,具有低損失屏障(盆地),稱為“Re-basin”[3]。與模式連接相比,Re-basin傾向於透過排列而不是低損失隧道的方式將點傳輸到盆地中。目前,對齊是Re-basin的代表性方法[3, 178]。然而,如何有效率地搜尋排列對稱性的所有可能性,使得所有解都指向同一個盆地是當前的挑戰。

如圖是【14】引入排列點交換神經元的示意圖。左:一般對齊過程,模型A參考模型B轉換為模型Ap,然後Ap和B的線性組合產生C。右:調整不同隱藏層兩個神經元的參數向量θm和θn接近排列點,在排列點[14]θ′m = θ′n,兩個神經元計算相同的函數,這表示兩個神經元可以交換。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

對齊透過調整模型的參數使模型更加相似,可以提高模型之間的資訊共享,從而提高融合模型的泛化能力。此外,對齊有助於提高模型在複雜任務上的表現和穩健性。然而,對齊方法面臨著組合優化速度慢的問題。對齊需要額外的計算開銷來調整模型的參數,這可能導致更複雜且耗時的訓練過程,特別是在大深度模型中[142, 204]。

綜上所述,對齊可以提高不同模型之間的一致性和整體效果。隨著DL應用場景的多樣化,對齊將成為優化深度模型融合、提高泛化能力的關鍵方法之一。未來,對齊可以在遷移學習、領域自適應[63]、知識蒸餾等領域發揮作用。例如,對齊可以減少遷移學習中源域和目標域之間的差異,提高對新域的學習 。

由於神經網路參數的高度冗餘,不同神經網路的權值之間通常不存在一一對應的關係。因此,通常不能保證權重平均(WA) 在預設情況下表現良好。對於權重差異較大的訓練網絡,普通平均值表現不佳[204]。從統計的角度來看,WA允許控制模型中的各個模型參數,從而減少最終模型的方差,從而對正則化屬性和輸出結果產生可靠的影響[77, 166]。

下表是WA的代表性方法:

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

快速幾何整合 ( FGE) [66] 和檢查點平均[149] 的啟發,[99]利用恆定或週期性學習率對SGD軌蹟的多個點進行平均,這被視為隨機權重平均(SWA)。 SWA 改進了一系列重要基線的訓練,提供了更好的時間可擴展性。 SWA 不是訓練一組收集的模型(如普通融合),而是訓練單一模型來找到比 SGD 更平滑的解決方案。在下表中列出了與 SWA 相關的方法。此外,SWA 可以應用於任何架構或資料集,並展示比快照整合 (SSE) [91] 和 FGE 更好的效能。在每個週期結束時,對新獲得的權重與現有權重進行平均來更新 SWA 模型。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

然而SWA只能對局部最優點附近的點進行平均,最後得到一個相對最小值,而無法準確逼近最優值。另外,由於某些因素(如前期收斂性差、學習率大、權重變化率快等),最終的輸入樣本偏差可能較大或不充分,導致整體效果不佳。大量工作往往會改變 SWA 的採樣方法。

如圖不同SWA相關方法的取樣與學習率安排比較。 (a) SWA:恆定學習率。 (b)SWA:週期性學習率。 (c)SWAD:密集採樣。 (d)HWA:利用線上和離線WA,以不同的同步週期取樣,滑動視窗長度為h。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

模型湯[239]是指以不同超參微調的模型進行平均的方法。它簡單但有效,在 ImageNet-1K 上實現了 90.94% 的準確率,超過了先前在 CoAtNet-7 (90.88%) [38] 和 ViT-G (90.45%) [255] 上的工作。如表總結了不同的模型湯方法。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

在 多任務學習(MTL )中,預訓練模型和任務向量(即 τi = Wft − Wpre,預訓練模型和微調模型之間的差異)相結合,在所有任務上獲得更好的性能。基於這個觀察,任務算術[94]透過加法和線性組合微調任務向量來提高模型在任務上的性能,這已成為直接編輯預訓練模型的靈活高效的方法,如圖所示:採用任務算術和LoraHub(Low-rank adaptations Hub)。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

另外,子空間中的模型融合將訓練軌跡限制在低維子空間中,可減少負載和難度。

WA 透過平均不同深度模型的權重來獲得最終模型,無需額外的計算複雜性或訓練過程[109, 159]。一般來說,如果隨機模型在表示能力、結構或訓練資料方面有顯著差異,則融合的結果可能無法達到預期的表現。使用相同的超參配置但具有不同的資料順序從頭開始對模型進行線性內插甚至不如隨機模型有效[59]。因此,大量提出的方法旨在以其他數學方式最佳化 WA 過程。

此外,當模型共享其最佳化軌跡的一部分(例如,檢查點平均、尾部平均、SWA [99, 149] 等)或在相同的預訓練模型上進行微調時(例如,模型湯[239] 等),內插模型的準確度表現較好[167]。此外,模型湯[239]對具有不同超參配置的模型進行平均以獲得最終結果。此外,在模型平均值中選擇適當的權重也可能是一個挑戰,這通常充滿主觀性。更複雜的權重選擇機制可能需要大量複雜的試驗和交叉驗證。

WA是深度學習中一種很有前景的技術,未來可以作為模型最佳化技術,減少不同迭代之間的權值波動,提高穩定性和收斂速度。 WA可以改進聯邦學習(FL)的聚合階段,以更好地保護隱私並降低未來的通訊成本。此外,透過在終端設備上實施網路壓縮,可望減少模型在資源受限設備上的儲存空間和運算開銷[250]。簡而言之,WA是一種有前途且具有成本效益的DL技術,可以應用於FL等領域,以提高效能並減少儲存開銷。

整合學習,或稱為多分類器系統,是一種整合多個單一模型來產生最終預測的技術,包括投票、平均[195]等。它提高了整體性能並減少了模型的方差,解決了諸如過擬合、 不穩定,數據量有限。

基於現有的預訓練源模型,模型重用[266]提供了應用於新任務所需的模型,而無需從頭開始重新訓練新模型。它可以節省時間和計算資源,並在資源有限的情況下提供更好的效能[249]。另外,由於遷移學習的重點是解決目標領域上的預測任務,因此模型重複使用可以視為遷移學習的一種。但遷移學習需要源域和目標域的標記數據,而在模型重用中,只能收集未標記的數據,而不能使用源域的數據[153]。

與多分類器整合學習不同,大多數當前方法重複使用現有的特徵、標籤或模態來獲得最終預測[176, 266],而不儲存大量訓練資料[245]。模型重用的另一個關鍵挑戰是從一組針對給定學習任務的預訓練模型中識別有用的模型。

使用單一模型進行模型重複使用會產生過多的同質資訊(例如,在一個領域訓練的模型可能不適合另一個領域的資料),並且很難找到完全適合目標領域的單一預訓練模型。一般來說,用一組相似的模型來產生比單一模型更好的性能,這被表示為多模型重用(MMR)[153]。

下表比較不同複用方法的特點,簡而言之,模型復用可以顯著減少使用預訓練模型所需的資料量,解決不同端之間傳輸資料時消耗大量頻寬的問題。多模型復用也有廣泛的應用,例如語音辨識、安全隱私互動系統、數位視網膜[64]等。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

與聯邦學習[88,89,160]等對模型參數和規模有一定要求的相關模型融合演算法相比,集成學習方法利用預測來組合多個異構弱分類器,沒有這樣的限制。另外,集成方法中不同架構的網路會比WA有更明顯的比較效果。然而,整合方法需要維護和運行多個經過訓練的模型,並在測試時將它們一起運行。考慮到深度學習模型的規模和複雜性,這種方法不適合計算資源和成本有限的應用[204]。

由於整合學習框架的多樣性,可以實現模型多樣性並增強泛化能力。將來,這對於處理資料變化和對抗性攻擊非常重要。深度學習中的整合學習有望為模型預測提供置信度估計和不確定性測量,這對於決策支援系統、自動駕駛[74]、醫療診斷等的安全性和可靠性至關重要。

近年來,深度模型融合領域出現了大量的新研究,也推動了相關應用領域的發展。

聯邦學習

為了解決資料儲存的安全性和集中化挑戰,聯邦學習(FL) [160, 170]允許許多參與模型協作訓練共享的全域模型,同時保護資料隱私,而無需將資料集集中在中央伺服器上。它也可以被視為多-方學習問題[177]。特別是,聚合是 FL 的一個重要過程,它包含了由各方(例如設備、組織或個人)訓練的模型或參數更新。如圖示範了集中式和分散式 FL 中的兩種不同聚合方法。 ,左:中央伺服器和客戶端終端之間的集中式聯邦學習,遷移模型或梯度,最終聚合在伺服器上。右:分散式聯合學習在客戶端終端之間傳輸和聚合模型,無需中央伺服器。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

下表是聯邦學習的不同聚合方法:

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

#簡而言之,FL 中聚合步驟的本質是一種模型融合技術。選擇合理的模型融合方法可以減少特定參與者或個別資料對最終模型的影響,從而提高模型在全局範圍內的泛化能力和適應性。今後良好的聚合方法有望有助於應對聯邦學習中的一系列挑戰。高品質且可擴展的聚合方法預計將面臨FL的一系列挑戰,例如客戶端異質性、非獨立同分佈異質資料、有限的計算資源[141]等。 FL可望展現其潛力在更多領域中,例如自然語言處理、推薦系統[146]、醫學影像分析[144]等。

微調

微調是一個基本模式(例如預訓練模型),是調整模型以執行下游任務的有效方法[23, 41],這可以使用更少的標記數據獲得更好的泛化和更準確的輸出。與隨機初始化相比,預訓練模型是透過相對一組特定於任務的資料來訓練的,這始終是更好的訓練標準起點。儘管如此。現有微調模型 [28, 29] 的平均值甚至是比普通預訓練模型更好的基礎模型,用於對下游任務進行微調。

此外,最近有大量將 WA 與微調結合的工作,如圖所示,例如 model soup [239]、DiWA [190] 等。微調提高了目標分佈的準確性,但往往導致分佈變化的穩健性下降。將微調模型平均的策略可能很簡單,但它們沒有充分利用每個微調模型之間的連結。因此,在目標任務訓練之前先進行中間任務訓練可以探索基礎模型的能力[180,185,224]。受相互訓練策略 [185] 的啟發,[188]微調輔助任務的模型,利用不同的輔助任務並提高分佈外(OOD)泛化能力。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

微調模型的平均值減少了實現目標所需的訓練時間[28],並產生更準確和更好的泛化模型。本質上,不同的微調方式(例如,凍結層微調、頂層微調等)也會對最終的精度和分佈偏移產生一定的影響[240]。然而,WA和微調的結合是昂貴的開銷,對具體應用有一定的限制。此外,它可能面臨保存檢查點爆炸或災難性遺忘的問題[121],特別是應用於遷移學習。

知識蒸餾

知識蒸餾(KD)[83]是整合多個模型的重要方法,涉及以下兩類模型。 教師模型是指在大規模資料上訓練的大型且強大的模型,具有較高的預測能力和表達能力。 學生模型是一個相對較小的模型,具有較少的參數和計算資源 [18, 199]。利用教師的知識(例如輸出機率分佈、隱藏層表示等)指導訓練,學生可以用更少的資源和更快的速度達到接近大型模型的預測能力[2, 119, 124 ,221]。考慮到多個教師或學生的表現預計比單一模型[6]更好,根據聚合目標將 KD 分為兩類,如圖所示。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

第一類方法是合併多個教師模型並直接提取學生模型,如表所示。目前,最近的工作主要整合教師的產出(例如,logits [6,49,252]或特徵) 基礎知識 [143, 241] 等)。

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)

另一種方法是使用教師模型提取多個學生,然後合併這些學生模型。然而,合併多學生也存在一些問題,例如計算資源需求大、解釋性差、過度依賴原始模型等。

基礎模型/LLMs的模型融合

基礎模型在處理複雜任務時表現出強大的性能和突現能力,大型基礎模型的特徵是其龐大的規模,包含數十億個參數,幫助學習數據中的複雜模式。特別是,隨著最近新的LLM [200, 264]的出現,如GPT-3 [17, 172],T5 [187],BERT [41],Megatron-LM,WA的應用[154, 212, 256 ] ] LLM引起了更多關注。

此外,最近的工作 [120, 256] 傾向於設計更好的框架和模組來適應應用LLM。由於高效能和低運算資源,對大型基礎模型進行微調可以提高分佈變化的穩健性[240]。

#

以上是綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

h5項目怎麼運行 h5項目怎麼運行 Apr 06, 2025 pm 12:21 PM

運行 H5 項目需要以下步驟:安裝 Web 服務器、Node.js、開發工具等必要工具。搭建開發環境,創建項目文件夾、初始化項目、編寫代碼。啟動開發服務器,使用命令行運行命令。在瀏覽器中預覽項目,輸入開發服務器 URL。發布項目,優化代碼、部署項目、設置 Web 服務器配置。

Bootstrap圖片居中需要用到flexbox嗎 Bootstrap圖片居中需要用到flexbox嗎 Apr 07, 2025 am 09:06 AM

Bootstrap 圖片居中方法多樣,不一定要用 Flexbox。如果僅需水平居中,text-center 類即可;若需垂直或多元素居中,Flexbox 或 Grid 更合適。 Flexbox 兼容性較差且可能增加複雜度,Grid 則更強大且學習成本較高。選擇方法時應權衡利弊,並根據需求和偏好選擇最適合的方法。

H5頁面製作是否需要持續維護 H5頁面製作是否需要持續維護 Apr 05, 2025 pm 11:27 PM

H5頁面需要持續維護,這是因為代碼漏洞、瀏覽器兼容性、性能優化、安全更新和用戶體驗提升等因素。有效維護的方法包括建立完善的測試體系、使用版本控制工具、定期監控頁面性能、收集用戶反饋和製定維護計劃。

H5頁面製作可以自學嗎 H5頁面製作可以自學嗎 Apr 06, 2025 am 06:36 AM

H5頁面製作自學可行,但並非速成。它需要掌握HTML、CSS和JavaScript,涉及設計、前端開發和後端交互邏輯。實踐是關鍵,通過完成教程、查閱資料、參與開源項目來學習。性能優化也很重要,需要優化圖片、減少HTTP請求和使用合適框架。自學之路漫長,需要持續學習和交流。

Bootstrap列表如何改變大小? Bootstrap列表如何改變大小? Apr 07, 2025 am 10:45 AM

Bootstrap 列表的大小取決於包含列表的容器的大小,而不是列表本身。使用 Bootstrap 的網格系統或 Flexbox 可以控制容器的大小,從而間接調整列表項的大小。

如何優雅地解決換行後Span標籤間距過小的問題? 如何優雅地解決換行後Span標籤間距過小的問題? Apr 05, 2025 pm 06:00 PM

如何優雅地處理換行後的Span標籤間距在網頁佈局中,經常會遇到需要水平排列多個span...

CSS中如何通過旋轉元素實現水平選項的水平滾動效果? CSS中如何通過旋轉元素實現水平選項的水平滾動效果? Apr 05, 2025 pm 10:51 PM

CSS中如何實現水平選項的水平滾動效果?在現代網頁設計中,如何實現類似於水平選項卡的效果,並且支持鼠標...

Bootstrap如何讓圖片在容器中居中 Bootstrap如何讓圖片在容器中居中 Apr 07, 2025 am 09:12 AM

綜述:使用 Bootstrap 居中圖片有多種方法。基本方法:使用 mx-auto 類水平居中。使用 img-fluid 類自適應父容器。使用 d-block 類將圖片設置為塊級元素(垂直居中)。高級方法:Flexbox 佈局:使用 justify-content-center 和 align-items-center 屬性。 Grid 佈局:使用 place-items: center 屬性。最佳實踐:避免不必要的嵌套和样式。選擇適合項目的最佳方法。注重代碼的可維護性,避免犧牲代碼質量來追求炫技

See all articles