用一張 RTX 4090 就能跑的完整 LLM 微調專案架構

更新 發佈閱讀 7 分鐘

這是很多人自己做「私人 AI 助手 / 領域模型」的典型做法。整體分成:模型選擇 → 資料 → 訓練 → 推論部署。


一、硬體條件(RTX 4090)

RTX 4090

  • VRAM:24GB
  • FP16 算力:約 82 TFLOPS
  • 適合:LoRA / QLoRA 微調

能訓練模型大小:

raw-image

最推薦:7B 或 14B


二、推薦基礎模型

目前開源模型中最適合微調的:

raw-image

如果是 中文任務

Qwen2-7B


三、專案資料夾架構

一個簡單但標準的架構:

llm_project/

├─ dataset/
│ ├─ train.jsonl
│ └─ eval.jsonl

├─ model/

├─ scripts/
│ ├─ train.py
│ └─ inference.py

├─ output/
│ └─ lora_adapter

└─ requirements.txt

四、Dataset 格式(JSONL)

每一行一筆資料。

dataset/train.jsonl

例子:

</>JSON
{"messages":[
{"role":"system","content":"你是一位專業助理"},
{"role":"user","content":"幫我查一下預算表"},
{"role":"assistant","tool_calls":[
{"name":"query_database","arguments":{"query":"budget_2026"}}
]}
]}

另一筆:

</>JSON
{"messages":[
{"role":"user","content":"安祿山是誰"},
{"role":"assistant","content":"安祿山是唐朝節度使,後發動安史之亂。"}
]}

五、安裝訓練環境

Python 套件:

</>Bash
pip install transformers
pip install datasets
pip install peft
pip install accelerate
pip install bitsandbytes
pip install trl

六、訓練程式(train.py)

簡化版:

</>Python
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import LoraConfig, get_peft_model
from datasets import load_dataset

model_name = "Qwen/Qwen2-7B"

tokenizer = AutoTokenizer.from_pretrained(model_name)

model = AutoModelForCausalLM.from_pretrained(
model_name,
load_in_4bit=True,
device_map="auto"
)

lora_config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj","v_proj"],
lora_dropout=0.05,
)

model = get_peft_model(model, lora_config)

dataset = load_dataset("json", data_files="dataset/train.jsonl")

print("Dataset loaded")

七、4090 訓練參數建議

raw-image

八、啟動訓練

</>Bash
accelerate launch train.py

輸出:

output/
lora_adapter/

大小通常:

200MB – 800MB


九、推論(inference)

</>Python
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

base_model = "Qwen/Qwen2-7B"

model = AutoModelForCausalLM.from_pretrained(
base_model,
load_in_4bit=True,
device_map="auto"
)

model = PeftModel.from_pretrained(model,"output/lora_adapter")

tokenizer = AutoTokenizer.from_pretrained(base_model)

prompt = "安祿山是誰?"

inputs = tokenizer(prompt, return_tensors="pt").to("cuda")

output = model.generate(**inputs,max_new_tokens=200)

print(tokenizer.decode(output[0]))

十、你可以訓練的 AI 類型

4090 很適合做:

1️⃣ 私人知識助手<</>JSON

例如:

  • 公司資料
  • 法律資料
  • 醫學資料

2️⃣ Tool-using AI

讓 AI 學會:

  • 查資料庫
  • 查天氣
  • 排行事曆

3️⃣ 武俠小說 AI(很適合你)

例如 dataset:

</>JSON
{"messages":[
{"role":"user","content":"介紹公孫嫣"},
{"role":"assistant","content":"華山派女弟子,修練寒元真訣。"}
]}

</>JSON
{"messages":[
{"role":"user","content":"寒元真訣是什麼"},
{"role":"assistant","content":"華山派寒系內功,以陰寒真氣運行十二經脈。"}
]}

十一、4090 能訓練多大 Dataset

大概:

raw-image

十二、很多人不知道的「關鍵技巧」

真正提升模型效果的不是 GPU,而是:

dataset 品質

好的 dataset:

  • instruction 清楚
  • output 穩定
  • JSON 結構一致

這比模型大小更重要。








留言
avatar-img
sirius數字沙龍
11會員
256內容數
吃自助火鍋啦!不要客氣,想吃啥,請自行取用!
sirius數字沙龍的其他內容
2026/03/06
示範一個 RTX 4090 用於訓練 LLM「工具調用(Tool Calling)」的資料格式。這種格式比原本的 Python 範例更接近 OpenAI / Llama / DeepSeek / function calling dataset 常見結構。
Thumbnail
2026/03/06
示範一個 RTX 4090 用於訓練 LLM「工具調用(Tool Calling)」的資料格式。這種格式比原本的 Python 範例更接近 OpenAI / Llama / DeepSeek / function calling dataset 常見結構。
Thumbnail
2026/03/06
在之前「學會調用 Calendar API 或查詢數據庫」一文中,將 API 的定義定義在 System Prompt 中範例有如下討論。
Thumbnail
2026/03/06
在之前「學會調用 Calendar API 或查詢數據庫」一文中,將 API 的定義定義在 System Prompt 中範例有如下討論。
Thumbnail
2026/03/06
這是一個簡單但功能強大的 HTML + Tailwind CSS 前端介面。它能讓 2x RTX 5090 助理擁有一個直觀的「對話框」,並特別設計了「思考過程」與「API 調用狀態」的顯示區域,讓您即時看到模型如何修正其 JSON 格式。 1. 建立前端檔案 index.html
Thumbnail
2026/03/06
這是一個簡單但功能強大的 HTML + Tailwind CSS 前端介面。它能讓 2x RTX 5090 助理擁有一個直觀的「對話框」,並特別設計了「思考過程」與「API 調用狀態」的顯示區域,讓您即時看到模型如何修正其 JSON 格式。 1. 建立前端檔案 index.html
Thumbnail
看更多
你可能也想看
Thumbnail
本文分享在公司工程專案檢討會議中,從旁聽者轉變為報告者的經驗。作者意識到自身在資訊傳達上的不足,並在總經理的提醒下,開始反思如何將複雜的工程數據轉化為財務與非技術背景人員易於理解的管理資訊,同時探討工程人力配置與效率問題。
Thumbnail
本文分享在公司工程專案檢討會議中,從旁聽者轉變為報告者的經驗。作者意識到自身在資訊傳達上的不足,並在總經理的提醒下,開始反思如何將複雜的工程數據轉化為財務與非技術背景人員易於理解的管理資訊,同時探討工程人力配置與效率問題。
Thumbnail
開頭先坦白一句:我們來說說實話——身為演算法技術人員,偶爾會帶點「我懂技術你不懂」的微妙傲慢與偏見。當然不是故意的,就只是…技術真的很迷人,而人性真的很複雜。 身為演算法技術人員,我們常常覺得自己是智慧生命體,而客戶是凡人;但現實是——真正把專案毀掉的,就是我們彼此的誤會、沉默與期待。 下面這些
Thumbnail
開頭先坦白一句:我們來說說實話——身為演算法技術人員,偶爾會帶點「我懂技術你不懂」的微妙傲慢與偏見。當然不是故意的,就只是…技術真的很迷人,而人性真的很複雜。 身為演算法技術人員,我們常常覺得自己是智慧生命體,而客戶是凡人;但現實是——真正把專案毀掉的,就是我們彼此的誤會、沉默與期待。 下面這些
Thumbnail
當 B2B 專案管理工具的週活躍用戶 (WAU) 無預警下降 10% 時,該如何釐清問題?本文將引導你從數據下跌的迷霧中,學習資深 PM 的價值:建立有結構、有優先級的「偵錯框架」。透過層層拆解,從「在哪裡」到「為什麼」,最終驗證規模並制定行動方案,有效解決問題並預防未來發生。
Thumbnail
當 B2B 專案管理工具的週活躍用戶 (WAU) 無預警下降 10% 時,該如何釐清問題?本文將引導你從數據下跌的迷霧中,學習資深 PM 的價值:建立有結構、有優先級的「偵錯框架」。透過層層拆解,從「在哪裡」到「為什麼」,最終驗證規模並制定行動方案,有效解決問題並預防未來發生。
Thumbnail
在暫停近兩年後,「逐夢拾光專案」於今年再度推出。站長劉景弘接受採訪時,詳細說明了專案停擺的原因以及再次啟動的契機。「很感謝成員們一路的信任,讓我更有信心在今年再次推出逐夢拾光專案。這次不僅是回應過去來不及參與的朋友,也希望真正需要這份力量的人,能與我們一起攜手,創造雙贏的局面。」
Thumbnail
在暫停近兩年後,「逐夢拾光專案」於今年再度推出。站長劉景弘接受採訪時,詳細說明了專案停擺的原因以及再次啟動的契機。「很感謝成員們一路的信任,讓我更有信心在今年再次推出逐夢拾光專案。這次不僅是回應過去來不及參與的朋友,也希望真正需要這份力量的人,能與我們一起攜手,創造雙贏的局面。」
Thumbnail
AI專案週期的五個階段(來源:Solidigm) 1. 資料攝取(Data Ingest) I/O特性:大量順序寫入活動 資料類型:原始資料(LLM的網站資料、自動駕駛的LIDAR資料、醫療影像、音頻記錄等) 儲存需求:高順序寫入吞吐量 2. 資料準備(Data Preparation)
Thumbnail
AI專案週期的五個階段(來源:Solidigm) 1. 資料攝取(Data Ingest) I/O特性:大量順序寫入活動 資料類型:原始資料(LLM的網站資料、自動駕駛的LIDAR資料、醫療影像、音頻記錄等) 儲存需求:高順序寫入吞吐量 2. 資料準備(Data Preparation)
Thumbnail
長鞭效應是什麼?長鞭效應(Bullwhip Effect),又稱牛鞭效應,是指在專案執行,或是產品在供應鏈生產過程中,因為需求資訊在傳遞時的「延遲」與「放大」,導致上、下游對於需求的認知與解釋產生大幅落差。就像是甩動手中的鞭子時,即便一開始只有小幅度的上下甩動,但越到尾部的鞭子,波動會比靠近
Thumbnail
長鞭效應是什麼?長鞭效應(Bullwhip Effect),又稱牛鞭效應,是指在專案執行,或是產品在供應鏈生產過程中,因為需求資訊在傳遞時的「延遲」與「放大」,導致上、下游對於需求的認知與解釋產生大幅落差。就像是甩動手中的鞭子時,即便一開始只有小幅度的上下甩動,但越到尾部的鞭子,波動會比靠近
Thumbnail
數據驅動的專案管理如何提升決策質量,涵蓋數據收集與管理、數據分析策略、實際應用技巧,以及面臨的挑戰和解決方案。通過描述性分析、診斷性分析、預測性分析和規範性分析,專案經理能夠優化資源分配、進度管理和風險控制,確保專案順利進行。
Thumbnail
數據驅動的專案管理如何提升決策質量,涵蓋數據收集與管理、數據分析策略、實際應用技巧,以及面臨的挑戰和解決方案。通過描述性分析、診斷性分析、預測性分析和規範性分析,專案經理能夠優化資源分配、進度管理和風險控制,確保專案順利進行。
Thumbnail
這篇文章分享了作者在參與預估專案時的思考脈絡和學習點,透過兩個具體的案例,探討了預估方法中重要的假設和挑戰。
Thumbnail
這篇文章分享了作者在參與預估專案時的思考脈絡和學習點,透過兩個具體的案例,探討了預估方法中重要的假設和挑戰。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News