延續上一篇的介紹,為了解決初步測試所遇到的問題,提出了一些新的優化方法與框架,今天我們要介紹 Learning Index Framework(LIF)。
此框架被視為一個 索引合成系統,
他的解釋是這樣低 :
你可以自行設定索引的規範,LIF會依據你的規範生成索引,並且對於此索引,進行自動化地優化與測試。
LIF可以很快地學習簡單的模型 (e.g., Linear Regression Models),但對於相較複雜的模型 (e.g., NN),它仍須依賴TensorFlow。
雖然LIF依賴TensorFlow,但並不使用TensorFlow所建置的模型。換句話說,相較複雜的模型,經由TensorFlow訓練後,LIF會自動取出訓練好模型的參數,基於自訂的規範,使用C++產生更有效的索引結構。
我們自動產生程式碼的過程,主要是針對小型的模型,可以減少所有不必要的成本。
執行簡單的模型只要30 奈秒 !
但是他們特別說明,此框架還是個實驗框架,可以快速地評估索引架構(e.g., Machine Learning模型、不同page大小、搜尋策略..等等)。除此之外,對於框架,他們並沒有使用特殊的SIMD指令,主要是為了確保只在使用我們的框架下,與其他結構比較下的結果。
其實對於LIF,Kraska et al. 並沒有更詳細地介紹,例如提供演算法範例..等等,主要就是使用LIF可以自行生成更有效率的索引,加速模型的執行。
下一篇我們將介紹Recursive-Model Indexes (RMI)。