Computer Vision / Video Analytics

NVIDIA Sionna でリンクレベル シミュレーションを開始

Reading Time: 2 minutes

世界中で 5G ワイヤレス ネットワークの導入と利用が進んでいますが、学術界や産業界の研究者の間では、既に 6G のビジョンと主要テクノロジの定義が始まっています。詳しい内容はまだ未定ですがわかりませんが、6G のビジョンとして、かつてない規模のデジタル ツインと分散型機械学習 (ML) アプリケーションを作成することが必要だと繰り返し語られています。6G の研究には新たなツールが必要です。

図 1. 6G の主要テクノロジ

6G のビジョンの基盤となる主要テクノロジには、テラヘルツ帯という高周波通信があります。この帯域では桁違いのスペクトルを利用できます。このテクノロジの実例には、以下のようなものがあります。

  • Reconfigurable Intelligent Surface (RIS: 再構成可能なインテリジェント サーフェス): 電磁波の反射方向を制御し、カバー範囲を最大化します。
  • Integrated Sensing and Communications (ISAC、統合センシングおよび通信): 6G ネットワークをセンサー化し、自律走行車、交通安全、ロボティクス、ロジスティクスなど、さまざまな分野に魅力的なアプリケーションを提供します。

機械学習は、6G プロトコル スタック全体で主要な役割を果たすとされており、通信システムを設計および標準化する方法に革命をもたらす可能性があります。

こうした革命的なテクノロジの研究課題の解決に向け、6G 時代の通信方法を定義するような画期的な進展をもたらす次世代のツールが求められています。その理由は以下のとおりです。

  • 6G テクノロジの多くは、工場やセルサイト (移動通信網の基地局) など、特定の環境のシミュレーションに加えて、物理的な位置と空間的に一貫した対応、無線チャネル インパルス応答、視覚入力を必要とします。現在、これを実現する方法は、高コストの測定、またはシーン レンダリングとレイ トレーシングを組み合わせた効率的なシミュレーションしかありません。
  • 機械学習とニューラル ネットワークの重要性が増すにつれ、研究者は ML がネイティブ統合され、自動勾配計算を実行できるリンクレベル シミュレーターから多大なメリットを得られます。
  • 6G シミュレーションでは、前例のないレベルのモデリング精度と規模が求められます。ML で強化されたアルゴリズムの能力を最大限に引き出すためには、これまで不可能だった詳細なレベルで現実世界を再現する物理ベースのシミュレーションが必要です。

NVIDIA Sionna について

こうしたニーズに対応するため、NVIDIA は、リンクレベル シミュレーション用の GPU アクセラレーション対応オープンソース ライブラリ Sionna を開発しました。

Sionna を使用すると、複雑な通信システム アーキテクチャのプロトタイプをすばやく作成できるようになります。これは、物理層でニューラル ネットワークをネイティブに使用でき、データ生成、トレーニング、性能評価などに個別のツールチェーンを必要としない世界初のフレームワークです。

Sionna には、入念にテストされた幅広い最先端のアルゴリズムが実装されており、ベンチマーク測定やエンドツーエンドの性能評価に使用できます。そのため、専門外であるコンポーネント実装に時間をかけることなく、研究に集中し、影響力と再現性を高めることができます。

Sionna は Python で記述されており、TensorFlowKeras をベースにしています。すべてのコンポーネントは Keras レイヤーとして実装されており、ニューラル ネットワークを構築する場合と同じように、必要なレイヤーを接続して高度なシステム アーキテクチャを構築できます。

一部の例外を除き、すべてのコンポーネントは微分可能なため、システム全体で勾配を誤差逆伝播できます。これは、特にニューラル ネットワークの統合において、システムの最適化と機械学習を実現するための主要な手法です。

NVIDIA GPU アクセラレーションにより、桁外れに高速なシミュレーションと大規模なマルチ GPU セットアップへのスケーリングが提供され、そのシステムでインタラクティブに探索できるようになります。GPU を利用できない場合は、速度は遅くなりますが CPU でもSionna を実行できます。

充実したドキュメントと幅広いチュートリアルも公開されており、簡単に使用を開始できます。

図 2. Sionna の初回リリースの機能

初回リリース版の Sionna で提供される主な機能は以下のとおりです。 

  • 5G LDPC/5G Polar/畳み込み符号、レート マッチング、CRC、インターリーバ、スクランブラー
  • 各種デコーダー:  BP バリアント、SC、SCL、SCL-CRC、Viterbi
  • QAM およびカスタム変調方式
  • 3GPP 38.901 チャネル モデル (TDL、CDL、RMa、UMa、Umi)、Rayleigh、AWGN
  • OFDM
  • MIMO チャネル推定、等化、プリコーディング

Sionna は Apache 2.0 ライセンスで公開されており、外部からの貢献も歓迎です。

Hello, Sionna!

以下のコード例は Sionna 版の「Hello, World!」であり、16QAM 変調方式を用いた AWGN チャネルでの LDPC コードワードのバッチ伝送をシミュレーションしたものです。この例が示すように、Sionna レイヤーはインスタンス化され、以前に定義されたテンソルに適用されます。コーディング スタイルは Keras の Functional API に準拠しています。このコード例は、Google Colaboratory の Jupyter Notebook で直接開くことができます。

batch_size = 1024
n = 1000 # codeword length
k = 500 # information bits per codeword
m = 4 # bits per symbol
snr = 10 # signal-to-noise ratio

c = Constellation("qam",m,trainable=True)
b = BinarySource()([batch_size, k])
u = LDPC5GEncoder (k,n)(b)
x = Mapper (constellation=c)(u)
y = AWGN()([x,1/snr])
llr = Demapper("app", constellation=c)([y,1/snr])
b_hat = LDPC5GDecoder(LDPC5GEncoder (k, n))(llr)

Sionna の主なメリットの 1 つは、コンポーネントをトレーニング可能にしたり、ニューラル ネットワークに置き換えたりできることです。以下の例では、Constellation をトレーニング可能にして、DemapperKeras で定義されたニューラル ネットワークの NeuralDemapper に置き換えています。

c = Constellation("qam",m,trainable=True)
b = BinarySource()([batch_size, k])
u = LDPC5GEncoder (k,n)(b)
x = Mapper (constellation=c)(u)
y = AWGN()([x,1/snr])
llr = NeuralDemapper()([y,1/snr])
b_hat = LDPC5GDecoder(LDPC5GEncoder (k, n))(llr)

このように設定すると、信号点を定義するテンソルがトレーニング可能な TensorFlow 変数になり、NeuralDemapper の重みと共に TensorFlow の自動微分機能によって追跡できるようになります。以上のように、Sionna は微分可能なリンクレベル シミュレーターと見なすことができます。

Sionna のしくみについては、その他のチュートリアルをご覧ください。

今後の展望

近日中に、Sionna によって確率的なチャネル モデルに代わる統合型のレイ トレーシングが実現し、新たに多くの研究分野に対応できるようになります。超高速レイ トレーシングは、通信システムのデジタル ツインに不可欠なテクノロジです。これにより、たとえば建物のアーキテクチャと通信インフラストラクチャの協調設計が可能になり、前例のないレベルのスループットと信頼性を達成できます。

図 3. Jupyter Notebook からハードウェア アクセラレーション対応のレイ トレーシングを利用

Sionna は、NVIDIA GPU のコンピューティング (NVIDIA CUDA コア)、AI (NVIDIA Tensor コア)、レイ トレーシング コアを活用して、6G システムの高速シミュレーションを実現します。

Sionna の今後にご期待ください。また、ぜひ皆様の成功事例をお聞かせください。

詳細については、以下のリソースをご参照ください。

Tags