337p人体粉嫩胞高清图片,97人妻精品一区二区三区在线 ,日本少妇自慰免费完整版,99精品国产福久久久久久,久久精品国产亚洲av热一区,国产aaaaaa一级毛片,国产99久久九九精品无码,久久精品国产亚洲AV成人公司
網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

純國產(chǎn)、輕量級大模型訓練框架,來自阿里魔搭

0
分享至

今天來聊一個我覺得挺有意思的新項目——魔搭(ModelScope)團隊剛開源的Twinkle?,一個讓大模型訓練真正"亮起來"的訓練框架。

順帶說一句,這篇文章介紹的項目也是來自魔搭

簡介

做過模型訓練的同學應該都深有體會:訓練一個大模型,最痛苦的不是算法本身,而是搞基礎設施。你寫好了訓練代碼,結果要在分布式環(huán)境下跑起來,先是配 Ray 集群,再是搞數(shù)據(jù)并行、模型并行,checkpoint 又要同步……光是把這套流水線跑通就夠花上好幾天時間了。

Twinkle? 想解決的就是這個問題。一句話總結:它是一個輕量級的客戶端-服務端訓練框架,把訓練邏輯封裝成標準化 API,不管你用 torchrun 本地跑還是用 Ray 集群跑,代碼基本不用改。

更牛的是,它還能作為Training-as-a-Service(TaaS)的后端網(wǎng)關——也就是說,你甚至可以像調 API 一樣訓練模型。這在企業(yè)級場景下簡直太香了。

下面這張架構圖一目了然:


Twinkle 架構設計:解耦的客戶端-服務端架構

核心亮點拉出來說:

  • 解耦架構:客戶端和服務端分離,標準化接口設計,向后兼容 Tinker API。搞過 Tinker 的同學遷移成本極低,改個 base URL 就行

  • 三種運行模式:torchrun / Ray / HTTP,本地調試、集群訓練、遠程 API 服務隨便切換

  • 多后端支持:同時支持 Transformers 和 Megatron 后端,Dense 模型和 MoE 模型都能搞

  • 多租戶訓練:在同一個基礎模型上同時跑多個 LoRA 訓練任務,互不干擾——這個功能是真的硬核

另外值得一提的是,Twinkle? 是ms-swift(魔搭之前非常知名的訓練框架)團隊打造的。官方也明確說了,預計 Twinkle 中的一些基礎組件會被 ms-swift 復用,可以說這兩個項目是共同演進的關系。

多租戶:一個底座跑 N 個訓練任務

這應該是 Twinkle 最讓人眼前一亮的功能了。

想象一下這個場景:公司有一臺 A100 集群,同時有 4 個團隊要微調模型。傳統(tǒng)做法是排隊,一個一個來。但用了 Twinkle 的多租戶架構,4 個團隊可以同時在一個底座模型上訓練各自的 LoRA,完全隔離。


多租戶訓練架構:LoRA 池 + 租戶隔離

舉個真實例子:

  • 租戶 A:加載本地私有數(shù)據(jù)集,LoRA rank=8,用基礎模型做 SFT

  • 租戶 B:從 Hub 拉開源數(shù)據(jù)集,LoRA rank=32,跑預訓練

  • 租戶 C:用基礎模型做 GRPO 損失計算,搞強化學習

  • 租戶 D:純推理,算 logps

這 4 個任務并發(fā)跑在同一個底座模型上,因為 Twinkle 把模型和采樣器設計成了「任務無關組件」。訓練完成后,checkpoint 還能自動推送到 ModelScope 或 HuggingFace 的倉庫(默認私有)。

說白了,這就是給企業(yè)場景準備的「GPU 多人共享訓練平臺」。在 GPU 資源緊張的今天,這種設計真的太實用了。

注意:目前多租戶的并發(fā)訓練主要針對 LoRA 優(yōu)化。當然作為模塊化框架,Twinkle 也支持遠程臨時獨占訓練,也就是全參數(shù)訓練模式。
支持的模型

Twinkle 目前支持的模型覆蓋面已經(jīng)相當廣了,主流的大模型基本都有:

模型系列

代表模型

參數(shù)規(guī)模

Megatron 支持

Qwen3 全系列

Qwen3-14B-Base

0.6B ~ 32B

Qwen3 MoE

Qwen3-30B-A3B

30B-A3B, 235B-A22B

Qwen3.5 MoE

Qwen3.5-35B-A3B

35B-A3B, 122B-A10B

Qwen3.5 Dense

Qwen3.5-9B

2B ~ 27B

Qwen2 / 2.5 全系列

Qwen2.5-1.5B-Instruct

0.5B ~ 72B

ChatGLM3/4

glm-4-9b-chat

6B ~ 9B

InternLM2

internlm2-1_8b

1.8B ~ 7B

DeepSeek V2

DeepSeek-V2-Lite

V2 全系列

DeepSeek R1

DeepSeek-R1

DeepSeek R1 蒸餾版

R1-Distill-Qwen-7B

1.5B ~ 32B

可以看到,Qwen 系列和 DeepSeek 系列的 Megatron 支持做得最好。GLM 和 InternLM 暫時只支持 Transformers 后端。

而且官方也說了,隨著新模型的發(fā)布會持續(xù)添加支持。目前在 ModelScope 上提供的 Serverless 訓練服務,底座模型用的是Qwen3-30B-A3B-Instruct-2507

安裝

安裝非常簡單,一行 pip 搞定:

pip install 'twinkle-kit'

如果需要從源碼安裝:

git clone https://github.com/modelscope/twinkle.git
cd twinkle
pip install -e .

環(huán)境要求:Python >= 3.11,PyTorch >= 2.0。

如果要用 Megatron 后端,還需要額外安裝 Megatron-LM(倉庫里有INSTALL_MEGATRON.sh腳本可以直接用)。

使用

來看一個用 Ray 訓練 LoRA 的完整示例。代碼整體寫起來非常清晰:

from peft import LoraConfig
import twinkle
from twinkle import DeviceMesh, DeviceGroup
from twinkle.dataloader import DataLoader
from twinkle.dataset import Dataset, DatasetMeta
from twinkle.model import TransformersModel
from twinkle.preprocessor import SelfCognitionProcessor

# 定義設備組和 mesh
device_group = [DeviceGroup(name='default', ranks=8, device_type='cuda')]
device_mesh = DeviceMesh.from_sizes(fsdp_size=4, dp_size=2)
twinkle.initialize(mode='ray', groups=device_group, global_device_mesh=device_mesh)

def train():
# 從 ModelScope 加載模型(HuggingFace 用 'hf://...')
base_model = 'ms://Qwen/Qwen3.5-4B'
# 加載 1000 條樣本
dataset = Dataset(dataset_meta=DatasetMeta(
'ms://swift/self-cognition', data_slice=range(1000)
))
dataset.set_template('Template', model_id=base_model)
dataset.map(SelfCognitionProcessor('twinkle LLM', 'ModelScope Community'))
dataset.encode()
# 全局 batch size = 8
dataloader = DataLoader(dataset=dataset, batch_size=8, min_batch_size=8)
# 使用 Transformers 后端
model = TransformersModel(model_id=base_model, remote_group='default')
# 配置 LoRA
lora_config = LoraConfig(r=8, lora_alpha=32, target_modules='all-linear')
model.add_adapter_to_model('default', lora_config, gradient_accumulation_steps=2)
model.set_optimizer(optimizer_cls='AdamW', lr=1e-4)
model.set_lr_scheduler(
scheduler_cls='CosineWarmupScheduler',
num_warmup_steps=5,
num_training_steps=len(dataloader)
)
# 訓練循環(huán)
for step, batch in enumerate(dataloader):
model.forward_backward(inputs=batch)
model.clip_grad_and_step()
if step % 20 == 0:
metric = model.calculate_metric(is_training=True)
print(f'Step {step}/{len(dataloader)}, metric: {metric}')
model.save('last-checkpoint')

if __name__ == '__main__':
train()

說實話,看完這段代碼我是挺驚喜的。整個 API 設計得非常 Pythonic:加載數(shù)據(jù)、設置模板、定義模型、配置 LoRA、訓練循環(huán),每一步都很直觀。特別是ms://hf://的前綴設計,可以無縫切換 ModelScope 和 HuggingFace 的模型源,很優(yōu)雅。

訓練即服務(TaaS)

Twinkle 還有一個殺手級的功能:在 ModelScope 上提供了 Serverless 訓練服務,目前處于 Beta 階段。

怎么用呢?加入 Twinkle-Explorers 組織就能免費體驗。用 Tinker 兼容 API 調用就行:

from tinker import ServiceClient, types
from twinkle import init_tinker_client

base_url = 'https://www.modelscope.cn/twinkle'
api_key = 'your-api-key'

init_tinker_client()
service_client = ServiceClient(base_url=base_url, api_key=api_key)
training_client = service_client.create_lora_training_client(
base_model='Qwen/Qwen3-30B-A3B-Instruct-2507', rank=16
)

# 像調 API 一樣訓練模型
for epoch in range(3):
for step, batch in enumerate(dataloader):
input_datum = [input_feature_to_datum(feat) for feat in batch]
fwdbwd_future = training_client.forward_backward(input_datum, "cross_entropy")
optim_future = training_client.optim_step(types.AdamParams(learning_rate=1e-4))
fwdbwd_future.result()
optim_future.result()
training_client.save_state(f"twinkle-lora-{epoch}").result()

沒有 GPU?沒關系,用 ModelScope 的 Serverless 訓練服務,遠程調 API 就能訓練一個 30B 的 MoE 模型的 LoRA。對于個人開發(fā)者和小團隊來說,這簡直是福音。

模塊化生態(tài)

Twinkle 的模塊化設計做得相當細致,一共有 20 個標準模塊:

類別

模塊

功能

數(shù)據(jù)層

Dataset / Template / DataLoader / Preprocessor / InputProcessor

數(shù)據(jù)加載、編解碼、分發(fā)、ETL、任務處理

模型層

Model / Sampler / Loss / Metric / Reward / Advantage

大模型、采樣、損失、指標、獎勵、優(yōu)勢函數(shù)

工程層

CheckpointEngine / Patch / Module / Kernel

權重同步、模型修復、組件、算子

服務層

Server / Client / Infra / Plugin / Hub

集群啟動、客戶端、基礎設施抽象、插件、Hub 對接

每個模塊都是高內聚的,可以單獨替換或擴展。比如你想換個自定義的損失函數(shù)?實現(xiàn) Loss 接口就行。想用自己的采樣策略?實現(xiàn) Sampler 接口即可。這種設計讓框架的可擴展性非常強。

社區(qū)也已經(jīng)開始貢獻組件了,比如 ModelScope 官方提供了一個qwen3_moe_transformers4_patch,專門修復 Qwen3 MoE 模型在 FSDP2 訓練時掛起的問題。

豐富的 Cookbook

Twinkle 提供了覆蓋多個場景的訓練腳本:

訓練類型

后端

FSDP 微調

Transformers

全參數(shù)微調

FSDP MoE 微調

Transformers

MoE 架構專用

Expert Parallelism + FSDP

Transformers

專家并行 + 數(shù)據(jù)并行

Sequence Parallelism + FSDP

Transformers

序列并行,超長上下文訓練

TP 訓練

Megatron

張量并行

TP MoE 訓練

Megatron

MoE + 張量并行

Tinker/Twinkle 客戶端訓練

兩者均支持

遠程 API 方式訓練

這個覆蓋面已經(jīng)很全了。無論你是用 Transformers 還是 Megatron 后端,Dense 還是 MoE 模型,本地還是遠程訓練,基本都有現(xiàn)成的 cookbook 可以參考。

總結

Twinkle? 是我最近看到的最有想象力的大模型訓練框架之一。

它不只是又一個訓練工具,而是把"訓練即服務"這個概念真正落地了。客戶端-服務端解耦、多租戶 LoRA 并行訓練、Serverless TaaS、多后端支持……每一個特性單拿出來都有競爭力,組合在一起就是一套完整的企業(yè)級訓練解決方案。

優(yōu)點:

  • 架構設計優(yōu)雅,模塊化程度高,擴展性強

  • 多租戶 LoRA 并行訓練是真正的差異化賣點

  • 支持 Transformers / Megatron 雙后端

  • ModelScope TaaS 服務讓沒有 GPU 的開發(fā)者也能訓練大模型

  • 和 ms-swift 生態(tài)互通,組件可復用

  • 代碼風格清晰,API 設計很 Pythonic

需要注意的地方:

  • 項目剛開源不久(2026 年 2 月首版),生態(tài)還在建設中

  • 多租戶并發(fā)目前僅針對 LoRA 優(yōu)化

  • 支持的模型雖然覆蓋主流,但不如 ms-swift 那么全

  • 對華為昇騰 NPU 的支持還在完善中(文檔已經(jīng)有 NPU 開箱指南了)

如果你是做大模型訓練的企業(yè)用戶,特別是需要多人共享 GPU 集群訓練各自模型的場景,Twinkle 值得重點關注。如果你是個人開發(fā)者,可以先體驗一下 ModelScope 上的免費 Serverless 訓練服務,感受一下"API 訓練大模型"的快感。

官方鏈接:

  • GitHub:https://github.com/modelscope/twinkle

  • 中文文檔:https://twinkle-kit.readthedocs.io/zh-cn/latest/

  • PyPI:https://pypi.org/project/twinkle-kit/

  • Serverless 訓練服務:加入 Twinkle-Explorers 組織即可體驗

制作不易,如果這篇文章覺得對你有用,可否點個關注。給我個三連擊:點贊、轉發(fā)和在看。若可以再給我加個,謝謝你看我的文章,我們下篇再見!

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

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.

相關推薦
熱點推薦
官宣!范冰冰斬獲歐洲電影節(jié)終身成就獎,與戛納影帝同臺領獎!

官宣!范冰冰斬獲歐洲電影節(jié)終身成就獎,與戛納影帝同臺領獎!

草莓解說體育
2026-04-03 12:11:00
虎父無犬子!21歲鋒線三分球7中5砍32分,父親曾是CBA教頭

虎父無犬子!21歲鋒線三分球7中5砍32分,父親曾是CBA教頭

金山話體育
2026-04-03 08:31:53
申裕斌擊敗韓瑩,林昀儒擊敗溫瑞博,都有一定把握

申裕斌擊敗韓瑩,林昀儒擊敗溫瑞博,都有一定把握

子水體娛
2026-04-03 13:12:18
張雪:將拍賣奪冠賽車的1:1復刻版,全部收入捐贈嫣然天使基金

張雪:將拍賣奪冠賽車的1:1復刻版,全部收入捐贈嫣然天使基金

懂球帝
2026-04-03 11:44:18
老板娘問我她大不大?我該怎么回答?

老板娘問我她大不大?我該怎么回答?

太急張三瘋
2026-04-03 11:40:08
張雪宣布:將一輛奪冠賽車的1:1復刻版用于拍賣,所得款項捐給嫣然天使基金

張雪宣布:將一輛奪冠賽車的1:1復刻版用于拍賣,所得款項捐給嫣然天使基金

揚子晚報
2026-04-03 14:01:14
謝娜李小冉節(jié)目上一直拉手,打破不和傳言,好姐妹一輩子

謝娜李小冉節(jié)目上一直拉手,打破不和傳言,好姐妹一輩子

話娛論影
2026-04-03 10:01:27
特朗普解職司法部長邦迪,不滿其打擊政治對手力度

特朗普解職司法部長邦迪,不滿其打擊政治對手力度

揚子晚報
2026-04-03 09:07:09
杜月笙救人一命后,對方送來二十根金條,他只留下一個梨

杜月笙救人一命后,對方送來二十根金條,他只留下一個梨

千秋文化
2026-03-31 20:54:38
炸鍋了!鄭麗文訪陸前,大陸甩出“統(tǒng)一大禮包”

炸鍋了!鄭麗文訪陸前,大陸甩出“統(tǒng)一大禮包”

娛樂小可愛蛙
2026-04-03 09:29:50
大明的血池,源源不斷地兵源地,相伴276年的鐵桿死忠粉——衛(wèi)所

大明的血池,源源不斷地兵源地,相伴276年的鐵桿死忠粉——衛(wèi)所

歷史按察使司
2026-03-18 22:18:44
朱拉尼的柏林賭局:一場決定敘利亞國運的“豪賭”

朱拉尼的柏林賭局:一場決定敘利亞國運的“豪賭”

民間胡扯老哥
2026-04-02 06:42:02
虧慘了!楊浦新盤,8折賣!原價1300萬,現(xiàn)在900+萬!!

虧慘了!楊浦新盤,8折賣!原價1300萬,現(xiàn)在900+萬!!

新浪財經(jīng)
2026-04-03 10:53:43
萬科高管降薪92%

萬科高管降薪92%

地產(chǎn)微資訊
2026-04-03 09:16:07
突發(fā)!伊朗襲擊甲骨文、亞馬遜!

突發(fā)!伊朗襲擊甲骨文、亞馬遜!

中國半導體論壇
2026-04-03 10:23:02
遭救護員脫褲性侵強拍裸照 泰國女星:絕不和解!

遭救護員脫褲性侵強拍裸照 泰國女星:絕不和解!

西樓知趣雜談
2026-04-03 06:17:12
重磅快報!摩爾多瓦正式退出獨聯(lián)體!

重磅快報!摩爾多瓦正式退出獨聯(lián)體!

老馬拉車莫少裝
2026-04-02 22:38:44
夏克立宣布再婚生女:和另一位家長生了個孩子,再否認睡女粉

夏克立宣布再婚生女:和另一位家長生了個孩子,再否認睡女粉

楓塵余往逝
2026-04-03 11:24:38
為什么“回遷房”突然沒人買了?老住戶坦言:越住越鬧心!

為什么“回遷房”突然沒人買了?老住戶坦言:越住越鬧心!

Home范
2026-03-27 13:17:26
京滬廈一個都躲不掉!廣東隊慘遭王博“做局”,杜鋒總決賽沒戲了

京滬廈一個都躲不掉!廣東隊慘遭王博“做局”,杜鋒總決賽沒戲了

緋雨兒
2026-04-03 12:39:24
2026-04-03 15:51:00
Ai學習的老章 incentive-icons
Ai學習的老章
Ai學習的老章
3304文章數(shù) 11124關注度
往期回顧 全部

科技要聞

5萬輛庫存車,給了特斯拉一記重拳

頭條要聞

小米宣布部分手機調價 盧偉冰、魏思琪:望大家理解

頭條要聞

小米宣布部分手機調價 盧偉冰、魏思琪:望大家理解

體育要聞

沖擊世界杯失敗,80歲老帥一氣之下病倒了

娛樂要聞

《浪姐7》最新人氣TOP 曾沛慈斷層第一

財經(jīng)要聞

專家稱長期攝入“飄香劑”存在健康隱患

汽車要聞

你介意和遠房親戚長得很像嗎?

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

藝術
數(shù)碼
家居
旅游
軍事航空

藝術要聞

吳昌碩『扇畫』老辣古拙

數(shù)碼要聞

同一塊主板連“殺”三顆銳龍7 用戶稱華擎B850M已成“連環(huán)殺手”

家居要聞

溫馨多元 愛的具象化

旅游要聞

濱州:陽信十萬畝梨花競放迎客來

軍事要聞

中方:不認同伊朗對海合會國家的攻擊

無障礙瀏覽 進入關懷版