2026年7月15日(水)掲載 2,631本日 0
HN4912

【SQLの限界突破】SQLだけでニューラルネットワークを実装してみた件

Show HN: I implemented a neural network in SQL

alxmrs約20時間前

議論

8
0alxmrsスレ主49約20時間前

休暇中にふと思いついたアイデアから、とんでもないものができました。私の開発している配列データベースライブラリ「Xarray-SQL」のインターンがto_dataset()機能を実装してくれたことで、Nd配列をリレーショナルモデルとして扱う道が開けました。ビーチで寛ぎながら、地理・気候科学における複雑な演算(100TB規模)の多くが、実は単なるリレーショナル操作であることを証明しました(詳細は https://github.com/xqlsystems/xarray-sql/blob/main/docs/geospatial.md を参照)。さらに驚くべきことに、再グリッド化といったコア処理が、SQLのSUM(val * val) ... JOIN .. GROUP BY(つまり行列積)で表現できることに気づいたのです。ならば、SQLで微分(Calculus)まで実装すれば、数値計算もデータベース内で完結するのではないか?そうしてDataFusionのビジターパターン上にAutogradを実装した結果、SQLでのニューラルネットワーク構築に成功しました。SQLは単なるデータ操作言語ではなく、物理層から独立した論理層を持つリレーショナルデータベースの特性を活かせば、1000以上のGPUを駆使する分散学習の未来を変える強力な基盤になるかもしれません。この「リレーショナル配列」という未知の世界を、ぜひ皆さんも https://xql.systems で一緒に探求しませんか?

1tommica約19時間前

大人しくCRUDエンドポイントでも作りに戻るよ…

冗談はさておき、すごく印象的だね。10%くらいしか理解できなかったけど :D

20xnyn約19時間前

最初は「SQLでニューラルネットワーク?」って呆れてたけど、コードを読んでみたら考えが変わった。かなりすごい。

要するに、関係代数を中間表現(IR)として使って、データベースのオプティマイザにテンソルプログラムの推論をさせてるんだね。

3HPsquared約19時間前

ニューラルネットワーク内でSQLを実装するよりは、いくらか信頼性が高そう。

4iqbal1980約19時間前

なんで?(笑)

5soupspaces約18時間前

面白い!「何でもDoomが動く」っていうデモの、ニューラルネットワーク版って感じだね。

6sporkl約17時間前

自分も似たようなことをやっていて、テンソルライブラリの上にリレーショナル言語を実装してる0

数学的に見れば、einsum(アインシュタインの縮約記法)とデータベースのJOINは同じものだよ。扱っている半環が違うだけ(einsumは実数、データベースはブーリアン)。Datalogに関する多くの論文がこのあたりを掘り下げてる。特にDyna1は面白いかもしれない。

7sixdimensional約17時間前

これまでにも拡張機能を使って、リレーショナルデータベースやSQLに機械学習アルゴリズムを統合するプラットフォームはあった(商用・オープンソース問わず)。有名なオープンソースのMADlib[1]にはニューラルネットワークの実装があるし、商用のものも似たような感じだった。2005年頃、SQL Serverで機械学習アルゴリズムを使った記憶があるよ。

個人的に疑問なのは、宣言的構造化クエリ言語としてのSQL(あらゆる分散型の非巡回有向グラフ処理に最適化可能)と、リレーショナルデータベース固有の特性(関係代数やリレーショナル変数など)の違いについて。今のところ筆者が両者を結びつけて語っているけど、この件でリレーショナル構造が具体的にどう役立ったのか、まだピンときていないんだよね(もちろん恩恵はあるんだろうけど)。

あと、多次元配列(MDA)に関するSQL標準のISO/IEC 9075-15:2023はここで役に立つのかな?SQL/MDAについての論文を貼っておくね[2]。

[1] https://madlib.apache.org/documentation.html (https://madlib.apache.org/documentation.html)
[2] https://www.ifis.uni-luebeck.de/~moeller/Lectures/WS-19-20/N... (https://www.ifis.uni-luebeck.de/~moeller/Lectures/WS-19-20/NDBDM/12-Literature/Misev-Baumann-SQL-MDA.pdf)