精品欧美一区二区三区在线观看 _久久久久国色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修改
收藏
回復
舉報
回復
相關推薦
www.久久久.com| 久久精品性爱视频| 欧美一区=区三区| 亚洲精品视频免费看| 国内精品二区| 在线观看国产成人| 伊人成人网在线看| 丝袜情趣国产精品| 日本黄色录像片| 亚洲青青久久| 欧美日韩免费在线观看| 一区二区三区在线视频看| 人妻无码一区二区三区久久99| 久久亚洲色图| 欧美精品videossex88| 最新中文字幕2018| 欧美家庭影院| 国产精品日产欧美久久久久| 国产精品入口免费| 91精品国产乱码久久久久| 一本久道综合久久精品| 久久久999精品免费| 国产精品扒开腿做爽爽| 97一区二区国产好的精华液| 欧美精品久久99| 中文字幕乱码人妻综合二区三区| 91精品久久久久久粉嫩| 国产女人水真多18毛片18精品视频| 2019亚洲日韩新视频| 小泽玛利亚一区二区免费| 最新亚洲精品| 日韩精品视频在线观看网址| 日韩免费一级视频| 怡红院在线观看| 国产精品麻豆一区二区| 噜噜噜噜噜久久久久久91| 亚洲第一天堂在线观看| 国产综合成人久久大片91| 国产成人在线精品| 亚洲国产成人无码av在线| 在线精品一区二区| 久久69精品久久久久久久电影好| 国产大尺度视频| 精品国产亚洲一区二区在线观看 | 欧美精品一区三区| 一本一本久久a久久| 欧美中文一区二区| 国产亚洲人成a一在线v站| av小说在线观看| 久久av影视| 亚洲欧洲国产伦综合| 亚洲一区二区蜜桃| 香蕉视频亚洲一级| 欧美性jizz18性欧美| 国产深夜男女无套内射| 日韩大片免费观看| 欧美日韩视频免费播放| 人人妻人人添人人爽欧美一区| 男女视频在线| 亚洲成人动漫一区| 欧美一级日本a级v片| 中文字字幕在线观看| 日韩和欧美一区二区三区| 国产精品久久久久久久一区探花| 五月天中文字幕| 另类小说视频一区二区| 国内精品小视频在线观看| 亚洲国产精一区二区三区性色| 亚洲第一网站| 浅井舞香一区二区| 国产91av在线播放| 九九**精品视频免费播放| 亚洲999一在线观看www| 性欧美8khd高清极品| thepron国产精品| 日韩成人在线资源| 国产在线一区二区视频| 亚洲一区二区三区四区在线观看| 欧美日韩国产免费一区二区三区| 激情在线视频| 国产精品久久久久婷婷| 青草全福视在线| 日韩电影免费看| 欧美男女性生活在线直播观看| 北条麻妃亚洲一区| 西野翔中文久久精品国产| 国产一区二区三区视频免费| www.xxxx日本| 国产一区二区高清| 国产精品丝袜视频| 蜜桃av噜噜一区二区三区麻豆| 久久伊99综合婷婷久久伊| 亚洲欧洲日本国产| av在线app| 亚洲国产精品v| 久久久久久国产精品mv| 又爽又大又黄a级毛片在线视频| av中文字幕在线不卡| 日韩国产精品一区二区三区| 在线观看电影av| 色天使久久综合网天天| 91性高潮久久久久久久| 亚洲瘦老头同性70tv| 久久伊人精品天天| 人人爽人人爽人人片av| 国产河南妇女毛片精品久久久| 精品无人区一区二区三区竹菊| 在线免费看av| 黑人巨大精品欧美一区二区三区 | 中文字幕在线观看日韩| 日本一二三区不卡| 激情另类小说区图片区视频区| 久久久水蜜桃| 精品日韩av| 欧美男男青年gay1069videost| 中文字幕在线观看网址| 自拍日韩欧美| 国产精品中文字幕久久久| 亚洲 精品 综合 精品 自拍| 亚洲欧美日韩在线| 自拍偷拍一区二区三区| 精品众筹模特私拍视频| 欧美日韩高清不卡| 熟女俱乐部一区二区| 亚洲午夜在线| 91久久精品国产91性色| 成人亚洲性情网站www在线观看| 亚洲成人久久影院| 午夜大片在线观看| 国产在线不卡一区二区三区| 亚洲欧美中文另类| 亚洲一区欧美在线| 免费在线亚洲| 国产精品高清一区二区三区| 成年人黄视频在线观看| 欧美日韩精品欧美日韩精品一| xxxxx在线观看| 久久亚洲国产| 国产精品久久久久影院日本| 人人九九精品| 精品久久久久久久久久久久久久 | 亚洲国产欧美另类| 亚洲精品久久久蜜桃| 久久精品无码一区二区三区毛片 | 国产无限制自拍| 天堂va欧美ⅴa亚洲va一国产| 久久精彩免费视频| 国产精品怡红院| 亚洲人成影院在线观看| 男人的天堂最新网址| 色爱综合网欧美| 91精品免费看| 91精品久久| 精品粉嫩aⅴ一区二区三区四区| 欧美三根一起进三p| 国产91丝袜在线播放| 蜜臀精品一区二区| 精品91久久| 亚洲男人的天堂在线| 老熟妇一区二区三区| 欧美激情综合在线| 国产亚洲视频一区| 欧美激情 亚洲a∨综合| 国产免费一区二区| 成人福利视频| 在线精品国产成人综合| 国产精品九九九九| 一区二区日韩av| 国产精品探花一区二区在线观看| 蜜桃视频一区| 一区二区不卡在线观看| 国产一区 二区| 高清视频欧美一级| 国产三级视频在线看| 欧美日韩免费观看一区三区| 国产激情无码一区二区三区| 成人黄色777网| 91蝌蚪视频在线观看| 五月婷婷六月综合| 国产精品国产一区二区| 成人黄色免费短视频| www.日韩欧美| 婷婷在线观看视频| 在线观看成人小视频| 国产日韩欧美在线观看视频| k8久久久一区二区三区| 黄色永久免费网站| 亚洲激情黄色| 一本一本a久久| 高清精品视频| 国产精品亚洲激情| 91超碰在线免费| 中文字幕视频一区二区在线有码 | 国产视频精品免费播放| 中文字幕在线视频免费| 一区二区三区在线影院| 成人精品999| 国产成人免费av在线| 波多野结衣作品集| 雨宫琴音一区二区在线| 亚洲精品成人久久久998| 伊人久久影院| 国产精品爽黄69| 一区二区精品伦理...| 久久精品久久久久久国产 免费| 亚洲av电影一区| 91精品国产91久久综合桃花| 成年人视频在线免费看| 亚洲乱码一区二区三区在线观看| 女尊高h男高潮呻吟| 国产福利视频一区二区三区| 91国产精品视频在线观看| 一本久道久久综合狠狠爱| 二级片在线观看| 欧美精品一区二区三区中文字幕| 极品尤物一区二区三区| 亚洲福利合集| 成人一区二区电影| yy6080久久伦理一区二区| 91精品国产电影| 欧洲精品久久一区二区| 欧美精品日韩综合在线| 亚洲天堂一区在线| 亚洲成a人片在线不卡一二三区 | 亚洲成人自拍偷拍| 91插插插插插插| 国产精品久久久久久久久免费丝袜 | 青青青国产精品| 日韩免费在线看| 黑人巨大亚洲一区二区久| 91精品国产91久久久久久久久| 男女视频在线| 久久久久国产精品免费| 四虎影院观看视频在线观看| 91麻豆精品国产91久久久更新时间 | 亚洲午夜精品一区二区国产| 亚洲春色综合另类校园电影| 欧美激情在线免费| 牛人盗摄一区二区三区视频| 九九热hot精品视频在线播放| 4438全国成人免费| 成人免费高清观看| 欧美国产精品va在线观看| av官网在线播放| 九九精品在线视频| 人人超在线公开视频| 色综合久久中文字幕综合网小说| 国产在线观看a视频| 欧美成年人视频网站| 欧美videosex性欧美黑吊| 欧美激情第三页| av在线理伦电影| 欧美在线观看日本一区| 国产免费不卡| 国产精品久久久久久一区二区| 51一区二区三区| 国产中文字幕91| 亚洲国产欧美国产第一区| 国产精品一 二 三| 亚洲精品小区久久久久久| 欧洲一区二区日韩在线视频观看免费 | 天堂一区二区在线免费观看| 免费裸体美女网站| 全部av―极品视觉盛宴亚洲| 免费的av在线| 国产精品大片免费观看| 青青青国产在线观看| 久久久噜噜噜久久狠狠50岁| 日韩av片网站| 国产寡妇亲子伦一区二区| 国产在线不卡av| 久久精品亚洲国产奇米99| 久久午夜精品视频| 亚洲精品免费播放| 最新中文字幕一区| 911精品产国品一二三产区| 亚洲乱码精品久久久久..| 日韩国产精品亚洲а∨天堂免| av在线中文| 欧美国产日产韩国视频| 亚洲精品mv| 91欧美精品成人综合在线观看| 成人在线视频你懂的| 日韩精品一区二区三区色偷偷| 91高清一区| 久久久久久久久久久视频| 亚洲网色网站| 国产最新免费视频| 久久 天天综合| 亚洲少妇18p| 国产精品成人免费精品自在线观看| 九九热精品在线观看| 亚洲人成网站精品片在线观看| 精品人妻在线播放| 欧美日韩在线直播| 五月天中文字幕| 欧美精品一区二区精品网| sese一区| 91精品国产91久久久久久不卡| 9999在线精品视频| 欧美裸体网站| 国产综合亚洲精品一区二| 黄色永久免费网站| 久久婷婷色综合| 久草免费新视频| 欧美久久婷婷综合色| 牛牛热在线视频| 国模叶桐国产精品一区| 国产亚洲高清在线观看| 欧美一区二区三区四区五区六区| 欧美三级在线| 婷婷激情小说网| 国产精品久久看| 久久久久99精品成人片我成大片 | 国产精品美女呻吟| 久久久久久毛片免费看 | 特黄一区二区三区| 日韩欧美国产中文字幕| 亚洲国产日韩在线观看| 美女性感视频久久久| 日日夜夜精品| 亚洲不卡1区| 久久综合九色| 成人免费网站黄| 精品国产乱码久久久久酒店 | 成人在线综合网站| 欧美黄色aaa| 在线综合+亚洲+欧美中文字幕| 国产一级在线| 日韩av色在线| 亚洲人成网亚洲欧洲无码| 国产a级片网站| 东方aⅴ免费观看久久av| 成熟的女同志hd| 91精品久久久久久蜜臀| 男人的天堂在线视频免费观看 | 久久久国产精品免费| 成人毛片免费| 亚洲精品一品区二品区三品区| 久久精品五月| 欧洲av一区二区三区| 日本韩国精品在线| 每日更新av在线播放| 国产成人精品av在线| 国产乱码精品一区二区亚洲| 天堂精品一区二区三区| 久久综合亚州| 亚洲精品91在线| 亚洲久草在线视频| 国产裸体永久免费无遮挡| 久久久精品欧美| 精品一区二区三区中文字幕 | 国产美女一区| 37p粉嫩大胆色噜噜噜| 欧美体内谢she精2性欧美| 国内av一区二区三区| 国产精品99久久久久久久久| 成人嘿咻视频免费看| 九九热精品国产| 一区二区三区免费| 婷婷综合激情网| 国产福利精品视频| 国产精品x453.com| 久久av一区二区三| 欧美性极品xxxx娇小| avav免费在线观看| 成人午夜小视频| 精品99视频| 日本一级免费视频| 91精品国产色综合久久不卡蜜臀 | 国产精品国产福利国产秒拍| 日韩欧美视频专区| 色综合久久久无码中文字幕波多| 亚洲无线码一区二区三区| 男人av在线| 亚洲aⅴ日韩av电影在线观看| 亚洲看片一区| 久久精品三级视频| 日韩一级精品视频在线观看| 国产一二三在线| 中文视频一区视频二区视频三区| 国产福利精品导航| 成人a v视频| 欧美激情国产高清| 精品久久久久久久久久久下田| 午夜视频在线网站| 欧美日韩美女视频| www在线观看播放免费视频日本| 韩国一区二区三区美女美女秀| 琪琪一区二区三区| 久久精品视频日本| 日韩资源在线观看| 久久影视三级福利片| 老司机久久精品| 欧美三级免费观看| 呦呦在线视频| 亚洲图片小说在线| 99re视频精品| 国产成人精品av在线观| 国产成人综合精品|