前回の記事「AutoML v.s. Catboost」に出てくるCatboostは、XGBoostやLightGBMと比べて30-60倍も推論が速いという特徴があります。 推論時間は、kaggleなどのコンペでは推論に時間をかけられるのであまり気にしませんが、実サービスとなると重要ですよね。 推論時間の比較 以下のグラフは、3大GBDTライブラリでの推論時間比較です。Catboostがずば抜けて速いことがやかります。 そして学習時間の速さに定評があるLightGBMは、なんと最遅です。 この推論時間の速さは、CatboostがGBDTのベースとなる決定木に symmetric tree と呼ばれる、特殊な形の木を使っているからです。 ここで、symmetric treeとは以下の図の右側のような木です。左側は普通の決定木です。 なぜsymmetric treeは速いか 「同一の深さではすべ