バージョン管理 Versioning

このセクションでは、Databricks ML モデルエクスポートおよびモデルエクスポートバージョン管理ポリシーでサポートされている Apache Spark のバージョンについて説明します。This section describes the versions of Apache Spark supported by Databricks ML Model Export and the Model Export versioning policy.

サポートされている Databricks Runtime バージョンSupported Databricks Runtime versions

Databricks Runtime 4.0 以降のモデルでモデルエクスポートを使用するには、 Mllib 永続 化を使用して、古いバージョンのモデルを保存し、Databricks Runtime 4.0 以上に読み込むことができます。To use Model Export with models from Databricks Runtime 4.0 or below, you can use MLlib persistence to save models from the lower version and load them in Databricks Runtime 4.0 or above. モデルのエクスポートを使用して、スコアリングのためにモデルをエクスポートできます。You can then use Model Export to export the models for scoring.

Databricks ML モデルエクスポートのバージョン管理Databricks ML Model Export versioning

このセクションでは、Databricks ML モデルエクスポートとそのコンパニオンライブラリのバージョン管理ポリシーと下位互換性の保証について説明し dbml-local ます。This section explains the versioning policy and backwards compatibility guarantees for Databricks ML Model Export and its companion library dbml-local.

ヒント

エクスポートされた dbml-local モデルで使用する最適なバージョンを確認するには、 Databricks runtime release note で Apache Spark バージョンの Databricks Runtime を取得し、 dbml-local その Apache Spark バージョンサフィックスを持つ最新バージョンを見つけます。To find the best dbml-local version to use with an exported model, check Databricks runtime release notes to get the Apache Spark version of the Databricks Runtime and find the latest dbml-local version with that Apache Spark version suffix.

MLlib バージョンポリシーの Apache SparkApache Spark MLlib version policy

Databricks ML モデルのエクスポートおよび dbml-local MLlib の動作をレプリケートするように設計されているため、モデルエクスポートバージョン管理ポリシーは、 ml 永続化の mllib ポリシーに基づいています。Since Databricks ML Model Export and dbml-local are designed to replicate MLlib behavior, the Model Export versioning policy is based on the MLlib policy for ML persistence. 一般に、MLlib では下位互換性が維持されます。In general, MLlib maintains backwards compatibility. ただし、まれな例外があります。However, there are rare exceptions.

モデルの永続化Model persistence

Spark バージョンで読み込み可能な Spark バージョンで Apache Spark ML 永続化を使用して保存されたモデルまたはパイプラインは、 a.b.c x.y.zIs a model or pipeline saved using Apache Spark ML persistence in Spark version a.b.c loadable by Spark version x.y.z?

  • メジャーバージョン: 保証はありませんが、ベストエフォートです。Major versions: No guarantees, but best-effort.
  • マイナーバージョンと修正プログラムバージョン: はい。これらは下位互換性があります。Minor and patch versions: Yes; these are backwards compatible.
  • 形式については、安定した永続化形式の保証はありませんが、モデルの読み込み自体は下位互換性を持つように設計されています。Note about the format: There are no guarantees for a stable persistence format, but model loading itself is designed to be backwards compatible.

モデルの動作Model behavior

Spark バージョンのモデルまたはパイプラインは、 a.b.c spark のバージョンと同じように動作し x.y.z ますか。Does a model or pipeline in Spark version a.b.c behave identically in Spark version x.y.z?

  • メジャーバージョン: 保証はありませんが、ベストエフォートです。Major versions: No guarantees, but best-effort.
  • マイナーバージョンと修正プログラムバージョン: バグ修正を除き、同一の動作です。Minor and patch versions: Identical behavior, except for bug fixes.

モデルの永続化とモデルの動作の両方について、マイナーバージョンまたは修正プログラムのバージョン間の互換性に影響する変更は、 Spark バージョンのリリースノートで報告されます。For both model persistence and model behavior, any breaking changes across a minor version or patch version are reported in the Spark version release notes. リリースノートで破損が報告されていない場合は、修正するバグとして処理する必要があります。If a breakage is not reported in release notes, then it should be treated as a bug to be fixed.

Databricks ML モデルエクスポートの保証Databricks ML Model Export guarantees

一般に、Databricks ML モデルのエクスポートと dbml-local 目標は、MLlib と同じ保証を提供します。In general, Databricks ML Model Export and dbml-local aim to provide the same guarantees as MLlib:

  • MLlib が Spark のバージョン間で一貫性のある動作を維持している場合は、 dbml-local も同様です。If MLlib maintains consistent behavior across Spark versions, then dbml-local will as well.
  • MLlib が Spark のバージョン間で動作を変更すると、 dbml-local 新しい spark バージョンの更新バージョンがになります。If MLlib changes behavior across Spark versions, then dbml-local will have an updated version for the new Spark version.

スコアリングライブラリ dbml-local は、としてバージョン管理され x.y.z_sparkA.B ます (例: 0.1.3_spark2.2 )。The scoring library dbml-local is versioned as x.y.z_sparkA.B (e.g., 0.1.3_spark2.2). このバージョン文字列には、次の2つの部分があります。This version string has 2 parts:

  • dbml-local バージョン番号 (例: 0.1.3 )dbml-local version number (e.g., 0.1.3)
    • これは、 セマンティックバージョン管理 () に従うライブラリのバージョン番号です major.minor.patchThis is the library version number, which follows semantic versioning (major.minor.patch).
    • 修正プログラムとマイナーバージョンは、モデルに対して同一の動作を維持します。Patch and minor versions maintain identical behavior for models.
  • Apache Spark バージョンサフィックス (例: _spark2.2 )Apache Spark version suffix (e.g., _spark2.2)
    • このサフィックスは dbml-local 、モデルの作成に使用された Apache Spark のバージョンと一致するバージョンを簡単に選択できるように追加されています。This suffix is added to make it easy to pick dbml-local versions that match the version of Apache Spark used to create the model.
    • たとえば、バージョンのライブラリの場合、次のことを 0.1.3_spark2.2 保証します。For example, for a library with version 0.1.3_spark2.2, we guarantee:
      • 以前の Spark マイナーバージョンと修正プログラムバージョン (Spark 2.0、2.1、2.2) からエクスポートされたモデルを読み込むことができます。You can load models exported from previous Spark minor and patch versions, that is: Spark 2.0, 2.1, 2.2.
      • サフィックスの Spark マイナーバージョンと同じ動作 (この場合は Spark 2.2)。Identical behavior as the suffix’s Spark minor version, in this case Spark 2.2.
      • Spark パッチバージョンにバグ修正の動作変更が含まれている場合は、リリースドキュメントでこの点に注意して dbml-local ください。If a Spark patch version includes a behavioral change for a bug fix, we will note this in the dbml-local release docs.