<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

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

      0
      分享至

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

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

      簡介

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

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

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

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


      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 個團隊要微調模型。傳統做法是排隊,一個一個來。但用了 Twinkle 的多租戶架構,4 個團隊可以同時在一個底座模型上訓練各自的 LoRA,完全隔離。


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

      舉個真實例子:

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

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

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

      • 租戶 D:純推理,算 logps

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

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

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

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

      模型系列

      代表模型

      參數規模

      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 后端。

      而且官方也說了,隨著新模型的發布會持續添加支持。目前在 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 .

      環境要求: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)
      )
      # 訓練循環
      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:加載數據、設置模板、定義模型、配置 LoRA、訓練循環,每一步都很直觀。特別是ms://hf://的前綴設計,可以無縫切換 ModelScope 和 HuggingFace 的模型源,很優雅。

      訓練即服務(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。對于個人開發者和小團隊來說,這簡直是福音。

      模塊化生態

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

      類別

      模塊

      功能

      數據層

      Dataset / Template / DataLoader / Preprocessor / InputProcessor

      數據加載、編解碼、分發、ETL、任務處理

      模型層

      Model / Sampler / Loss / Metric / Reward / Advantage

      大模型、采樣、損失、指標、獎勵、優勢函數

      工程層

      CheckpointEngine / Patch / Module / Kernel

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

      服務層

      Server / Client / Infra / Plugin / Hub

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

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

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

      豐富的 Cookbook

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

      訓練類型

      后端

      FSDP 微調

      Transformers

      全參數微調

      FSDP MoE 微調

      Transformers

      MoE 架構專用

      Expert Parallelism + FSDP

      Transformers

      專家并行 + 數據并行

      Sequence Parallelism + FSDP

      Transformers

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

      TP 訓練

      Megatron

      張量并行

      TP MoE 訓練

      Megatron

      MoE + 張量并行

      Tinker/Twinkle 客戶端訓練

      兩者均支持

      遠程 API 方式訓練

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

      總結

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

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

      優點:

      • 架構設計優雅,模塊化程度高,擴展性強

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

      • 支持 Transformers / Megatron 雙后端

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

      • 和 ms-swift 生態互通,組件可復用

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

      需要注意的地方:

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

      • 多租戶并發目前僅針對 LoRA 優化

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

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

      如果你是做大模型訓練的企業用戶,特別是需要多人共享 GPU 集群訓練各自模型的場景,Twinkle 值得重點關注。如果你是個人開發者,可以先體驗一下 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 組織即可體驗

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

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

      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.

      相關推薦
      熱點推薦
      國運來了擋不住!我國發現世界最大"超巨型金礦床"、價值6000億

      國運來了擋不住!我國發現世界最大"超巨型金礦床"、價值6000億

      愛競彩的小周
      2026-04-02 12:32:25
      收到中方賀電,金正恩很高興,回電感謝并做出重要決定。

      收到中方賀電,金正恩很高興,回電感謝并做出重要決定。

      張嘴說財經
      2026-04-01 22:24:17
      太突然!他倆宣布離婚

      太突然!他倆宣布離婚

      廣州生活美食圈
      2026-04-01 19:01:31
      今麥郎董事長回應“手打掛面的‘手打’是商標”:該商標已用了20年,4月2日凌晨起停產相關產品

      今麥郎董事長回應“手打掛面的‘手打’是商標”:該商標已用了20年,4月2日凌晨起停產相關產品

      封面新聞
      2026-04-02 05:07:12
      中方奉陪到底!沒等來日本道歉,高市卻掀桌了,突然亮出獠牙!

      中方奉陪到底!沒等來日本道歉,高市卻掀桌了,突然亮出獠牙!

      娛樂的宅急便
      2026-04-01 14:42:42
      福建福州振興鄉村集團有限公司董事長陳志武接受審查調查

      福建福州振興鄉村集團有限公司董事長陳志武接受審查調查

      界面新聞
      2026-04-02 08:36:22
      66歲陳永貴,退休后對秘書發脾氣,李先念下令:不許再給他送文件

      66歲陳永貴,退休后對秘書發脾氣,李先念下令:不許再給他送文件

      簡史檔案館
      2026-04-02 11:05:03
      特朗普剛表態認輸,不到24小時,美債遭遇大規模拋售,美國失算了

      特朗普剛表態認輸,不到24小時,美債遭遇大規模拋售,美國失算了

      深析古今
      2026-04-01 21:52:44
      金價徹底爆了!

      金價徹底爆了!

      新浪財經
      2026-04-02 10:04:40
      現在教育最大的問題是:大多數學生根本就不想學習。

      現在教育最大的問題是:大多數學生根本就不想學習。

      李老師講最真教育
      2026-04-01 22:07:16
      山西柳林一飯店發現3人死亡 疑似煤氣中毒

      山西柳林一飯店發現3人死亡 疑似煤氣中毒

      新京報
      2026-04-02 12:21:11
      李榮浩抄襲案逆轉? 網揪「時間軸證據」質疑說謊:版權公司根本沒倒

      李榮浩抄襲案逆轉? 網揪「時間軸證據」質疑說謊:版權公司根本沒倒

      ETtoday星光云
      2026-04-02 16:50:10
      女生主動起來有多黏人?網友:這些女的太開放了

      女生主動起來有多黏人?網友:這些女的太開放了

      帶你感受人間冷暖
      2026-01-27 00:20:06
      鄭麗文強援已到!美國竄訪團抵臺當天,北京出手,大陸來撐腰了

      鄭麗文強援已到!美國竄訪團抵臺當天,北京出手,大陸來撐腰了

      混沌錄
      2026-04-01 20:37:15
      不能錯過!4月2日下午14:00比賽!中央5套CCTV5、CCTV5+直播表

      不能錯過!4月2日下午14:00比賽!中央5套CCTV5、CCTV5+直播表

      皮皮觀天下
      2026-04-02 13:52:19
      社交潛規則:沒有人有義務透過你邋遢的外表,去發現你優秀的內在

      社交潛規則:沒有人有義務透過你邋遢的外表,去發現你優秀的內在

      清風拂心
      2026-03-18 10:08:19
      香港演員施明去世,終年74歲,曾出演《倚天屠龍記》紫衫龍王,精通武術曾做史泰龍保鏢

      香港演員施明去世,終年74歲,曾出演《倚天屠龍記》紫衫龍王,精通武術曾做史泰龍保鏢

      大象新聞
      2026-03-31 14:49:05
      天氣轉暖,醫生提醒冠心病患者:寧可多看看電視,也別隨意做5事

      天氣轉暖,醫生提醒冠心病患者:寧可多看看電視,也別隨意做5事

      岐黃傳人孫大夫
      2026-03-30 23:30:03
      這面相太好了,妥妥旺夫相,膀大腰圓氣血足,穿著干凈舒服!

      這面相太好了,妥妥旺夫相,膀大腰圓氣血足,穿著干凈舒服!

      可樂談情感
      2026-03-29 15:16:24
      晚飯七分飽被推翻了?醫生調查:過了56歲,吃飯盡量要做到這5點

      晚飯七分飽被推翻了?醫生調查:過了56歲,吃飯盡量要做到這5點

      蜉蝣說
      2026-02-03 15:00:19
      2026-04-02 17:28:49
      Ai學習的老章 incentive-icons
      Ai學習的老章
      Ai學習的老章
      3302文章數 11122關注度
      往期回顧 全部

      科技要聞

      三年虧20億,最新估值58億,Xreal沖刺港股

      頭條要聞

      外媒稱伊朗已向中國尋求安全保障 外交部回應

      頭條要聞

      外媒稱伊朗已向中國尋求安全保障 外交部回應

      體育要聞

      這六個字,代表了邵佳一的新國足

      娛樂要聞

      宋寧峰帶女兒出軌,張婉婷找董璇哭訴

      財經要聞

      電商售械三水光針 機構倒貨or假貨猖獗?

      汽車要聞

      三電可靠 用料下本 百萬公里的蔚來ES6 拆開看

      態度原創

      家居
      數碼
      本地
      房產
      時尚

      家居要聞

      歲月靜好 典雅新章

      數碼要聞

      中國芯片廠商占領本土近半市場 NVIDIA領先優勢大幅縮減

      本地新聞

      從學徒到世界冠軍,為什么說張雪的底氣在重慶?

      房產要聞

      大反轉!??诮衲晔鬃谥匕踅暗貕K,拍賣突然終止!

      女人有沒有品位看看穿搭就知道,這些造型值得借鑒,溫柔高級

      無障礙瀏覽 進入關懷版