Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
目前,大模型的發展已經非常火熱,關于大模型的訓練、微調也是各個公司重點關注方向。但是大模型訓練的痛點是模型參數過大,動輒上百億,如果單靠單個GPU來完成訓練基本不可能。所以需要多卡或者分布式訓練來完成這項工作。
1.1 目前主流的大模型分布式訓練主要包括兩種:
?數據并行訓練
?模型并行訓練
DeepSpeed是由Microsoft提供的分布式訓練工具,旨在支持更大規模的模型和提供更多的優化策略和工具。對于更大模型的訓練來說,DeepSpeed提供了更多策略,例如:Zero、Offload等。
分布式訓練需要掌握分布式環境中的基礎配置,包括節點變化、全局進程編號、局部進程編號、全局總進程數、主節點等。這些組件都跟分布式訓練緊密相關,同時組件之間也有非常大的聯系,例如通信聯系等。
既然是分布式訓練,那機器之間必須要保持通信,這樣才可以傳輸模型參數,梯度參數等信息。
DeepSpeed提供了mpi、gioo、nccl等通信策略
通信策略 | 通信作用 |
mpi | 它是一種跨界點的通信庫,經常用于CPU集群的分布式訓練 |
gloo | 它是一種高性能的分布式訓練框架,可以支持CPU或者GPU的分布式訓練 |
nccl | 它是nvidia提供的GPU專用通信庫,廣泛用于GPU上的分布式訓練 |
我們在使用DeepSpeed進行分布式訓練的時候,可以根據自身的情況選擇合適的通信庫,通常情況下,如果是GPU進行分布式訓練,可以選擇nccl。
Microsoft開發的Zero可以解決分布式訓練過程中數據并行和模型并行的限制。比如: Zero通過在數據并行過程中劃分模型狀態(優化器、梯度、參數),來解決數據并行成可能出現內存冗余的情況(正常數據并行訓練,模型全部參數是復制在各個機器上的);同時可以在訓練期間使用動態通信計劃,在分布式設備之間共享重要的狀態變量,這樣保持計算粒度和數據并行的通信量。
Zero是用于大規模模型訓練優化的技術,它的主要目的是減少模型的內存占用,讓模型可以在顯卡上訓練,內存占用主要分為Model States和Activation兩個部分,Zero主要解決的是Model States的內存占用問題。
Zero將模型參數分成三個部分:
狀態 | 作用 |
Optimizer States | 優化器在進行梯度更新的時候需要用到的數據 |
Gradient | 在反向轉播過程中產生的數據,其決定參數的更新方向 |
Model Parameter | 模型參數,在模型訓練過程中通過數據“學習”的信息 |
Zero的級別如下:
級別 | 作用 |
Zero-0 | 不使用所有類型的分片,僅使用DeepSpeed作為DDP |
Zero-1 | 分割Optimizer States, 減少4倍內存,通信容量和數據并行性相同 |
Zero-2 | 分割Optimizer States和Gradients,減少8倍內存,通信容量和數據并行性相同 |
Zero-3 | 分割Optimizer States、gradients、Parametes,內存減少與數據并行度呈線性關系。例如,在64個GPU(Nd=64)之間進行拆分將產生64倍的內存縮減。通信量有50%的適度增長 |
Zero-Infinity | Zero-Infinity是Zero-3的擴展,它允許通過使用 NVMe 固態硬盤擴展 GPU 和 CPU 內存來訓練大型模型 |
相比GPU,CPU就相對比較廉價,所以Zero-Offload思想是將訓練階段的某些模型狀態放(offload)到內存以及CPU計算。?
??Zero-Offload不希望為了最小化顯存占用而讓系統計算效率下降,但如果使用CPU也需要考慮通信和計算的問題(通信:GPU和CPU的通信;計算:CPU占用過多計算就會導致效率降低)。
Zero-Offload想做的是把計算節點和數據節點分布在GPU和CPU上,計算節點落到哪個設備上,哪個設備就執行計算,數據節點落到哪個設備上,哪個設備就負責存儲。
Zero-Offload切分思路:
下圖中有四個計算類節點:FWD、BWD、Param update和float2half,前兩個計算復雜度大致是 O(MB), B是batch size,后兩個計算復雜度是 O(M)。為了不降低計算效率,將前兩個節點放在GPU,后兩個節點不但計算量小還需要和Adam狀態打交道,所以放在CPU上,Adam狀態自然也放在內存中,為了簡化數據圖,將前兩個節點融合成一個節點FWD-BWD Super Node,將后兩個節點融合成一個節點Update Super Node。如下圖右邊所示,沿著gradient 16和parameter 16兩條邊切分。?
??Zero-Offload計算思路:
在GPU上面進行前向和后向計算,將梯度傳給CPU,進行參數更新,再將更新后的參數傳給GPU。為了提高效率,可以將計算和通信并行起來,GPU在反向傳播階段,可以待梯度值填滿bucket后,一遍計算新的梯度一遍將bucket傳輸給CPU,當反向傳播結束,CPU基本上已經有最新的梯度值了,同樣的,CPU在參數更新時也同步將已經計算好的參數傳給GPU,如下圖所示。?
?2.5 混合精度:
混合精度訓練是指在訓練過程中同時使用FP16(半精度浮點數)和FP32(單精度浮點數)兩種精度的技術。使用FP16可以大大減少內存占用,從而可以訓練更大規模的模型。但是,由于FP16的精度較低,訓練過程中可能會出現梯度消失和模型坍塌等問題。
DeepSpeed支持混合精度的訓練,可以在config.json配置文件中設置來啟動混合精度("fp16.enabled":true)。在訓練的過程中,DeepSpeed會自動將一部分操作轉化為FP16格式,并根據需要動態調整精度縮放因子,來保證訓練的穩定性和精度。
在使用混合精度訓練時,需要注意一些問題,例如梯度裁剪(Gradient Clipping)和學習率調整(Learning Rate Schedule)等。梯度裁剪可以防止梯度爆炸,學習率調整可以幫助模型更好地收斂。
DeepSpeed方便了我們在機器有限的情況下來訓練、微調大模型,同時它也有很多優秀的性能來使用,后期可以繼續挖掘。
目前主流的達模型訓練方式: GPU + PyTorch + Megatron-LM + DeepSpeed
優勢
1.存儲效率:DeepSpeed提供了一種Zero的新型解決方案來減少訓練顯存的占用,它與傳統的數據并行不同,它將模型狀態和梯度進行分區來節省大量的顯存;
2.可擴展性:DeepSpeed支持高效的數據并行、模型并行、pipeline并行以及它們的組合,這里也稱3D并行;
3.易用性: 在訓練階段,只需要修改幾行代碼就可以使pytorch模型使用DeepSpeed和Zero。
參考:
1. http://wed.xjx100.cn/news/204072.html?action=onClick
2. https://zhuanlan.zhihu.com/p/513571706
作者:京東物流 鄭少強
來源:京東云開發者社區 轉載請注明來源
看個錨點定位的例子
發現頁面唰的一些就到頂部了,快到我們懵逼了。。。
開始解決
CSS屬性 scroll-behavior 為一個滾動框指定滾動行為,其他任何的滾動,例如那些由于用戶行為而產生的滾動,不受這個屬性的影響。在根元素中指定這個屬性時,它反而適用于視窗。
scroll-behavior:smooth 寫在滾動容器元素上,可以讓容器的滾動變得平滑。
在網頁默認滾動是在<html>標簽上,移動端大多數在<body>標簽上。
我們可以這樣加:
html, body { scroll-behavior:smooth; }
加了以后的效果如下:
這是錄制的GIF圖,效果沒那么好。 大家可以動手試一下,滑動體驗非常不錯。
兼容性不夠好
當然我們可以通過js來做個類似
DOM元素的scrollIntoView() 方法讓當前的元素滾動到瀏覽器窗口的可視區域內,通過觸發滾動容器的定位實現。
DOM元素的scrollIntoView()方法 是原生JS 兼容到IE6,兼容性非常好。
參數如下
{ behavior: "auto" | "instant" | "smooth", // 默認 auto block: "start" | "center" | "end" | "nearest", // 默認 center inline: "start" | "center" | "end" | "nearest", // 默認 nearest }
解釋一下這三個參數:
用法:
html:
<div class="wrap"> <div onClick="onScrollIntoView()">點擊讓黑色塊到頂部</div> <ul class="body"> <li>1</li> <li>2</li> <li id="box">我是黑色</li> <li>3</li> <li>4</li> </ul> </div>
js:
function onScrollIntoView () { var element=document.getElementById("box"); element.scrollIntoView({behavior: "smooth"}); }
效果:
這回大家再也不用害怕做錨點定位啦。
最后我們在說一個關于頁面滾動問題吧,那就是 返回頂部 功能實現
我們常用定時器 setInterval 來不斷減去高度。
如:當前距離頂部 1000, 我們每10毫秒減50,
var timer=setInterval(function() { // 定時器 每10毫秒執行一次 // 頂部距離 document.body.scrollTop=1000 var speed=50 // 返回頂部速度 document.body.scrollTop=document.body.scrollTop - speed if (document.body.scrollTop===0) { // 返回到達頂部后, 銷毀定時器 clearInterval(timer) } }, 10)
效果:
大家會發現,頁面返回是滾動起來很干。 沒10毫秒減50. 很平均,在交互上效果并不好。
借鑒上面 scroll-behavior:smooth 的交互效果。 緩動的返回頂部。
改一下計算方式:1000/2=500, 500/2=250, 250/2=...... 這樣滑動起來是不是就平滑了呢?
換算成公式:開始位置=開始位置 + (結束位置 - 開始位置) / 速度
document.body.scrollTop=1000 + (0 - 1000) / 2
公式太煩了還是上代碼吧:
var onTop=function (a, b, c, d) { if (a==b || typeof a !='number') { return } b=b || 0 c=c || 2 var speed=function () { a=a + (b - b) / c if (a < 1) { d(b, true) return } d(a, false) requestAnimationFrame(speed) } speed() }
調用:
var target=document.body.scrollTop ? document.body : document.documentElement onTop(target.scrollTop, 0, 4, function (value) { target.scrollTop=value })
效果:
Ps: gif錄制效果不好,大家可以動手寫一下DEMO
者:黑山老妖LYN
為了爭奪入門級SSD的市場份額,從2015年開始很多廠家都先后推出了采用TLC NAND顆粒的SSD產品,價格也不斷的創出新低。一直沒有推出TLC SSD的intel和浦科特兩家一線廠家也都在近期高調發布TLC SSD新品。之前炒得很熱門的浦科特第一款TLC SSD產品M7V現在已經正式上市,M7V按照接口的不同又細分為兩個型號:SATA接口的為M7VC,M.2接口的為M7VG。零售價格是:SATA接口M7VC中128G定價279元,256G定價459元,512G定價869元。M.2接口的M7VG中128G定價369元,256G定價569元,512G定價1239元。這個定價已經與很多低端MLC SSD持平,那么廉價的入門級SSD應該怎么選?是買高端TLC SSD,還是買低端MLC SSD呢?這次就通過M7V的實測來幫大家分析一下。
浦科特 M7VG 128G M.2 2280固態硬盤
先來看看這次的主角:M.2接口的浦科特M7VG 256G。M7V M.2接口與SATA接口一樣都是采用新一代的Marvell 88SS1074主控+東芝原廠15nm eTLC NAND顆粒。
M.2接口的浦科特M7V,在包裝上要比SATA接口版本的包裝Q很多,透明塑料的包裝外殼,包裝盒正面按照老慣例標明了具體型號和各個不同容量版本SSD的最大讀寫速度,M.2接口的具體型號為M7VG,而SATA接口的具體型號為M7VC。M.2版本的外包裝上沒有和SATA版本那樣詳細的注明緩存、電壓、電流、MTBF等參數,同樣也未注明是采用TLC NAND顆粒。
M.2版本的SSD在外觀上就肯定沒有SATA版本那么花哨了,沒有彩色的外殼,只有裸露的PCB加上各種芯片。不過浦科特M7V上貼了很多標簽,如果要看清楚各種芯片,就需要把標簽撕下來,我個人的做法是用吹風筒的熱風輕輕吹一下,就可以揭開各種標簽,注意不要整個撕下來,輕輕卷到一邊就好,等下用熱風再吹一下,就可以卷回去,不影響保修。M.2接口的M7V是2280的規格,綠色PCB的正面是一個主控芯片+一個緩存顆粒+兩個NAND顆粒。PCB的背面則是空白一片。
M.2接口也稱為NGFF接口,基于PCIE M.2協議。與SATA接口不同,M.2占用的是PCIE通道,因此它可以獲得更充裕的帶寬和更快的傳輸速度。目前SATA3接口的理論傳輸速率最高只有6Gb/s,大概相當于600MB/s的傳輸速度。面對飛速提升的固態硬盤讀寫速度,SATA3接口已經成為高速公路上的瓶頸。而M.2接口的理論傳輸速率可以達到10Gb/s,相當于1G/s的傳輸速度,部分走PCIE 3.0總線的Ultra M.2甚至號稱達到32Gb/s。M.2接口的設計非常靈活,可以通過金手指部分的兩個缺口來定義接口模式。小的缺口是B key,單獨使用B key時為“Socket2”,此時僅運行在PCI-E 2X傳輸模式下,速度較低但可以提高對SATA3的兼容性。大的缺口為M key,當B key和M key同時使用時為“Socket3”,此時運行在PCI-E 4X傳輸模式下,真正發揮M.2接口的速度優勢。主板上的M.2接口上一般都有“Socket2”或者“Socket3”的標識。
M.2接口的M7V使用的主控芯片與SATA版本一樣,都是Marvell的第五代SATA主控88SS1074B1,這是一款針對15nm NAND Flash推出的四通道主控,最高只能支持512G容量。其特點如下:
支持SATA 6Gb/s接口標準;
采用先進的28nm CMOS制造工藝;
可以支持15nm制程的TLC/MLC/SLC和3D堆棧閃存;
支持DEVSLP休眠模式以實現低功耗;
以400MT/s的速率支持ONFI 3/Toggle 2接口標準;
支持256位AES加密技術。另外還支持Marvell的第三代NANDEdge糾錯技術和LDPC低密度奇偶校驗技術。
從浦科特官方的宣傳資料來看,M.2接口的M7V和SATA版本一樣,支持 PlexTurbo 、PlexCompressor、PlexVault 三個浦科特自家的SSD 應用軟件。在使用壽命方面,官方說法是最高支持2000PE。與之前浦科特采用MLC NAND的SSD有所不同的是,M7V新增了PlexNitro效能優化緩沖技術,我們知道,之前浦科特采用MLC NAND的SSD都沒有采用SLC Cache技術來提高使用體驗。而M7V是TLC SSD,所以現在同樣也需要使用SLC Cache技術。浦科特官方的資料中也說明了PlexNitro是以“SLC Mode”優化效能表現,并且標明了各個容量版本的SLC Cache空間大小。
128G版本的Cache空間為1.5GB,256G版本的Cache空間為3GB,512G版本(官方圖片資料中錯標為521GB)的Cache空間為6GB。
緩存由單個南亞的緩存顆粒組成,編號分別為NT5CC256M16DP-DI,為DDR3L 1600顆粒,CL=11,容量為512MB。
NAND顆粒編號TH58TFT0UHLBAEF,從編號上來看,是BGA封裝的東芝原廠Toggle NAND,15nm制程,屬于企業級的eTLC,單顆容量為128GB,一共兩顆組成256G。
一個SSD的性能主要由主控芯片、緩存、NAND顆粒三者共同決定,其中最關鍵的是主控和NAND。主控除了決定性能外,還確定了SSD在糾錯、垃圾回收、壓縮算法等方面的特點。NAND除了決定性能外,還關系到SSD的使用壽命等問題。目前最常見的NAND有SLC、MLC、TLC三種。SLC速度快、壽命長,具有約10萬次擦寫壽命,但是價格昂貴,目前只有少數高端企業級產品在使用;MLC的速度與壽命都遜于SLC,大概5000次擦寫壽命,但是因為價格適中,目前被主流SSD廣泛使用;TLC速度比MLC更慢、壽命更短,約500—1000次擦寫壽命,但是價格更加便宜,目前一般被低端SSD所使用。
為了提高MLC的壽命,很多廠家在生產MLC時會對晶圓進行篩選,選出部分優質的晶圓作為企業級的eMLC顆粒。廠家還通過調整eMLC的內部參數來達到增加P/E的目的,現在eMLC的PE甚至可以達到10000次。目前TLC SSD普及的有利因素是價格,不利因素則是使用壽命問題。很多NAND廠家就通過篩選TLC晶圓來生產eTLC顆粒,即企業級的TLC顆粒,目前東芝eTLC NAND已經號稱能夠達到2000 PE的水平,雖然達不到MLC的3000-5000 PE,但是比普通的TLC提升了一倍。
下面就來實測M.2接口的浦科特M7V的實際性能究竟怎么樣。
測試平臺用我新入手的ROG Maximus VIII Formula主板,搭配我托人從TW帶回來的特挑威剛XPG Z1 DDR4 3200。M8F主板主打RBG信仰燈,顏值秒殺仲基老公。威剛XPG Z1 DDR4 3200雖然不是燈條,但是默認小參非常喜人,XMP直接上DDR4 3200 16-16-16-36,電壓1.35V,海力士SKhynix H5AN4G8NMFR-TFC顆粒,金黃色馬甲。默認電壓模式時序輕松上DDR4 3466。
首先測SSD的常規五項:AS SSD Benchmark、CrystalDisk Mark、ATTO Disk Benchmark、Anvil’s Storage Utilities、TxBENCH。這五款軟件都能夠測試SSD的最大持續讀寫速度,AS SSD Benchmark可以測得SSD在隊列深度QD64下的隨機4K讀寫速度,CrystalDisk Mark和TxBENCH可以測得SSD在隊列深度QD32下的隨機4K讀寫速度,Anvil’s Storage UtilitiesSSD可以測得隊列深度QD4、QD16下的隨機4K讀寫速度。ATTO Disk Benchmark則主要是測SSD的最高持續讀寫速度。
在AS SSD Benchmark測試中,浦科特M7VG的得分達到了1136分,Anvil’s Storage Utilities的得分為4552.60,這兩個分數都與SATA接口的M7VC 512G非常接近,已經超過了大多數的中端MLC SSD,是目前為止我見過的跑分最高的TLC SSD。CrystalDisk Mark測得的持續寫入速度達到了535 MB/s。在各個隊列深度下的隨機4K讀寫性能也都非常不錯。目前TLC SSD最大的短板就是持續寫入速度和深隊列下的隨機4K寫入性能。而M7VG的理論性能測試成績比之前已經算很強的OCZ Trion150系列還要好,這主要是得益于Marvell 88SS1074主控和更先進的SLC Cache機制。
測試成績匯總對比與結果分析:
在上面幾個軟件的理論性能測試中,浦科特M7VG 256G的表現基本和SATA接口的M7VC 512G持平,可見基于SATA主控的SSD產品,不管是采用M.2接口還是SATA接口,其性能本質依然是SATA級別的,并不會因為采用了M.2接口就有量的提高。在與其他二十幾款SSD的橫向對比中,M7V依靠SLC Cache的爆發力,在SSD的常規五項測試中甚至超越了很多MLC SSD,很多測試成績居然和浦科特3月新發布的M6S+非常接近。而且還有一點就是單隊列的隨機4K寫入性能偏弱,很多測試中速度只有100MB/s左右,這個可能與主板M.2接口走PCH的延時較高有關系。整體來說,M7V的理論測試成績已經是非常的不錯,不僅完勝其他幾款TLC SSD,甚至能夠躋身中端MLC SSD的性能水平。不過這僅僅是理論性能測試,后面還有實際應用的測試。
接著進行滿盤的性能衰減測試,按照慣例使用軟件對M7V進行反復的大量數據寫入,寫滿、刪除、再寫滿、再刪除。當M7V被反復填滿數據后,再刪除2GB數據以提供空間給運行CrystalDisk Mark使用。M7V即使在幾乎100%空間被占用的情況下,依然能夠保持接近空盤時的性能,這個應該得益于更加先進的SLC Cache機制和浦科特的True Speed技術。
由于TLC NAND的寫入性能要低于MLC NAND,所以目前幾乎所有的TLC SSD都采用了SLC Cache技術來提高測試成績、改善用戶使用體驗。SLC Cache技術的原理其實很簡單,就是把部分空間模擬SLC顆粒來運作,各個廠家的具體操作方式又各不相同,用于SLC Cache的空間大小設置也不同。
前面已經提到過,浦科特M7V系列中128G版本的SLC Cache空間為1.5GB,256G版本的SLC Cache空間為3GB,512G版本的SLC Cache空間為6GB。下面來對比一下M7V的SLC Cache機制。對比參照物選擇的是240G的OCZ Trion150,因為Trion150同樣非常強悍,而且SLC Cache空間大小的設置與M7V比較接近。OCZ Trion150采用群聯S10主控+東芝原廠15nm制程的 TLC NAND顆粒,240G版本的SLC Cache空間大小約為4.5G。同樣用于對比的還有SATA接口的M7V 512G(SLC Cache空間大小約為6G)。
下圖是三個盤在測試數據模塊分別設置為1GB、2GB、4GB、8GB、16GB時的CrystalDisk Mark測試圖,左邊為浦科特M7VC 512G(SATA),中間為M7VG 256G(M.2),右邊為OCZ Trion150 240G。
在我以前測試過的TLC SSD中,當持續寫入的數據模塊大于SLC Cache空間大小時,持續寫入性能就會出現斷層式的下降,下降到TLC NAND的真實寫入性能水平。而且此時主控會忙于盡快清理出更多的SLC Cache空間來供給測試使用,主控和緩存資源都被極大的占用,因此會影響到SSD的整體性能,尤其是深隊列下的4K隨機讀寫成績。
當測試數據模塊的大小設置為4GB時,雖然未達到OCZ Trion150的4.5GB SLC Cache空間的容量,但是Trion150的QD32持續寫入速度和QD32隨機4K讀寫速度已經出現了大幅度的下降。把測試數據模塊的大小增加到8GB和16GB之后,Trion150的但單隊列持續寫入也同樣出現了大幅度下降。再來看看M7V的表現,當測試數據模塊的大小設置為4GB時,測試數據小于M7VC 512G的6GB SLC Cache,而大于M7VG 256G的3GB SLC Cache,因此M7VG 256G的主控開始要對SLC Cache空間進行清理,因此QD32的隨機4K寫入性能稍微出現了下降。而M7VC 512G的性能則變化不大。把測試數據模塊的大小增加到8GB之后,測試數據模塊已經都大于兩款M7V的SLC Cache空間大小,但是兩款M7V的性能下降幅度也并不大,尤其是M7VC 512G,性能下降非常微弱。而M7VG 256G的單隊列持續讀寫和單隊列隨機4K讀取性能下降的幅度就比M7VC 512G要大,此時SLC Cache空間大小的差距就體現了出來。當測試數據模塊的大小設置為16GB時,M7VG 256G在性能上的下降幅度就比M7VC 512G要更明顯一些。
通過以上的數據對比,基本上可以得出兩個結論,第一是浦科特M7V所采用的Marvell 88SS1074主控在處理SLC Cache空間溢出時效率更高,在SLC Cache空間稍微不夠用的情況下,主控通過及時的數據整理能夠在很大程度上消除SLC Cache空間數據溢出對性能的影響。而當測試數據模塊明顯大于SLC Cache空間大小時(例如測試數據模塊為16GB時)。Marvell 88SS1074主控表現出了很強的“救火”能力,雖然各項讀寫速度均有小幅度的下降,但是在QD32隊列下的4K隨機讀寫性能下降幅度明顯要小于采用群聯S10主控的OCZ Trion150。這個特點正好針對以往TLC SSD在遇到SLC Cache空間爆倉時出現深隊列下隨機4K讀寫性能暴降的缺點做了積極的彌補。第二則是針對浦科特M7V同系列的SSD,容量越大其SLC Cache空間越大,在應付SLC Cache空間爆倉時的救火能力也就越強,因此如果預算允許的話,還是應該盡量購買更大容量的M7V。
PCMARK8是目前最接近實際使用環境的模擬測試軟件,其中存儲設備測試部分有游戲、辦公、圖形處理等幾個項目,其測試成績比前面常規五項的幾個軟件都更能真實的反映出SSD的實戰性能。更確切的說,是在家用、游戲以及普通辦公情況下的SSD實際性能。在反復滿盤寫入、刪除后進行PCMARK8測試就更能夠反映出一個SSD在長時間使用后的實際性能表現。浦科特M7V 256G M.2的總分為4921。這個得分明顯比前面的常規五項更能體現M7V在二十幾款SSD中的性能定位。
PCMARK8的測試數據量十分巨大,達到了幾十G,遠遠超過了M7V的SLC Cache空間,其測試強度絕非前面幾款軟件可以相提并論的。很多在常規五項中表現出色的TLC SSD,一跑PCMARK8就被打回原形。M7V在PCMARK8中的表現也沒有在前面的常規五項中那么兇猛,但依然是最強的TLC SSD。在和中低端MLC SSD的對比中,雖然小幅度落后于中端的MLC,但同樣可以小幅度領先于低端MLC SSD。對比閃迪加強版這種使用超低端SMI 2246XT主控的廉價MLC SSD,除了在PhotoShop重載測試中稍微落后之外,其他測試項目全部完勝。
從測試結果中可以看出,依靠Marvell全新的88SS1074主控+東芝原廠15nm eTLC NAND顆粒,TLC SSD在性能上已經獲得了不小的提高,更先進的SLC Cache機制使得TLC SSD在性能上干掉低端MLC SSD成為現實。
這部分測試主要從平時的實際應用中來測試浦科特M7V的性能表現。Windows系統的啟動時間和游戲的加載時間上,M7V已經和很多中端MLC SSD持平。Photoshop的加載測試中,M7V落后于中端MLC SSD的幅度很小,而且依舊領先于TLC SSD和低端MLC SSD。
一個硬件的做工用料好,是物質基礎,而如果要用得舒心,那么配套軟件也很重要,這就是所謂的軟件附加值。軟件是用戶和硬件之間交互的橋梁。比如我測試平臺中的華碩M8F主板,之所以敢賣那么貴,除了主板本身的品質之外,配套的軟件也有很高的附加值,非常方便的就可以在系統里使用超頻軟件對CPU頻率、內存頻率和時序、風扇轉速、各部分電壓等各個超頻參數進行調整。
現在很多知名品牌的SSD都附帶有很好的配套軟件。M7V和浦科特的高端產品一樣,都能夠支持PlexTurbo、PlexCompressor、PlexVault 這三款浦科特自家的SSD 應用軟件。浦科特SSD通用的Plextool軟件就不用多介紹了,能夠監測SSD信息、讀取SMART數據、進行Trim優化、SecretErase、固件升級等操作。
PlexTurbo之前只針對浦科特的高端SSD開放,現在M7V也同樣能夠使用。PlexTurbo以系統內存作為SSD的緩存,從而實現系統加速及減少NAND寫入量的目的。PlexTurbo軟件可以自由設定用于SSD緩存的系統內存大小和內存數據寫入SSD的間隔時間。當交換的數據量小于內存緩存的時候,讀寫操作其實都是在內存內部進行,只有達到預定的釋放時間后數據才會被真正寫入SSD中。因此測得的SSD性能非常強勁(其實測的是內存),而且這樣能夠減少NAND的寫入量,延長SSD的壽命。這個功能對于系統內存在16GB以上的用戶比較實用,而且用在TLC SSD上我覺得比MLC SSD更有意義。
PlexCompressor是一套智能壓縮軟件,可以通過壓縮文件來變相增加SSD存儲空間。這個功能我本人基本用不到,因為我的SSD無論從數量和容量上都絕對夠用。PlexVault則是一個加密軟件,與之前的很多U盤加密軟件原理一樣,在SSD上劃出一部分空間作為隱藏分區,平時這個分區在電腦里不會顯示出來,等到需要訪問的時候就按下快捷鍵,在彈出的對話框中輸入正確的密碼之后,“我的電腦”里就會出現隱藏分區的盤符。不過有兩點需要注意,第一是一定要用浦科特的SSD作為系統盤才能夠啟用這個功能,第二是容量有限制。
因為Marvell 88SS1074是SATA主控,所以無論M7V是采用M.2接口還是采用SATA接口,其性能都是SATA級別的,只是接口不同而已。SATA接口的M7V具體型號為M7VC,M.2接口的M7V具體型號為M7VG。在性能上,M7VC=M7VG。現在相同容量的M7VG比M7VC稍微貴一點,但是在性能上是沒有差別的,唯一的優勢就是可以直接安裝在主板上,省去走線的麻煩,所以大家應該根據自己的具體需要來購買。
從前面的各項測試中可以看出,浦科特M7V可以稱得上是目前為止最強的TLC SSD。整體性能小幅度落后于中端的MLC,但是對比低端MLC SSD和其他TLC SSD有一定的領先優勢。依靠Marvell全新的88SS1074主控+東芝原廠15nm eTLC NAND顆粒,TLC SSD在性能上已經獲得了不小的提高,更先進的SLC Cache機制使得TLC SSD在性能上干掉低端MLC SSD成為現實。在PCMARK8的存儲子項目測試中,對比閃迪加強版這種使用超低端SMI 2246XT主控的廉價MLC SSD,浦科特M7V除了在PhotoShop重載測試中稍微落后之外,其他測試項目全部完勝。這一點也說明TLC SSD的用戶群應該是普通的家庭用戶,在家用、游戲和小型辦公的使用中,M7V已經接近甚至不遜于中端的MLC SSD。不過M7V依然無法完全擺脫TLC SSD在高負載下性能較弱的缺點。
現在像浦科特M7V這樣的高端TLC SSD定價其實與低端MLC SSD是基本持平的。那么預算相對較少的用戶,應該如何在兩者間進行選擇?從性能特點上來看,浦科特M7V依靠Marvell 88SS1074主控+更先進的SLC Cache機制在性能上比以往的TLC SSD提升了一個檔次,在家用情況下干掉低端MLC SSD已經不是問題。但是使用壽命這個問題依然是TLC SSD最大的硬傷。即使采用了企業級的eTLC NAND,但是PE數也只能提升到2000,比起MLC NAND的3000-5000 PE仍有不小的差距。所以,用戶在高端TLC SSD與低端MLC SSD之間的選擇,其實就是性能與理論壽命之間的選擇。高端TLC SSD性能>低端MLC SSD,高端TLC SSD理論壽命<低端MLC SSD。而現在的低端MLC SSD,為了縮減成本以降低價格,很多都是采用超低端主控+正片NAND(例如某迪加強版),或者低端主控+白片NAND。如果要我選擇的話,我自己會選擇高端TLC SSD,因為性能的優勢是現在馬上可以感受到的,而壽命問題,其實還是一個未知數,eTLC NAND在理論上的壽命短于MLC NAND,而在實際使用中需要多少年才能用完2000的PE數?到時又有什么黑科技產品出來替代SSD都還不知道。所以我的建議是,預算充裕的話,絕對是考慮中高端名牌MLC SSD,而在預算比較有限的情況下,考慮大廠高端eTLC SSD比考慮低端MLC SSD要更實際一些。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。