一個簡單的 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數字沙龍
18會員
422內容數
吃自助火鍋啦!不要客氣,想吃啥,請自行取用!
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
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
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
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
「系統上線」對所有軟體經理來說都是工作中最重要的大事之一,系統上線前準備是所有軟體專案管理者最關鍵的工作之一,確保系統的功能面、資料面,以及非功能性需求,都能夠支援使用者的正式操作。 究竟系統在上線前,功能面要做好那些準備與檢核?為了確保系統能夠順利上線並持續穩定運行,企業應從測試環境整理、資料移
Thumbnail
「系統上線」對所有軟體經理來說都是工作中最重要的大事之一,系統上線前準備是所有軟體專案管理者最關鍵的工作之一,確保系統的功能面、資料面,以及非功能性需求,都能夠支援使用者的正式操作。 究竟系統在上線前,功能面要做好那些準備與檢核?為了確保系統能夠順利上線並持續穩定運行,企業應從測試環境整理、資料移
Thumbnail
系統櫃與木工櫃的選擇,以及隔音窗選購指南。文章比較兩種櫃體的優缺點、成本、施工時間,並提供選購隔音窗的技巧及注意事項,最後以懶人包總結,並建議消費者根據自身需求和預算選擇最適合的建材。
Thumbnail
系統櫃與木工櫃的選擇,以及隔音窗選購指南。文章比較兩種櫃體的優缺點、成本、施工時間,並提供選購隔音窗的技巧及注意事項,最後以懶人包總結,並建議消費者根據自身需求和預算選擇最適合的建材。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News