# RPG ## References + 🔗 [**arXiv - Recurrent Diffusion for Large-Scale Parameter Generation**](https://arxiv.org/abs/2501.11587) + 🔗 [**github**](https://github.com/NUS-HPC-AI-Lab/Recurrent-Parameter-Generation) + 🔗 [**Medium (Adam He) - Diffusion Model-Denoising Diffusion Probabilistic Models**](https://adam-study-note.medium.com/diffusion-model-denoising-diffusion-probabilistic-models-ddpm-%E8%A9%B3%E7%B4%B0%E4%BB%8B%E7%B4%B9-5ce77b6b64d4) + 🔗 [**CSDN - 一文通透想颠覆 Transformer 的 Mamba:SSM、HiPPO、S4、Mamba**](https://blog.csdn.net/v_JULY_v/article/details/134923301) + 🔗 [**知乎 - Mamba详解(一)之什么是 SSM?**](https://zhuanlan.zhihu.com/p/694695534) + 🔗 [**Gemini - RPG**](https://gemini.google.com/share/1b09fa5e90c8) + 🔗 [**知乎 - 扩散模型:DDPM**](https://zhuanlan.zhihu.com/p/614498231) + 🔗 [**類神經網路 - 作業上傳區**](https://docs.google.com/spreadsheets/d/1IkxScdMKsFu0MpS1AiySxIOJHLREIGU_oJELY2EBAMw/edit?gid=1652597706#gid=1652597706) + 🎬 [**量子位 - Mamba 凭什么能颠覆 Transformer 在 AI 圈子的统治地位?**](https://youtu.be/QUpoCXUDfjc) + 🎬 [**Hung-yi Lee - 【生成式AI時代下的機器學習(2025)】第四講:Transformer 的時代要結束了嗎?介紹 Transformer 的競爭者們**](https://youtu.be/gjsdVi90yQo) + 📗 [**Group 2 - Mamba 論文報告**](https://docs.google.com/presentation/d/1zyf5lTpJp8m-LoK84oKDP7L4jbePB3xhTGDPRBvwuSc/edit?slide=id.g3a459704366_9_4#slide=id.g3a459704366_9_4) + 📗 [**Group 24 - RPG 論文報告**](https://www.canva.com/design/DAG7ewKbERY/4pKUQdeTQ064IP2zKzxg_A/edit?utm_content=DAG7ewKbERY&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton) ## Training Phase > RPG 的訓練過程 ![](https://hackmd.io/_uploads/HyaSex2f-x.png) ### Parameter Processing 1. 已訓練模型權重 $W$ + 例如 1000 個已經訓練好的 ViT 模型(分別對應不同的分類任務) 2. 根據權重分層,進行切分 + $W \xrightarrow{\text{divide by layer}} [w[1], \dots, w[I]]$ 3. 接著標準化 + $[w[1], \dots, w[I]] \xrightarrow{-\mu, /\sigma} [\hat{w}[1], \dots, \hat{w}[I]]$ 4. 再將每層權重,切分成等分 token,不夠則 padding + $\hat{w}[i] \xrightarrow{\text{tokenize}} K[i] = [k_i^1, k_i^2, \dots, \text{padding}(k_i^J)].$ + 由於權重被切分成 token,訓練網路的輸入層就不會這麼大 5. 加上 permutation state + 屬於同一個 task,雖然兩模型訓練出來功能相同,但因 random seed 不同,導致收斂到不同 local min,導致權重有所不同,我們因而使用 one-hot vector 來表示這些不同模型 + 如果訓練時不給 $S$,RPG 會看到兩組數值大不相同、但功能一樣的權重。這會讓 RPG 感到困惑:「到底哪一組才是對的?」這會導致 RPG 學出一個「平均值」,結果就是四不像 6. 加上 positional embedding + $K[i] \xrightarrow{\text{pos. embedding}} e[i] = [e_i^1, \dots, e_i^j, \dots, e_i^J]$ + 第 i 層的第 j 個 token + 讓 RAG 可以得知 weight 在神經網路的位置關係 ### Recurrent Diffusion 1. binary embedding + 論文中以 CIFAR-10 的實驗為例,所有的任務都被編碼成一個 10-bit vector + 也會餵進 recurrent model + 範例:例如 `0010100...`,代表:「我要一個能分類出『貓』和『狗』,但要把『飛機』排除在外的模型」 ![](https://hackmd.io/_uploads/rkhpgoazWg.png) 2. Recurrent model + $P_i^j, H_i^j = f(H_i^{j-1}, e_i^j, S)$ + 產生 prototype 3. Parameter diffusion + $L_{\text{diff}} = \mathbb{E}_{t, K, \epsilon} \left\| \epsilon - \epsilon_\theta(K_t, t, P) \right\|^2$ + 將原本 token 加噪,搭配 prototype 嘗試去噪 + 計算去噪 loss,接著 back propagation ## Inference Phase > RPG 的推理過程。你給它分類任務,它吐出神經網路。 ### Input 1. **Binary Embedding** 2. **Random Noise, $\epsilon$** 3. **Permutation State, $S$** ### Output 1. **完整的神經網路權重** + 這就是最終產品。例如,它會輸出一組完整的 ViT-Base 或 ResNet-50 的權重檔案。 + 用途:你可以直接把這組權重載入 PyTorch (`model.load_state_dict(output)`),它馬上就能用來分類圖片,準確率可達 90% 以上。 ## Experiment 1. **ImageNet-1K** + ImageNet-1K 是電腦視覺中最標準、最具代表性的分類資料集,幾乎所有 CNN / ViT 都以它作為能力基準。 + 純分類任務 + 使用的模型:ResNet、Vit、ConvNeXt ![](https://hackmd.io/_uploads/HJZUdipMZg.png) + 數據集 ![](https://hackmd.io/_uploads/HkTTtjpfWg.png) 2. **ADE20K & COCO** + ADE20K 是像素分類到正確類別(牆、路、人…) + ADE20K 指標 + mIoU(%) - 分割區域跟真值重疊程度 + mAcc(%) - 每一類像素分對的比例 + ADE20K 數據集 ![](https://hackmd.io/_uploads/SJtEe3pf-l.png) + 說明生成權重保留了「空間結構理解能力」 + COCO 找出物體畫框以及遮罩 + COCO 指標 + mAPBbox(%) - 框的準確度 + mAPSeg(%) - 遮罩的準確度 + COCO 數據集 ![](https://hackmd.io/_uploads/H1IDWnpGWl.png) + 表示權重有效表徵物體在影像中的位置與外觀結構。 + 結果 ![](https://hackmd.io/_uploads/Byuqy2afbe.png) 3. **Commonsense Reasoning** + 使用 DoRA 微調 LLaMA-7B 得到的 checkpoint 當作訓練資料 + 比較 7 個推理任務的準確度 + 使用 rank4 以及 rank64 + rank 越大,參數越多、表達能力越強、資源消耗越多 + RPG 能生成具備實際推理能力的模型參數。 + 結果 + 大部分數值都相對提升 + BoolQ 對 LLaMA-7B 本身就是偏難的 benchmark + HellaSwag rank64:模型已接近該任務的表現上限,RPG 幾乎完全重建原始能力,因此提升空間自然消失。 ![image](https://hackmd.io/_uploads/SyTNK2pGZl.png) ## Note ![](https://hackmd.io/_uploads/Syt1re2M-e.png) + diffusion model 通常是用 2D CNN 實作 (U-Net Architecture) + 但論文此處強調 1D,是因為權重之間沒有維度關係 + 論文要印 ## Structure 1. Outline 2. RPG 3. Parameter Processing 4. Recurrent Diffusion 5. Benchmark 6. Conclusion