發表文章

AI-RAN: Nvidia Areial RAN - AODT (4)

圖片
在 AODT 中, 另一個重要的特色即在於對 AI/ML 演算法的支援, 在 Nvidia 的初始想法中, 數位雙生的主要目標即在於產生訓練模型用的訓練資料, 也因此, AODT 也提供了一個 AI/ML 的範例, 展示如何透過 AODT 所產生的訓練資料, 進行模型的訓練. 關於這一部分的內容, 相關的文件內容可以參考: https://docs.nvidia.com/aerial/aerial-dt/text/ran_digital_twin.html#simulation-mode-3-ml-examples 在此範例中, 強調的是如何透過 AODT 平台鑲嵌 AI/ML 演算法, 在 AODT 1.1 中, 提供兩個範例, 第一個是 CFR 的預測, 如下圖所示: 在此範例中, 輸入是 EM engine 產生的通道數值, 以 CFR 的方式進行呈現, 其基本想法即是透過收集加入雜訊後的 CFR 數值, 作為輸入, 以神經網路回估原始未加雜訊的 CFR 變化, 不過在此範例中, 通道的估計器 (Channel Predictor, 上圖橘框) 並不是一個泛化的估計器, 而是針對每一組傳送-接收端, 都有一個獨立實作模型, 因此, 期能夠預測的也只有時間上的變化 (N=5 slots 後的通道效應), 考慮在 AODT 環境中, 使用者移動模型為在開放場域中直線移動, 應可以透過數個連續的 CFR 數值, 預估短時間內的通道變化, 也就是有效反射路徑的連續變化. 另一個範例的應用也是通到估計, 不過, 其設計則是用以展示 AODT 進行模型優化的能力, 在此範例中, 先以 Sionna 的統計通道模型對模型預訓練 (ML Channel Estimator, 下圖橘框), 在以 AODT 實際的通道輸入 (解調完的 DMRS) 作為即時估計輸入, DMRS 全名為: DeModulated Reference Symbols, 存在於 PUSCH (上行排程的通道), 然而, 對於單一的使用者而言, DMRS 只佔有部分的通訊資源 (Resource Block), 因此, 若我們要利用 DMRS 訊號幫助下行的排程 (scheduling), 我們必須利用少量的通道響應, 內差與外插出整體頻寬的通道變化, 也就是 CFR 數值, 這也就是此範例提供的目標,

AI-RAN: Nvidia Areial RAN - AODT (3)

圖片
在這篇文章中, 我們介紹一下 AODT 可以取得那些模擬參數, 考慮到在 AODT 框架下, 計算 (backend) 與顯示 (frontend) 是分離的,  中間資料交換部分, 則是透過 ClickHouse Database 進行, 因此, 所有可以透過 AODT 介面顯示 (frontend) 的模擬資訊,  都可以透過 ClickHouse 的資料庫讀取來取得.  關於 ClickHouse 資料庫內部的欄位可以參考 AODT 的官方文件: https://docs.nvidia.com/aerial/aerial-dt/text/additional_info.html#database-tables 其中, 我們先大致整理一下表格內容, 並分類資訊類別: AODT 系統模擬參數:  db_info, time_info 環境參數: scenario, materials 通道模擬結果: raypaths, cirs, cfrs RAN 設定: panels, patterns, rus, dus 使用者與移動性: ues,  RAN Simulation: telemetry,  ML Training 結果: training_result 其中, 多數的內容應該直接查看網頁中的定義就可以理解, 因此, 我們就專注在 raypaths 與 telemetry 這兩個跟模擬結果直接相關的部分, 針對 raypaths 部分, 資料庫列出了每一條互動路徑的數值, ru_id, ue_id 代表了傳輸路徑的兩端, points 則代表了中間產生互動 (interaction) 的位置, 互動分成 5 類: 發送 (emission), 反射 (reflection), diffraction (繞射), diffuse (散射), reception (接收), 透過記錄下每一次互動的時間, 位置, 以及對應的訊號強度變化, 便可以完整表示出電磁波在環境中的互動狀況. 值得注意的是, 目前 AODT 並沒有模擬電磁波的穿透效應 (折射, 衰減), 因此, 能夠應用的範圍仍侷限在室外的場域中,  另外, 這些路徑的接收強度疊加就會表示為 CIR (cirs) 與 CFR (cfrs). 在 AODT 中並沒有計算 RSRP 的數值, 可能須自行累計. te

AI-RAN: Nvidia Areial RAN - AODT (2)

圖片
在一開始的介紹中, 我們貼了一張 AODT 的架構圖, 可以清楚地分成三個部分: 使用者介面: 進行模擬情境的定義 通道模擬器: EM solver 以光跡追蹤模型模擬 CIR 和 CFR RAN 模擬器: cuMAC 和 cuPHY 進行網速模擬 這樣的架構, 清楚的切分出 AI-RAN 模擬的挑戰, 以及所需要的計算套件. 不幸的是, 在系統實作上, 有更多其他的限制需要考慮, 有些時候, 還必須受限於既有系統的框架. 來自:  https://docs.nvidia.com/aerial/aerial-dt/text/overview.html 上圖是實際 AODT 的實作框架, 原本 3 分的計算架構, 改成 2 分式, 對應於前台 (front-end) 與後台 (back-end), 中間資料交換的部分, 透過 Nvidia 的 Nucleus Server 以及對應的 Neculeus Connector, 以 Server-Client 的架構進行實作, 也或許因此改成二階段框架, 減少中間資料交換, 中間資料交換的部分是以 ClickHouse 進行實作, 提供 SQL-like 的資料存取. 在介紹完資料交換的元件之後, 接著我們透過 AODT 執行流程來說明各元件功能: Scene Important 根據 CityGML* 格式的檔案, 產生對應的 3D USD* 模型 AODT front-end 進行模擬的設定, 可以分成三種模式: (a) Channel Simulation, (b) Channel + RAN Simulation, (3) Channel Simulation + ML training 將計算設定透過 Nucleus Server 傳送給後端, 進行計算 後端將計算完後的結果, 傳到 ClickHouse 儲存 前端的 AODT 介面撥放後端計算完的結果 Note 1: CityGML 為針對城市定義的 3D 模型 ( https://www.citygmlwiki.org/index.php ) Note 2: USD 為一種開放的 3D 場景 (Scene) 描述語言, 為 Nvidia 所採用, ( https://www.nvidia.com/zh-tw/omniverse/usd/ )  在目前 AOD

AI-RAN: Nvidia Areial RAN - AODT (1)

圖片
就讓我們從 Aerial Omniverse Digital Twin 談起吧!  為了減少打字的麻煩, 在後續文章中簡寫為 AODT, 以 AODT 作為介紹的起點, 一方面是因為他有完整的使用者介面, 可以視覺化的呈現 AI RAN 的應用與概念, 另一方面, AODT 也有善用到 CUDA 的平行運算能力, 我們可以介紹 Nvidia 對於 AI RAN 的投入. 我們先從 AODT 的是範例出發, 可以參考以下影片: 來自:  https://www.youtube.com/watch?v=J5-rkgL2dFA 在影片中, AODT 展示了兩個主要的能力: 透過 3D 城市建模, 模擬電磁波實際和場景互動 模擬使用者的移動行為, 即時計算傳送端到接收端的訊號變化 透過以上兩個能力, 在布建基地台前, 我們就可以評估是否有訊號死角, 不必像傳統的行動網路業者, 還需要開車去做事後評估與補強, 同時, 這些模擬不只是訊號強度, 還包含了通道的時域 (CIR) 與頻域 (CFR) 特徵, 可以直接匯入 cuMAC 和 cuPHY 的模組中, 進行網速的評估. 因此, AODT 可以提供一個大型通訊網路在一個城市中的數位雙生 (Digital Twin), 這些收集來的通道資訊, 更可以作為 AI/ML 模型的訓練資料, 透過大量的訓練資料, 賦予通訊網路引入 AI/ML 能力的潛力. 看起來非常厲害, 簡直就是無線通訊的未來對吧? 一方面, 是的. Nvidia 憑藉著其對 GPU 平行運算能力的掌握, 將原有無線通道模擬的速度從小時, 推進到分鐘. (依據我們的經驗) 這樣的模擬速度與尺度, 的確讓大量訓練資料產生變成可能, 同時, 考量到 AI/ML 模型的訓練需要大量的資料,  AODT 也的確解決了 AI-RAN 訓練資料從何而來的問題. 另一方面, AODT 1.0 版的發布時間為 2024 年 4 月. 作為一個年輕的專案, 其本身一定會有許多限制 (以及 bugs ...) 我們將在後續文章中, 先介紹其實作框架, 以及各元件功能, 接著, 我們將繼續介紹他們的限制,  給予 AODT 目前的狀態一個較全面的評估.

AI-RAN: Nvidia Areial RAN -介紹

圖片
隨著 AI 在近年的興起,  Nvidia 憑藉著其 CUDA 平台的平行計算能力, 在 AI 領域取得了大量的成功, 為了推展 CUDA 的應用, Nvidia 推出了一系列 Omniverse 的服務, 其基本的想法是: 隨著平行化運算晶片的發展, 算力將更加便宜, 此時, 對於 AI 模型的問題將不是算力限制, 而是訓練資料不足, 因此, Nvidia 希望透過 Omniverse 的數位雙生技術 (Digital Twins), 來提供訓練模型的大量訓練資料.   *Note: 可以參考黃仁勳於 Computex 的演說: https://www.nvidia.com/en-us/events/computex/ 在 Nvidia 為了通訊系統 (稱為 Aerial RAN) 的生態系中, 又可以分成三個不同的專案: Sionna:  https://nvlabs.github.io/sionna/examples/Discover_Sionna.html Aerial Omniverse Digital Twin:  https://docs.nvidia.com/aerial/aerial-dt/index.html Aerial CUDA-Accelerated RAN:  https://docs.nvidia.com/aerial/cuda-accelerated-ran/index.html 在整體 AI-RAN 的架構中, 可以用下面這張圖來表示各分項的功能: 來自:  https://developer.nvidia.com/blog/boosting-ai-driven-innovation-in-6g-with-the-ai-ran-alliance-3gpp-and-o-ran/  在 Nvidia 的 AI-RAN 架構中, 區分成三個層級: Link-level: 模擬通道特性, 並分析網路的效能, 對應於 Sionna System-level: 包含 cuMAC, cuPHY 的模擬, 對應於 AODT End-to-End: 介接其他設備 (CU/DU/RU), 提供真實 5G 連線, 對應於 Aerial RAN   在實作上, 其中的差異在於所含有的套件,  我們借用 Aerial Omniverse Digital Tw

LTE筆記: AI/ML for NR Interface -4

圖片
在這一系列文章的最後, 我們來介紹一下波束管理的應用. 事實上, 由於引入 mmWave 的頻段, 波束管理一直是 5G NR 中的重要問題. 波束 (beamforming) 可以視為是往特定方向增強的訊號, 透過最佳化波束的指向, 我們可以為無線通訊引入一個新的角度: 空間, 並透過空間上的多工, 達成更高的通訊效能與更低的干擾. 然而, 在空間上聚焦, 意味著網路必須能夠掌握使用者的位置, 並能夠快速地根據使用者在空間上的變化, 進行波束的配置. 波束管理 (Beam Management) 在通訊的研究上本身就是一個大集合, 不論是波束搜尋, 波束追蹤, 波束配置, 都有許多相關研究, 然而, 在 3GPP 的框架中, 特別在乎的是實際通訊場域中要如何使用波束, 以及 AI/ML 可以達成的角色, 這又可以分成三類題目: (1) 利用 AI/ML 學習通道在環境中的非線性變化, 避免數學的過度簡化 (2) 如何透過 AI/ML 的方法, 減少波束掃描的次數 (3) 透過 AI/ML 進行波束的預測 (學習使用者的動態行為) 為了解釋上述問題, 我們先解釋一下目前波束搜尋的框架, 分別對應網路與手機端的應用, 如下圖所示: 來自:  https://www.sharetechnote.com/html/5G/5G_AI_ML_PHY_BM.html 在圖中, 我們可以看到可以分成: P1, P2, P3 三個階段, 分別對應於 Set B (較寬的波束) 與 Set A (較窄的波束),  其中, 要進行波束管理的前提即是要有對應的量測資料 (L1-RSRP), 考慮到波束掃描與量測都需要時間, 都會造成通訊資源的損失, 因此, 如何減少掃描的次數, 或是有效地從 Set B 推論 Set A 中有效的波束, 即是 AI/ML 演算法可以介入的地方. 相同的問題命題, 在方向 (1) 中則表現於 Set B 與 Set A 的空間關聯性, 如何透過 AI/ML 的上進行建模, 可以得到 Set B 與 Set A 的對應, 對應於方向 (3), 則是透過動態模型來進行波束的預測, 減少波束進行掃描的次數, 以及對應要消耗的計算資源, 以上的應用方向, 也就是 AI/ML 最受期待能夠直接應用於 5G NR 的領域.

LTE筆記: AI/ML for NR Interface -3

圖片
介紹完 AI/ML 在定位領域的應用後, 我們接下來介紹 AI/ML 模型用於 CSI 處理的應用, CSI 全稱為 Channel State Infomation, 用以表示通道的細部變化, 相較於傳統上 RSRP 的訊號強度資訊, CSI 的資訊可以反映出訊號在時間或是頻域上強度的變化, 可以用來進行 precoder 的設計, 或是進行定位演算法開發. 然而, CSI 資訊也引入了新的問題, 包含了估測與回傳. 考慮到在下行的應用情境下, SSB (Synchronization Signal Block) 由基地台發出, 裝置端透過接收此訊號, 進行通道估測並取出 RSRP 與 CSI 資訊, 並將 RSRP 與 CSI 資訊回傳至基地台, 讓基地台進行 precoder 的選擇. 因此, 對基地台而言, CSI 的回報數量就和服務的使用者數量呈正比, 同時, 每一筆 CSI 回報又包含在不同頻帶上的量測數值, 因此, 如何減少回報的數量, 以避免佔用太多通訊資源, 是一個重要的問題. 在傳統上, 有兩種做法可以對 CSI 回報進行壓縮, 第一種是基於 codebook 的方法, 在此架構下, 基地台和使用者分享一共同的 codebook, 因此, 使用者回傳時只需要回傳最接近 CSI 的 codebook 編碼, 這種方法雖然可以有效地減低傳送資料量, 但是卻會有失真的問題, 第二種方法則是透過壓縮感知方式 (Compressive Sensing) 進行 CSI 資訊壓縮, 此方法需要一預定的感知矩陣 (sensing matrix), 此矩陣對於所有使用者的一般性, 以及壓縮感知方法本身的稀疏性假設, 會是此方法的限制. 考慮到 AI/ML 演算法的發展,  3GPP 也開始討論如何借力於 AI/ML 方法減少 CSI 的回報量, 事實上, 上述所說的壓縮感知也算是一種 ML 方法, 因此, AI/ML 在此應用中的主要價值應該在於使用者可以動態學習壓縮方法, 並且透過資訊分享的方式, 讓基地台可以近乎無損的取出 CSI 資訊, 目前主要討論的方法包含: SVD, reinforcement learning, Encoder-Decoder 架構. 如下圖所表示: 來自:  https://www.sharetechnote.com/html/5G