詳細介紹Qwen3技術報告中提到的模型架構技術

詳細介紹Qwen3技術報告中提到的一些主流模型架構技術,并為核心流程配上相關的LaTeX公式。
這些技術都是當前大型語言模型(LLM)領域為了提升模型性能、訓練效率、推理速度或穩定性而采用的關鍵組件。


1. Grouped Query Attention (GQA) - 分組查詢注意力 🎯

  • 目的:GQA 旨在在保持多頭注意力(Multi-Head Attention, MHA)大部分優勢的同時,顯著降低推理時的顯存占用和計算開銷,從而加快推理速度。它介于標準的多頭注意力和多查詢注意力(Multi-Query Attention, MQA,所有查詢頭共享同一份鍵和值)之間。
  • 工作原理
    • 在標準的多頭注意力中,每個“查詢頭”(Query Head)都有自己獨立的“鍵頭”(Key Head)和“值頭”(Value Head)。
    • 在GQA中,查詢頭被分成 N _ g N\_g N_g 組,組內的 N _ q / N _ g N\_q/N\_g N_q/N_g 個查詢頭共享同一份鍵頭和值頭。而不同組之間的鍵頭和值頭仍然是獨立的。
    • 其中 N _ q N\_q N_q 是總查詢頭數。如果分組數 N _ g = N _ q N\_g = N\_q N_g=N_q,則GQA等同于MHA;如果 N _ g = 1 N\_g = 1 N_g=1,則GQA退化為MQA。

多頭注意力 (Multi-Head Attention - MHA)

多頭注意力 Ng_equals_Nq
K_Head_1
Q_Head_1
V_Head_1
K_Head_2
Q_Head_2
V_Head_2
...

分組查詢注意力 (Grouped-Query Attention - GQA)

分組查詢注意力 One_lt_Ng_lt_Nq
組1
組2
...
共享_KV_Head_G2
Q_Head_3
Q_Head_4
共享_KV_Head_G1
Q_Head_1
Q_Head_2

多查詢注意力 (Multi-Query Attention - MQA)

多查詢注意力 Ng_equals_1
共享_KV_Head
Q_Head_1
Q_Head_2
...
  • 優勢
    • 減少K/V緩存:在自回歸生成(解碼)過程中,需要緩存之前所有token的鍵(K)和值(V)狀態。GQA通過減少K/V頭的數量,顯著降低了這部分緩存的大小,從而降低了顯存占用,尤其在處理長序列時效果明顯。
    • 提高推理效率:更少的K/V頭意味著更少的計算量,尤其是在K/V投影和注意力得分計算的某些環節。
    • 性能保持:相比于MQA可能帶來的較大性能損失,GQA通過分組共享的方式,能在很大程度上保留MHA的建模能力和性能,是一種較好的折中方案。
  • Qwen3中的應用:Qwen3的稠密模型中明確提到了使用GQA。例如,Qwen3-0.6B有16個查詢頭,KV頭數為8 ,這意味著可能分成了8組,每2個查詢頭共享一組KV。對于更大的模型如Qwen3-32B,有64個查詢頭,KV頭數為8 ,則每8個查詢頭共享一組KV。MoE模型也采用了GQA,例如Qwen3-235B-A22B有64個查詢頭,KV頭數為4,意味著每16個查詢頭共享一組KV。

2. SwiGLU - Sigmoid-Weighted Linear Unit (門控線性單元激活函數) активировать

  • 目的:SwiGLU 是一種改進的激活函數,旨在通過引入門控機制來提升神經網絡(尤其是Transformer模型中前饋網絡FFN部分)的性能和表達能力 。
  • 工作原理
    • 傳統的Transformer FFN層通常包含兩個線性變換和一個ReLU(或GeLU)激活函數。
    • GLU(Gated Linear Unit)是一類激活函數,它將輸入通過兩個線性變換,然后將其中一個變換的結果通過Sigmoid函數(作為門控),再與另一個線性變換的結果進行逐元素相乘。
    • SwiGLU 是GLU的一個變體。在Transformer的FFN中,給定輸入 x ∈ m a t h b b R d x \in \\mathbb{R}^d xmathbbRd,它通常通過三個權重矩陣 W , V ∈ R d × d _ m W, V \in \mathbb{R}^{d \times d\_m} W,VRd×d_m W _ 2 ∈ R d _ m × d W\_2 \in \mathbb{R}^{d\_m \times d} W_2Rd_m×d (其中 d _ m d\_m d_m 是中間隱藏層維度)進行計算。Qwen3報告中引用的Dauphin et al. (2017) 的工作,以及后續如PaLM、LLaMA等模型采用的形式,通常是:
      SwiGLU ( x , W , V ) = Swish β ( x W ) ⊙ ( x V ) \text{SwiGLU}(x, W, V) = \text{Swish}_{\beta}(xW) \odot (xV) SwiGLU(x,W,V)=Swishβ?(xW)(xV)
      其中 ⊙ \odot 表示逐元素乘積, Swish _ β ( y ) = y ? σ ( β y ) \text{Swish}\_{\beta}(y) = y \cdot \sigma(\beta y) Swish_β(y)=y?σ(βy) 是Swish激活函數, σ \sigma σ 是Sigmoid函數 σ ( z ) = ( 1 + e ? z ) ? 1 \sigma(z) = (1 + e^{-z})^{-1} σ(z)=(1+e?z)?1 β \beta β 通常設為1。
      然后,這個結果會再通過一個線性層 W _ 2 W\_2 W_2
      FFN SwiGLU ( x ) = ( Swish β ( x W ) ⊙ ( x V ) ) W 2 \text{FFN}_{\text{SwiGLU}}(x) = (\text{Swish}_{\beta}(xW) \odot (xV)) W_2 FFNSwiGLU?(x)=(Swishβ?(xW)(xV))W2?

Mermaid 代碼 (SwiGLU FFN層流程示意圖):

輸入_x
線性變換_W
線性變換_V
Swish激活_Swish_beta_xW
逐元素相乘_odot
線性變換_W2
SwiGLU_FFN_輸出
  • 優勢
    • 更強的表達能力:門控機制允許網絡根據輸入動態地調整激活的強度,從而捕獲更復雜的模式。
    • 更好的性能:在許多LLM的實驗中,使用SwiGLU(或其他GLU變體)替換傳統的ReLU或GeLU,能在保持參數量大致相當(通過調整隱藏層大小)的情況下,帶來模型性能的提升。
  • Qwen3中的應用:Qwen3的稠密模型和MoE模型均明確采用了SwiGLU作為激活函數。

3. Rotary Positional Embeddings (RoPE) - 旋轉位置嵌入 🔄

  • 目的:RoPE 是一種用于在Transformer模型中注入相對位置信息的方法,它旨在克服傳統絕對位置編碼在處理長序列和泛化性方面的一些局限 。
  • 工作原理
    • RoPE的核心思想是將位置信息編碼到查詢(Q)和鍵(K)向量中,通過對Q和K向量應用一個與它們在序列中的絕對位置 m m m 相關的旋轉矩陣 R _ m R\_m R_m
    • 具體來說,對于一個 d d d 維的Q或K向量 x = [ x _ 0 , x _ 1 , … , x _ d ? 1 ] T x = [x\_0, x\_1, \dots, x\_{d-1}]^T x=[x_0,x_1,,x_d?1]T,可以將其視為 d / 2 d/2 d/2 個二維向量的拼接 x _ j = [ x _ 2 j , x _ 2 j + 1 ] T x\_j = [x\_{2j}, x\_{2j+1}]^T x_j=[x_2j,x_2j+1]T。RoPE對每個這樣的二維子向量應用一個旋轉操作 :
      R m x j = ( cos ? ( m θ j ) ? sin ? ( m θ j ) sin ? ( m θ j ) cos ? ( m θ j ) ) ( x 2 j x 2 j + 1 ) R_m x_j = \begin{pmatrix} \cos(m\theta_j) & -\sin(m\theta_j) \\ \sin(m\theta_j) & \cos(m\theta_j) \end{pmatrix} \begin{pmatrix} x_{2j} \\ x_{2j+1} \end{pmatrix} Rm?xj?=(cos(mθj?)sin(mθj?)??sin(mθj?)cos(mθj?)?)(x2j?x2j+1??)
      其中 m m m 是token的絕對位置, t h e t a _ j = 10000 ? 2 j / d \\theta\_j = 10000^{-2j/d} theta_j=10000?2j/d 是一組預定義的、與維度相關的非負頻率。
    • 經過RoPE編碼后的查詢向量 q _ m q\_m q_m 和鍵向量 k _ n k\_n k_n(它們原始未編碼前分別為 q q q k k k),它們的內積滿足:
      ? R m q , R n k ? = ? ( ∑ j = 0 d / 2 ? 1 ( q 2 j + i q 2 j + 1 ) ( k 2 j ? i k 2 j + 1 ) e i ( m ? n ) θ j ) \langle R_m q, R_n k \rangle = \Re(\sum_{j=0}^{d/2-1} (q_{2j} + iq_{2j+1})(k_{2j} - ik_{2j+1}) e^{i(m-n)\theta_j}) ?Rm?q,Rn?k?=?(j=0d/2?1?(q2j?+iq2j+1?)(k2j??ik2j+1?)ei(m?n)θj?)
      這個內積僅取決于它們的相對位置 ( m ? n ) (m-n) (m?n) 和它們原始的內容。

Mermaid 代碼 (RoPE 位置編碼示意圖):

RoPE編碼過程
位置_m_頻率_theta_j
按2維切分_x_j
Q或K向量_x
對每對_x_2j_x_2j_plus_1
應用旋轉矩陣_R_m
合并旋轉后的2維向量
旋轉后的向量_x_prime_m
旋轉后的Q_prime_m
參與注意力計算
旋轉后的K_prime_n
  • 優勢
    • 編碼相對位置:注意力得分自然地依賴于相對距離,這更符合許多序列任務的本質。
    • 良好的外推性:由于其周期性和相對編碼的特性,RoPE在處理比訓練時更長的序列時,表現出比某些絕對位置編碼更好的泛化能力(盡管也有限度,需要配合YARN等技術進一步擴展)。
    • 實現簡單:它直接作用于Q和K向量,不需要額外的位置編碼層或參數。
  • Qwen3中的應用:Qwen3的稠密模型和MoE模型均使用了RoPE 。報告還提到,在預訓練的第三階段(長上下文階段),遵循Qwen2.5的做法,使用ABF技術將RoPE的基礎頻率從10,000增加到1,000,000 ,并引入YARN 和雙塊注意力(DCA) 以在推理時實現序列長度容量的四倍增加 。

4. RMSNorm (Root Mean Square Layer Normalization) - 均方根層歸一化 ??

  • 目的:RMSNorm 是對傳統層歸一化(Layer Normalization, LN)的一種簡化,旨在減少計算量,提高效率,同時保持與LN相當或稍優的性能。
  • 工作原理
    • 傳統的LN首先計算輸入 x ∈ R d x \in \mathbb{R}^d xRd 的均值 μ = 1 d ∑ x _ i \mu = \frac{1}{d}\sum x\_i μ=d1?x_i 和方差 σ 2 = 1 d ∑ ( x _ i ? μ ) 2 \sigma^2 = \frac{1}{d}\sum (x\_i - \mu)^2 σ2=d1?(x_i?μ)2,然后歸一化 x ^ _ i = x _ i ? μ σ 2 + ? \hat{x}\_i = \frac{x\_i - \mu}{\sqrt{\sigma^2 + \epsilon}} x^_i=σ2+? ?x_i?μ?,最后進行仿射變換 y _ i = γ x ^ _ i + β y\_i = \gamma \hat{x}\_i + \beta y_i=γx^_i+β
    • RMSNorm移除了均值的計算和減去均值的操作,它只對輸入進行重新縮放,縮放因子是輸入的均方根(Root Mean Square)。其公式為:
      RMS ( x ) = 1 d ∑ i = 1 d x i 2 \text{RMS}(x) = \sqrt{\frac{1}{d}\sum_{i=1}^d x_i^2} RMS(x)=d1?i=1d?xi2? ? output i = x i RMS ( x ) + ? ? γ i \text{output}_i = \frac{x_i}{\text{RMS}(x) + \epsilon} \cdot \gamma_i outputi?=RMS(x)+?xi???γi?
      其中 ? \epsilon ? 是一個很小的常數以防止除零。它通常不使用偏移因子 b e t a \\beta beta(或者說 β \beta β 固定為0)。

Mermaid 代碼 (LayerNorm 與 RMSNorm 對比示意圖):

輸入_x_LayerNorm
計算均值_mu_標準差_sigma
x_minus_mu_div_sigma
mul_gamma_plus_beta
LayerNorm_輸出
輸入_x_RMSNorm
計算均方根_RMS_x
x_div_RMS_x_plus_epsilon
mul_gamma
RMSNorm_輸出
  • 優勢
    • 計算效率更高:由于不需要計算均值,RMSNorm比LN的計算量更少,尤其是在GPU上可以更快。
    • 性能相當或略好:在許多Transformer的實驗中,RMSNorm被證明能夠達到與LN相當甚至有時略好的性能,同時具有更好的效率。
  • Qwen3中的應用:Qwen3的稠密模型和MoE模型均采用了RMSNorm,并且是預歸一化(Pre-Normalization)的形式。預歸一化是指在進入Transformer的子層(如自注意力層或FFN層)之前進行歸一化,這通常有助于穩定訓練。

5. QK-Norm (Query-Key Normalization) 🛡?

  • 目的:為了進一步穩定大型Transformer模型的訓練過程,特別是在注意力機制內部。不穩定的注意力得分可能導致梯度爆炸或消失。
  • 工作原理
    • QK-Norm通常是指在計算注意力得分之前,對查詢(Q)和/或鍵(K)向量進行某種形式的歸一化。
    • 報告中提到引入QK-Norm是為了確保Qwen3的穩定訓練,并引用了Dehghani et al. (2023) 的工作 “Scaling vision transformers to 22 billion parameters” 。在該論文中,他們對Q和K分別應用了L2歸一化,然后再計算點積 。
      Q norm = Q ∥ Q ∥ 2 Q_{\text{norm}} = \frac{Q}{\|Q\|_2} Qnorm?=Q2?Q? K norm = K ∥ K ∥ 2 K_{\text{norm}} = \frac{K}{\|K\|_2} Knorm?=K2?K? AttentionScore ( Q , K ) = Q norm K norm T d k \text{AttentionScore}(Q, K) = \frac{Q_{\text{norm}} K_{\text{norm}}^T}{\sqrt{d_k}} AttentionScore(Q,K)=dk? ?Qnorm?KnormT??
      其中 d _ k d\_k d_k 是鍵向量的維度。

Mermaid 代碼 (QK-Norm 在注意力計算中的應用示意圖):

原始Q向量
Q進行L2歸一化_Q_norm
原始K向量
K進行L2歸一化_K_norm
Q_norm
點積_Q_norm_mul_K_T_norm
除以_sqrt_dk
Softmax
與V加權求和
原始V向量
注意力輸出
  • 優勢
    • 穩定訓練:通過限制Q和K向量的范數,可以防止注意力得分過大或過小,從而使得訓練過程更加穩定,尤其是在使用較低精度(如bfloat16)進行訓練時。
    • 可能改善性能:在一些情況下,這種歸一化也有助于模型學習。
  • Qwen3中的應用:Qwen3明確指出在注意力機制中引入了QK-Norm以確保穩定訓練 。

6. 移除 QKV-bias (Query-Key-Value bias) ??

  • 背景:在Transformer的早期版本或某些實現中,用于生成Q、K、V向量的線性投影層(即 Q = X W _ Q , K = X W _ K , V = X W _ V Q=XW\_Q, K=XW\_K, V=XW\_V Q=XW_Q,K=XW_K,V=XW_V)可能會包含偏置項(bias terms),例如 Q = X W _ Q + b _ Q Q=XW\_Q + b\_Q Q=XW_Q+b_Q
  • 目的:移除這些偏置項 b _ Q , b _ K , b _ V b\_Q, b\_K, b\_V b_Q,b_K,b_V
  • 原因/優勢
    • 簡化模型/減少參數:雖然減少的參數量不多,但符合模型設計趨向簡潔的趨勢。
    • 可能提升穩定性或性能:在一些現代Transformer架構的實踐中發現,移除這些偏置項并不會損害性能,有時甚至可能因為減少了模型的自由度或改變了優化的動態而略微有益于訓練的穩定性或最終性能。層歸一化(如RMSNorm)的存在可能使得這些偏置項變得不那么必要。
    • 與歸一化層的關系:當使用如LayerNorm或RMSNorm這類對整個激活向量進行操作的歸一化層時,線性變換中的偏置項的效果可能會被歸一化過程部分抵消或變得冗余。
  • Qwen3中的應用:Qwen3明確提到了移除了在Qwen2中使用的QKV-bias 。這表明團隊在Qwen3的設計中,基于實驗或業界趨勢,認為移除這些偏置項對于模型的性能和穩定性是中性或有利的。

綜上所述,Qwen3采用的這些架構技術都是為了在模型的表達能力、訓練穩定性、推理效率和整體性能之間取得更好的平衡,這些是當前大模型研發中非常關鍵的考量因素。

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

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

相關文章

光電效應理論與實驗 | 從愛因斯坦光量子假說到普朗克常量測定

注:本文為“光電效應”相關文章合輯。 英文引文,機翻未校。 中文引文,略作重排,未整理去重。 圖片清晰度受引文原圖所限。 如有內容異常,請看原文。 Photoelectric Effect 光電效應 Discussion dilemma Under the…

Visual Studio 2019/2022:當前不會命中斷點,還沒有為該文檔加載任何符號。

1、打開調試的模塊窗口,該窗口一定要在調試狀態下才會顯示。 vs2019打開調試的模塊窗口 2、Visual Studio 2019提示未使用調試信息生成二進制文件 未使用調試信息生成二進制文件 3、然后到debug目錄下看下確實未生成CoreCms.Net.Web.WebApi.pdb文件。 那下面的…

打破性能瓶頸:用DBB重參數化模塊優化YOLOv8檢測頭

文章目錄 引言DBB 重參數化模塊簡介DBB 的優勢 YOLOv8 檢測頭的結構分析使用 DBB 模塊魔改檢測頭替換策略代碼實現改進后的效果預期 實驗與驗證總結與展望 引言 在目標檢測領域,YOLO 系列算法一直以其高效的檢測速度和不錯的檢測精度受到廣泛關注。隨著版本的不斷更…

如何成為更好的自己?

成為更好的自己是一個持續成長的過程,需要結合自我認知、目標規劃和行動力。以下是一些具體建議,幫助你逐步提升: 1. 自我覺察:認識自己 反思與復盤:每天花10分鐘記錄當天的決策、情緒和行為,分析哪些做得…

免費使用GPU的探索筆記

多種有免費時長的平臺 https://www.cnblogs.com/java-note/p/18760386 Kaggle免費使用GPU的探索 https://www.kaggle.com/ 注冊Kaggle賬號 訪問Kaggle官網,使用郵箱注冊賬號。 發現gpu都是灰色的 返回home,右上角的頭像點開 驗證手機號 再次code-you…

CSS- 4.2 相對定位(position: relative)

本系列可作為前端學習系列的筆記,代碼的運行環境是在HBuilder中,小編會將代碼復制下來,大家復制下來就可以練習了,方便大家學習。 HTML系列文章 已經收錄在前端專欄,有需要的寶寶們可以點擊前端專欄查看! 點…

如何使用Antv X6使用拖拽布局?

拖拽效果圖 拖拽后 布局預覽 官方: X6 圖編輯引擎 | AntV 安裝依賴 # npm npm install antv/x6 --save npm install antv/x6-plugin-dnd --save npm install antv/x6-plugin-export --save需要引入的代碼 import { Graph, Shape } from antv/x6; import { Dnd } …

數據庫健康監測器(BHM)實戰:如何通過 HTML 報告識別潛在問題

在數據庫運維中,健康監測是保障系統穩定性與性能的關鍵環節。通過 HTML 報告,開發者可以直觀查看數據庫的運行狀態、資源使用情況與潛在風險。 本文將圍繞 數據庫健康監測器(Database Health Monitor, BHM) 的核心功能展開分析,結合 Prometheus + Grafana + MySQL Export…

PCB設計實踐(二十四)PCB設計時如何避免EMI

PCB設計中避免電磁干擾(EMI)是一項涉及電路架構、布局布線、材料選擇及制造工藝的系統工程。本文從設計原理到工程實踐,系統闡述EMI產生機制及綜合抑制策略,覆蓋高頻信號控制、接地優化、屏蔽技術等核心維度,為高密度、…

嵌入式硬件篇---陀螺儀|PID

文章目錄 前言1. 硬件準備主控芯片陀螺儀模塊電機驅動電源其他2. 硬件連接3. 軟件實現步驟(1) MPU6050初始化與數據讀取(2) 姿態解算(互補濾波或DMP)(3) PID控制器設計(4) 麥克納姆輪協同控制4. 主程序邏輯5. 關鍵優化與調試技巧(1) 傳感器校準(2) PID參數整定先調P再調D最后…

【Linux基礎I/O】文件調用接口、文件描述符、重定向和緩沖區

【Linux基礎I/O一】文件描述符和重定向 1.C語言的文件調用接口2.操作系統的文件調用接口2.1open接口2.2close接口2.3write接口2.4read接口 3.文件描述符fd的本質4.標準輸入、輸出、錯誤5.重定向5.1什么是重定向5.2輸入重定向和輸出重定向5.3系統調用的重定向dup2 6.緩沖區 1.C語…

鴻蒙HarmonyOS 【ArkTS組件】通用屬性-背景設置

📑往期推文全新看點(附帶最新鴻蒙全棧學習筆記) 嵌入式開發適不適合做鴻蒙南向開發?看完這篇你就了解了~ 鴻蒙崗位需求突增!移動端、PC端、IoT到底該怎么選? 分享一場鴻蒙開發面試經驗記錄(三面…

【76. 最小覆蓋子串】

Leetcode算法練習 筆記記錄 76. 最小覆蓋子串 76. 最小覆蓋子串 滑動窗口的hard題目,思路先找到第一個覆蓋的窗口,不斷縮小左邊界,找到更小的窗口并記錄。 思路很簡單,寫起來就不是一會事了,看題解看了幾個h&#xff0…

Spring事務簡單操作

什么是事務? 事務是一組操作的集合,是一個不可分割的操作 事務會把所有的操作作為?個整體, ?起向數據庫提交或者是撤銷操作請求. 所以這組操作要么同時 成功, 要么同時失敗. 事務的操作 分為三步: 1. 開啟事start transaction/ begin …

Rust 學習筆記:關于錯誤處理的練習題

Rust 學習筆記:關于錯誤處理的練習題 Rust 學習筆記:關于錯誤處理的練習題想看到回溯,需要把哪個環境變量設置為 1?以下哪一項不是使用 panic 的好理由?以下哪一項最能描述為什么 File::open 返回的是 Result 而不是 O…

MCP 協議傳輸機制大變身:拋棄 SSE,投入 Streamable HTTP 的懷抱

在技術的江湖里,變革的浪潮總是一波接著一波。最近,模型上下文協議(MCP)的傳輸機制就搞出了大動靜,決定和傳統的服務器發送事件(SSE)說拜拜,轉身擁抱 Streamable HTTP,這…

138. Copy List with Random Pointer

目錄 題目描述 方法一、使用哈希表 方法二、不使用哈希表 題目描述 問題的關鍵是,random指針指向的是原鏈表的結點,這個原鏈表的結點對應哪一個新鏈表的結點呢?有兩種辦法。一是用哈希表。另一種是復制原鏈表的每一個結點,并將…

如何評估開源商城小程序源碼的基礎防護能力?

在電商行業快速發展的背景下,開源商城已經為更多企業或者開發者的首選方案,不過并不是所有的開源商城源碼都能讓人放心使用,今天就帶大家一起了解下如何評估開源商城小程序源碼的基礎防護能力,幫助大家更好地篩選安全性高的商城源…

[Vue]跨組件傳值

父子組件傳值 詳情可以看文章 跨組件傳值 Vue 的核?是單向數據流。所以在父子組件間傳值的時候,數據通常是通過屬性從?組件向?組件,??組件通過事件將數據傳遞回?組件。多層嵌套場景?般使?鏈式傳遞的?式實現provideinject的?式適?于需要跨層級…

悠易科技智能體矩陣撬動AI全域營銷新時代

大數據產業創新服務媒體 ——聚焦數據 改變商業 在數字化浪潮與AI技術的雙重驅動下,數據營銷正經歷前所未有的變革,從傳統的全域智能營銷,邁向更具顛覆性的AI全域營銷時代。 麥肯錫的報告顯示,采用AI驅動營銷的企業,客…