由于 Microsoft R 服务器 或 机器学习 Server 中缺少环境变量,导致 MKL 计算结果不一致

本文可帮助你解决由于缺少环境变量而获得不一致结果的问题。

适用于:Windows 上的 SQL Server 2017、Microsoft 机器学习 Server (R Server)
原始 KB 数: 4488257

现象

运行 Microsoft R 服务器 9.0、9.1、9.2、9.3.x 或 Microsoft 机器学习 Server 作为 Microsoft SQL Server 2017 的一部分时,在 Intel 数学内核库(MKL)计算中遇到不一致的结果。 由于缺少 MKL_CBWR环境变量, 因此会出现此问题。

原因

之所以出现此问题,是因为已将新功能添加到 Intel MKL 库,其中包含Microsoft R 服务器和 SQL Server 2017。 有关此功能的详细信息,请参阅 条件数值可再现性简介(CNR)

解决方法

若要解决此问题,请通过设置 MKL_CBWR=AUTO 系统环境变量在 Microsoft R 服务器 或 机器学习 Server 中配置条件数字可重现性。 为此,请按照下列步骤进行操作:

  1. 在控制面板中,选择“系统和安全”>“系统”>“高级系统设置”>“环境变量”。

  2. 创建新的用户或系统变量,并指定以下值:

    • 将变量名称设置为 MKL_CBWR
    • 将变量值设置为 AUTO
  3. 重启Microsoft R 服务器。

Status

Microsoft已确认这是Microsoft产品中的问题。

在Microsoft R 服务器的未来版本中,MKL_CBWR=AUTO 设置将是默认设置。

参考

SQL Server 机器学习服务第三方信息免责声明中的已知问题

第三方信息免责声明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。