国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲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)關——也就是說,你甚至可以像調(diào) API 一樣訓練模型。這在企業(yè)級場景下簡直太香了。

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


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

核心亮點拉出來說:

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

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

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

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

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

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

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

想象一下這個場景:公司有一臺 A100 集群,同時有 4 個團隊要微調(diào)模型。傳統(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 調(diào)用就行:

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
)

# 像調(diào) 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 訓練服務,遠程調(diào) 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 對接

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

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

豐富的 Cookbook

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

訓練類型

后端

FSDP 微調(diào)

Transformers

全參數(shù)微調(diào)

FSDP MoE 微調(diào)

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ā)和在看。若可以再給我加個,謝謝你看我的文章,我們下篇再見!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(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.

相關推薦
熱點推薦
罰15億!拼多多一員工故意關門,對抗調(diào)查,導致執(zhí)法人員手指骨折

罰15億!拼多多一員工故意關門,對抗調(diào)查,導致執(zhí)法人員手指骨折

魔都姐姐雜談
2026-04-19 08:03:27
長沙火了!全球最大零食店開業(yè)3天就被擠停售,背后真相曝光

長沙火了!全球最大零食店開業(yè)3天就被擠停售,背后真相曝光

西昆侖Bruce
2026-04-19 19:52:58
不敢相信她有五十多歲了

不敢相信她有五十多歲了

科學發(fā)掘
2026-04-19 21:09:22
“磨膝大戶”被公布,是跑步的20倍,醫(yī)生:不想軟骨磨光,早扔掉

“磨膝大戶”被公布,是跑步的20倍,醫(yī)生:不想軟骨磨光,早扔掉

垚垚分享健康
2026-04-19 14:35:09
北京國際電影節(jié)開幕式,韓紅:李乃文是不是真的他唱的

北京國際電影節(jié)開幕式,韓紅:李乃文是不是真的他唱的

韓小娛
2026-04-17 07:45:14
“最快女護士”張水華云南石屏馬拉松退賽,本人回應:不舒服就沒跑;其辭職后已拿下兩個冠軍,獲折現(xiàn)超20萬獎勵

“最快女護士”張水華云南石屏馬拉松退賽,本人回應:不舒服就沒跑;其辭職后已拿下兩個冠軍,獲折現(xiàn)超20萬獎勵

極目新聞
2026-04-19 12:01:08
哈工大畢業(yè)失業(yè)四五年被吐槽!網(wǎng)友:農(nóng)村大學生大多數(shù)過得比較差

哈工大畢業(yè)失業(yè)四五年被吐槽!網(wǎng)友:農(nóng)村大學生大多數(shù)過得比較差

火山詩話
2026-04-19 10:40:38
普京訪華行程敲定,特朗普已下命令,中國向全球通告,無懼美國

普京訪華行程敲定,特朗普已下命令,中國向全球通告,無懼美國

老牧說說
2026-04-20 00:29:36
中國人在哈薩克斯坦生活實錄:飯?zhí)?、女人太颯、聊天太上頭了!

中國人在哈薩克斯坦生活實錄:飯?zhí)?、女人太颯、聊天太上頭了!

老特有話說
2026-04-19 15:29:16
蒜苔開始上市!再三強調(diào):高血壓患者吃蒜苔時,多注意這5點

蒜苔開始上市!再三強調(diào):高血壓患者吃蒜苔時,多注意這5點

芹姐說生活
2026-04-18 14:47:34
隨著41歲C羅破門+利雅得勝利4-0,亞冠二級4強已誕生3席

隨著41歲C羅破門+利雅得勝利4-0,亞冠二級4強已誕生3席

側身凌空斬
2026-04-20 00:01:29
調(diào)查發(fā)現(xiàn):每天都走路的人,大多到了75歲后,身體或有5種變化

調(diào)查發(fā)現(xiàn):每天都走路的人,大多到了75歲后,身體或有5種變化

白話電影院
2026-04-07 13:28:35
德國戰(zhàn)敗后,古德里安為什么能無罪釋放?他是一個有底線的軍人

德國戰(zhàn)敗后,古德里安為什么能無罪釋放?他是一個有底線的軍人

小莜讀史
2026-04-18 14:46:46
神秘消失數(shù)月后突然現(xiàn)身!美國最頭疼的人,悄悄到了巴格達

神秘消失數(shù)月后突然現(xiàn)身!美國最頭疼的人,悄悄到了巴格達

菁菁子衿
2026-04-19 19:41:04
丁俊暉7-2吉爾伯特,罕見“生氣”扔了巧粉夾,中國裁判幫他撿回

丁俊暉7-2吉爾伯特,罕見“生氣”扔了巧粉夾,中國裁判幫他撿回

真理是我親戚
2026-04-19 22:16:28
魏積安現(xiàn)狀:在山東過田園生活,70歲身體很硬朗,妻兒都是普通人

魏積安現(xiàn)狀:在山東過田園生活,70歲身體很硬朗,妻兒都是普通人

大魚簡科
2026-04-19 19:19:17
痛苦,火箭隊杜蘭特在打湖人隊首場比賽前的訓練中表情說明了一切

痛苦,火箭隊杜蘭特在打湖人隊首場比賽前的訓練中表情說明了一切

好火子
2026-04-20 03:29:10
火箭3主力身價暴跌!申京三無產(chǎn)品,謝潑德攻守全崩,阿門狂被帽

火箭3主力身價暴跌!申京三無產(chǎn)品,謝潑德攻守全崩,阿門狂被帽

籃球資訊達人
2026-04-19 12:26:12
伊朗未證實伊美復談消息

伊朗未證實伊美復談消息

界面新聞
2026-04-19 20:45:22
馬蹄露自薦做團長后續(xù)!張敬軒粉絲不忍了,開始發(fā)文攻擊了

馬蹄露自薦做團長后續(xù)!張敬軒粉絲不忍了,開始發(fā)文攻擊了

小徐講八卦
2026-04-19 11:27:40
2026-04-20 03:55:00
Ai學習的老章 incentive-icons
Ai學習的老章
Ai學習的老章
3334文章數(shù) 11137關注度
往期回顧 全部

科技要聞

50分26秒破人類紀錄!300臺機器人狂飆半馬

頭條要聞

半年下沉22厘米 女子家中坐擁價值上億別墅卻沒法住人

頭條要聞

半年下沉22厘米 女子家中坐擁價值上億別墅卻沒法住人

體育要聞

湖人1比0火箭:老詹比烏度卡像教練

娛樂要聞

何潤東漲粉百萬!內(nèi)娛隔空掀桌第一人

財經(jīng)要聞

華誼兄弟,8年虧光85億

汽車要聞

29分鐘大定破萬 極氪8X為什么這么多人買?

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

旅游
本地
手機
時尚
公開課

旅游要聞

北京投入2.2億元建成和田“三館一院”

本地新聞

12噸巧克力有難,全網(wǎng)化身超級偵探添亂

手機要聞

8.8英寸小鋼炮!REDMI K Pad 2核心配置揭曉

裝修“精神角落”,就是這么上癮

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版