|
この記事は、AI関連ニュースメディアQuantumBit(WeChat ID: QbitAI)の許可を得て転載しています。転載の許可については、元の情報源にお問い合わせください。 GitHub で 4.3k スターを獲得したテンソル操作ツールEinops が、3 年間のオープンソース開発を経て、ついにトップ カンファレンスに受け入れられました。 これは、アインシュタインの総和規則に基づいて開発された、テンソル構造を操作するための統一された汎用的な方法であり、コードの可読性と変更可能性を大幅に向上させることができます。 一方、Einops は、PyTorch、TensorFlow、Chainer、Jax、Gluon などの複数のディープラーニング フレームワークや、NumPy や Cupy などのテンソル計算フレームワークをサポートしています。 ICLR 2022 が口頭発表として採択された瞬間、長年 Einops の恩恵を受けてきた無数の「精神的株主」が、Einops が真に認知されるべきだと信じ、そのことを広めました。 しかし、すでによく知られ、数え切れないほどの著名人が支援していたこのツールは、トップカンファレンスに提出されてから順調な道のりを歩んだわけではありませんでした。 アインシュタインの和の慣習よりも便利な表記法まず、 Einopsの基本原理を理解しましょう。 その設計コンセプトは、1916 年にアインシュタインが提唱したアインシュタイン表記法に由来しています。 この方法のルールは、積の中の2つの変数が同じ添字を持つ場合、その2つの同一の添字を合計することです。例えば、以下のAIBI図では、 このように書く利点は、数式内の多くの合計記号を避けることができ、より簡潔に見えることです。 Numpy の Einsum は、アインシュタインの合計法を模倣した手法であり、このアプローチは広く使用されています。 EinopsはEinsum をベースに多くの改良が加えられており、以前はテンソル演算で解決するのが困難だったいくつかの問題に対して、より便利なソリューションを提供しています。 たとえば、PyTorch のみを使用して超解像を実装し、それを Einops と組み合わせると、後者は間違いなくコードの冗長性を大幅に削減します。 △上:オリジナル版、下:Einopsを組み合わせたもの ご覧のとおり、Einops を組み込んだ後のコードでは、特別な命令 PixelShuffle は必要なく、モジュール呼び出し nn.ReLU と nn.Sequential も使用されています。 最終出力には誤った座標は含まれず、フレーム間で転送できます。 Einops はなぜこのようなことができるのでしょうか? これは Einops の性質によるものです。Einops は、テンソル内の要素の位置とその座標変数の値との間の 1 対 1 のマッピングを保証する変換パターンの新しい表記法です。 △NumPyとEinopsの演算の対応 アインシュタインの総和規則 (Einsum) と比較して、Einops にはいくつかの追加機能があります。
これらの機能のうち、入力と出力はテンソルの次元と座標の予想される順序として記述されるため、Einops ベースのコードは読みやすく変更しやすくなり、ユーザーは各操作の後にテンソルの形状を覚えたり推測したりする必要がありません。 同時に、Einops は入力座標 (またはそのコンポーネント) を出力座標に接続するため、設計時にテンソル構造を破ることは不可能になります。 括弧で表された座標の合成と分解も、Einops の大きな革新です。 上記の特性から、Einops モデルは高次元データをより柔軟に処理するのに有利です。 たとえば、アテンション メカニズム関数は形状 [batch, seq, channel] のテンソル kqv を受け入れ、Einops はその高さ、幅、深さを単一の次元に結合できます。 同時に、テンソルのヘッドとバッチ次元もグループ化することができ、これによりアテンション ヘッドの独立した処理が保証され、3 次元データのマルチ ヘッド アテンションに変換されます。 同様に、入力と出力の構造を変更することで、他のニューラル ブロックも Einops モードで「アップグレード」できます。 論文が受理されるまでのプロセスは必ずしもスムーズではありません。Einops の作者はロシア出身の Alex Rogozhnikov 氏です。彼はモスクワ国立大学で数学と物理学の博士号を取得しており、現在の主な研究分野は機械学習です。 Einops は彼の最も人気のある開発分野であり、GitHub で 4.3k のスターを獲得し、Tesla AI の幹部や FAIR Labs のエンジニアからの支持を得ています。 しかし、著者らがそれを論文にまとめて一流の会議に提出したところ、多くの査読者が「技術ブログのような内容だ」「革新性に欠ける」「厳密さに欠ける」と感じ、スコア 3 (却下) を付けました。 しかし、会議の議長は最終的にこれを肯定的に評価し、口頭発表論文として受け入れることに同意しました。
あるEinopsユーザーは、会議議長の最終コメントを投稿し、次のように述べています。
この論文のより広範な励みとなる意義にかかわらず、開発者の Alex Rogozhnikov にとって、これは確かに実りある成果です。 紙: https://openreview.net/forum?id=oapKSVM2bcj GitHub リンク: https://github.com/arogozhnikov/Einops 著者のホームページ: http://arogozhnikov.github.io/about/ |
3年間オープンソース化され、4,300個のスターを誇るテンソルツールが、ついにトップカンファレンスに採用されました!ネットユーザー:ICLR、おめでとう!
関連するおすすめ記事
-
Twitter は完全にオープンソース ソフトウェア上に構築されています。
-
オープンソースには国境がある!GitHub、Node.js、Reactなどが公式にいずれかの立場を表明、Microsoftはロシアへの販売を禁止。
-
-
香港大学の大規模オープンソース グラフ モデルである OpenGraph は、強力な一般化機能と新しいデータを予測するための前方伝播を誇ります。
-
[新しいことを学ぶ] 世界的に認められたLinux認定資格12選
-
Huawei Noah Open Source の最初の中国語マルチモーダル データセットには数億のエントリが含まれており、中国の NLP コミュニティのギャップを埋めています。