成人深夜视频网站|日韩高清无码久久|中文a√在线天堂|亚洲黄网站在线看|欧美视频 第二页|日本 久草 天堂|高潮无遮挡黄视频|久久一级内射精品|国产操逼一级视频|五月天婷婷色AV

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

秋招超強(qiáng)助攻:零基礎(chǔ)1小時(shí)上手GPT微調(diào)!全流程教程免費(fèi)開源

0
分享至

新智元報(bào)道

編輯:艾倫

【新智元導(dǎo)讀】針對OpenAI最新開源的GPT-OSS,這一篇面向零基礎(chǔ)小白用戶的手把手式的詳細(xì)訓(xùn)練教程或許能幫助你完成你的第一個(gè)GPT訓(xùn)練項(xiàng)目。

新一年的最難秋招季又來了!

2025年,隨著AI Agent的鋪開,各類崗位都開始逐漸要求候選人具有AI能力。

你是否也想在簡歷上擁有訓(xùn)練GPT的高大上的項(xiàng)目經(jīng)歷,增強(qiáng)自己在AI時(shí)代求職的競爭力?

解決方案現(xiàn)在有了。

今年8月5日,自從幾年前GPT-2發(fā)布后,再無新開源模型的終于發(fā)布了新開源大模型GPT-OSS,引發(fā)社區(qū)熱議。

模型分為120B和20B兩個(gè)版本,其中20B的版本理論上可以在消費(fèi)級的16GB以上顯存的顯卡上運(yùn)行,從而允許我們以較低的成本使用消費(fèi)級顯卡訓(xùn)練GPT。


近日,博主Lorentz Yeung發(fā)表的一篇博客,就對本地部署和微調(diào)訓(xùn)練GPT-OSS進(jìn)行了手把手的詳盡教學(xué),小白友好值Max。


博客地址:https://pub.towardsai.net/teaching-openais-gpt-oss-20b-model-multilingual-reasoning-ability-a-hands-on-guide-with-rtx-4090-0835ba121ee7

微調(diào)GPT-OSS-20B

RTX 4090本地實(shí)操指南

本文會詳細(xì)介紹如何對OpenAI最新開源的GPT-OSS-20B模型(https://huggingface.co/unsloth/gpt-oss-20b-GGUF)進(jìn)行微調(diào),以提升它的多語言推理能力。

我們將涵蓋目標(biāo)設(shè)定、基于RTX 4090和WSL2的本地環(huán)境搭建、代碼來源、詳細(xì)操作流程、訓(xùn)練前后效果對比,以及為何即便只訓(xùn)練60步也能有顯著提升。

如果你喜歡鼓搗AI,這份教程可以幫助你在本地復(fù)現(xiàn)整個(gè)流程。

你將學(xué)到什么:解鎖多語言思維鏈推理

看完這篇教程后,你就能動手為OpenAI發(fā)布的GPT-OSS-20B模型進(jìn)行多語言思維鏈推理的微調(diào)。

GPT-OSS模型本身已經(jīng)可以勝任數(shù)學(xué)、編程、常識問答等任務(wù),并且具備一定的多語言能力,但它的推理過程天然偏向英文。

比如,即使你用法語提問,模型內(nèi)部思考時(shí)還是優(yōu)先用英文,而且你無法像設(shè)置「推理語言:法語」那樣切換它的思考語言。

通過在HuggingFaceH4/Multilingual-Thinking數(shù)據(jù)集(包含1000條多語言推理樣本,涵蓋法語、西班牙語、德語、意大利語等)上微調(diào),可以讓模型具備以下能力:

  • 能用OpenAI的Harmony格式生成結(jié)構(gòu)化響應(yīng)(例如把「分析」和「最終答案」分開)。

  • 可以根據(jù)需要切換推理語言(比如用法語分析、用英語作答)。

  • 能在非英語環(huán)境下,更靈活地調(diào)整推理的詳細(xì)程度(低、中、高)。

按需切換推理語言和詳細(xì)程度。此處示例為:法語,中等詳細(xì)程度

微調(diào)后的模型能根據(jù)需求自由切換推理語言和細(xì)節(jié)程度——例如用法語進(jìn)行中等細(xì)節(jié)分析。

對于教學(xué)、內(nèi)容創(chuàng)作或AI助手等場景,這點(diǎn)非常實(shí)用,尤其是當(dāng)用戶的母語不是英文時(shí)。

環(huán)境搭建:RTX 4090+WSL2本地高效微調(diào)

訓(xùn)練腳本主要基于Unsloth提供的訓(xùn)練腳本,并針對RTX4090做了一些參數(shù)調(diào)整。

硬件環(huán)境是:NVIDIA RTX 4090 GPU(24GB顯存),操作系統(tǒng)是Windows,通過WSL2運(yùn)行。

為什么要用本地環(huán)境?

我們一開始嘗試用Google Colab免費(fèi)的Tesla T4顯卡,但由于顯存限制(即使用了4bit量化,20B模型還是需要12–23GB顯存),很快就出現(xiàn)AcceleratorError錯(cuò)誤并崩潰。

使用Google Colab報(bào)錯(cuò):AcceleratorError

Colab的付費(fèi)高級版可能可以跑,但本地環(huán)境顯然在控制能力和速度上更勝一籌。

搭建流程如下:

1. 在WSL2終端,創(chuàng)建虛擬環(huán)境并安裝pytorch和unsloth,命令如下(見Unsloth文檔:https://docs.unsloth.ai/basics/gpt-oss-how-to-run-and-fine-tune#fine-tuning-gpt-oss-with-unsloth):

conda create --name unsloth_env \
    python=3.11 \
    pytorch-cuda=12.1 \
    pytorch cudatoolkit xformers -c pytorch -c nvidia -c xformers \
    -y
conda activate unsloth_env
pip install unsloth

看到「unsloth_env is created!」就成功了。

2. 下載我們的Notebook文件,激活新建的「unsloth_env」(或者你自己命名的環(huán)境)kernel,運(yùn)行安裝依賴的cell:

%%capture
# 安裝最新版Torch、Triton、Transformers和Unsloth!
!pip install --upgrade -qqq uv
try: import numpy; install_numpy = f"numpy=={numpy.__version__}"
except: install_numpy = "numpy"
!uv pip install -qqq \
    "torch>=2.8.0" "triton>=3.4.0" {install_numpy} \
    "unsloth_zoo[base] @ git+https://github.com/unslothai/unsloth-zoo" \
    "unsloth[base] @ git+https://github.com/unslothai/unsloth" \
    torchvision bitsandbytes \
    git+https://github.com/huggingface/transformers \
    git+https://github.com/triton-lang/triton.git@main#subdirectory=python/triton_kernels

有環(huán)境或依賴疑問可參考相關(guān)文檔。

整個(gè)配置流程大約花費(fèi)30分鐘。

用RTX 4090本地運(yùn)行其實(shí)很簡單:下載Notebook到本地,在VS Code或Jupyter Lab里用WSL2環(huán)境逐行運(yùn)行就可以了。

Unsloth庫在速度和顯存利用上都有優(yōu)化,訓(xùn)練效率更高,也特別適配RTX系列顯卡。

代碼詳解

這份Notebook包含了加載模型、準(zhǔn)備數(shù)據(jù)、微調(diào)和推理的完整流程。

如果你不關(guān)心細(xì)節(jié)解釋,其實(shí)完全可以直接跳過下面的內(nèi)容,在Jupyter Notebook頂部點(diǎn)擊Run All一鍵運(yùn)行就行——我們已經(jīng)為RTX4090優(yōu)化好了參數(shù)。

安裝與模型加載

模型用的是Unsloth版本的GPT-OSS-20B。

OpenAI的GPT-OSS模型本身就用的是MXFP4格式,而Unsloth最近加了對應(yīng)工具和兼容方案,讓這些權(quán)重也能順利微調(diào)。

MXFP4是Open Compute Project提出的微縮浮點(diǎn)數(shù)格式,在推理效率上表現(xiàn)很好。

OpenAI發(fā)布的GPT-OSS-120B和20B都有原生MXFP4權(quán)重,Unsloth針對主流訓(xùn)練框架缺乏MXFP4支持的情況,做了自定義適配和NF4仿真機(jī)制,能直接對GPT-OSS進(jìn)行微調(diào),詳見Unsloth文檔。

from unsloth import FastLanguageModel
import torch
max_seq_length = 4096
dtype = None
# 支持4bit預(yù)量化的模型,下載速度快且顯存友好。
fourbit_models = [
    "unsloth/gpt-oss-20b-unsloth-bnb-4bit", # bitsandbytes 4bit量化
    "unsloth/gpt-oss-120b-unsloth-bnb-4bit",
    "unsloth/gpt-oss-20b", # MXFP4格式
    "unsloth/gpt-oss-120b",
] # 更多模型見https://huggingface.co/unsloth
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/gpt-oss-20b",
    dtype = dtype, # None表示自動識別
    max_seq_length = max_seq_length,
    load_in_4bit = True,  # 4bit量化顯存更省
    full_finetuning = False,
    # token = "hf_...", # 如果用gated模型需要填
)
model = FastLanguageModel.get_peft_model(
    model,
    r = 8, # 可選8,16,32,64,128等
    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", # 超長上下文推薦True或"unsloth"
    random_state = 3407,
    use_rslora = False,
    loftq_config = None,
)

這段代碼實(shí)現(xiàn)了什么?

  • 用pip安裝Unsloth、Torch、Transformers及相關(guān)依賴。

  • 加載模型(支持4bit量化,起步只需約12GB顯存)。

  • 加載LoRA適配器,目標(biāo)僅微調(diào)約0.02%的參數(shù),極大提升訓(xùn)練效率。

數(shù)據(jù)準(zhǔn)備

dataset = load_dataset("HuggingFaceH4/Multilingual-Thinking", split="train")

這行代碼的作用:

  • 加載HuggingFaceH4/Multilingual-Thinking數(shù)據(jù)集(包含1000條多語言鏈?zhǔn)酵评順颖荆╤ttps://huggingface.co/datasets/HuggingFaceH4/Multilingual-Thinking)。

  • 主要字段包括:「reasoning_language」、「developer」、「user」、「analysis」、「final」、「messages」。

  • 其中「messages」是對話輪次列表,比如system prompt、用戶提問、助手分析/回答等。

from unsloth.chat_templates import standardize_sharegpt
dataset = standardize_sharegpt(dataset)
dataset = dataset.map(formatting_prompts_func, batched = True,)

這段代碼是在:

  • 標(biāo)準(zhǔn)化數(shù)據(jù)為ShareGPT格式,并應(yīng)用GPT-OSS的專用對話模板。

  • 這一步會把每輪對話包裝成GPT-OSS專屬的Harmony格式(比如<|start|>role<|message|>content<|end|>),包含推理細(xì)致程度、不同channel(分析/評論/最終答案)、工具調(diào)用等結(jié)構(gòu)信息。更詳細(xì)的說明見下圖的Notebook示例。

  • 這里只是文本格式化,還沒有進(jìn)行分詞,分詞是在訓(xùn)練時(shí)完成的。

將每次對話包裝為 GPT-OSS 專用的 Harmony 格式(例如:<|start|>role<|message|>content<|end|>)

訓(xùn)練

from trl import SFTConfig, SFTTrainer
from transformers import DataCollatorForSeq2Seq
trainer = SFTTrainer(
    model = model,
    tokenizer = tokenizer,
    train_dataset = dataset,
    args = SFTConfig(
        per_device_train_batch_size = 1,
        gradient_accumulation_steps = 16,
        warmup_steps = 5,
        # num_train_epochs = 1, # 如果想完整跑一輪可以開啟
        max_steps = 60,
        learning_rate = 2e-4,
        logging_steps = 20,
        optim = "adamw_8bit",
        weight_decay = 0.01,
        lr_scheduler_type = "linear",
        seed = 3407,
        output_dir = "outputs",
        report_to = "none", # 可接入WandB等日志平臺
    ),
)

這一大段代碼其實(shí)只是在:

  • 使用SFTTrainer,訓(xùn)練步數(shù)設(shè)置為60,等效batch size為16,學(xué)習(xí)率2e-4。

  • 在RTX 4090上訓(xùn)練大約34分鐘,損失從1.62降到1.07。如果有條件可以訓(xùn)練更久,歡迎留言告訴我們你是否能降到0.5附近。

訓(xùn)練采樣時(shí)會不會重復(fù)抽樣?

Hugging Face的TRL SFTTrainer默認(rèn)是「無放回采樣」,即每輪迭代按順序遍歷數(shù)據(jù)集(可選shuffle),直到達(dá)到指定步數(shù)或epoch數(shù)。

如果訓(xùn)練步數(shù)不足一輪(比如這里的60步,等效batch size16,約采樣960/1000條數(shù)據(jù)),一般不會重復(fù)抽樣。

當(dāng)然,也可以用dataloader_sampler等參數(shù)自定義采樣方式。

訓(xùn)練前后對比

效果一目了然

微調(diào)前,基座模型在面對類似「解方程x? + 3x? - 10 = 3」的問題時(shí),推理過程都是用英文進(jìn)行:

  • Low(低):用英文給出粗略估算(比如根約為1.36)。

  • Medium(中):用英文做更深入的分析。

  • High(高):英文詳細(xì)步驟,精確計(jì)算根約為1.32。

  • 沒有多語言分析,也沒有Harmony格式的結(jié)構(gòu)化輸出。

微調(diào)60步之后:

微調(diào)后使用法語進(jìn)行推理

  • 推理過程能自動切換到法語「分析」通道(比如:「Très bien, commen?ons…」),而且格式結(jié)構(gòu)清晰。

  • 數(shù)學(xué)結(jié)論依然準(zhǔn)確,但每一步用法語表達(dá),符合數(shù)據(jù)集設(shè)定。

  • 這樣的變化說明,模型從單一英文推理轉(zhuǎn)變?yōu)榭梢愿鶕?jù)需要靈活切換思考語言,證明了微調(diào)的巨大作用。

為什么只訓(xùn)練60步就有巨大提升?

你可能會好奇:為什么只訓(xùn)練60步,模型推理風(fēng)格就發(fā)生這么大轉(zhuǎn)變?

我們認(rèn)為的一種可能的解釋是:

  • LoRA的高效性:實(shí)際更新的參數(shù)只有大約400萬(占209億總參數(shù)的0.02%),主要集中在注意力層。這其實(shí)是在快速「換風(fēng)格」,而不是重新學(xué)邏輯或功能。

  • 高質(zhì)量數(shù)據(jù)集:模型這60步能看到960條樣本(幾乎全量),直接學(xué)習(xí)多語言鏈?zhǔn)酵评淼谋磉_(dá)方式。

  • SFT對齊:監(jiān)督微調(diào)優(yōu)化輸出,loss下降很快,效率遠(yuǎn)高于RLHF。

  • 強(qiáng)大預(yù)訓(xùn)練基礎(chǔ):模型本身已具備推理和多語言能力,我們只是微調(diào)表達(dá)方式。

  • 優(yōu)化器和學(xué)習(xí)率:較高的學(xué)習(xí)率(2e-4)讓模型能迅速適應(yīng)新風(fēng)格。NVIDIA文檔里也常把這種訓(xùn)練稱為「激進(jìn)」。

本質(zhì)上,這是在強(qiáng)大基座模型上進(jìn)行風(fēng)格微調(diào)——只需60步,多語言表現(xiàn)立竿見影。

接下來輪到您來親自微調(diào)了!

看完這篇文章,你應(yīng)該已經(jīng)學(xué)會如何把類似GPT-OSS-20B這樣的大模型,調(diào)整成支持多語言思維鏈推理的版本,把它從英文「內(nèi)心獨(dú)白」變成可按需切換思考語言(比如法語)的多面手。

這也包括了對Harmony格式結(jié)構(gòu)化響應(yīng)的理解,以及解決模型默認(rèn)英文推理的限制。

如果遇到問題,可以優(yōu)先去Unsloth的Discord社區(qū)(https://discord.com/invite/unsloth)尋求解決方案。

以上Notebook文件包含完整運(yùn)行結(jié)果,可以在GitHub下載(https://github.com/entzyeung/towardsai/tree/main/Teaching%20OpenAI's%20GPT-OSS%2020B%20Model%20Multilingual%20Reasoning%20Ability)。

微調(diào)GPT-OSS,就像為AI打開了定制化大門,只需要以低成本臨時(shí)在云端租用一張4090即可完成微調(diào)。

建議你也親自試試,有問題歡迎在評論區(qū)討論。

參考資料:

https://entzyeung.medium.com/0835ba121ee7?source=friends_link&sk=ca02110337755c9c27c11049f466f891


特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
3-2,62歲莫耶斯率隊(duì)3連勝,29歲曼城舊將格拉利什助攻梅開二度

3-2,62歲莫耶斯率隊(duì)3連勝,29歲曼城舊將格拉利什助攻梅開二度

側(cè)身凌空斬
2025-08-30 23:58:53
65歲大姐雇46歲男保姆,男保姆:雇主對我很好,每天都很開心

65歲大姐雇46歲男保姆,男保姆:雇主對我很好,每天都很開心

惟來
2025-08-29 07:31:06
小孩子的話一定要聽嗎?網(wǎng)友:我的天,我要看哭了嗚嗚嗚

小孩子的話一定要聽嗎?網(wǎng)友:我的天,我要看哭了嗚嗚嗚

解讀熱點(diǎn)事件
2025-08-13 00:10:08
真當(dāng)中方好惹的?趕在中國九三閱兵前,釣魚島一夜生變

真當(dāng)中方好惹的?趕在中國九三閱兵前,釣魚島一夜生變

史海無崖
2025-08-27 09:42:01
惡果和形式主義泛濫,央企暫停干部年輕化?

惡果和形式主義泛濫,央企暫停干部年輕化?

環(huán)球通信
2025-08-30 15:34:29
越南“胡志明大炮”首次亮相,號稱國產(chǎn)最強(qiáng),因造型蠢萌引發(fā)熱議

越南“胡志明大炮”首次亮相,號稱國產(chǎn)最強(qiáng),因造型蠢萌引發(fā)熱議

碳基生物關(guān)懷組織
2025-08-27 18:31:01
泰國內(nèi)閣任命普坦為代理總理

泰國內(nèi)閣任命普坦為代理總理

財(cái)聯(lián)社
2025-08-30 17:52:17
隨著上海海港客場1:4慘敗成都蓉城,3問主帥穆斯卡特?

隨著上海海港客場1:4慘敗成都蓉城,3問主帥穆斯卡特?

田先生籃球
2025-08-30 21:54:02
中國腦梗發(fā)病率世界第一,醫(yī)生:主要原因已查出,4種蔬菜要少吃

中國腦梗發(fā)病率世界第一,醫(yī)生:主要原因已查出,4種蔬菜要少吃

詩意世界
2025-08-26 13:31:36
00后女孩紋身畫面曝出:女孩全程微笑,沒有痛苦表情,紋身師驚訝

00后女孩紋身畫面曝出:女孩全程微笑,沒有痛苦表情,紋身師驚訝

胡侃社會百態(tài)
2025-08-30 16:50:53
林心如馬爾代夫度假照曝光!網(wǎng)友驚嘆:這身材太驚艷?

林心如馬爾代夫度假照曝光!網(wǎng)友驚嘆:這身材太驚艷?

娛樂領(lǐng)航家
2025-08-29 21:00:03
薩姆納自宣加盟廣東男籃隨后刪除動態(tài),上賽季場均可得36分

薩姆納自宣加盟廣東男籃隨后刪除動態(tài),上賽季場均可得36分

雷速體育
2025-08-31 07:14:18
岡薩雷斯家中出軌女友:用攝像頭看到露骨畫面 還好沒拍臥室

岡薩雷斯家中出軌女友:用攝像頭看到露骨畫面 還好沒拍臥室

直播吧
2025-08-30 12:00:22
年輕時(shí)是大帥哥但沒紅,老了靠丑化自己成為一線男星!

年輕時(shí)是大帥哥但沒紅,老了靠丑化自己成為一線男星!

下水道男孩
2025-08-30 23:51:00
金正恩赴華方式引熱議:“蒼鷹一號”太舊,韓媒稱可能乘火車出行

金正恩赴華方式引熱議:“蒼鷹一號”太舊,韓媒稱可能乘火車出行

起喜電影
2025-08-31 02:56:03
一個(gè)很玄學(xué)的現(xiàn)象:心善能通神,德高可鎮(zhèn)鬼

一個(gè)很玄學(xué)的現(xiàn)象:心善能通神,德高可鎮(zhèn)鬼

金沛的國學(xué)筆記
2025-08-29 15:10:50
姆巴佩另類雙響,熊皇一條龍救主!0-1到2-1,皇馬逆轉(zhuǎn)登頂

姆巴佩另類雙響,熊皇一條龍救主!0-1到2-1,皇馬逆轉(zhuǎn)登頂

我的護(hù)球最獨(dú)特
2025-08-31 05:36:04
看到大家分房睡都沒成功。我就放心了

看到大家分房睡都沒成功。我就放心了

特約前排觀眾
2025-08-31 00:05:08
刺激夜:皇馬2-1,巴黎6-3,羅馬1-0,拜仁3-2,曼聯(lián)3-2,馬競1-1

刺激夜:皇馬2-1,巴黎6-3,羅馬1-0,拜仁3-2,曼聯(lián)3-2,馬競1-1

側(cè)身凌空斬
2025-08-31 05:32:03
蘇有朋道歉

蘇有朋道歉

中國日報(bào)
2025-08-30 16:04:59
2025-08-31 08:07:00
新智元 incentive-icons
新智元
AI產(chǎn)業(yè)主平臺領(lǐng)航智能+時(shí)代
13353文章數(shù) 66140關(guān)注度
往期回顧 全部

科技要聞

李斌內(nèi)部講話:蔚來四季度必須盈利

頭條要聞

高校被指強(qiáng)制學(xué)生辦校園電話卡:不辦卡無法開宿舍門

頭條要聞

高校被指強(qiáng)制學(xué)生辦校園電話卡:不辦卡無法開宿舍門

體育要聞

扛著別人的老婆,贏下那該死的冠軍

娛樂要聞

吳京風(fēng)波拉出多位明星

財(cái)經(jīng)要聞

美上訴法院裁定特朗普關(guān)稅非法!

汽車要聞

全國靜態(tài)品鑒開啟 方程豹鈦7成都車展首秀

態(tài)度原創(chuàng)

房產(chǎn)
游戲
數(shù)碼
家居
本地

房產(chǎn)要聞

顛覆認(rèn)知!??谡嬲暮勒髌?,終于出現(xiàn)了!

魔獸懷舊服:HICC活躍角色下降,AFK潮出現(xiàn),隱藏內(nèi)容會開放嗎

數(shù)碼要聞

英特爾 Arc Pro B50 首個(gè) Geekbench 跑分出爐,低于銳炫 B570

家居要聞

提升功能 靈活居住環(huán)境

本地新聞

換個(gè)城市過夏天 | 夏末狂歡,浪在阜新黃家溝!

無障礙瀏覽 進(jìn)入關(guān)懷版