问题一:用机器学习PAI的easyrec训练产出的pb模型,在做离线预测时,可以帮忙看下是什么问题吗?
用机器学习PAI的easyrec训练产出的pb模型,在做离线预测时,发现在ODPS用PAI做预测,和本地脚本做预测产出的分数、表征不一致,可以帮忙看下是什么问题吗?
版本:PAI-TF 1.12 本地TF 1.12
输入:1:1 1:1 1:1 1:1 1:1(tagFeature)
ODPS PAI结果:0.017237,-1.630764,0.022628,-0.013977,-0.018369
本地脚本预测结果:-0.842036,1.162899,-0.013451,0.012557,-0.010401
参考答案:
感觉要么就是模型不一样(可能odps和本地用的不是一个savemodel),要么就是数据有差异,差异可能不是肉眼能观察到的,可以向着这两个方向在探索探索
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/591126
问题二:机器学习PAI类似这样的格式,如何config直接配置?
机器学习PAI类似这样的格式,如何config直接配置,不用把seq_item_id和seq_item_feas1 再拆开呢?我看 feature-generate-mr 生成的序列特征格式是:
seq_item_id:seq_item_id1_val#seq_item_feas1:seq_item_feas1_vals11|seq_item_feas1_vals12;
seq_item_id:seq_item_id2_val#seq_item_feas1:seq_item_feas1_vals21|seq_item_feas1_vals22;
参考答案:
如果用fg,就在fg.json中对这个进行配置,但我建议你直接用个udf,把你需要的所有子特征放在一列种,用';'分割 ,
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/591125
问题三:机器学习PAI用bladedisc测试一个unet模型,结果比trt慢将近4倍,请问还有调优空间吗?
机器学习PAI用bladedisc测试了一个unet模型,结果比trt慢将近4倍,请问还有调优空间吗?
参考答案:
是的,还有调优空间。以下是一些建议来优化机器学习PAI使用bladedisc测试的unet模型性能:
- 数据预处理:确保在输入模型之前对数据进行适当的预处理。这包括归一化、缩放、填充等操作,以便模型能够更好地理解和处理输入数据。
- 批量大小调整:尝试调整批量大小以找到最佳的性能平衡点。较小的批量大小可能会导致较低的内存占用,但可能会增加计算时间。较大的批量大小可能会提高计算效率,但可能会增加内存需求。
- 模型简化:考虑对模型进行简化,减少网络的深度或宽度。这可以减少计算复杂度和内存需求,从而提高性能。
- 并行计算:尝试使用多线程或分布式计算来加速模型的推理过程。通过将计算任务分配给多个处理器或节点,可以显著提高性能。
- 硬件优化:确保您的硬件配置适合运行该模型。选择具有足够计算能力和内存的处理器和显卡,以确保模型能够在合理的时间内完成推理。
- 软件优化:尝试使用优化工具和技术来提高模型的性能。例如,使用编译器优化选项、并行计算库或模型压缩技术等。
- 模型量化:考虑对模型进行量化,将浮点数转换为低精度表示形式。这可以减少内存需求并提高计算速度,但可能会降低模型的准确性。
- 缓存优化:尝试使用缓存技术来减少重复计算和数据传输的时间。例如,将常用的中间结果存储在缓存中,以避免重复计算。
- 代码优化:检查和优化您的代码,确保没有不必要的计算或冗余操作。使用高效的算法和数据结构来提高代码的性能。
- 实验和调优:进行实验和调优,尝试不同的参数组合和配置,以找到最佳的性能设置。使用性能分析工具来识别瓶颈和优化机会。
请注意,优化是一个迭代的过程,需要不断地尝试和调整,以找到最佳的性能平衡点。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/591122
问题四:机器学习PAI过滤与映射模块选择字段为啥会多个2这几列,是bug吗?
机器学习PAI过滤与映射模块选择字段为啥会多个2这几列,是你们的bug?
参考答案:
应该是跟decimal格式有关 ,选string类型的字段没问题
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/589803
问题五:请问机器学习PAI这个服务内存占用没到上限96GB,内存占比却超过100%是为什么?
请问机器学习PAI这个服务内存占用没到上限96GB,内存占比却超过100%是为什么?
参考答案:
机器学习PAI服务内存占用没到上限96GB,但内存占比却超过100%的情况可能是由于一些特定的因素。例如,某些机器学习工具或库可能存在默认的内存设置,这可能会限制其使用的内存量。此外,数据加载器在迭代过程中的内存占用可能仅为每次迭代获取的批次数据的内存占用量。
在某些情况下,深度学习训练过程中的显存占用可能会包括框架占用、模型参数相关的占用以及特征相关的占用等部分。如果使用了优化器,梯度相关的参数占用也需要考虑在内。
对于这个问题,您可以尝试以下几种解决方案:首先,检查是否可以重新设置相关工具或库的内存分配,以分配更多的内存。其次,可以考虑使用更小的样本数据集。另外,提高Batch size或者采用多进程并发处理数据的方式也可能有助于减少内存占比。最后,根据具体的计算需求和硬件配置,合理调整模型和优化器等相关参数,以降低显存占用。
关于本问题的更多回答可点击进行查看: