Databricks Runtime 9.1 LTS per Machine Learning
Databricks ha rilasciato questa immagine e l'ha dichiarata Long Term Support (LTS) nel settembre 2021.
Databricks Runtime 9.1 LTS per Machine Learning offre un ambiente pronto per apprendimento automatico e data science basato su Databricks Runtime 9.1 LTS. Databricks Runtime ML contiene molte di queste popolari librerie per l’apprendimento automatico, tra cui TensorFlow, PyTorch e XGBoost. Databricks Runtime ML include AutoML, uno strumento per eseguire automaticamente il training delle pipeline di Machine Learning. Databricks Runtime ML supporta inoltre il training di Deep Learning distribuito tramite Horovod.
Nota
LTS indica che questa versione è supportata a lungo termine. Vedere Ciclo di vita della versione LTS di Databricks Runtime.
Per altre informazioni, incluse le istruzioni per la creazione di un cluster Databricks Runtime ML, vedere IA e Machine Learning in Azure Databricks.
Suggerimento
Per visualizzare le note sulla versione per le versioni di Databricks Runtime che hanno raggiunto la fine del supporto (EoS), vedere Note sulla versione della fine del supporto di Databricks Runtime. Le versioni EoS di Databricks Runtime sono state ritirate e potrebbero non essere aggiornate.
Miglioramenti e nuove funzionalità
AutoML
I miglioramenti seguenti sono disponibili in Databricks Runtime 9.1 LTS ML e versioni successive.
AutoML supporta set di dati di dimensioni maggiori eseguendo il campionamento
AutoML ora campiona set di dati che potrebbero superare i vincoli di memoria, consentendo l'esecuzione su set di dati di dimensioni maggiori con un minor rischio di errori di memoria insufficiente. Per informazioni dettagliate, vedere Campionamento di set di dati di grandi dimensioni.
AutoML pre-elabora le colonne in base al tipo semantico
AutoML rileva determinate colonne con un tipo semantico diverso dal tipo di dati Spark o pandas. AutoML converte e applica quindi i passaggi di pre-elaborazione dei dati in base al tipo semantico rilevato. In particolare, AutoML esegue le conversioni seguenti:
- Le colonne stringa e integer che rappresentano i dati di data o timestamp vengono convertite in un tipo timestamp.
- Le colonne stringa che rappresentano dati numerici vengono convertite in un tipo numerico.
Miglioramenti ai notebook generati da AutoML
I passaggi di pre-elaborazione per le colonne di data e timestamp sono ora incorporati nel pacchetto databricks-automl-runtime
, semplificando i notebook generati dal training AutoML. databricks-automl-runtime
è incluso in Databricks Runtime 9.1 LTS ML e versioni successive ed è disponibile anche in PyPI.
Archivio delle funzionalità
I miglioramenti seguenti sono disponibili in Databricks Runtime 9.1 LTS ML e versioni successive.
- Quando si crea un oggetto TrainingSet, è ora possibile impostare
label=None
per supportare applicazioni di apprendimento non supervisionate. - È ora possibile specificare più di una funzionalità in un singolo oggetto
FeatureLookup
. - È ora possibile specificare un percorso personalizzato per le tabelle delle funzionalità. Usare il parametro
path
increate_feature_table()
. Il valore predefinito è il percorso del database. - Nuovi tipi di dati PySpark supportati: ArrayType e ShortType.
MLflow
I miglioramenti seguenti sono disponibili a partire da Mlflow versione 1.20.2, inclusa in Databricks Runtime 9.1 LTS ML.
- L'assegnazione automatica per scikit-learn registra ora le metriche post-training ogni volta che viene chiamata un'API di valutazione scikit-learn, ad esempio
sklearn.metrics.mean_squared_error
. - L'assegnazione automatica per PySpark ML registra ora le metriche post-training ogni volta che viene chiamata un'API di valutazione del modello, ad esempio
Evaluator.evaluate()
. mlflow.*.log_model
emlflow.*.save_model
ora hannopip_requirements
argomenti eextra_pip_requirements
in modo che sia possibile specificare direttamente i requisiti pip del modello per registrare o salvare.mlflow.*.log_model
emlflow.*.save_model
ora deducono automaticamente i requisiti pip del modello per registrare o salvare in base all'ambiente software corrente.- Le voci
stdMetrics
vengono ora registrate come metriche di training durante l'assegnazione automatica di CrossValidator di PySpark. - PyTorch Lightning supporta ora l'esecuzione distribuita.
Assegnazione automatica di Databricks (anteprima pubblica)
Databricks Autologging Public Preview è stato espanso in nuove aree. Databricks Autologging è una soluzione senza codice che fornisce il rilevamento automatico degli esperimenti per le sessioni di training di Machine Learning in Azure Databricks. Con l'assegnazione automatica di Databricks, i parametri del modello, le metriche, i file e le informazioni di derivazione vengono acquisiti automaticamente quando si esegue il training dei modelli da un'ampia gamma di librerie di Machine Learning più diffuse. Le sessioni di training vengono registrate come esecuzioni di rilevamento MLflow. I file di modello vengono inoltre rilevati in modo da poterli registrare facilmente nel Registro modelli MLflow e implementarli per l'assegnazione dei punteggi in tempo reale con MLflow Model Serving.
Per altre informazioni sull'assegnazione automatica di Databricks, vedere Databricks Autologging.For more information about Databricks Autologging, see Databricks Autologging.
Modifiche principali all'ambiente ML Python di Databricks Runtime
Pacchetti Python aggiornati
- automl 1.1.1 => 1.2.1
- feature_store 0.3.3 => 0.3.4.1
- holidays 0.10.5.2 => 0.11.2
- keras 2.5.0 => 2.6.0
- mlflow 1.19.0 => 1.20.2
- petastorm 0.11.1 => 0.11.2
- plotly 4.14.3 => 5.1.0
- spark-tensorflow-distributor 0.1.0 => 1.0.0
- sparkdl 2.2.0_db1 => 2.2.0_db3
- tensorboard 2.5.0 => 2.6.0
- tensorflow 2.5.0 => 2.6.0
Pacchetti Python aggiunti
- databricks-automl-runtime 0.1.0
Ambiente di sistema
L'ambiente di sistema in Databricks Runtime 9.1 LTS ML differisce da Databricks Runtime 9.1 LTS come indicato di seguito:
- DBUtils: Databricks Runtime ML non include l'utilità libreria (dbutils.library) (legacy).
Usare
%pip
invece i comandi. Vedere Librerie Python con ambito notebook. - Per i cluster GPU, Databricks Runtime ML include le librerie GPU NVIDIA seguenti:
- CUDA 11.0
- cuDNN 8.1.0.77
- NCCL 2.10.3
- TensorRT 7.2.2
Librerie
Le sezioni seguenti elencano le librerie incluse in Databricks Runtime 9.1 LTS ML che differiscono da quelle incluse in Databricks Runtime 9.1 LTS.
Contenuto della sezione:
Librerie di livello superiore
Databricks Runtime 9.1 LTS ML include le librerie di livello superiore seguenti:
- AutoML
- GraphFrames
- Horovod e HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Librerie Python
Databricks Runtime 9.1 LTS ML usa Virtualenv per la gestione dei pacchetti Python e include molti dei pacchetti ML più diffusi.
Oltre ai pacchetti specificati nelle sezioni seguenti, Databricks Runtime 9.1 LTS ML include anche i pacchetti seguenti:
- hyperopt 0.2.5.db2
- sparkdl 2.2.0_db3
- feature_store 0.3.4.1
- automl 1.2.1
Librerie Python nei cluster CPU
Library | Versione | Library | Versione | Library | Versione |
---|---|---|---|---|---|
absl-py | 0.11.0 | Antergos Linux | 2015.10 (ISO-Rolling) | appdirs | 1.4.4 |
argon2-cffi | 20.1.0 | astor | 0.8.1 | astunparse | 1.6.3 |
async-generator | 1.10 | attrs | 20.3.0 | backcall | 0.2.0 |
bcrypt | 3.2.0 | bleach | 3.3.0 | boto3 | 1.16.7 |
botocore | 1.19.7 | Bottleneck | 1.3.2 | cachetools | 4.2.2 |
certifi | 2020.12.5 | cffi | 1.14.5 | chardet | 4.0.0 |
Clang | 5.0 | click | 7.1.2 | cloudpickle | 1.6.0 |
cmdstanpy | 0.9.68 | configparser | 5.0.1 | convertdate | 2.3.2 |
cryptography | 3.4.7 | cycler | 0.10.0 | Cython | 0.29.23 |
databricks-automl-runtime | 0.1.0 | databricks-cli | 0.14.3 | dbus-python | 1.2.16 |
decorator | 5.0.6 | defusedxml | 0.7.1 | dill | 0.3.2 |
diskcache | 5.2.1 | distlib | 0.3.2 | distro-info | 0.23ubuntu1 |
entrypoints | 0.3 | ephem | 4.0.0.2 | facet-overview | 1.0.0 |
filelock | 3.0.12 | Flask | 1.1.2 | flatbuffers | 1.12 |
fsspec | 0.9.0 | future | 0.18.2 | gast | 0.4.0 |
gitdb | 4.0.7 | gitpython | 3.1.12 | google-auth | 1.22.1 |
google-auth-oauthlib | 0.4.2 | google-pasta | 0.2.0 | grpcio | 1.39.0 |
gunicorn | 20.0.4 | h5py | 3.1.0 | hijri-converter | 2.2.1 |
holidays | 0.11.2 | horovod | 0.22.1 | htmlmin | 0.1.12 |
idna | 2.10 | ImageHash | 4.2.1 | importlib-metadata | 3.10.0 |
ipykernel | 5.3.4 | ipython | 7.22.0 | ipython-genutils | 0.2.0 |
ipywidgets | 7.6.3 | isodate | 0.6.0 | itsdangerous | 1.1.0 |
jedi | 0.17.2 | Jinja2 | 2.11.3 | jmespath | 0.10.0 |
joblib | 1.0.1 | joblibspark | 0.3.0 | jsonschema | 3.2.0 |
jupyter-client | 6.1.12 | jupyter-core | 4.7.1 | jupyterlab-pygments | 0.1.2 |
jupyterlab-widgets | 1.0.0 | keras | 2.6.0 | keras-preprocessing | 1.1.2 |
kiwisolver | 1.3.1 | koalas | 1.8.1 | korean-lunar-calendar | 0.2.1 |
lightgbm | 3.1.1 | llvmlite | 0.37.0 | LunarCalendar | 0.0.9 |
Mako | 1.1.3 | Markdown | 3.3.3 | MarkupSafe | 1.1.1 |
matplotlib | 3.4.2 | missingno | 0.5.0 | mistune | 0.8.4 |
mleap | 0.17.0 | mlflow-skinny | 1.20.2 | multimethod | 1.4 |
nbclient | 0.5.3 | nbconvert | 6.0.7 | nbformat | 5.1.3 |
nest-asyncio | 1.5.1 | networkx | 2.5 | nltk | 3.6.1 |
notebook | 6.3.0 | numba | 0.54.0 | numpy | 1.19.2 |
oauthlib | 3.1.0 | opt-einsum | 3.3.0 | packaging | 20.9 |
pandas | 1.2.4 | pandas-profiling | 3.0.0 | pandocfilters | 1.4.3 |
paramiko | 2.7.2 | parso | 0.7.0 | patsy | 0.5.1 |
petastorm | 0.11.2 | pexpect | 4.8.0 | phik | 0.12.0 |
pickleshare | 0.7.5 | Pillow | 8.2.0 | pip | 21.0.1 |
plotly | 5.1.0 | prometheus-client | 0.10.1 | prompt-toolkit | 3.0.17 |
prophet | 1.0.1 | protobuf | 3.17.2 | psutil | 5.8.0 |
Psycopg2 | 2.8.5 | ptyprocess | 0.7.0 | pyarrow | 4.0.0 |
pyasn1 | 0.4.8 | pyasn1-modules | 0.2.8 | pycparser | 2.20 |
pydantic | 1.8.2 | Pygments | 2.8.1 | pygobject | 3.36.0 |
PyMeeus | 0.5.11 | PyNaCl | 1.3.0 | pyodbc | 4.0.30 |
pyparsing | 2.4.7 | pirsistente | 0.17.3 | pystan | 2.19.1.1 |
API Python | 2.0.0+ubuntu0.20.4.6 | python-dateutil | 2.8.1 | python-editor | 1.0.4 |
pytz | 2020.5 | PyWavelets | 1.1.1 | PyYAML | 5.4.1 |
pyzmq | 20.0.0 | regex | 2021.4.4 | requests | 2.25.1 |
requests-oauthlib | 1.3.0 | requests-unixsocket | 0.2.0 | rsa | 4.7.2 |
s3transfer | 0.3.7 | scikit-learn | 0.24.1 | scipy | 1.6.2 |
seaborn | 0.11.1 | Send2Trash | 1.5.0 | setuptools | 52.0.0 |
setuptools-git | 1.2 | shap | 0.39.0 | simplejson | 3.17.2 |
six | 1.15.0 | slicer | 0.0.7 | smmap | 3.0.5 |
spark-tensorflow-distributor | 1.0.0 | sqlparse | 0.4.1 | ssh-import-id | 5.10 |
statsmodels | 0.12.2 | tabulate | 0.8.7 | tangled-up-in-unicode | 0.1.0 |
tenacity | 6.2.0 | tensorboard | 2.6.0 | tensorboard-data-server | 0.6.1 |
tensorboard-plugin-wit | 1.8.0 | tensorflow-cpu | 2.6.0 | tensorflow-estimator | 2.6.0 |
termcolor | 1.1.0 | terminado | 0.9.4 | testpath | 0.4.4 |
threadpoolctl | 2.1.0 | torch | 1.9.0+cpu | torchvision | 0.10.0+cpu |
tornado | 6.1 | tqdm | 4.59.0 | traitlets | 5.0.5 |
typing-extensions | 3.7.4.3 | ujson | 4.0.2 | aggiornamenti automatici | 0.1 |
urllib3 | 1.25.11 | virtualenv | 20.4.1 | visions | 0.7.1 |
wcwidth | 0.2.5 | webencodings | 0.5.1 | websocket-client | 0.57.0 |
Werkzeug | 1.0.1 | wheel | 0.36.2 | widgetsnbextension | 3.5.1 |
wrapt | 1.12.1 | xgboost | 1.4.2 | zipp | 3.4.1 |
Librerie Python nei cluster GPU
Library | Versione | Library | Versione | Library | Versione |
---|---|---|---|---|---|
absl-py | 0.11.0 | Antergos Linux | 2015.10 (ISO-Rolling) | appdirs | 1.4.4 |
argon2-cffi | 20.1.0 | astor | 0.8.1 | astunparse | 1.6.3 |
async-generator | 1.10 | attrs | 20.3.0 | backcall | 0.2.0 |
bcrypt | 3.2.0 | bleach | 3.3.0 | boto3 | 1.16.7 |
botocore | 1.19.7 | Bottleneck | 1.3.2 | cachetools | 4.2.2 |
certifi | 2020.12.5 | cffi | 1.14.5 | chardet | 4.0.0 |
Clang | 5.0 | click | 7.1.2 | cloudpickle | 1.6.0 |
cmdstanpy | 0.9.68 | configparser | 5.0.1 | convertdate | 2.3.2 |
cryptography | 3.4.7 | cycler | 0.10.0 | Cython | 0.29.23 |
databricks-automl-runtime | 0.1.0 | databricks-cli | 0.14.3 | dbus-python | 1.2.16 |
decorator | 5.0.6 | defusedxml | 0.7.1 | dill | 0.3.2 |
diskcache | 5.2.1 | distlib | 0.3.2 | distro-info | 0.23ubuntu1 |
entrypoints | 0.3 | ephem | 4.0.0.2 | facet-overview | 1.0.0 |
filelock | 3.0.12 | Flask | 1.1.2 | flatbuffers | 1.12 |
fsspec | 0.9.0 | future | 0.18.2 | gast | 0.4.0 |
gitdb | 4.0.7 | gitpython | 3.1.12 | google-auth | 1.22.1 |
google-auth-oauthlib | 0.4.2 | google-pasta | 0.2.0 | grpcio | 1.39.0 |
gunicorn | 20.0.4 | h5py | 3.1.0 | hijri-converter | 2.2.1 |
holidays | 0.11.2 | horovod | 0.22.1 | htmlmin | 0.1.12 |
idna | 2.10 | ImageHash | 4.2.1 | importlib-metadata | 3.10.0 |
ipykernel | 5.3.4 | ipython | 7.22.0 | ipython-genutils | 0.2.0 |
ipywidgets | 7.6.3 | isodate | 0.6.0 | itsdangerous | 1.1.0 |
jedi | 0.17.2 | Jinja2 | 2.11.3 | jmespath | 0.10.0 |
joblib | 1.0.1 | joblibspark | 0.3.0 | jsonschema | 3.2.0 |
jupyter-client | 6.1.12 | jupyter-core | 4.7.1 | jupyterlab-pygments | 0.1.2 |
jupyterlab-widgets | 1.0.0 | keras | 2.6.0 | keras-preprocessing | 1.1.2 |
kiwisolver | 1.3.1 | koalas | 1.8.1 | korean-lunar-calendar | 0.2.1 |
lightgbm | 3.1.1 | llvmlite | 0.37.0 | LunarCalendar | 0.0.9 |
Mako | 1.1.3 | Markdown | 3.3.3 | MarkupSafe | 1.1.1 |
matplotlib | 3.4.2 | missingno | 0.5.0 | mistune | 0.8.4 |
mleap | 0.17.0 | mlflow-skinny | 1.20.2 | multimethod | 1.4 |
nbclient | 0.5.3 | nbconvert | 6.0.7 | nbformat | 5.1.3 |
nest-asyncio | 1.5.1 | networkx | 2.5 | nltk | 3.6.1 |
notebook | 6.3.0 | numba | 0.54.0 | numpy | 1.19.2 |
oauthlib | 3.1.0 | opt-einsum | 3.3.0 | packaging | 20.9 |
pandas | 1.2.4 | pandas-profiling | 3.0.0 | pandocfilters | 1.4.3 |
paramiko | 2.7.2 | parso | 0.7.0 | patsy | 0.5.1 |
petastorm | 0.11.2 | pexpect | 4.8.0 | phik | 0.12.0 |
pickleshare | 0.7.5 | Pillow | 8.2.0 | pip | 21.0.1 |
plotly | 5.1.0 | prompt-toolkit | 3.0.17 | prophet | 1.0.1 |
protobuf | 3.17.2 | psutil | 5.8.0 | Psycopg2 | 2.8.5 |
ptyprocess | 0.7.0 | pyarrow | 4.0.0 | pyasn1 | 0.4.8 |
pyasn1-modules | 0.2.8 | pycparser | 2.20 | pydantic | 1.8.2 |
Pygments | 2.8.1 | pygobject | 3.36.0 | PyMeeus | 0.5.11 |
PyNaCl | 1.3.0 | pyodbc | 4.0.30 | pyparsing | 2.4.7 |
pirsistente | 0.17.3 | pystan | 2.19.1.1 | API Python | 2.0.0+ubuntu0.20.4.6 |
python-dateutil | 2.8.1 | python-editor | 1.0.4 | pytz | 2020.5 |
PyWavelets | 1.1.1 | PyYAML | 5.4.1 | pyzmq | 20.0.0 |
regex | 2021.4.4 | requests | 2.25.1 | requests-oauthlib | 1.3.0 |
requests-unixsocket | 0.2.0 | rsa | 4.7.2 | s3transfer | 0.3.7 |
scikit-learn | 0.24.1 | scipy | 1.6.2 | seaborn | 0.11.1 |
Send2Trash | 1.5.0 | setuptools | 52.0.0 | setuptools-git | 1.2 |
shap | 0.39.0 | simplejson | 3.17.2 | six | 1.15.0 |
slicer | 0.0.7 | smmap | 3.0.5 | spark-tensorflow-distributor | 1.0.0 |
sqlparse | 0.4.1 | ssh-import-id | 5.10 | statsmodels | 0.12.2 |
tabulate | 0.8.7 | tangled-up-in-unicode | 0.1.0 | tenacity | 6.2.0 |
tensorboard | 2.6.0 | tensorboard-data-server | 0.6.1 | tensorboard-plugin-wit | 1.8.0 |
tensorflow | 2.6.0 | tensorflow-estimator | 2.6.0 | termcolor | 1.1.0 |
terminado | 0.9.4 | testpath | 0.4.4 | threadpoolctl | 2.1.0 |
torch | 1.9.0+cu111 | torchvision | 0.10.0+cu111 | tornado | 6.1 |
tqdm | 4.59.0 | traitlets | 5.0.5 | typing-extensions | 3.7.4.3 |
ujson | 4.0.2 | aggiornamenti automatici | 0.1 | urllib3 | 1.25.11 |
virtualenv | 20.4.1 | visions | 0.7.1 | wcwidth | 0.2.5 |
webencodings | 0.5.1 | websocket-client | 0.57.0 | Werkzeug | 1.0.1 |
wheel | 0.36.2 | widgetsnbextension | 3.5.1 | wrapt | 1.12.1 |
xgboost | 1.4.2 | zipp | 3.4.1 |
Pacchetti Spark contenenti moduli Python
Pacchetti Spark | Modulo Python | Versione |
---|---|---|
GraphFrames | graphframes | 0.8.1-db3-spark3.1 |
Librerie R
Le librerie R sono identiche alle librerie R in Databricks Runtime 9.1 LTS.
Librerie Java e Scala (cluster Scala 2.12)
Oltre alle librerie Java e Scala in Databricks Runtime 9.1 LTS, Databricks Runtime 9.1 LTS ML contiene i file JAR seguenti:
Cluster CPU
ID gruppo | ID artefatto | Versione |
---|---|---|
com.typesafe.akka | akka-actor_2.12 | 2.5.23 |
ml.combust.mleap | mleap-databricks-runtime_2.12 | 0.17.0-4882dc3 |
ml.dmlc | xgboost4j-spark_2.12 | 1.4.1 |
ml.dmlc | xgboost4j_2.12 | 1.4.1 |
org.graphframes | graphframes_2.12 | 0.8.1-db2-spark3.1 |
org.mlflow | mlflow-client | 1.20.2 |
org.mlflow | mlflow-spark | 1.20.2 |
org.scala-lang.modules | scala-java8-compat_2.12 | 0.8.0 |
org.tensorflow | spark-tensorflow-connector_2.12 | 1.15.0 |
Cluster GPU
ID gruppo | ID artefatto | Versione |
---|---|---|
com.typesafe.akka | akka-actor_2.12 | 2.5.23 |
ml.combust.mleap | mleap-databricks-runtime_2.12 | 0.17.0-4882dc3 |
ml.dmlc | xgboost4j-gpu_2.12 | 1.4.1 |
ml.dmlc | xgboost4j-spark-gpu_2.12 | 1.4.1 |
org.graphframes | graphframes_2.12 | 0.8.1-db2-spark3.1 |
org.mlflow | mlflow-client | 1.20.2 |
org.mlflow | mlflow-spark | 1.20.2 |
org.scala-lang.modules | scala-java8-compat_2.12 | 0.8.0 |
org.tensorflow | spark-tensorflow-connector_2.12 | 1.15.0 |