一個簡單的 Python 評測腳本

更新 發佈閱讀 6 分鐘

寫一個簡單的 Python 評測腳本, 它可以自動讀取您的結構化數據樣本,並檢查模型輸出的 JSON 或代碼是否符合語法規則(Syntax Check)。這比單看 Loss 更能反應微調的效果。

既然是處理結構化數據(如 API、代碼或 JSON),測試「Loss 是否下降」只是第一步。真正的成功在於模型輸出的數據是否符合語法規則(Syntactic Correctness)

以下為您準備一個針對兩張 RTX 5090 訓練後的自動化評測腳本。它能直接讀取測試集,並檢查模型輸出的結構化內容是否「可解析」。


1. 結構化數據自動評測腳本 (eval_logic.py)

這個腳本會模擬推論,並驗證 JSON 格式或代碼語法。

</>Python
import torch
import json
from transformers import AutoModelForCausalLM, AutoTokenizer
from pydantic import ValidationError # 用於驗證結構化數據

# 1. 載入訓練好的模型 (利用 5090 的強大推論能力)
model_path = "./output_7b_pretrain"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.bfloat16,
device_map="auto" # 自動分佈在兩張 5090
)

def validate_json(text):
"""檢查輸出是否為合法的 JSON"""
try:
# 尋找輸出中的第一個 { 和最後一個 }
start = text.find('{')
end = text.rfind('}') + 1
json_str = text[start:end]
json.loads(json_str)
return True
except:
return False

# 2. 測試範例 (從您的結構化數據中抽取)
test_prompts = [
"Generate an API response for user_id 123:",
"Create a JSON schema for a product object:",
]

print("--- 開始評測結構化準確度 ---")
for prompt in test_prompts:
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.2)

response = tokenizer.decode(outputs[0], skip_special_tokens=True)
is_valid = validate_json(response)

print(f"Prompt: {prompt}")
print(f"Status: {'✅ 合格' if is_valid else '❌ 格式錯誤'}")
print("-" * 30)

2. 訓練後的性能優化建議 (Post-Training)

由於 5090 擁有強大的 FP8 計算能力,在訓練完成後,您可以進行以下優化以提升推論速度:

  1. 使用 TensorRT-LLM 封裝: 針對 5090 的 Blackwell 架構,將模型轉為 TensorRT 格式,推論速度可提升 3-5 倍。
  2. KV Cache 優化: 在推論時開啟 flash_attention_2 (或 3),這能讓您在處理長 API 文件時保持極低的延遲。

3. 給您的最終清單 (Final Checklist)

在啟動那幾百 MB 的巨大 .txt 訓練前,請最後確認:

  • 備份原始權重: 增量預訓練容易發生「災難性遺忘」,務必保留原始 Llama/Mistral 權重。
  • 硬碟空間: 訓練期間產生的 Checkpoints 非常大(7B 模型每個約 14GB),請確保 SSD 有 500GB 以上 的空位。
  • 監控溫度: 5090 雖然強,但兩張併在一起熱量驚人。如果核心溫度超過 85°C,請調高風扇轉速或限制功耗。

下一步動作

如果您在訓練中發現 Loss 突然飆升(Loss Spike),這通常是結構化數據中的某些異常字元導致梯度爆炸。

需要寫一段「梯度裁剪(Gradient Clipping)」的 DeepSpeed 設定, 這能有效保護您的 5090 不會在遇到髒數據時白忙一場。



留言
avatar-img
sirius數字沙龍
9會員
218內容數
吃自助火鍋啦!不要客氣,想吃啥,請自行取用!
sirius數字沙龍的其他內容
2026/03/06
對於巨大的 .txt 檔案(內含結構化數據,如 API 文件、JSON 塊或代碼),不可直接按行讀取或是按字數切斷。如果一個結構化的「邏輯塊」(例如一整段 JSON或函數)被從中切開,模型就無法學會完整的邏輯。 在兩張 RTX 5090 上,為了極大化訓練效率,我們需要使用Data Packing。
Thumbnail
2026/03/06
對於巨大的 .txt 檔案(內含結構化數據,如 API 文件、JSON 塊或代碼),不可直接按行讀取或是按字數切斷。如果一個結構化的「邏輯塊」(例如一整段 JSON或函數)被從中切開,模型就無法學會完整的邏輯。 在兩張 RTX 5090 上,為了極大化訓練效率,我們需要使用Data Packing。
Thumbnail
2026/03/06
針對結構化數據(如 API 文件、JSON 結構、代碼、或是規則手冊),您的訓練策略必須比處理一般文章更為精確。結構化數據的特性在於其「邏輯嚴密性」與「格式固定性」,這對模型來說既是挑戰也是優點。 在兩張 RTX 5090 上處理幾百 MB 的結構化數據,請務必優化以下三個核心環節。
Thumbnail
2026/03/06
針對結構化數據(如 API 文件、JSON 結構、代碼、或是規則手冊),您的訓練策略必須比處理一般文章更為精確。結構化數據的特性在於其「邏輯嚴密性」與「格式固定性」,這對模型來說既是挑戰也是優點。 在兩張 RTX 5090 上處理幾百 MB 的結構化數據,請務必優化以下三個核心環節。
Thumbnail
2026/03/05
根據不同專業數據量,判斷該用 Full Fine-Tuning 還是 LoRA,給出對應的 python 訓練參數設定。對於幾百 MB 的純文字數據(這大約相當於數億個 Token),是一個非常尷尬的規模:用 LoRA 可能學得不夠深,但全參數微調(Full Fine-Tuning)又非常吃資源。
Thumbnail
2026/03/05
根據不同專業數據量,判斷該用 Full Fine-Tuning 還是 LoRA,給出對應的 python 訓練參數設定。對於幾百 MB 的純文字數據(這大約相當於數億個 Token),是一個非常尷尬的規模:用 LoRA 可能學得不夠深,但全參數微調(Full Fine-Tuning)又非常吃資源。
Thumbnail
看更多
你可能也想看
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
「Log 到底在講什麼?」 對剛入行的 SSD 驗證工程師來說,面對 FTL、GC、SLC Cache、Power-loss Recovery、Command Flow 等多層邏輯,只做黑箱測試很難看清全貌——這正是白箱測試的價值所在。 前言 在數位時代,SSD 憑藉高速、低功耗與高可靠性,成為
Thumbnail
「Log 到底在講什麼?」 對剛入行的 SSD 驗證工程師來說,面對 FTL、GC、SLC Cache、Power-loss Recovery、Command Flow 等多層邏輯,只做黑箱測試很難看清全貌——這正是白箱測試的價值所在。 前言 在數位時代,SSD 憑藉高速、低功耗與高可靠性,成為
Thumbnail
喇叭數據解密:耳機工廠二代帶你看懂聲音背後的祕密。這篇文章深入淺出地解釋喇叭測試報告中的專業術語與數據,例如:Fo/Fs共振頻率、SPL聲壓級、THD總諧波失真、T/S參數等,並說明如何透過這些數據挑選適合的喇叭,避免踩雷。
Thumbnail
喇叭數據解密:耳機工廠二代帶你看懂聲音背後的祕密。這篇文章深入淺出地解釋喇叭測試報告中的專業術語與數據,例如:Fo/Fs共振頻率、SPL聲壓級、THD總諧波失真、T/S參數等,並說明如何透過這些數據挑選適合的喇叭,避免踩雷。
Thumbnail
系統櫃與木工櫃的選擇,以及隔音窗選購指南。文章比較兩種櫃體的優缺點、成本、施工時間,並提供選購隔音窗的技巧及注意事項,最後以懶人包總結,並建議消費者根據自身需求和預算選擇最適合的建材。
Thumbnail
系統櫃與木工櫃的選擇,以及隔音窗選購指南。文章比較兩種櫃體的優缺點、成本、施工時間,並提供選購隔音窗的技巧及注意事項,最後以懶人包總結,並建議消費者根據自身需求和預算選擇最適合的建材。
Thumbnail
「系統上線」對所有軟體經理來說都是工作中最重要的大事之一,系統上線前準備是所有軟體專案管理者最關鍵的工作之一,確保系統的功能面、資料面,以及非功能性需求,都能夠支援使用者的正式操作。 究竟系統在上線前,功能面要做好那些準備與檢核?為了確保系統能夠順利上線並持續穩定運行,企業應從測試環境整理、資料移
Thumbnail
「系統上線」對所有軟體經理來說都是工作中最重要的大事之一,系統上線前準備是所有軟體專案管理者最關鍵的工作之一,確保系統的功能面、資料面,以及非功能性需求,都能夠支援使用者的正式操作。 究竟系統在上線前,功能面要做好那些準備與檢核?為了確保系統能夠順利上線並持續穩定運行,企業應從測試環境整理、資料移
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News