檢測(cè)到您已登錄華為云國(guó)際站賬號(hào),為了您更好的體驗(yàn),建議您訪問(wèn)國(guó)際站服務(wù)網(wǎng)站 http://m.cqfng.cn/intl/zh-cn
不再顯示此消息
部分集合通信算子要求通信域內(nèi)各rank結(jié)果一致,如AllReduce、AllGather等,利用這一特性,工具將多機(jī)模型訓(xùn)練中產(chǎn)生的通信輸出存盤,并傳輸?shù)酵还?jié)點(diǎn)來(lái)比較其一致性,從而確定模型中通信算子的精度是否存在問(wèn)題。
--hf-num-gpus:需要使用的卡數(shù)。 --batch-size:推理每次處理的輸入數(shù)目。 -w:存放輸出結(jié)果的目錄。 查看精度測(cè)試結(jié)果。 默認(rèn)情況下,評(píng)測(cè)結(jié)果會(huì)按照result/{model_name}/的目錄結(jié)果保存到對(duì)應(yīng)的測(cè)試工程。
父主題: 精度調(diào)試
msprobe精度分析工具使用指導(dǎo) msprobe是MindStudio Training Tools工具鏈下精度調(diào)試部分的工具包,其通過(guò)采集和對(duì)比標(biāo)桿(GPU/CPU)環(huán)境和昇騰環(huán)境上運(yùn)行訓(xùn)練時(shí)的差異點(diǎn)來(lái)判斷問(wèn)題所在,主要包括精度預(yù)檢、精度比對(duì)和梯度監(jiān)控等功能。
圖1 訓(xùn)練精度測(cè)試流程圖 執(zhí)行訓(xùn)練任務(wù) 創(chuàng)建精度訓(xùn)練benchmark目錄。 # 任意目錄創(chuàng)建 mkdir accuracy-test-benchmark 進(jìn)入上步驟創(chuàng)建目錄執(zhí)行訓(xùn)練命令,可以多次執(zhí)行,按自己實(shí)際情況。
通過(guò)下一小節(jié)可以進(jìn)一步確認(rèn)模型精度的差異。 父主題: 模型精度調(diào)優(yōu)
訓(xùn)練精度測(cè)試 約束限制 目前僅支持以下模型: qwen2.5-7b qwen2-7b qwen1.5-7b llama3.2-3b llama3.1-8b llama3-8b llama2-7b yi-6b 流程圖 訓(xùn)練精度測(cè)試流程圖如下圖所示。
模型精度調(diào)優(yōu) 場(chǎng)景介紹 精度問(wèn)題診斷 精度問(wèn)題處理 父主題: 案例:SD1.5推理遷移
固定精度型 名稱 描述 存儲(chǔ)空間 取值范圍 字面量 DECIMAL 固定精度的十進(jìn)制數(shù)。精度最高支持到38位,但精度小于18位能保障性能最優(yōu)。
位置精度(position_confidence) 數(shù)值 含義 0 不具備或不可用 1 500米 2 200米 3 100米 4 50米 5 20米 6 10米 7 5米 8 2米 9 1米 10 0.5米 11 0.2米 12 0.1米 13 0.05米 14 0.02米 15
solution 各種類型浮點(diǎn)數(shù)的精度: float:6~7位; double:15~16位; long double:18~19位。
時(shí)間精度(time_confidence) 數(shù)值 含義 0 不具備或不可用 1 100 2 50 3 20 4 10 5 2 6 1 7 0.5 8 0.2 9 0.1 10 0.05 11 0.02 12 0.01 13 0.005 14 0.002 15 0.001 16 0.000,5
標(biāo)志向模型構(gòu)造函數(shù)提供額外參數(shù),比如指定運(yùn)行模型的數(shù)據(jù)類型; vllm_path是模型權(quán)重路徑; max_model_len是最大模型長(zhǎng)度,默認(rèn)設(shè)置為4096; gpu_memory_utilization是gpu利用率,如果模型出現(xiàn)oom報(bào)錯(cuò),調(diào)小參數(shù); tensor_parallel_size是使用的卡數(shù);
標(biāo)志向模型構(gòu)造函數(shù)提供額外參數(shù),比如指定運(yùn)行模型的數(shù)據(jù)類型; vllm_path是模型權(quán)重路徑; max_model_len是最大模型長(zhǎng)度,默認(rèn)設(shè)置為4096; gpu_memory_utilization是gpu利用率,如果模型出現(xiàn)oom報(bào)錯(cuò),調(diào)小參數(shù); tensor_parallel_size是使用的卡數(shù);
標(biāo)志向模型構(gòu)造函數(shù)提供額外參數(shù),比如指定運(yùn)行模型的數(shù)據(jù)類型; vllm_path是模型權(quán)重路徑; max_model_len是最大模型長(zhǎng)度,默認(rèn)設(shè)置為4096; gpu_memory_utilization是gpu利用率,如果模型出現(xiàn)oom報(bào)錯(cuò),調(diào)小參數(shù); tensor_parallel_size是使用的卡數(shù);
不知道大家在計(jì)算JavaScript浮點(diǎn)數(shù)的時(shí)候有沒(méi)有遇到過(guò)0.1+0.2 !
DOUBLE PRECISION, FLOAT8 雙精度浮點(diǎn)數(shù),不精準(zhǔn)。 8字節(jié) 1E-307~1E+308, 15位十進(jìn)制數(shù)字精度。 FLOAT[(p)] 浮點(diǎn)數(shù),不精準(zhǔn)。精度p取值范圍為[1,53]。 說(shuō)明: p為精度,表示總位數(shù)。
max-tokens:生成的最大tokens數(shù)。在現(xiàn)在支持了思維鏈或者其他特性的情況下,輸出越來(lái)越長(zhǎng),輸出的結(jié)果可能在后面。因此推薦設(shè)置為16384。 temperature:影響生成的結(jié)果,建議保持不變。
DOUBLE PRECISION, FLOAT8 雙精度浮點(diǎn)數(shù),不精準(zhǔn)。 8字節(jié) 1E-307~1E+308, 15位十進(jìn)制數(shù)字精度。 FLOAT[(p)] 浮點(diǎn)數(shù),不精準(zhǔn)。精度p取值范圍為[1,53]。 說(shuō)明: p為精度,表示總位數(shù)。
使用半精度浮點(diǎn)數(shù) half() 會(huì)有一定的速度提升,具體效率依賴于 GPU 型號(hào)。需要小心數(shù)值精度過(guò)低帶來(lái)的穩(wěn)定性問(wèn)題。 時(shí)常使用 assert tensor.size() == (N, D, H, W) 作為調(diào)試手段,確保張量維度和你設(shè)想中一致。