昆侖萬維官宣開源2000億稀疏大模型Skywork-MoE

6月3日,昆侖萬維宣布開源2千億稀疏大模型Skywork-MoE,性能強勁,同時推理成本更低。

據「TMT星球」了解,Skywork-MoE基于之前昆侖萬維開源的Skywork-13B模型中間checkpoint擴展而來,是首個完整將MoE Upcycling技術應用并落地的開源千億MoE大模型,也是首個支持用單臺4090服務器推理的開源千億MoE大模型。

開源地址:

Skywork-MoE 的模型權重、技術報告完全開源,免費商用,無需申請:

? 模型權重下載:

○ https://huggingface.co/Skywork/Skywork-MoE-base

○ https://huggingface.co/Skywork/Skywork-MoE-Base-FP8

? 模型開源倉庫:https://github.com/SkyworkAI/Skywork-MoE

? 模型技術報告:https://github.com/SkyworkAI/Skywork-MoE/blob/main/skywork-moe-tech-report.pdf

? 模型推理代碼:(支持 8x4090 服務器上 8 bit 量化加載推理) https://github.com/SkyworkAI/vllm

模型架構:

本次開源的 Skywork-MoE 模型隸屬于天工 3.0 的研發模型系列,是其中的中檔大小模型(Skywork-MoE-Medium),模型的總參數量為 146B,激活參數量 22B,共有 16 個 Expert,每個 Expert 大小為 13B,每次激活其中的 2 個 Expert。

天工 3.0 還訓練了 75B (Skywork-MoE-Small) 和 400B (Skywork-MoE-Large)兩檔 MoE 模型,并不在此次開源之列。

模型能力:

我們基于目前各大主流模型評測榜單評測了 Skywork-MoE,在相同的激活參數量 20B(推理計算量)下,Skywork-MoE 能力在行業前列,接近 70B 的 Dense 模型。使得模型的推理成本有近 3 倍的下降。同時 Skywork-MoE 的總參數大小比 DeepSeekV2 的總參數大小要小 1/3,用更小的參數規模做到了相近的能力。

技術創新:

為了解決 MoE 模型訓練困難,泛化性能差的問題,相較于 Mixtral-MoE, Skywork-MoE 設計了兩種訓練優化算法:

1. Gating Logits 歸一化操作

我們在 Gating Layer 的 token 分發邏輯處新增了一個 normalization 操作,使得 Gating Layer 的參數學習更加趨向于被選中的 top-2 experts,增加 MoE 模型對于 top-2 的置信度:

2. 自適應的 Aux Loss

有別于傳統的固定系數(固定超參)的 aux loss, 我們在 MoE 訓練的不同階段讓模型自適應的選擇合適的 aux loss 超參系數,從而讓 Drop Token Rate 保持在合適的區間內,既能做到 expert 分發的平衡,又能讓 expert 學習具備差異化,從而提升模型整體的性能和泛化水平。在 MoE 訓練的前期,由于參數學習不到位,導致 Drop Token Rate 太高(token 分布差異太大),此時需要較大的 aux loss 幫助 token load balance;在 MoE 訓練的后期,我們希望 Expert 之間仍保證一定的區分度,避免 Gating 傾向為隨機分發 Token,因此需要較低的 aux loss 降低糾偏。

訓練 Infra

如何對 MoE 模型高效的進行大規模分布式訓練是一個有難度的挑戰,目前社區還沒有一個最佳實踐。Skywork-MoE 提出了兩個重要的并行優化設計,從而在千卡集群上實現了 MFU 38% 的訓練吞吐,其中 MFU 以 22B 的激活參數計算理論計算量。

1. Expert Data Parallel

區別于 Megatron-LM 社區已有的 EP(Expert Parallel)和 ETP(Expert Tensor Parallel)設計,我們提出了一種稱之為 Expert Data Parallel 的并行設計方案,這種并行方案可以在 Expert 數量較小時仍能高效的切分模型,對 Expert 引入的 all2all 通信也可以最大程度的優化和掩蓋。

相較于 EP 對 GPU 數量的限制和 ETP 在千卡集群上的低效, EDP 可以較好的解決大規模分布式訓練 MoE 的并行痛點,同時 EDP 的設計簡單、魯棒、易擴展,可以較快的實現和驗證。

2. 非均勻切分流水并行

由于 first stage 的 Embedding 計算和 last stage 的 Loss 計算,以及 Pipeline Buffer 的存在, 流水并行下均勻切分 Layer 時的各 stage 計算負載和顯存負載均有較明顯的不均衡情況。我們提出了非均勻的流水并行切分和重計算 Layer 分配方式,使得總體的計算/顯存負載更均衡,約有 10% 左右的端到端訓練吞吐提升。

比較均勻切分和非均勻切分下的流水并行氣泡:對于一個 24 層 Layer 的 LLM, (a) 是均勻切分成 4 個 stage,每個 stage 的 layer 數量是:[6, 6, 6, 6].(b) 是經過優化后的非均勻切分方式,切成 5 個 stage, 每個 stage 的 layer 數量是:[5, 5, 5, 5, 4] , 在中間流水打滿的階段,非均勻切分的氣泡更低。

MoE Know-how

此外,Skywork-MoE 還通過一系列基于 Scaling Laws 的實驗,探究哪些約束會影響 Upcycling 和 From Scratch 訓練 MoE 模型的好壞。

一個可以遵循的經驗規則是:如果訓練 MoE 模型的 FLOPs 是訓練 Dense 模型的 2 倍以上,那么選擇 from Scratch 訓練 MoE 會更好,否則的話,選擇 Upcycling 訓練 MoE 可以明顯減少訓練成本。

4090 推理

Skywork-MoE 是目前能在 8x4090 服務器上推理的最大的開源 MoE 模型。8x4090 服務器一共有 192GB 的 GPU 顯存,在 FP8 量化下(weight 占用 146GB),使用我們首創的非均勻 Tensor Parallel 并行推理方式,Skywork-MoE 可以在合適的 batch size 內達到 2200 tokens/s 的吞吐。天工團隊完整開源了相關的推理框架代碼和安裝環境,詳情參見:https://github.com/SkyworkAI/Skywork-MoE

結語

我們希望本次開源的 Skywork-MoE 模型、技術報告和相關的實驗結果可以給開源社區貢獻更多的 MoE 訓練經驗和 Know-how,包括模型結構、超參選擇、訓練技巧、訓練推理加速等各方面,探索用更低的訓練推理成本訓更大更強的模型,在通往 AGI 的道路上貢獻一點力量。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21792.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21792.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21792.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

北京Profinet轉Modbus網關配置調試詳解

一、背景:在工業自動化系統中,PLC(可編程邏輯控制器)與流量計之間的通信是非常重要的,以確保數據準確傳輸并實現控制功能。然而,由于PLC和流量計可能采用不同的通信協議(如Profinet和Modbus&…

探索Java的DNA-JVM字節碼深度解析

引言 在Java的世界里,JVM(Java虛擬機)是我們程序運行的心臟。而字節碼,作為JVM的血液,攜帶著程序的執行指令。今天,我們將深入探索Java字節碼的奧秘,一窺JVM如何將人類可讀的代碼轉化為機器可執…

洛谷 P1438 無聊的數列

題意 給定一個序列 A ( A 1 , A 2 , ? , A n ) A(A_1,A_2,\cdots,A_n) A(A1?,A2?,?,An?)。 現在進行 m m m次操作,分為以下兩種: 1 l r k d:給定一個長度為 r ? l 1 r-l1 r?l1的等差序列,首項為 k k k,公差為 d d d&am…

【小白向】微信小程序解密反編譯教程

# 前言 最近筆者有做到微信小程序的滲透測試,其中有一個環節就是對微信小程序的反編譯進行源碼分析,所謂微信小程序反編譯,就是將訪問的小程序進行反向編譯拿到部分源碼,然后對源碼進行安全審計,分析出其中可能存在的…

圖形學初識--顏色混合

文章目錄 前言正文為什么要有顏色混合?顏色混合常見實現方式?上述顏色混合注意點 結尾:喜歡的小伙伴點點關注贊哦! 前言 本章節補充一下顏色混合的內容,主要包含:為什么要有顏色混合?顏色混合常實現方式&a…

BGP——邊界網關路由協議

BGP -邊界網關路由協議 OSPF RIP EIGRP AS——自治系統 標準編號16位二進制 0-65535 1-64511公有 64512 -私有 擴展編號 32位二進制 動態路由協議: GP ——內部網關路由協議 —— AS之內 或企業網、局域網 RIP OSPF EIGRP EGP-外部網關路由協議 - …

Centos 7 安裝刻錄至硬件服務器

前言 在日常測試中,會遇到很多安裝的場景,今天給大家講一下centos 7 的安裝,希望對大家有所幫助。 一.下載鏡像 地址如下: centos官方鏡像下載地址https://www.centos.org/download/ 按照需求依次點擊下載 二.鏡像刻錄 鏡像刻…

idea springboot woff/woff2/eot/ttf/svg等小圖標不顯示的問題 - 第515篇

歷史文章(文章累計500) 《國內最全的Spring Boot系列之一》 《國內最全的Spring Boot系列之二》 《國內最全的Spring Boot系列之三》 《國內最全的Spring Boot系列之四》 《國內最全的Spring Boot系列之五》 《國內最全的Spring Boot系列之六》 《…

Shopify 獨立站監控觀測最佳實踐

Shopify 簡介 Shopify 是一個全球領先的電子商務平臺,它為商家提供了一整套在線商店解決方案。自 2006 年成立以來,Shopify 已經幫助數百萬商家在全球范圍內建立和發展他們的在線業務。 監控觀測 Shopify 站點對于確保業務連續性、優化用戶體驗和提高運…

python虛擬環境venv的安裝--ubuntu

venv是Python內置的虛擬環境管理工具 1.安裝python3-venv包: sudo apt install python3.12-venv2.創建虛擬環境(在項目目錄下) python3 -m venv venv3. 激活虛擬環境: source venv/bin/activate4.在虛擬環境中安裝所需的庫&am…

Linux shell編程學習筆記56:date命令——顯示或設置系統時間與日期

0 前言 2024年的網絡安全檢查又開始了,對于使用基于Linux的國產電腦,我們可以編寫一個腳本來收集系統的有關信息。在收集的信息中,應該有一條是搜索信息的時間。 1. date命令 的功能、格式和選項說明 我們可以使用命令 date --help 來查看 d…

python 虛擬環境安裝及python包庫安裝

python 虛擬環境安裝及python包庫安裝 安裝虛擬環境的方式注意事項 安裝虛擬環境的方式 切記盡量不要混用 pip 安裝 對于pip安裝,使用命令如下 下載virtualenv 工具 pip install virtualenv 創建虛擬環境并激活環境virtualenv venv source ./venv/bin/activate co…

Kafka之Broker原理

1. 日志數據的存儲 1.1 Partition 1. 為了實現橫向擴展,把不同的數據存放在不同的 Broker 上,同時降低單臺服務器的訪問壓力,我們把一個Topic 中的數據分隔成多個 Partition 2. 每個 Partition 中的消息是有序的,順序寫入&#x…

LeetCode刷題:反轉鏈表

leetCode真題 206. 反轉鏈表 屬于基礎簡單題目 常見的做法有遞歸和while循環 遞歸 // 1. 遞歸參數和返回值public static ListNode reverseList(ListNode head) {// 1. 遞歸終止條件if (head null || head.next null) {return head;}// 遞歸邏輯ListNode last reverseL…

達夢數據庫相關SQL及適配Mysql配置總結

🍓 簡介:java系列技術分享(👉持續更新中…🔥) 🍓 初衷:一起學習、一起進步、堅持不懈 🍓 如果文章內容有誤與您的想法不一致,歡迎大家在評論區指正🙏 🍓 希望這篇文章對你有所幫助,歡…

解決Python導入第三方模塊報錯“TypeError: the first argument must be callable”

注意以下內容只對導包時遇到同樣的報錯會有參考價值。 問題描述 當你嘗試導入第三方模塊時,可能會遇到如下報錯信息: TypeError: the first argument must be callable 猜測原因 經過仔細檢查代碼,我猜測這個錯誤的原因是由于變量名沖突所…

Windows 系統安裝 VisualSVN Server

一.下載 VisualSVN Server VisualSVN-Server 是 SVN 版本控制中服務器端要使用的軟件,就是我們提交代碼存在安裝這個軟件的電腦上,它將很多配置和服務直接幫你完成,簡單好用容易上手。VisualSVN Server有三個版本,社區版免費但限15個用戶,另有一般和‘企業’兩個收費版本…

如何卸載ollama

文章目錄 一 概述二 卸載2.1 Windows平臺卸載 ollama2.2 Linux 平臺卸載 ollama2.3 Docker 平臺卸載 ollama 參考鏈接 一 概述 本文檔主要講述 ollama 如何卸載,適用范圍包括 Windows Linux 以及 Docker 等平臺的安裝方式。 二 卸載 2.1 Windows平臺卸載 ollama …

學習C++應該做點什么項目

C作為一門底層可操作性很強的語言,廣泛應用于游戲開發、工業和追求性能、速度的應用。 比如騰訊,無論游戲,還是微信,整個鵝廠后臺幾乎都是 C 開發,對 C 開發者的需求非常大。 但問題是C入門和精通都比較困難&#xf…

有哪些掙錢軟件一天能賺幾十元?盤點十個能長期做下去的掙錢軟件

在這個信息爆炸的時代,每個人都在尋找快速賺錢的秘訣。很多人做兼職副業的目標并不是獲得很大的成功,大部分人一天能賺幾十就心滿意足了。 今天,我要帶你一探究竟,揭秘那些能讓你日賺幾十元的掙錢軟件。準備好了嗎?讓我…