Databricks Runtime 9.1 LTS pro Machine Learning
Společnost Databricks vydala tuto image a v září 2021 ji deklarovala jako dlouhodobou podporu (LTS).
Databricks Runtime 9.1 LTS for Machine Learning poskytuje připravené prostředí pro strojové učení a datové vědy založené na databricks Runtime 9.1 LTS. Databricks Runtime ML obsahuje mnoho oblíbených knihoven strojového učení, včetně TensorFlow, PyTorch a XGBoost. Databricks Runtime ML zahrnuje AutoML, nástroj pro automatické trénování kanálů strojového učení. Databricks Runtime ML také podporuje distribuované trénování hlubokého učení pomocí Horovodu.
Poznámka:
LTS znamená, že tato verze je dlouhodobě podporována. Viz životní cyklus verze LTS modulu Databricks Runtime.
Další informace, včetně pokynů k vytvoření clusteru Databricks Runtime ML, najdete v tématu AI a strojové učení v Databricks.
Tip
Poznámky k verzi pro verze Databricks Runtime, které dosáhly konce podpory (EoS), najdete v poznámkách k verzi Databricks Runtime pro ukončení podpory. Verze EoS Databricks Runtime byly vyřazeny a nemusí se aktualizovat.
Nové funkce a vylepšení
AutoML
Následující vylepšení jsou k dispozici ve službě Databricks Runtime 9.1 LTS ML a vyšší.
AutoML podporuje větší datové sady vzorkováním.
AutoML teď vzorkuje datové sady, které můžou překročit omezení paměti, což umožňuje běžet u větších datových sad s menším rizikem chyb nedostatku paměti. Podrobnosti najdete v tématu Vzorkování velkých datových sad.
Předzpracovává sloupce AutoML na základě sémantického typu.
AutoML rozpozná určité sloupce, které mají sémantický typ, který se liší od datového typu Spark nebo pandas. AutoML pak převede a použije kroky předběžného zpracování dat na základě zjištěného sémantického typu. AutoML konkrétně provádí následující převody:
- Řetězcové a celočíselné sloupce, které představují data data data nebo časového razítka, se převedou na typ časového razítka.
- Řetězcové sloupce, které představují číselná data, se převedou na číselný typ.
Vylepšení vygenerovaných poznámkových bloků AutoML
Kroky předběžného zpracování sloupců data a časového razítka jsou teď součástí databricks-automl-runtime
balíčku a zjednodušují se tím poznámkové bloky generované trénováním AutoML. databricks-automl-runtime
je součástí Databricks Runtime 9.1 LTS ML a vyšší a je k dispozici také v PyPI.
Úložiště funkcí
Následující vylepšení jsou k dispozici ve službě Databricks Runtime 9.1 LTS ML a vyšší.
- Když vytvoříte trénovací sadu, můžete teď nastavit
label=None
podporu výukových aplikací bez supervize. - Nyní můžete zadat více než jednu funkci v jednom
FeatureLookup
. - Teď můžete zadat vlastní cestu pro tabulky funkcí.
path
Použijte parametr vcreate_feature_table()
souboru . Výchozí hodnota je umístění databáze. - Nové podporované datové typy PySpark: ArrayType a ShortType.
Mlflow
Následující vylepšení jsou k dispozici od Mlflow verze 1.20.2, která je součástí Databricks Runtime 9.1 LTS ML.
- Automatické přihlašování pro scikit-learn teď zaznamenává metriky po trénování pokaždé, když se volá rozhraní API pro vyhodnocení scikit-learn, například
sklearn.metrics.mean_squared_error
, . - Automatické zalogování pro PySpark ML teď zaznamenává metriky po trénování při každém volání rozhraní API pro vyhodnocení modelu, například
Evaluator.evaluate()
. mlflow.*.log_model
amlflow.*.save_model
teď mátepip_requirements
aextra_pip_requirements
argumenty, abyste mohli přímo zadat požadavky pip modelu, které se mají protokolovat nebo ukládat.mlflow.*.log_model
amlflow.*.save_model
nyní automaticky odvodí požadavky pip modelu na protokolování nebo uložení na základě aktuálního softwarového prostředí.stdMetrics
Položky se teď zaznamenávají jako trénovací metriky během automatickéhologování PySpark CrossValidator.- Automatické protokolování PyTorch Lightning teď podporuje distribuované spouštění.
Automatickélogování Databricks (Public Preview)
Autologování Databricks Ve verzi Public Preview bylo rozšířeno do nových oblastí. Autologování Databricks je řešení bez kódu, které poskytuje automatické sledování experimentů pro trénovací relace strojového učení v Azure Databricks. Díky automatickému protokolování Datbricks, parametrům modelu, metrikám, souborům a informacím rodokmenu se automaticky zaznamenávají při trénování modelů z různých oblíbených knihoven strojového učení. Trénovací relace se zaznamenávají jako běhy sledování MLflow. Soubory modelů jsou také sledovány, takže je můžete snadno protokolovat do registru modelů MLflow a nasadit je pro bodování v reálném čase pomocí MLflow Model Serving.
Další informace o automatickémlogování Databricks najdete v tématu Automatickélogování Databricks.
Hlavní změny prostředí Databricks Runtime ML v Pythonu
Upgradované balíčky Pythonu
- automl 1.1.1 => 1.2.1
- feature_store 0.3.3 => 0.3.4.1
- svátky 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
Přidané balíčky Pythonu
- databricks-automl-runtime 0.1.0
Prostředí systému
Systémové prostředí v Databricks Runtime 9.1 LTS ML se liší od Databricks Runtime 9.1 LTS následujícím způsobem:
- DBUtils: Databricks Runtime ML nezahrnuje nástroj knihovny (dbutils.library) (starší verze).
Místo toho použijte
%pip
příkazy. Další informace najdete v tématu Knihovny Pythonu v rámci poznámkových bloků - Pro clustery GPU zahrnuje Databricks Runtime ML následující knihovny NVIDIA GPU:
- CUDA 11.0
- cuDNN 8.1.0.77
- NCCL 2.10.3
- TensorRT 7.2.2
Knihovny
Následující části obsahují seznam knihoven zahrnutých v Databricks Runtime 9.1 LTS ML, které se liší od knihoven zahrnutých v Databricks Runtime 9.1 LTS.
V této části:
- Knihovny nejvyšší úrovně
- Knihovny Pythonu
- Knihovny jazyka R
- Knihovny Java a Scala (cluster Scala 2.12)
Knihovny nejvyšší úrovně
Databricks Runtime 9.1 LTS ML obsahuje následující knihovny nejvyšší úrovně:
- AutoML
- GraphFrames
- Horovod a HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Knihovny Pythonu
Databricks Runtime 9.1 LTS ML používá Virtualenv ke správě balíčků Pythonu a obsahuje mnoho oblíbených balíčků ML.
Kromě balíčků uvedených v následujících částech obsahuje Databricks Runtime 9.1 LTS ML také následující balíčky:
- hyperopt 0.2.5.db2
- sparkdl 2.2.0_db3
- feature_store 0.3.4.1
- automl 1.2.1
Knihovny Pythonu v clusterech procesorů
Knihovna | Verze | Knihovna | Verze | Knihovna | Verze |
---|---|---|---|---|---|
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 |
šifra | 3.2.0 | bělit | 3.3.0 | boto3 | 1.16.7 |
botocore | 1.19.7 | Slabina | 1.3.2 | cachetools | 4.2.2 |
certifi | 2020.12.5 | cffi | 1.14.5 | chardet | 4.0.0 |
znít | 5,0 | kliknutí | 7.1.2 | cloudpickle | 1.6.0 |
cmdstanpy | 0.9.68 | configparser | 5.0.1 | convertdate | 2.3.2 |
kryptografie | 3.4.7 | cyklista | 0.10.0 | Cython | 0.29.23 |
databricks-automl-runtime | 0.1.0 | Databricks-cli | 0.14.3 | dbus-python | 1.2.16 |
dekoratér | 5.0.6 | defusedxml | 0.7.1 | kopr | 0.3.2 |
diskcache | 5.2.1 | distlib | 0.3.2 | informace o distribuci | 0.23ubuntu1 |
vstupní body | 0.3 | ephem | 4.0.0.2 | přehled omezujících vlastností | 1.0.0 |
filelock | 3.0.12 | Flask | 1.1.2 | flatbuffers | 1.12 |
fsspec | 0.9.0 | budoucnost | 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 |
prázdniny | 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 | jehodangerous | 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-widgety | 1.0.0 | keras | 2.6.0 | Předběžné zpracování Kerasu | 1.1.2 |
verizonsolver | 1.3.1 | Koaly | 1.8.1 | korejský lunární kalendář | 0.2.1 |
lightgbm | 3.1.1 | llvmlite | 0.37.0 | LunárníCalendar | 0.0.9 |
Druh žraloka | 1.1.3 | Markdown | 3.3.3 | MarkupSafe | 1.1.1 |
matplotlib | 3.4.2 | missingno | 0.5.0 | špatně zamyšlení | 0.8.4 |
mleap | 0.17.0 | mlflow-hubená | 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 |
poznámkový blok | 6.3.0 | numba | 0.54.0 | numpy | 1.19.2 |
oauthlib | 3.1.0 | opt-einsum | 3.3.0 | balení | 20.9 |
pandas | 1.2.4 | profilace pandas | 3.0.0 | pandocfilters | 1.4.3 |
paramiko | 2.7.2 | parso | 0.7.0 | bábovka | 0.5.1 |
petastorm | 0.11.2 | pexpect | 4.8.0 | Phik | 0.12.0 |
pickleshare | 0.7.5 | Polštář | 8.2.0 | jádro | 21.0.1 |
plotly | 5.1.0 | prometheus-client | 0.10.1 | prompt-toolkit | 3.0.17 |
prorok | 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 | pyrsistent | 0.17.3 | pystan | 2.19.1.1 |
python-apt | 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 | žádosti | 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 |
Šest | 1.15.0 | kráječ | 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 | sestavit v tabulku | 0.8.7 | tangled-up-in-unicode | 0.1.0 |
houževnatost | 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 | pochodeň | 1.9.0+cpu | torchvision | 0.10.0+cpu |
tornádo | 6.1 | tqdm | 4.59.0 | vlastnosti | 5.0.5 |
typing-extensions | 3.7.4.3 | ujson | 4.0.2 | bezobslužné upgrady | 0,1 |
urllib3 | 1.25.11 | virtualenv | 20.4.1 | vize | 0.7.1 |
wcwidth | 0.2.5 | webencodings | 0.5.1 | websocket-client | 0.57.0 |
Werkzeug | 1.0.1 | kolo | 0.36.2 | widgetsnbextension | 3.5.1 |
wrapt | 1.12.1 | xgboost | 1.4.2 | zipp | 3.4.1 |
Knihovny Pythonu v clusterech GPU
Knihovna | Verze | Knihovna | Verze | Knihovna | Verze |
---|---|---|---|---|---|
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 |
šifra | 3.2.0 | bělit | 3.3.0 | boto3 | 1.16.7 |
botocore | 1.19.7 | Slabina | 1.3.2 | cachetools | 4.2.2 |
certifi | 2020.12.5 | cffi | 1.14.5 | chardet | 4.0.0 |
znít | 5,0 | kliknutí | 7.1.2 | cloudpickle | 1.6.0 |
cmdstanpy | 0.9.68 | configparser | 5.0.1 | convertdate | 2.3.2 |
kryptografie | 3.4.7 | cyklista | 0.10.0 | Cython | 0.29.23 |
databricks-automl-runtime | 0.1.0 | Databricks-cli | 0.14.3 | dbus-python | 1.2.16 |
dekoratér | 5.0.6 | defusedxml | 0.7.1 | kopr | 0.3.2 |
diskcache | 5.2.1 | distlib | 0.3.2 | informace o distribuci | 0.23ubuntu1 |
vstupní body | 0.3 | ephem | 4.0.0.2 | přehled omezujících vlastností | 1.0.0 |
filelock | 3.0.12 | Flask | 1.1.2 | flatbuffers | 1.12 |
fsspec | 0.9.0 | budoucnost | 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 |
prázdniny | 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 | jehodangerous | 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-widgety | 1.0.0 | keras | 2.6.0 | Předběžné zpracování Kerasu | 1.1.2 |
verizonsolver | 1.3.1 | Koaly | 1.8.1 | korejský lunární kalendář | 0.2.1 |
lightgbm | 3.1.1 | llvmlite | 0.37.0 | LunárníCalendar | 0.0.9 |
Druh žraloka | 1.1.3 | Markdown | 3.3.3 | MarkupSafe | 1.1.1 |
matplotlib | 3.4.2 | missingno | 0.5.0 | špatně zamyšlení | 0.8.4 |
mleap | 0.17.0 | mlflow-hubená | 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 |
poznámkový blok | 6.3.0 | numba | 0.54.0 | numpy | 1.19.2 |
oauthlib | 3.1.0 | opt-einsum | 3.3.0 | balení | 20.9 |
pandas | 1.2.4 | profilace pandas | 3.0.0 | pandocfilters | 1.4.3 |
paramiko | 2.7.2 | parso | 0.7.0 | bábovka | 0.5.1 |
petastorm | 0.11.2 | pexpect | 4.8.0 | Phik | 0.12.0 |
pickleshare | 0.7.5 | Polštář | 8.2.0 | jádro | 21.0.1 |
plotly | 5.1.0 | prompt-toolkit | 3.0.17 | prorok | 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 |
pyrsistent | 0.17.3 | pystan | 2.19.1.1 | python-apt | 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 | žádosti | 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 | Šest | 1.15.0 |
kráječ | 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 |
sestavit v tabulku | 0.8.7 | tangled-up-in-unicode | 0.1.0 | houževnatost | 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 |
pochodeň | 1.9.0+cu111 | torchvision | 0.10.0+cu111 | tornádo | 6.1 |
tqdm | 4.59.0 | vlastnosti | 5.0.5 | typing-extensions | 3.7.4.3 |
ujson | 4.0.2 | bezobslužné upgrady | 0,1 | urllib3 | 1.25.11 |
virtualenv | 20.4.1 | vize | 0.7.1 | wcwidth | 0.2.5 |
webencodings | 0.5.1 | websocket-client | 0.57.0 | Werkzeug | 1.0.1 |
kolo | 0.36.2 | widgetsnbextension | 3.5.1 | wrapt | 1.12.1 |
xgboost | 1.4.2 | zipp | 3.4.1 |
Balíčky Spark obsahující moduly Pythonu
Balíček Spark | Modul Pythonu | Verze |
---|---|---|
graphframes | graphframes | 0.8.1-db3-spark3.1 |
Knihovny jazyka R
Knihovny jazyka R jsou stejné jako knihovny R v Databricks Runtime 9.1 LTS.
Knihovny Java a Scala (cluster Scala 2.12)
Kromě knihoven Java a Scala v Databricks Runtime 9.1 LTS obsahuje Databricks Runtime 9.1 LTS ML následující žádosti o přijetí změn:
Clustery procesoru
ID skupiny | ID artefaktu | Verze |
---|---|---|
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 |
Clustery GPU
ID skupiny | ID artefaktu | Verze |
---|---|---|
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 |