BTC$29880

ETH$3666

Шукати

Найкращі інструменти/платформи для оптимізації гіперпараметрів у 2023 році

Гіперпараметри – це параметри, які використовуються для регулювання поведінки алгоритму під час створення моделі. Ці фактори неможливо виявити під час звичайного навчання. Перш ніж навчати модель, їх потрібно визначити.

Процес вибору оптимальної комбінації гіперпараметрів, що забезпечує найбільшу продуктивність, відомий як оптимізація гіперпараметрів або налаштування в машинному навчанні.

Існує кілька методів автоматизованої оптимізації, кожен з яких має свої переваги та недоліки залежно від поставленого завдання.

Кількість інструментів, доступних для оптимізації гіперпараметрів, зростає разом зі складністю моделей глибокого навчання. Для оптимізації гіперпараметрів (HPO), як правило, існує два типи інструментів: інструменти з відкритим вихідним кодом і сервіси, що покладаються на ресурси хмарних обчислень.

Нижче наведено найкращі бібліотеки та інструменти для гіперпараметричної оптимізації моделей ML.

Bayesian Optimisation

Побудована на основі Байєсівського висновку та Гауссового процесу, програма Python під назвою BayesianOptimization використовує Байєсівську глобальну оптимізацію, щоб знайти найбільше значення невідомої функції за найменшу кількість ітерацій. Цей метод найкраще підходить для оптимізації високовартісних функцій, де важливим є досягнення правильного балансу між розвідкою та експлуатацією.

GPyOpt

Програмний пакет з відкритим вихідним кодом для Байєсівської оптимізації називається GPyOpt. Він побудований з використанням GPy, фреймворку Python для моделювання Гауссових процесів. Бібліотека дозволяє створювати wet-lab експерименти, автоматично налаштовувати моделі та методи машинного навчання тощо.

Hyperopt

Модуль Python під назвою Hyperopt використовується для послідовної та паралельної оптимізації на просторах пошуку, які можуть включати умовні, дискретні та дійсні виміри. Для користувачів Python, які хочуть провести гіперпараметричну оптимізацію (вибір моделі), він пропонує методи та інфраструктуру для розпаралелювання. Методи байєсівської оптимізації, які підтримує ця бібліотека, базуються на деревах регресії та Гауссових процесах.

Keras Tuner

Використовуючи модуль Keras Tuner, ми можемо знайти ідеальні гіперпараметри для моделей машинного навчання. До бібліотеки включено HyperResNet та HyperXception – дві готові програми для комп’ютерного зору, що можуть бути налаштовані.

Metric Optimisation Engine (MOE)

Механізм глобальної Байєсівської глобальної оптимізації з відкритим вихідним кодом для найкращого експериментального дизайну називається Metric Optimization Engine (MOE). Коли оцінка параметрів вимагає часу або грошей, MOE є корисним методом оптимізації параметрів систем. Він може допомогти у вирішенні різних питань, таких як максимізація кліків або коефіцієнта конверсії системи за допомогою A/B-тестування, налаштування параметрів дорогого пакетного завдання або методу прогнозування машинного навчання, проектування інженерної системи або визначення ідеальних параметрів для експерименту в реальному житті.

Optuna

Optuna – це програмний фреймворк для автоматизованої оптимізації гіперпараметрів, який чудово підходить для машинного навчання. Він пропонує користувацький API з імперативним, визначеним під час виконання дизайном, який дозволяє динамічно будувати пошукові простори для гіперпараметрів. Фреймворк надає багато бібліотек для незалежної від платформи архітектури, простого розпаралелювання та пошукових просторів Pythonic.

Ray Tune

Ray Tune – це фреймворк для гіперпараметричної оптимізації, що використовується для таких трудомістких завдань, як глибоке навчання та навчання з використанням підкріплення. Фреймворк має різноманітні зручні функції, включаючи створення пробних варіацій, пошук по сітці, випадковий пошук та умовні розподіли параметрів, а також масштабовані реалізації алгоритмів пошуку, включаючи навчання на основі популяції (PBT), правило зупинки за медіанним значенням та HyperBand.

SmartML

SmartML – це система автоматичного вибору та налаштування гіперпараметрів алгоритмів машинного навчання на основі метанавчання. SmartML негайно витягує свої мета-функції і шукає в базі знань найефективніший метод, щоб почати процес оптимізації для кожного нового набору даних. Використовуючи пропоновані REST API, його можна вбудувати в будь-яку мову програмування.

SigOpt

За допомогою SigOpt, гіперпараметричного інструменту оптимізації “чорної скриньки”, можна автоматизувати налаштування моделі, щоб прискорити створення нових моделей і підвищити їх ефективність при використанні у великомасштабному виробництві. Завдяки поєднанню Байєсівських та глобальних алгоритмів оптимізації, створених для дослідження та використання переваг будь-якого простору параметрів, SigOpt може підвищити ефективність обчислень.

Talos

Для Keras, TensorFlow і PyTorch існує фреймворк оптимізації гіперпараметрів під назвою Talos. Цей фреймворк модифікує стандартний процес Keras, повністю автоматизуючи оцінку моделі та налаштування гіперпараметрів. Серед особливостей Talos – оцінка узагальнення моделі, автоматична оптимізація гіперпараметрів, підтримка людино-машинної кооперативної оптимізації тощо.

Mlmachine

Модуль Python під назвою Mlmachine виконує кілька важливих кроків у життєвому циклі експерименту і дає змогу проводити експерименти з машинного навчання на базі ноутбука в акуратній і впорядкованій формі. Кілька оцінок можуть бути піддані гіперпараметричному налаштуванню з байєсівською оптимізацією за допомогою mlmachine, який також має інструменти для відображення продуктивності моделі та вибору параметрів.

SHERPA

Пакунок SHERPA від Python використовується для точного налаштування гіперпараметрів моделей машинного навчання. Завдяки набору методів оптимізації гіперпараметрів, паралельним обчисленням, адаптованим до потреб користувача, та інформаційній панелі для дослідницького вивчення результатів, він пропонує оптимізацію гіперпараметрів для дослідників машинного навчання.

Scikit-Optimize

Scikit-Optimize пропонує допомогу в “гіперпараметричній оптимізації”, точному налаштуванні параметрів алгоритмів машинного навчання (ML), доступних у пакеті scikit-learn.
Швидка та ефективна бібліотека для мінімізації (дуже) дорогих та зашумлених функцій чорної скриньки називається Skopt. Вона використовує декілька послідовних методів оптимізації на основі моделей. Skopt прагне бути простою і зручною для використання у різних ситуаціях.
NumPy, SciPy та Scikit-Learn – це основи, на яких базується бібліотека.

GPyOpt

Програма під назвою GPyOpt використовує Гаусові процеси для оптимізації (мінімізації) функцій чорної скриньки. Група машинного навчання Шеффілдського університету (SITraN) реалізувала її на практиці за допомогою Python. Основою GPyOpt є GPy, пакет Python для моделювання Гауссових процесів. Завдяки використанню розріджених моделей Гауссових процесів, він може керувати величезними масивами даних.

Microsoft’s NNI (Neural Network Intelligence)

Microsoft створила NNI, безкоштовний набір інструментів AutoML з відкритим вихідним кодом. Він використовується для автоматизації налаштування гіперпараметрів, стиснення моделей і пошуку нейронних архітектур. Щоб знайти ідеальну нейронну архітектуру та/або гіперпараметри в різних контекстах, включаючи локальні машини, віддалені сервери та хмару, інструмент надсилає та виконує пробні завдання, створені шляхом налаштування алгоритмів.

Наразі NNI від Microsoft підтримує такі бібліотеки, як Sckit-learn, XGBoost, CatBoost та LightGBM, а також фреймворки, як Pytorch, Tensorflow, Keras, Theano, Caffe2 тощо.

Google’s Vizer

Сервіс оптимізації “чорної скриньки” під назвою AI Platform Vizier використовується для точного налаштування гіперпараметрів у складних моделях машинного навчання. Налаштування гіперпараметрів не тільки покращує результати вашої моделі, але також може бути успішно використане для коригування параметрів функції.

Vizier встановлює результат і гіперпараметри, які на нього впливають, щоб створити конфігурацію дослідження. За допомогою попередньо налаштованих параметрів конфігурації створюється дослідження, та запускаються тести для отримання результатів.

AWS Sage Maker

Повністю керований сервіс машинного навчання – це AWS Sage Maker. За допомогою SageMaker можна легко та швидко створювати моделі машинного навчання. Після побудови ви можете негайно розгорнути їх у хостинговому середовищі, готовому до виробництва.

Крім того, SageMaker пропонує методи машинного навчання, розроблені для ефективної роботи в розподіленому середовищі з надзвичайно великими наборами даних. SageMaker підтримує власні алгоритми та фреймворки, а також надає адаптовані розподілені навчальні рішення для ваших конкретних робочих процесів.

Azure Machine Learning

Microsoft створила Azure, використовуючи свою постійно зростаючу глобальну мережу центрів обробки даних. Azure – це хмарна платформа, яка дозволяє користувачам створювати, запускати та керувати сервісами та додатками з будь-якого місця.

Повна платформа для науки про дані забезпечується Azure Machine Learning, спеціальною та оновленою службою. Повна в тому сенсі, що вона охоплює весь шлях науки про дані на одній платформі, від попередньої обробки даних через побудову моделей до розгортання та обслуговування моделей. Підтримується як досвід роботи з кодом, так і з низьким рівнем коду. Розгляньте можливість використання Azure Machine Learning Studio, якщо ви віддаєте перевагу написанню невеликої кількості коду або взагалі його відсутності.