e4exp / paper_manager_abstract

0 stars 0 forks source link

One Model to Rule them All: Towards Zero-Shot Learning for Databases #453

Open e4exp opened 3 years ago

e4exp commented 3 years ago

本論文では、データベースコンポーネントのための新しい学習アプローチである、いわゆるデータベースのためのゼロショット学習のビジョンを紹介します。 データベースのためのゼロショット学習は、GPT-3のようなモデルの伝達学習における最近の進歩に触発されており、新しいモデルを学習する必要なく、新しいデータベースをすぐにサポートすることができる。 本論文では、最初の具体的な貢献として、物理的コストの推定というタスクに対するゼロショット学習の実現可能性を示し、非常に有望な初期結果を提示する。 さらに、第二の貢献として、データベースのためのゼロショット学習に関連する中核的な課題を議論し、ゼロショット学習をコスト推定以外の他の多くのタスク、あるいは古典的なデータベースシステムやワークロードにまで拡張するためのロードマップを提示する。

e4exp commented 3 years ago

1 序論

動機 コンピュータシステムを構築する際には,複雑な高次元の組み合わせ問題を,システムのすべての層で解く必要があることが多い. コンピュータシステムを構築する際の複雑さを軽減し、扱いやすい方法で問題を解決するために、これまではヒューリスティックな手法や単純化された分析モデルに大きく依存していました。 しかし、最近のシステム分野の研究では、機械学習が従来のヒューリスティックな手法を大幅に上回る範囲が明らかになってきました。 これはデータベースにおいても同様で、既存のDBMSコンポーネントは、学習されたコストやカーディナリティ推定モデル[9, 11, 13, 23, 28, 31]、学習されたクエリ・オプティマイザ[15, 20-22]、さらには学習されたインデックス[6-8, 14]や学習されたクエリ・スケジューリング戦略[19, 27]など、学習された対応物に置き換えられています。 これまで学習型データベースコンポーネントに使用されてきた主なアプローチは、作業負荷駆動型学習です。 作業負荷駆動型学習の考え方は、与えられたデータベース上で代表的なクエリセットを実行することで、DBMSコンポーネントの動作を捕捉し、その観測結果を基にして基礎となるモデルを学習するというものです。 例えば、[13, 28]のような学習済みのカーディナリティ推定モデルでは、一連のクエリを実行してクエリプランとそのカーディナリティを収集する必要があります。 これは、新しいクエリのカーディナリティを推定するために使用できるモデルを学習するためのトレーニングデータとなります。 学習された物理設計アドバイザー(例:インデックス選択のためのアドバイザー)[10, 16, 18, 34]など、他のDBMSコンポーネントにワークロード駆動型学習が使用されている場合も、全く同じ手順が適用されます。

しかし、これらのワークロード駆動型アプローチの大きな障害となっているのが、トレーニングデータの収集です。 例えば、[13, 28]では、高い精度を達成するためのモデルのトレーニングには、何千ものクエリプランとその真のカーディナリティが必要であることが示されています。 トレーニングデータを収集するために、潜在的に非常に大きなデータベース上でこのようなトレーニングクエリのセットを実行すると、数時間から数日かかることがありますが、基礎となるモデルの実際のトレーニングは数分で済むことが多いです。 また、残念なことに、トレーニングデータの収集は、サポートが必要な新しいデータベースごとに繰り返す必要があります。 トレーニングデータの収集にかかる高いコストを削減するために、強化学習(RL)を使用して、より的を絞った方法でトレーニングクエリを実行しています[10, 17, 18, 34]。 しかし、強化学習を用いても、モデルを学習するためには大量の学習クエリを実行する必要があります。 さらに、モデルの学習は、ワークロード駆動型のアプローチと同様に、新しいデータベースごとに学習手順を繰り返す必要があるため、一度だけの努力ではありません。 新しいデータベースでクエリを実行することによる高価な学習データの収集を回避するために提案されている別の方向性は、基礎となるデータから純粋にモデルを学習する、いわゆるデータ駆動型アプローチ[11, 31, 32]です。 データ駆動型学習が最適な例として,カーディナリティ推定が挙げられる. しかし、DBMSコンポーネントの中には、クエリの実行時動作に関する情報が必要なものもあるため、データ駆動型学習は銀の弾丸でもありません。 そのような例としては、クエリの実行時の挙動をモデルで捉えて予測を行う必要がある、学習済みの物理的コスト推定があります。 同様のことが、物理設計のチューニングやノブのチューニングなど、他の多くのデータベースタスクにも当てはまり、ある決定がワークロードのランタイムに与える影響を知る必要があります。

ビジョンと貢献度 本論文では、いわゆるデータベースのためのゼロショット学習のビジョンを提示する。 これは、一方では幅広いタスクセットをサポートすることができ、他方では新しいデータベースをサポートするためのトレーニングデータを収集する必要がない、データベースコンポーネントのための新しい学習アプローチである。 この点において、データベースのためのゼロショット学習は、データ駆動型学習と作業負荷駆動型学習の利点を組み合わせたものである。 データベースのためのゼロショット学習の一般的なアイデアは、モデルの伝達学習の最近の進歩に動機づけられている。 NLPのゼロショット学習を可能にするGPT-3 [3]のような他のアプローチと同様に、データベースのゼロショットモデルは、さまざまなデータベースと作業負荷の幅広いコレクションで学習され、そのため、特にデータベースで学習する必要なく、まったく新しいデータベースと作業負荷に一般化することができます。 本論文では、このようなデータベースのためのゼロショット学習のアプローチがどのように機能するかを議論し、物理的コスト推定のタスクに対するこのアプローチの実現可能性を示します。 物理的コストの推定に関する初期の結果では、ゼロショットモデルは、ワークロード駆動型モデルに特定のデータベースに関する大量のトレーニングクエリを提供した場合でも、ワークロード駆動型アプローチを大幅に上回ることができることを示しています。 さらに、ゼロショット学習の真の力は、ゼロショット学習が様々な学習済みデータベースのタスクに使用できる一般的な原理であることに起因すると考えています。 例えば、ゼロショット学習は、新しいデータベースでの物理的コストの推定だけでなく、物理的なデザインのチューニングや、特にモデルが見たことのないデータベースでのインデックス選択にも使用できることを示す、初期の有望な結果がすでに得られています。

概要 本論文の残りの部分は、以下のような構成になっています。 セクション2では、まず、データベースのゼロショット学習の概要を説明し、ゼロショット学習に関連する中核的な課題について議論します。 セクション3では、ゼロショット物理コストモデルを学習するために我々のアプローチを使用するケーススタディについて説明する。 さらに、このセクションでは、我々の初期の実験結果も紹介しています。 その後、セクション4では、コスト推定を超えたデータベースのためのゼロショット学習の研究ロードマップを議論する。 最後に、セクション5で将来の展望を述べて締めくくります。

e4exp commented 3 years ago

5 LOOKING INTO THE FUTURE

本稿では、学習したデータベースコンポーネントの新しいアプローチを示し、そのデータベース上で学習クエリを実行することなく、新しいデータベースをサポートすることができることを示しました。 そもそも我々はシングルノードデータベースと古典的なデータベースのワークロードに焦点を当ててきましたが、ゼロショットモデルはもっと広く適用できると考えています。 一つの方向性は、分散型DBMSで、ゼロショットモデルを拡張して、分散データレイアウトの最適化などのタスクをサポートすることです。 もう一つの方向性は、ゼロショットモデルを他のタイプのデータ集約型ワークロード(データストリーミングなど)向けに拡張することです。 また、ゼロショットモデルは、システム構築者にとっても魅力的なモデルであり、様々な粒度で個々のコンポーネントの性能を予測することができます(例えば、データ構造やアルゴリズムのレベルでは非常に細かい粒度、システムレベルでは非常に粗い粒度)。 例えば、データ構造やアルゴリズムに使用される場合、ゼロショットモデルは、データ構造を自己設計するための効率的な手段となります[12]。 結論として、ゼロショット学習は、学習可能なシステムコンポーネントを構築するためのより持続可能な方法を提供するだけでなく、次世代のデータ集約型システムを構築するために、(前述のように)より広く、さまざまなレベルで適用可能な一般的なパラダイムであると思われるため、多くの研究の道を開くものであると考えています。