scikit-learn, UMAP и HDBSCAN теперь работают на GPU — без единой строчки изменений в кодеКоманда cuML (NVIDIA) представила новый режим ускорения, который позволяет запускать код с scikit-learn, umap-learn и hdbscan на GPU без изменений. Просто импортируйте cuml.accel, и всё — можно работать с Jupyter, скриптами или Colab.Это тот же «zero-code-change» подход, что и с cudf.pandas: привычные API, ускорение под капотом. Сейчас это бета-версия: основное работает, ускорение впечатляющее, мелкие шероховатости — в процессе доработки. Как это работает: — Совместимые модели подменяются на GPU-эквиваленты автоматически — Если что-то не поддерживается — плавный откат на CPU — Включён CUDA Unified Memory: можно не думать о размере данных (если не очень большие) Пример:# train_rfc.py#%load_ext cuml.accel # Uncomment this if you're running in a Jupyter notebookfrom sklearn.datasets import make_classificationfrom sklearn.model_selection import train_test_splitfrom sklearn.ensemble import RandomForestClassifier# Generate a large datasetX, y = make_classification(n_samples=500000, n_features=100, random_state=0)X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)# Set n_jobs=-1 to take full advantage of CPU parallelism in native scikit-learn.# This parameter is ignored when running with cuml.accel since the code already# runs in parallel on the GPU!rf = RandomForestClassifier(n_estimators=100, random_state=0, n_jobs=-1)rf.fit(X_train, y_train)Запуск: python train.py — на CPU python -m cuml.accel train.py — на GPU В Jupyter: %load_ext cuml.accel Пример ускорения: Random Forest — ×25 Linear Regression — ×52 t-SNE — ×50 UMAP — ×60 HDBSCAN — ×175 Чем больше датасет — тем выше ускорение. Но не забывайте: при нехватке GPU-памяти может быть замедление из-за подкачки.🔗 Документация: https://clc.to/4VVaKgБиблиотека дата-сайентиста #свежак