精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

手把手教你:用 Python + Ollama 輕松完成 LLM 微調

發布于 2025-9-8 00:19
瀏覽
0收藏

作為一名對 AI 和機器學習充滿熱情的人,我花了不少時間研究怎么讓強大的語言模型更好地完成特定任務。今天,我想分享一份詳細的指南,教你如何用 Python 微調 LLM(大型語言模型),然后用 Ollama 這個工具在本地運行微調后的模型。這份指南基于我看到的一個實際操作教程,但我會加上詳細的解釋和例子,讓它更全面、更適合新手。

手把手教你:用 Python + Ollama 輕松完成 LLM 微調-AI.x社區

什么是 LLM 微調?

想象一下,你請了個世界級大廚,他啥菜都會做,但還得學會你家的獨門菜譜。你不用從頭教他做飯,只需要給他看幾道你的菜就行。這就是微調!

微調是拿一個已經預訓練好的 LLM(比如 GPT 或 Llama),它已經很懂得通用語言了,然后針對你的特定任務“調校”一下。你給它喂一些你領域的例子,它就會調整自己的知識,專門為這個領域發光發熱。

它咋工作的?從一個懂得英語(或其他語言)的 base model 開始,給它一堆“輸入”(比如一個問題)和“輸出”(比如完美答案)的配對。模型會調整內部 weights 來匹配這些例子。

跟 prompting 的區別?Prompting 就像臨時給指令(比如“寫得像莎士比亞”),而微調是永久改變模型,讓它表現更穩定。

跟 parameter tuning 的區別?Parameter tuning 是調整像“temperature”(輸出多有創意)這樣的設置,就像調車上的收音機。微調則是給引擎升級,讓它能跑越野。

舉個例子:假設你想讓 LLM 從亂糟糟的郵件里提取信息。沒微調前:Prompt: “從‘嗨,我是 John。訂個披薩。’中提取名字和訂單。”輸出:可能很隨機,比如“Name: John, Food: Pizza”或者只是個總結。微調后:用 100 封郵件例子訓練。現在它總會輸出 JSON 格式:??{"name": "John", "order": "pizza"}??。

手把手教你:用 Python + Ollama 輕松完成 LLM 微調-AI.x社區

什么時候需要微調 LLM?

別啥都微調,這就像買跑車去買菜,得看情況用:

?需要一致的格式/風格:Prompting 搞不定嚴格的輸出,比如 JSON 或法律文檔。

?領域專屬數據:模型沒見過你的小眾領域(比如醫學術語或公司日志)。

?省錢:用一個小的、微調過的模型,替代像 GPT-4 這樣的大模型。

手把手教你:用 Python + Ollama 輕松完成 LLM 微調-AI.x社區

優點和缺點:

手把手教你:用 Python + Ollama 輕松完成 LLM 微調-AI.x社區

微調的替代方案:

?Prompt Engineering:快又免費,但不穩定。

?Retrieval-Augmented Generation (RAG):實時加外部數據(比如先搜文檔再回答)。

?從頭訓練:只有像 OpenAI 這樣的大公司才玩得起,需要海量數據和算力。

微調 LLM 的完整步驟

下面是全流程。我們會用 Unsloth(一個免費、開源、快速微調工具)和 Google Colab(免費的云端 GPU,不用高端硬件)。Base model 用 Phi-3 Mini(又小又快)。

流程圖:

手把手教你:用 Python + Ollama 輕松完成 LLM 微調-AI.x社區

步驟 1:收集數據

這步很關鍵,垃圾數據 = 垃圾模型。需要 JSON 格式的輸入-輸出配對。

示例數據集(用于 HTML 提取,比如從網頁代碼里提取產品信息):文件: ??extraction_dataset.json???
內容(簡化版,500 個例子中的 2 個):

[
  {
    "input":"<div><h2>Product: Laptop</h2><p>Price: $999</p><span>Category: Electronics</span><span>Manufacturer: Dell</span></div>",
    "output":{"name":"Laptop","price":"$999","category":"Electronics","manufacturer":"Dell"}
},
{
    "input":"<div><h2>Product: Book</h2><p>Price: $20</p><span>Category: Literature</span><span>Manufacturer: Penguin</span></div>",
    "output":{"name":"Book","price":"$20","category":"Literature","manufacturer":"Penguin"}
}
]

小貼士: 如果需要,可以用 AI 生成數據,但最好用真實數據,效果更佳。

步驟 2:設置環境

用 Google Colab 來用免費 GPU。

? 打開 Colab:去??colab.research.google.com??。

? 上傳你的 JSON 文件。

? 連接 T4 GPU:Runtime > Change runtime type > T4 GPU。

? 安裝依賴(在 Colab cell 里跑):

!pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
!pip install --no-deps xformers "trl<0.9.0" peft accelerate bitsandbytes

輸出: 安裝包(大概 2 分鐘)。如果提示,重啟 runtime。

檢查 GPU:

import torch
print(torch.cuda.is_available())  # 應該輸出:True
print(torch.cuda.get_device_name(0))  # 比如 Tesla T4

步驟 3:加載模型

選一個 base model(比如 Phi-3 Mini)。

代碼:

from unsloth import FastLanguageModel
model_name = "unsloth/Phi-3-mini-4k-instruct"
max_seq_length = 2048  # 根據需要調整
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name,
    max_seq_length=max_seq_length,
    load_in_4bit=True
)

輸出: 下載模型(小型模型大概 5-10 分鐘)。

步驟 4:預處理數據

把輸入格式化成單一字符串。

代碼:

import json
from datasets import Dataset

# 加載數據
withopen("extraction_dataset.json", "r") as f:
    data = json.load(f)

# 格式化函數
defformat_prompt(item):
    returnf"{item['input']}\n{json.dumps(item['output'])}<|endoftext|>"

# 創建格式化列表
formatted_data = [{"text": format_prompt(item)} for item in data]
dataset = Dataset.from_list(formatted_data)

# 打印示例
print(formatted_data[0]["text"])

輸出示例:

<div><h2>Product: Laptop</h2><p>Price: $999</p><span>Category: Electronics</span><span>Manufacturer: Dell</span></div>
{"name": "Laptop", "price": "$999", "category": "Electronics", "manufacturer": "Dell"}<|endoftext|>

步驟 5:添加 LoRA Adapters

LoRA 讓微調更高效(只訓練一小部分)。

代碼:

model = FastLanguageModel.get_peft_model(
    model,
    r=16,  # Rank
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"],
    lora_alpha=16,
    lora_dropout=0,
    bias="none",
    use_gradient_checkpointing="unsloth",
    random_state=3407
)

輸出: “Unsloth: Patched 32 layers…”(很快)。

LoRA 是什么?Low-Rank Adaptation:給模型加“側掛”層,只訓練 ~1% 的參數,省時間和內存。

步驟 6:訓練模型

用 SFTTrainer 訓練。

代碼:

from trl import SFTTrainer
from transformers import TrainingArguments

trainer = SFTTrainer(
    model=model,
    tokenizer=tokenizer,
    train_dataset=dataset,
    dataset_text_field="text",
    max_seq_length=max_seq_length,
    args=TrainingArguments(
        per_device_train_batch_size=2,
        gradient_accumulation_steps=4,
        warmup_steps=5,
        max_steps=60,  # 調整以訓練更多
        learning_rate=2e-4,
        fp16=not torch.cuda.is_bf16_supported(),
        bf16=torch.cuda.is_bf16_supported(),
        logging_steps=1,
        optim="adamw_8bit",
        weight_decay=0.01,
        lr_scheduler_type="linear",
        seed=3407,
        output_dir="outputs",
    ),
)

trainer.train()

輸出: 進度條顯示 loss 下降(500 個例子大概 10 分鐘)。

步驟 7:測試推理

跑個快速測試。

代碼:

FastLanguageModel.for_inference(model)
messages = [{"role": "user", "content": "<div><h2>Product: Phone</h2><p>Price: $500</p><span>Category: Gadgets</span><span>Manufacturer: Apple</span></div>"}]
inputs = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt").to("cuda")
outputs = model.generate(inputs, max_new_tokens=256, use_cache=True)
print(tokenizer.batch_decode(outputs)[0])

輸出:

User: <div><h2>Product: Phone</h2><p>Price: $500</p><span>Category: Gadgets</span><span>Manufacturer: Apple</span></div>
Assistant: {"name": "Phone", "price": "$500", "category": "Gadgets", "manufacturer": "Apple"}

如果結果不穩定,多訓練幾次!

步驟 8:導出到 GGUF 格式給 Ollama

保存成 Ollama 支持的格式。

代碼:

model.save_pretrained_gguf("fine_tuned_model", tokenizer, quantization_method="q4_k_m")

然后下載:在 Colab 文件里右鍵 > 下載(10-20 分鐘)。

步驟 9:為 Ollama 創建 Modelfile

安裝 Ollama(去 ??ollama.com??)。

在終端:

cd ~/Downloads
mkdir ollama-test
mv unsloth.Q4_K_M.gguf ollama-test/
cd ollama-test
touch Modelfile
nano Modelfile  # 粘貼以下內容

Modelfile 內容:

FROM ./unsloth.Q4_K_M.gguf
PARAMETER temperature 0.8
PARAMETER top_p 0.9
PARAMETER stop "<|endoftext|>"
TEMPLATE "{{ .Prompt }}"
SYSTEM "You are a helpful AI assistant."

創建模型:

ollama create html-extractor -f Modelfile

步驟 10:在 Ollama 中運行

ollama run html-extractor

Prompt: 粘貼 HTML 示例。輸出: 提取的 JSON(本地運行,隱私安全!)。

最佳實踐和常見問題

?數據質量:用多樣化的例子,防止 overfitting。

?評估:用沒見過的數據測試。

?擴展:用更大的模型(比如 Llama 3.1)效果更好。

?常見問題:數據集太小會導致“hallucinations”,多加數據!

微調的倫理問題

? 避免偏見數據(比如用多樣化的數據源訓練)。

? 隱私:用匿名數據進行微調。

總結

微調 LLM 就像給你的 AI 項目加了個超級技能,把通用工具變成專屬專家!按照這篇指南的簡單步驟——收集好數據、設置環境、用 Unsloth 訓練、用 Ollama 部署,你就能打造出精準、一致的定制模型,滿足你的獨特任務需求。不管是從 HTML 提取數據、寫小眾客服回復,還是解決領域專屬難題,微調讓新手也能輕松上手!

本文轉載自??AI大模型觀察站??,作者:AI研究生


已于2025-9-8 10:17:12修改
收藏
回復
舉報
回復
相關推薦
久久无码高潮喷水| 亚洲影视中文字幕| a级片在线观看| 韩国精品主播一区二区在线观看| 久久精品人人做人人爽人人| 成人福利在线观看| 久久久久久久久久91| 亚洲人成亚洲精品| 欧美一区二区在线看| 缅甸午夜性猛交xxxx| 北岛玲一区二区三区| 国产一区二区三区免费在线观看 | 天堂a中文在线| 美女爽到高潮91| 久久青草福利网站| 狂野欧美性猛交| 开心激情综合| 欧美日韩另类一区| 你懂的av在线| 九七电影韩国女主播在线观看| 成人国产精品免费观看视频| 国产精品亚洲综合天堂夜夜| 免费三片在线播放| 欧美亚洲国产一区| 亚洲精品成人av| 网站在线你懂的| 亚洲淫成人影院| 一区二区在线观看视频| 欧美日韩在线精品| 亚洲精品18在线观看| 免费观看30秒视频久久| 欧美一级免费看| 国产亚洲成人av| 欧美顶级大胆免费视频| 日韩电影中文字幕一区| 中文字幕一二三| 亚洲国产aⅴ精品一区二区三区| 精品国产乱码久久久久酒店| 国产卡一卡二在线| 在线a人片免费观看视频| 99精品在线观看视频| 99久久99久久精品国产片| 夜夜躁日日躁狠狠久久av| 中文精品视频| 久久人人97超碰精品888| 日本老熟俱乐部h0930| 日韩久久视频| 国产一区二区三区在线看| 亚洲精品午夜视频| 亚洲精品国产setv| 日韩高清人体午夜| 欧美无人区码suv| 狼人天天伊人久久| 亚洲国产免费av| 免费成人蒂法网站| 日韩深夜影院| 国产婷婷成人久久av免费高清 | 国产精品一区三区在线观看| 欧美亚洲一区二区在线观看| 免费激情视频在线观看| 日韩成人影音| 欧美亚洲免费在线一区| 成人免费毛片播放| 免费污视频在线一区| 在线观看一区二区视频| 午夜免费福利在线| 91在线亚洲| 欧美日韩国产系列| 韩国一区二区在线播放| 日本一区影院| 亚洲国产天堂久久综合网| 波多野结衣视频播放| 羞羞色国产精品网站| 亚洲欧美国产日韩中文字幕| 亚洲精品乱码久久久久久久久久久久| 蜜乳av综合| 中文欧美在线视频| 国产一区二区精彩视频| 亚洲小说区图片区| 奇米四色中文综合久久| 中文字幕 人妻熟女| 美洲天堂一区二卡三卡四卡视频| 92看片淫黄大片看国产片| 亚洲av无码一区二区三区性色 | 在线播放亚洲| 日本亚洲欧洲色α| 一二区在线观看| 国产黄人亚洲片| 久久99精品久久久久久久青青日本| 欧美男男同志| 亚洲人成精品久久久久久| 成人一区二区av| 乡村艳史在线观看| 欧美麻豆精品久久久久久| 四虎成人免费视频| 国产午夜一区| 欧美日韩福利视频| 无码日韩精品一区二区| 国产美女娇喘av呻吟久久| 精品免费二区三区三区高中清不卡 | 免费日韩一区二区| 91精品久久久久久久久久入口| 性做久久久久久久| 欧美极品美女视频| 日韩视频在线视频| 美女色狠狠久久| 精品国产91洋老外米糕| 卡一卡二卡三在线观看| 激情综合自拍| 国产日韩欧美中文在线播放| 天堂在线视频观看| 亚洲三级电影全部在线观看高清| 男人靠女人免费视频网站| 中文字幕综合| 亚洲一二三在线| 日韩乱码一区二区| 国产综合色产在线精品| 欧美亚洲精品日韩| av在线中出| 制服.丝袜.亚洲.中文.综合| 亚洲精品成人无码熟妇在线| 欧美91视频| 国产精品视频男人的天堂| 亚洲色图另类小说| 亚洲综合在线免费观看| 污污网站免费观看| 国产一区二区三区日韩精品 | 筱崎爱全乳无删减在线观看| 日韩欧美一区在线观看| ass极品国模人体欣赏| 国产精品试看| 国产视色精品亚洲一区二区| fc2ppv国产精品久久| 欧美人与性动xxxx| 一区二区三区久久久久| 先锋影音久久久| 久久久久无码国产精品一区| 青青草原av在线| 日韩视频在线一区二区| 顶臀精品视频www| 美女网站色91| 亚洲ai欧洲av| 九色porny丨国产首页在线| 日韩精品资源二区在线| www欧美com| 国产精品一二三四| 红桃一区二区三区| 秋霞午夜一区二区三区视频| 久久视频中文字幕| 国产精品自偷自拍| 亚洲特黄一级片| 日韩视频在线观看一区二区三区| 欧美激情777| 国产一区视频在线| 久草免费在线观看| 日韩视频中午一区| 精品一区免费观看| 99国产精品久久久久久久久久| 九一国产精品视频| 免费观看久久av| 国产精品久久久久久久午夜| 91在线观看| 欧美久久久久久久久中文字幕| 国产精品精品软件男同| 国产成人小视频| av网站手机在线观看| 欧美a大片欧美片| 欧美有码在线观看视频| av资源种子在线观看| 欧美人成免费网站| 免费无码毛片一区二区app| av电影在线观看一区| 日韩精品一区二区三区久久| 精品一区av| 92裸体在线视频网站| a级片在线免费| 亚洲欧洲一区二区三区在线观看| 特级西西444www高清大视频| 亚洲天堂免费看| 欧美日韩人妻精品一区在线| 亚洲欧美日韩一区在线观看| 香蕉久久免费影视| 亚洲福利合集| 日本久久久久久久久久久| 婷婷在线视频观看| 亚洲精品一区二区在线观看| 国产免费一区二区三区四区五区| 国产精品理伦片| 亚洲黄色小说在线观看| 久久综合图片| 国产免费内射又粗又爽密桃视频| 亚洲都市激情| 亚洲综合日韩在线| 黑人巨大亚洲一区二区久| 日韩在线免费视频| 婷婷丁香花五月天| 7777精品伊人久久久大香线蕉 | 国产经典自拍视频在线观看| 91精品欧美久久久久久动漫| 日韩人妻无码一区二区三区99 | 欧亚av在线| 日韩在线小视频| 午夜成人免费影院| 欧美精品v日韩精品v韩国精品v| 日韩无码精品一区二区三区| 国产精品久久久久久久久久免费看| 国产a级片视频| 人人超碰91尤物精品国产| 日本人体一区二区| 国产精品不卡| 欧美午夜免费| 国产极品模特精品一二| 91精品国产自产在线| 亚洲精品国产精品国产| 欧美日韩国产91| 午夜在线视频播放| 亚洲久久久久久久久久久| www.久久伊人| 正在播放一区二区| 日韩一级片中文字幕| 五月天激情综合| 久久机热这里只有精品| 亚洲少妇30p| 一本在线免费视频| 久久精品夜色噜噜亚洲a∨| 精品人妻一区二区三区日产| 国产一区在线观看视频| 四季av一区二区| 久久精品成人| 久久久久久久午夜| 在线成人亚洲| 91免费版看片| 一区二区三区在线观看免费| 亚洲成人午夜在线| 国产欧美日韩精品一区二区免费 | 丰满人妻妇伦又伦精品国产| 欧美精品丝袜中出| 在线观看毛片av| 欧美午夜免费电影| 91porny九色| 在线视频中文字幕一区二区| 久久久成人免费视频| 欧美日韩亚洲91| 精品成人av一区二区在线播放| 亚洲国产精品一区二区久久| 九九免费精品视频| 亚洲影视资源网| 久久久久久久久97| 五月婷婷综合激情| 香蕉免费毛片视频| 欧美午夜激情小视频| 中文字幕第四页| 在线欧美日韩国产| 亚洲天天综合网| 欧美男人的天堂一二区| 97超视频在线观看| 91精品国产综合久久久久久久| 国产免费不卡视频| 日韩欧美中文字幕公布| 成人久久久精品国产乱码一区二区 | 欧美老肥婆性猛交视频| 污污视频在线看| 久久久久久久久久亚洲| 极品av在线| 国产精品精品久久久| 久久精品国产福利| 91久久国产精品91久久性色| 视频一区在线| 精品久久久久久一区二区里番| 国产精品一区二区三区av麻| 日韩妆和欧美的一区二区| 第一会所sis001亚洲| 看全色黄大色大片| 亚洲精品乱码| 久久综合久久色| 极品少妇xxxx偷拍精品少妇| 少妇欧美激情一区二区三区| 91丨porny丨在线| 四季av中文字幕| 亚洲欧洲综合另类在线| 91蜜桃视频在线观看| 色美美综合视频| 99国产精品久久久久久久成人| 欧美精品一区二区三区蜜臀| 日韩精品系列| 久久资源免费视频| 色一区二区三区| 91探花福利精品国产自产在线| 精品亚洲自拍| 一区二区三区视频在线播放| 亚洲午夜极品| 污污的网站免费| a级高清视频欧美日韩| 欧美精品日韩在线| 婷婷综合在线观看| 一区二区www| 精品无人区乱码1区2区3区在线| 亚洲成人三级| 欧美亚洲国产视频| 欧美不卡在线观看| 日韩欧美一区二区视频在线播放 | 99re这里都是精品| 婷婷激情四射网| 欧洲精品视频在线观看| 亚洲国产www| 色偷偷偷亚洲综合网另类| 涩涩涩在线视频| 7777精品伊久久久大香线蕉语言| 欧美久久综合网| www.av中文字幕| 国产精品主播直播| 色婷婷国产精品免| 欧美性69xxxx肥| 丁香六月天婷婷| 久久精品99无色码中文字幕| 在线天堂资源www在线污| 成人动漫视频在线观看免费| 奇米影视亚洲| 激情视频综合网| 91片在线免费观看| 精品无码m3u8在线观看| 在线观看91av| 97超碰国产一区二区三区| 秋霞成人午夜鲁丝一区二区三区| 99国产精品久久一区二区三区| 亚洲午夜高清视频| 日韩国产欧美在线观看| 黄瓜视频污在线观看| 精品动漫一区二区| 欧美视频xxx| 欧美日韩aaaa| 欧美午夜网站| 老汉色影院首页| 久久99久久久欧美国产| www久久久久久久| 在线观看一区日韩| 东热在线免费视频| 日韩美女在线观看一区| 亚洲aa在线| 无码人妻丰满熟妇区毛片18| 91免费国产在线| 中文字幕激情小说| 日韩精品在线私人| 欧美男男激情videos| 久久99精品久久久久子伦 | 欧美高清在线观看| 日韩中文字幕无砖| 男人天堂网站在线| 国产成人三级在线观看| 青青草国产在线观看| 日韩一级片网站| 国产丝袜视频在线播放| 粉嫩av免费一区二区三区| 在线国产精品一区| 性久久久久久久久久久| 福利精品视频在线| 国产日产精品久久久久久婷婷| 国产精品扒开腿做爽爽爽的视频| av永久不卡| 亚洲三级在线观看视频| 亚洲免费资源在线播放| 风流老熟女一区二区三区| 韩国一区二区电影| 伊人成综合网yiren22| 亚欧在线免费观看| 亚洲日本在线观看| 欧美视频一二区| 日本免费一区二区三区视频观看| 欧美理论在线播放| 免费不卡av网站| 艳妇臀荡乳欲伦亚洲一区| 熟妇高潮一区二区三区| 日韩av色综合| 无码一区二区三区视频| 久久久久久久人妻无码中文字幕爆| 亚洲成人7777| 你懂的视频在线| 91精品视频观看| 亚洲视频狠狠| 久久视频精品在线观看| 日韩一区二区三区高清免费看看| 91超碰免费在线| 欧美日韩国产精品一卡| 国产中文一区二区三区| 日本学生初尝黑人巨免费视频| 亚洲色图第三页| 亚洲精品一区国产| 国产免费一区二区三区视频| 最好看的中文字幕久久| 瑟瑟在线观看| 国产欧美精品在线播放| 亚洲高清毛片| 国产精品酒店视频| 日韩精品一区国产麻豆| 视频在线日韩| 国产精品久久久久久久久电影网| 久久九九久精品国产免费直播| 国产成人毛毛毛片| 国产成人精品久久| 在线精品在线|