Xarray-SQLを介したSQLにおけるニューラルネットワークの実装
Xarray-SQLを介したSQLにおけるニューラルネットワークの実装
リレーショナル演算としてのニューラルネットワーク
Xarray-SQLは、ニューラルネットワークとテンソル演算がSQLデータベース内で直接実装可能であることを示しています。N次元(Nd)配列をリレーショナルテーブルとして扱い(直交する次元を主キーにマッピングする)、複雑な線形代数や微積分演算を標準的なSQLクエリとして表現することで、データベースオプティマイザがテンソルプログラムについて推論し、リレーショナル代数を機械学習ワークロードの中間表現(IR)として効果的に活用することを可能にします。
Nd配列をテーブルモデルにマッピングする
Xarray-SQLの核心となる前提は、あらゆるNd配列を2Dのテーブル表現にマッピングできるという点です。このモデルでは、配列の次元はテーブル内の主キーとして扱われ、値はデータとして保存されます。このマッピングにより、to_dataset()を使用して、配列ベースの思考とテーブル形式のストレージ間の往復を実現できます。
このリレーショナルなアプローチは、地理空間科学や気候科学における多くの一般的な操作が「密かにリレーショナルである」ことを明らかにしています。例えば、これらの分野の核心的な操作であるリグリッディング(regridding)は、数学的には疎行列とベクトルの積に等しく、これはJOIN、GROUP BY、およびSUM(val * val)を組み合わせることでSQLで表現できます。
SQLにおけるAutogradと微積分の実装
単純な線形代数を超えて、Xarray-SQLはJAXの実装から着想を得て、DataFusionのvisitorパターンに基づいて自動微分(autograd)を実装しています。
Xarray-SQLで使用される簡略化された配列モデルでは、システムはヤコビアンの対角成分における偏微分に焦点を当てています。これにより、grad()、jvp(Jacobian-vector product)、およびvjp(vector-Jacobian product)を行単位の演算に還元し、データベース環境内での計算を現実的なものにしています。
リレーショナル機械学習の意義
SQLにおけるニューラルネットワークの実装は、技術的な好奇心のように見えるかもしれませんが、分散システム設計において大きな可能性を秘めています。主な利点は、リレーショナルデータベースの基本原則である「論理層と物理層の分離」にあります。
もしニューラルネットワークが一連のリレーションとして定義されれば、データフローのグローバルな論理プランを作成できます。この分離により、データベースエンジンがネットワークの論理的な定義とは独立して物理的な実行プランを最適化できるため、大規模なGPUクラスター(例:1000台以上のGPU)全体への効率的なワークロードの分散が可能になります。
コミュニティの洞察と理論的な類似性
プロジェクトを巡る技術的な議論では、テンソルライブラリとリレーショナル言語の間の数学的な収束が強調されています。
"数学的には、einsumとデータベースのjoinは同じものです。単に異なる半環(einsumの場合は実数、データベースの場合はブール値)の上で行われるだけです。"
他の観察者も、リレーショナル代数をIRとして使用することで、データベースオプティマイザがテンソルプログラムの複雑さを処理できるようになり、計算をデータの存在する場所に近づけることができると指摘しています。