为什么我的 sagemaker 模型需要更大的实例来进行实时推理
Why does my sagemaker model need a larger instance for real-time inference
我有一个服务于随机森林分类器 SKLearn 模型的 sagemaker 端点。该模型根据网站上的互动预测某人的用户类型。 这个模型我有两个版本。
第一个模型有4种用户:'user-type-1', 'user-type-2', 'user-type-3', 'other'
第二个版本与第一个版本的不同之处在于使用了更多的训练数据,并且有 10 种类型的用户'user-type-1', 'user-type-2', 'user-type-3', 'user-type-4', 'user-type-5', 'user-type-6', 'user-type-7', 'user-type-8', 'user-type-9','other'
。更具体地说,在第一个模型中,许多用户被预测为 'other'
,而在第二个模型中,许多用户属于新类别之一。
随机森林的参数在两个模型中相同。
问题:第二个模型使用的内存比第一个多很多,我不明白为什么。两种模型的大小相似,并且在第二个版本下对端点的调用次数相同。知道为什么我可能需要在第二个模型中使用比第一个模型更多内存的更大实例吗?
分类型SkLearn树模型的values
属性本质上是一个数据矩阵(n_leaves, n_classes)
(每个叶节点相关的概率分布)
在第一个实验中,该矩阵有 4 列,在第二个实验中,它有 10 列 - 大小增加了 2.5 倍。
我有一个服务于随机森林分类器 SKLearn 模型的 sagemaker 端点。该模型根据网站上的互动预测某人的用户类型。 这个模型我有两个版本。
第一个模型有4种用户:'user-type-1', 'user-type-2', 'user-type-3', 'other'
第二个版本与第一个版本的不同之处在于使用了更多的训练数据,并且有 10 种类型的用户'user-type-1', 'user-type-2', 'user-type-3', 'user-type-4', 'user-type-5', 'user-type-6', 'user-type-7', 'user-type-8', 'user-type-9','other'
。更具体地说,在第一个模型中,许多用户被预测为 'other'
,而在第二个模型中,许多用户属于新类别之一。
随机森林的参数在两个模型中相同。
问题:第二个模型使用的内存比第一个多很多,我不明白为什么。两种模型的大小相似,并且在第二个版本下对端点的调用次数相同。知道为什么我可能需要在第二个模型中使用比第一个模型更多内存的更大实例吗?
分类型SkLearn树模型的values
属性本质上是一个数据矩阵(n_leaves, n_classes)
(每个叶节点相关的概率分布)
在第一个实验中,该矩阵有 4 列,在第二个实验中,它有 10 列 - 大小增加了 2.5 倍。