亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
一、TensorRT-LLM?的產(chǎn)品定位
#四、TensorRT-LLM?的推理表現(xiàn)
Q4:對(duì)於量化校準(zhǔn)有幾種量化方法,加速比如何?這幾種量化方案效果損失有幾個(gè)點(diǎn)? In-flight branching 中每個(gè) example 的輸出長(zhǎng)度是不知道的,如何做動(dòng)態(tài)的 batching?
Q5:In-flight branching?的 C 介面和 python 介面是否會(huì)保持一致? TensorRT-LLM 安裝成本高,今後是否有改進(jìn)計(jì)畫? TensorRT-LLM 會(huì)和 VLLM 發(fā)展角度有不同嗎?
首頁 科技週邊 人工智慧 揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

Feb 01, 2024 pm 05:24 PM
nvidia 大模型 overflow 推理框架

一、TensorRT-LLM?的產(chǎn)品定位

#TensorRT-LLM是NVIDIA為大型語言模型(LLM)所開發(fā)的可擴(kuò)展推理方案。它基於TensorRT深度學(xué)習(xí)編譯框架建構(gòu)、編譯和執(zhí)行計(jì)算圖,並藉鑒了FastTransformer中高效的Kernels實(shí)作。此外,它還利用NCCL實(shí)現(xiàn)設(shè)備間的通訊。開發(fā)者可以根據(jù)技術(shù)發(fā)展和需求差異,客製化算子以滿足特定需求,例如基於cutlass開發(fā)客製化的GEMM。 TensorRT-LLM是NVIDIA官方推理方案,致力於提供高效能並不斷完善其實(shí)用性。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

TensorRT-LLM在GitHub上開源,分成兩個(gè)分支:Release branch和Dev branch。 Release branch每月更新一次,而Dev branch會(huì)更頻繁地更新來自官方或社群中的功能,方便開發(fā)者體驗(yàn)和評(píng)估最新功能。下圖展示了TensorRT-LLM的框架結(jié)構(gòu),除了綠色TensorRT編譯部分和涉及硬體資訊的kernels外,其他部分都是開源的。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

TensorRT-LLM 也提供了類似Pytorch 的API 來降低開發(fā)者的學(xué)習(xí)成本,並提供了許多預(yù)先定義好的模型供用戶使用。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

由於大語言模型的尺寸較大,可能無法在單張顯示卡上完成推理,因此TensorRT-LLM提供了兩種平行機(jī)制:Tensor Parallelism和Pipeline Parallelism,以支援多卡或多機(jī)推理。這些機(jī)制允許將模型分割成多個(gè)部分,並將其分佈在多個(gè)顯示卡或機(jī)器上進(jìn)行平行計(jì)算,以提高推理效能。 Tensor Parallelism透過將模型參數(shù)分佈在不同裝置上,並同時(shí)計(jì)算不同部分的輸出來實(shí)現(xiàn)平行計(jì)算。而Pipeline Parallelism則將模型分割成多個(gè)階段,每個(gè)階段在不同裝置上並行計(jì)算,將輸出傳遞給下一個(gè)階段,從而實(shí)現(xiàn)整體

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

##二、TensorRT-LLM?的重要特性

TensorRT-LLM是強(qiáng)大的工具,具有豐富的模型支援和低精度推理功能。 首先,TensorRT-LLM支持主流的大語言模型,包括開發(fā)者完成的模型適配,例如Qwen(千問),並已納入官方支援。這意味著用戶可以輕鬆地基於這些預(yù)先定義的模型進(jìn)行擴(kuò)展或定制,方便快速地應(yīng)用到自己的專案中。 其次,TensorRT-LLM預(yù)設(shè)採用FP16/BF16的精確推理方式。這種低精度推理不僅可以提高推理性能,還可以利用業(yè)界的量化方法進(jìn)一步優(yōu)化硬體吞吐。透過降低模型的精確度,TensorRT-LLM可以在不犧牲太多準(zhǔn)確性的前提下,大幅提升推理的速度和效率。 綜上所述,TensorRT-LLM的豐富模型支援和低精度推理功能使得它成為一個(gè)非常實(shí)用的工具。無論是對(duì)於開發(fā)者或研究人員來說,TensorRT-LLM都能夠提供高效的推理解決方案,幫助他們?cè)谏疃葘W(xué)習(xí)應(yīng)用中取得更好的表現(xiàn)表現(xiàn)。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

另一個(gè)特性就是 FMHA(fused multi-head attention) kernel 的實(shí)作。由於 Transformer 中最耗時(shí)的部分是 self-attention 的計(jì)算,因此官方設(shè)計(jì)了 FMHA 來優(yōu)化 self-attention 的計(jì)算,並提供了累加器分別為 fp16 和 fp32 不同的版本。另外,除了速度上的提升外,對(duì)記憶體的佔(zhàn)用也大大降低。我們也提供了基於 flash attention 的實(shí)現(xiàn),可以將 sequence-length 擴(kuò)展到任意長(zhǎng)度。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

如下為 FMHA 的詳細(xì)信息,其中 MQA 為 Multi Query Attention,GQA 為 Group Query Attention。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM#

另外一個(gè) Kernel 是 MMHA(Masked Multi-Head Attention)。 FMHA 主要用於 context phase 階段的計(jì)算,而 MMHA 主要提供 generation phase 階段 attention 的加速,並提供了 Volta 和之後架構(gòu)的支援。相較於 FastTransformer 的實(shí)現(xiàn),TensorRT-LLM 有進(jìn)一步優(yōu)化,效能提升高達(dá) 2x。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

另一個(gè)重要特性是量化技術(shù),以更低精度的方式實(shí)現(xiàn)推理加速。常用量化方式主要分為 PTQ(Post Training Quantization)和 QAT(Quantization-aware Training),對(duì)於 TensorRT-LLM 而言,這兩種量化方式的推理邏輯是相同的。對(duì)於 LLM 量化技術(shù),一個(gè)重要的特點(diǎn)是演算法設(shè)計(jì)和工程實(shí)現(xiàn)的 co-design,也就是對(duì)應(yīng)量化方法設(shè)計(jì)之初,就要考慮硬體的特性。否則,有可能達(dá)不到預(yù)期的推理速度提升。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

TensorRT 中PTQ 量化步驟一般分為以下幾步,首先對(duì)模型做量化,然後對(duì)權(quán)重和模型轉(zhuǎn)化成TensorRT-LLM 的表示。對(duì)於一些客製化的操作,也需要使用者自己編寫 kernels。常用的 PTQ 量化方法包括 INT8 weight-only、SmoothQuant、GPTQ 和 AWQ,這些方法都是典型的 co-design 的方法。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

INT8 weight-only 直接把權(quán)重化到 INT8,但啟動(dòng)值還是保持在 FP16。此方法的好處是模型儲(chǔ)存2x減小,載入 weights 的儲(chǔ)存頻寬減半,達(dá)到了提升推理效能的目的。這種方式業(yè)界稱為 W8A16,即權(quán)重為 INT8,激活值為 FP16/BF16——以 INT8 精度存儲(chǔ),以 FP16/BF16 格式計(jì)算。此方法直觀,不改變 weights,容易實(shí)現(xiàn),具有較好的泛化性能。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

第二個(gè)量化方法是 SmoothQuant,是 NVIDIA 和社群共同設(shè)計(jì)的。它觀察到權(quán)重通常服從高斯分佈,容易量化,但是活化值存在離群點(diǎn),量化比特位利用不高。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

SmoothQuant 透過先對(duì)??激活值做平滑操作即除以一個(gè)scale將對(duì)應(yīng)分佈進(jìn)行壓縮,同時(shí)為了保證等價(jià)性,需要對(duì)權(quán)重乘以相同的scale。之後,權(quán)重和活化都可以量化。對(duì)應(yīng)的儲(chǔ)存和運(yùn)算精度都可以是 INT8 或 FP8,可以利用 INT8 或 FP8 的 TensorCore 進(jìn)行運(yùn)算。在實(shí)作細(xì)節(jié)上,權(quán)重支援 Per-tensor 和 Per-channel 的量化,活化值支援 Per-tensor 和 Per-token 的量化。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

第三個(gè)量化方法是 GPTQ,一種逐層量化的方法,透過最小化重構(gòu)損失來實(shí)現(xiàn)。 GPTQ 屬於 weight-only 的方式,計(jì)算採用 FP16 的資料格式。此方法用在量化大模型時(shí),由於量化本身開銷就比較大,所以作者設(shè)計(jì)了一些 trick 來降低量化本身的開銷,例如 Lazy batch-updates 和以相同順序量化所有行的權(quán)重。 GPTQ 也可以與其他方法結(jié)合如 grouping 策略。並且,針對(duì)不同的情況,TensorRT-LLM 提供了不同的實(shí)現(xiàn)最佳化效能。具體地,對(duì) batch size 較小的情況,用 cuda core 實(shí)作;相對(duì)地,batch size 較大時(shí),採用 tensor core 實(shí)作。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

第四種量化方式是 AWQ。此方法認(rèn)為不是所有權(quán)重都是同等重要的,其中只有 0.1%-1% 的權(quán)重(salient weights)對(duì)模型精確度貢獻(xiàn)較大,且這些權(quán)重取決於活化值分佈而不是權(quán)重分佈。此方法的量化過程類似 SmoothQuant,差異主要在於 scale 是基於活化值分佈計(jì)算所得的。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

除了量化方式之外,TensorRT-LLM 另外一個(gè)提升效能的方式是利用多機(jī)多卡推理。在一些場(chǎng)景中,大模型過大無法放在單一 GPU 上推理,或者可以放下但是影響了計(jì)算效率,都需要多卡或多機(jī)進(jìn)行推理。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

TensorRT-LLM 目前提供了兩種平行策略,Tensor Parallelism 和 Pipeline Parallelism。 TP 是垂直地分割模型然後將各個(gè)部分置於不同的設(shè)備上,這樣會(huì)引入設(shè)備之間頻繁的資料通訊,一般用於設(shè)備之間有高度互聯(lián)的場(chǎng)景,如 NVLINK。另一種分割方式是橫向切分,此時(shí)只有一個(gè)橫前面,對(duì)應(yīng)通信方式是點(diǎn)對(duì)點(diǎn)的通信,適合於設(shè)備通信頻寬較弱的場(chǎng)景。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

最後一個(gè)要強(qiáng)調(diào)的特性是 In-flight batching。 Batching 是提高推理效能一個(gè)比較常用的做法,但在 LLM 推理場(chǎng)景中,一個(gè) batch 中每個(gè) sample/request 的輸出長(zhǎng)度是無法預(yù)測(cè)的。如果依照靜態(tài)batching的方法,一個(gè)batch的延遲取決於 sample/request 中輸出最長(zhǎng)的那個(gè)。因此,雖然輸出較短的 sample/request 已經(jīng)結(jié)束,但是並未釋放計(jì)算資源,其時(shí)延與輸出最長(zhǎng)的那個(gè) sample/request 時(shí)延相同。 In-flight batching 的做法是在已經(jīng)結(jié)束的 sample/request 處插入新的 sample/request。這樣,不但減少了單一 sample/request 的延遲,避免了資源浪費(fèi)問題,同時(shí)也提升了整個(gè)系統(tǒng)的吞吐。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

#三、TensorRT-LLM?的使用流程

TensorRT-LLM 與TensorRT的使用方法類似,首先需要獲得一個(gè)預(yù)先訓(xùn)練好的模型,然後利用TensorRT-LLM 提供的API 對(duì)模型計(jì)算圖進(jìn)行改寫和重建,接著用TensorRT 進(jìn)行編譯最佳化,然後儲(chǔ)存為序列化的engine 進(jìn)行推理部署。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

以Llama 為例,先安裝TensorRT-LLM,然後下載預(yù)訓(xùn)練模型,接著利用TensorRT-LLM 對(duì)模型進(jìn)行編譯,最後進(jìn)行推理。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

對(duì)於模型推理的調(diào)試,TensorRT-LLM 的調(diào)試方式與 TensorRT 一致。由於深度學(xué)習(xí)編譯器,即 TensorRT,提供的最佳化之一是 layer 融合。因此,如果要輸出某層的結(jié)果,就需要將對(duì)應(yīng)層標(biāo)記為輸出層,以防止被編譯器最佳化掉,然後再與 baseline 進(jìn)行比較分析。同時(shí),每標(biāo)記一個(gè)新的輸出層,都要重新編譯 TensorRT 的 engine。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

對(duì)於自訂的層,TensorRT-LLM 提供了許多 Pytorch-like 算子可協(xié)助使用者實(shí)作功能而不必自己編寫 kernel。如範(fàn)例所示,利用 TensorRT-LLM 提供的 API 實(shí)作了 rms norm 的邏輯,TensorRT 會(huì)自動(dòng)產(chǎn)生 GPU 上對(duì)應(yīng)的執(zhí)行程式碼。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

如果使用者有更高的效能需求或TensorRT-LLM 並未提供實(shí)作對(duì)應(yīng)功能的building blocks,此時(shí)需要使用者自訂kernel ,並封裝為plugin 供TensorRT-LLM 使用。範(fàn)例程式碼是將 SmoothQuant 定制 GEMM 實(shí)作並封裝成 plugin 後,供 TensorRT-LLM 呼叫的範(fàn)例程式碼。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

#四、TensorRT-LLM?的推理表現(xiàn)

關(guān)於效能、設(shè)定等細(xì)節(jié)都可以在官網(wǎng)看到,在此不做詳細(xì)介紹。該產(chǎn)品從立項(xiàng)開始一直與國(guó)內(nèi)許多大廠都有合作。透過回饋,一般情況下,TensorRT-LLM 從效能角度來說是目前最好的方案。由於技術(shù)迭代、最佳化手段、系統(tǒng)最佳化等眾多因素會(huì)影響效能,且變化非???,這裡就不詳細(xì)展開介紹 TensorRT-LLM 的效能資料。大家如果有興趣,可以去官方了解細(xì)節(jié),這些表現(xiàn)都是可重現(xiàn)的。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

值得一提的是,TensorRT-LLM 跟自己之前的版本比,效能有持續(xù)地提升。如上圖所示,在 FP16 基礎(chǔ)上,採用了 KVQuant 後,速度一致的情況下降低了顯存的使用量。使用 INT8,可以看到明顯的吞吐的提升,同時(shí)顯存用量進(jìn)一步降低。可見,隨著 TensorRT-LLM 最佳化技術(shù)的持續(xù)演進(jìn),效能會(huì)有持續(xù)地提升。這個(gè)趨勢(shì)會(huì)持續(xù)維持。

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM

################################################################################################################################################。 LLM 是一個(gè)推理成本很高、成本敏感的場(chǎng)景。我們認(rèn)為,為了實(shí)現(xiàn)下一個(gè)百倍的加速效果,需要演算法和硬體的共同迭代,透過軟硬體之間 co-design 來達(dá)到這個(gè)目標(biāo)。硬體提供更低精度的量化,而軟體角度則利用最佳化量化、網(wǎng)路剪枝等演算法,進(jìn)一步提升效能。 #####################TensorRT-LLM,未來 NVIDIA 會(huì)持續(xù)致力於提升 TensorRT-LLM 的效能。同時(shí)透過開源,收集回饋和意見,提高它的易用性。另外,圍繞易用性,會(huì)開發(fā)、開源更多應(yīng)用工具,如 Model zone 或量化工具等,完善與主流框架的兼容性,提供從訓(xùn)練到推理和部署端到端的解決方案。 ################################################################################################################## #####Q1:是否每一次計(jì)算輸出都要反量化?做量化出現(xiàn)精度溢出怎麼辦? ############A1:目前 TensorRT-LLM 提供了兩類方法,即 FP8 和剛才提到的 INT4/INT8 量化方法。低精確度如果 INT8 做 GEMM 時(shí),累加器會(huì)採用高精確度資料類型,如 fp16,甚至 fp32 以防止 overflow。關(guān)於反量化,以 fp8 量化為例,TensorRT-LLM 最佳化計(jì)算圖時(shí),可能動(dòng)自動(dòng)移動(dòng)反量化結(jié)點(diǎn),合併到其它的操作中達(dá)到最佳化目的。但對(duì)於前面介紹的 GPTQ 和 QAT,目前是透過硬編碼寫在 kernel 中,沒有統(tǒng)一量化或反量化節(jié)點(diǎn)的處理。 ############Q2:目前是針對(duì)具體模型專門做反量化嗎? ############A2:目前的量化的確是這樣,針對(duì)不同的模型做支援。我們有計(jì)劃做一個(gè)更乾淨(jìng)的api或透過配置項(xiàng)的方式來統(tǒng)一支持模型的量化。 ############Q3:針對(duì)最佳實(shí)踐,是直接使用 TensorRT-LLM 還是與 Triton Inference Server 結(jié)合在一起使用?如果結(jié)合使用是否會(huì)有特性上的缺失? ############A3:因?yàn)橛行┕δ芪撮_源,如果是自己的 serving 需要做適配工作,如果是 triton 則是一套完整的方案。 ######

Q4:對(duì)於量化校準(zhǔn)有幾種量化方法,加速比如何?這幾種量化方案效果損失有幾個(gè)點(diǎn)? In-flight branching 中每個(gè) example 的輸出長(zhǎng)度是不知道的,如何做動(dòng)態(tài)的 batching?

A4:關(guān)於量化性能可以私下聊,關(guān)於效果,我們只做了基本的驗(yàn)證,確保實(shí)現(xiàn)的kernel 沒問題,並不能保證所有量化算法在實(shí)際業(yè)務(wù)中的結(jié)果,因?yàn)檫€有些無法控制的因素,例如量化用到的資料集及影響。關(guān)於 in-flight batching,是指在 runtime 的時(shí)候去偵測(cè)、判斷某個(gè) sample/request 的輸出是否結(jié)束。如果是,再將它到達(dá)的 requests 插進(jìn)來,TensorRT-LLM 不會(huì)也無法預(yù)告預(yù)測(cè)輸出的長(zhǎng)度。

Q5:In-flight branching?的 C 介面和 python 介面是否會(huì)保持一致? TensorRT-LLM 安裝成本高,今後是否有改進(jìn)計(jì)畫? TensorRT-LLM 會(huì)和 VLLM 發(fā)展角度有不同嗎?

A5:我們會(huì)盡量提供 c runtime 和 python runtime 一致的接口,已經(jīng)在規(guī)劃當(dāng)中。先前團(tuán)隊(duì)的重點(diǎn)在提升效能、完善功能上,以後在易用性方面也會(huì)不斷改善。這裡不好直接跟 vllm 的比較,但 NVIDIA 會(huì)持續(xù)加大在 TensorRT-LLM 開發(fā)、社群和客戶支援的投入,為業(yè)界提供最好的 LLM 推理方案。

以上是揭露NVIDIA大模型推理架構(gòu):TensorRT-LLM的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
H5頁面製作是前端開發(fā)嗎 H5頁面製作是前端開發(fā)嗎 Apr 05, 2025 pm 11:42 PM

是的,H5頁面製作是前端開發(fā)的重要實(shí)現(xiàn)方式,涉及HTML、CSS和JavaScript等核心技術(shù)。開發(fā)者通過巧妙結(jié)合這些技術(shù),例如使用<canvas>標(biāo)籤繪製圖形或使用JavaScript控制交互行為,構(gòu)建出動(dòng)態(tài)且功能強(qiáng)大的H5頁面。

如何通過JavaScript或CSS控制瀏覽器打印設(shè)置中的頁首和頁尾? 如何通過JavaScript或CSS控制瀏覽器打印設(shè)置中的頁首和頁尾? Apr 05, 2025 pm 10:39 PM

如何使用JavaScript或CSS控制瀏覽器打印設(shè)置中的頁首和頁尾在瀏覽器的打印設(shè)置中,有一個(gè)選項(xiàng)可以控制是否顯?...

在移動(dòng)端如何兼容多行溢出省略? 在移動(dòng)端如何兼容多行溢出省略? Apr 05, 2025 pm 10:36 PM

移動(dòng)端多行溢出省略在不同設(shè)備上的兼容問題在使用Vue2.0開發(fā)移動(dòng)端應(yīng)用時(shí),常常會(huì)遇到需要對(duì)文本進(jìn)行多行溢...

為什麼inline-block元素會(huì)出現(xiàn)錯(cuò)位現(xiàn)象?如何解決這個(gè)問題? 為什麼inline-block元素會(huì)出現(xiàn)錯(cuò)位現(xiàn)象?如何解決這個(gè)問題? Apr 04, 2025 pm 10:39 PM

關(guān)於inline-block元素錯(cuò)位顯示的原因及解決方案在編寫網(wǎng)頁佈局時(shí),我們常常會(huì)遇到一些看似奇怪的顯示問題。比...

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

Bootstrap 列表的大小取決於包含列表的容器的大小,而不是列表本身。使用 Bootstrap 的網(wǎng)格系統(tǒng)或 Flexbox 可以控制容器的大小,從而間接調(diào)整列表項(xiàng)的大小。

如何通過CSS自定義resize符號(hào)並使其與背景色統(tǒng)一? 如何通過CSS自定義resize符號(hào)並使其與背景色統(tǒng)一? Apr 05, 2025 pm 02:30 PM

CSS自定義resize符號(hào)的方法與背景色統(tǒng)一在日常開發(fā)中,我們經(jīng)常會(huì)遇到需要自定義用戶界面細(xì)節(jié)的情況,比如調(diào)...

centos安裝mysql centos安裝mysql Apr 14, 2025 pm 08:09 PM

在 CentOS 上安裝 MySQL 涉及以下步驟:添加合適的 MySQL yum 源。執(zhí)行 yum install mysql-server 命令以安裝 MySQL 服務(wù)器。使用 mysql_secure_installation 命令進(jìn)行安全設(shè)置,例如設(shè)置 root 用戶密碼。根據(jù)需要自定義 MySQL 配置文件。調(diào)整 MySQL 參數(shù)和優(yōu)化數(shù)據(jù)庫以提升性能。

如何使用CSS的clip-path屬性實(shí)現(xiàn)分段器的45度曲線效果? 如何使用CSS的clip-path屬性實(shí)現(xiàn)分段器的45度曲線效果? Apr 04, 2025 pm 11:45 PM

如何實(shí)現(xiàn)分段器的45度曲線效果?在實(shí)現(xiàn)分段器的過程中,如何讓點(diǎn)擊左側(cè)按鈕時(shí)右側(cè)邊框變成45度曲線,而點(diǎn)?...

See all articles