Дані вчені і спеціалісти з машинного навчання мають справу зі значною кількістю даних різних типів у типовому проекті науки про дані. Розроблено численні моделі з різними конфігураціями та функціями, а також кілька ітерацій налаштування параметрів для досягнення оптимальної продуктивності.
У такому сценарії всі модифікації даних і коригування процесу побудови моделі необхідно відстежувати та вимірювати, щоб визначити, що спрацювало, а що ні. Також важливо мати можливість повернутися до попереднього видання та переглянути попередні результати.
Контроль версій даних (DVC), який допомагає керувати даними, базовою моделлю та виконувати відтворювані результати, є однією з таких технологій, яка дозволяє нам контролювати все це.
У цій публікації ми уважно розглянемо контроль версій даних та найкращі інструменти для використання. Давайте почнемо.
Що таке контроль версій даних?
Для всіх виробничих систем необхідна версія версій. Єдина точка доступу до найновіших даних. Будь-який ресурс, який часто змінюється, особливо декількома користувачами одночасно, потребує створення журналу аудиту для відстеження всіх змін.
Система контролю версій відповідає за те, щоб усі в команді були на одній сторінці. Це гарантує, що всі в команді працюють над останньою версією файлу і, що ще важливіше, що всі разом працюють над одним проектом одночасно.
Якщо у вас є відповідне обладнання, ви можете зробити це з мінімальними зусиллями!
Якщо ви використовуєте надійну стратегію керування версіями даних, ви матимете послідовні набори даних і ретельний архів всіх ваших досліджень. Інструменти керування версіями даних мають вирішальне значення для вашого робочого процесу, якщо ви дбаєте про відтворюваність, простежуваність та історію моделі ML.
Вони допомагають отримати версію елемента, як-от хеш набору даних або моделі, які потім можна використовувати для ідентифікації та порівняння. Ця версія даних часто вводиться у ваше рішення для керування метаданими, щоб гарантувати, що навчання моделі є версійним і повторюваним.
Найкращі інструменти контролю версій даних
Тепер настав час подивитися на найкращі доступні рішення для контролю версій даних, які ви можете використовувати для відстеження кожної частини вашого коду.
1. git-lfs
Проект Git LFS безкоштовний для використання. У Git великі файли, такі як зразки аудіо, відео, бази даних і фотографії, замінюються текстовими вказівниками, а вміст файлу зберігається на віддаленому сервері, наприклад GitHub.com або GitHub Enterprise.
Це дозволяє вам використовувати Git для версій величезних файлів — розміром до кількох ГБ — розміщувати більше у ваших сховищах Git, використовуючи зовнішні сховища, а також швидше клонувати та отримувати великі сховища файлів. Коли справа доходить до управління даними, це досить легке рішення. Для роботи з Git вам не потрібні додаткові команди, системи зберігання чи набори інструментів.
Це обмежує кількість інформації, яку ви завантажуєте. Це означає, що клонування та отримання великих файлів із сховищ буде швидшим. Вказівники виготовлені з більш легкого матеріалу і вказують на LFS.
В результаті, коли ви вставляєте своє репо в основне сховище, воно швидко оновлюється і займає менше місця.
профі
- Легко інтегрується в робочі процеси розробки більшості підприємств.
- Немає необхідності обробляти додаткові права, оскільки він використовує ті самі дозволи, що й репозиторій Git.
мінуси
- Git LFS вимагає використання виділених серверів для зберігання ваших даних. Як наслідок, ваші групи з наукових даних будуть заблоковані, а ваше інженерне навантаження зросте.
- Дуже спеціалізований і може вимагати використання різноманітних інструментів для наступних етапів робочого процесу науки про дані.
Ціни
Він безкоштовний для всіх.
2. LakeFS
LakeFS — це рішення для керування версіями даних з відкритим вихідним кодом, яке зберігає дані в S3 або GCS і має парадигму розгалуження та фіксації, подібну до Git, яка масштабується до петабайт.
Ця стратегія розгалуження робить ваше озеро даних сумісним із ACID, дозволяючи змінювати окремі гілки, які можна створювати, об’єднувати та відкочувати атомарно й миттєво.
LakeFS дозволяє командам створювати повторювані, атомарні та версійні дії озера даних. Це новачок на сцені, але це сила, з якою потрібно рахуватися.
Він використовує Git-подібний підхід до розгалуження та керування версіями для взаємодії з вашим озеро даних, з можливістю масштабування до Петабайт даних. У масштабі ексабайтів ви можете перевірити контроль версій.
профі
- Git-подібні операції включають розгалуження, фіксацію, злиття та повернення.
- Для перевірки даних CI/CD використовуються гачки попередньої фіксації/злиття.
- Надає складні функції, такі як транзакції ACID, для простого хмарного сховища, як-от S3 і GCS, залишаючись нейтральним у форматі.
- Повернення змін до даних у режимі реального часу.
- Легко масштабується, що дозволяє вмістити дуже великі озера даних. Контроль версій може бути забезпечений як для налаштувань розробки, так і для виробництва.
мінуси
- LakeFS — це новий продукт, тому функціональність та документація можуть змінюватися швидше, ніж у попередніх рішеннях.
- Оскільки він зосереджений на версійності даних, вам потрібно буде використовувати різноманітні додаткові інструменти для різних частин робочого процесу науки про дані.
Ціни
Він безкоштовний для всіх.
3. ССЗ
Data Version Control — це безкоштовне рішення для керування версіями даних, розроблене для додатків науки про дані та машинного навчання. Це програма, яка дозволяє визначити свій конвеєр будь-якою мовою.
Керуючи великими файлами, наборами даних, моделями машинного навчання, кодом тощо, інструмент робить моделі машинного навчання доступними для спільного використання та відтворюваними. Програма слідує прикладу Git, надаючи простий командний рядок, який можна налаштувати лише за кілька кроків.
Як випливає з назви, DVC стосується не тільки версій даних. Це також полегшує керування конвеєрами та моделями машинного навчання для команд.
Нарешті, DVC допоможе покращити узгодженість моделей вашої команди та їх повторюваність. Замість того, щоб використовувати складні суфікси файлів і коментарі в коді, скористайтеся перевагами Гітки Git спробувати нові ідеї. Щоб подорожувати, використовуйте автоматичне відстеження показників замість паперу та олівця.
Для передачі послідовних пучків навчання за допомогою машини моделі, дані та код у виробництво, віддалені комп’ютери або робочий стіл колеги, ви можете використовувати команди push/pull замість спеціальних скриптів.
профі
- Він легкий, з відкритим вихідним кодом і працює з усіма основними хмарними платформами та типами сховищ.
- Гнучкий, незалежний від формату та фреймворку та простий у реалізації.
- Всю еволюцію кожної моделі ML можна простежити до її вихідного коду та даних.
мінуси
- Управління конвеєром і контроль версій DVC нерозривно пов'язані. Якщо ваша команда вже використовує інший продукт конвеєра даних, буде резервування.
- Оскільки DVC є легким, вашій команді може знадобитися розробити додаткові функції вручну, щоб зробити його більш зручним для користувачів.
Ціни
Він безкоштовний для всіх.
4. Delta Lake
DeltaLake — це рівень зберігання даних з відкритим кодом, який підвищує надійність озера даних. Delta Lake підтримує транзакції ACID і масштабоване керування метаданими на додаток до потокової та пакетної обробки даних.
Він працює з API Apache Spark і знаходиться у вашому існуючому озері даних. Delta Sharing — це перший у світі відкритий протокол для безпечного обміну даними в бізнесі, що спрощує обмін даними з іншими підприємствами незалежно від їхніх комп’ютерних систем.
Delta Lakes здатні з легкістю обробляти петабайти даних. Метадані зберігаються так само, як і дані, і користувачі можуть отримати їх за допомогою методу Describe Detail. Delta Lakes має єдину архітектуру, яка може читати як потокові, так і пакетні дані.
Upserts легко зробити за допомогою Delta. Ці перетворення або злиття в таблицю Delta можна порівняти з об’єднаннями SQL. Ви можете використовувати його, щоб інтегрувати дані з іншого фрейму даних у вашу таблицю та виконувати оновлення, вставки та видалення.
профі
- Багато можливостей, таких як транзакції ACID і надійне керування метаданими, можуть бути доступні у вашому нинішньому рішенні для зберігання даних.
- Тепер Delta Lake може без зусиль керувати таблицями з мільярдами розділів і файлів у розмірі петабайт.
- Зменшує потребу в ручному контролі версій даних та інших проблемах з даними, дозволяючи розробникам зосередитися на розробці продуктів поверх своїх озер даних.
мінуси
- Оскільки він був розроблений для роботи з Spark і величезними даними, Delta Lake, як правило, перевантажений для більшості завдань.
- Це вимагає використання спеціального формату даних, що обмежує його гнучкість і робить його несумісним із наявними формами.
Ціни
Він безкоштовний для всіх.
5. Долт
Dolt — це база даних SQL, яка виконує розгалуження, клонування, розгалуження, злиття, натискання та витягування так само, як і репозиторій git. Щоб покращити роботу з базою даних контролю версій, Dolt дозволяє синхронізувати дані та структуру.
Це чудовий інструмент для співпраці для вас і ваших колег. Ви можете підключитися до Dolt так само, як і до будь-якої іншої бази даних MySQL, і виконувати запити або вносити зміни в дані за допомогою команд SQL.
Коли справа доходить до версій даних, Dolt є єдиним у своєму роді. Dolt — це база даних, на відміну від деяких інших рішень, які містять лише дані про версії. Хоча програмне забезпечення наразі знаходиться на початковій стадії, є надії зробити його повністю сумісним з Git і MySQL найближчим часом.
Усі команди, які ви знайомі з Git, також працюватимуть з Dolt. Файли версій Git, таблиці версій Dolt Використовуючи інтерфейс командного рядка, імпортуйте файли CSV, зафіксуйте свої зміни, опублікуйте їх на пульті та об’єднайте зміни вашого товариша по команді.
профі
- Легкий і з відкритим вихідним кодом частково.
- У порівнянні з більш незрозумілими варіантами, він має інтерфейс SQL, що робить його більш доступним для аналітиків.
мінуси
- У порівнянні з іншими альтернативами керування версіями баз даних, Dolt все ще є продуктом, що розвивається.
- Оскільки Dolt є базою даних, ви повинні перенести в неї свої дані, щоб отримати переваги.
Ціни
Усі бажаючі можуть скористатися сесією спільноти. Платформа не надає преміальних цін; замість цього ви повинні зв’язатися з провайдером.
6. Пахидерм
Pachyderm — це безкоштовна система контролю версій для науки про дані з великою кількістю функцій. Pachyderm Enterprise — це потужна платформа для дослідження даних, розроблена для широкомасштабної співпраці у високозахищених середовищах.
Pachyderm — одна з небагатьох платформ для дослідження даних у списку. Мета Pachyderm — забезпечити платформу, яка керує повним циклом даних і спрощує копіювання результатів моделей машинного навчання. У цьому контексті Pachyderm відомий як «докер даних». Pachyderm упаковує ваше середовище виконання за допомогою контейнерів Docker. Це полегшує копіювання тих самих результатів.
Дослідники даних і команди DevOps можуть впевнено розгортати моделі завдяки комбінації версійних даних із Docker. Завдяки ефективній системі зберігання петабайти структурованих і неструктурованих даних можна підтримувати, а витрати на зберігання зведені до мінімуму.
На всіх етапах конвеєра управління версіями на основі файлів забезпечує ретельний запис аудиту для всіх даних і артефактів, включаючи проміжні результати. Багато можливостей інструмента керуються цими стовпами, які допомагають командам отримати максимальну віддачу від нього.
профі
- На основі контейнерів ваші середовища даних будуть портативними і їх легко передавати між хмарними постачальниками.
- Надійний, з можливістю масштабування від малих до надзвичайно великих систем.
мінуси
- Оскільки існує дуже багато рухомих елементів, таких як сервер Kubernetes, необхідних для роботи з безкоштовною версією Pachyderm, існує крутіша крива навчання.
- Pachyderm може бути складним для включення в існуючу інфраструктуру компанії через багато технологічних компонентів.
Ціни
Ви можете почати використовувати платформу з сеансу спільноти, а для корпоративної версії вам потрібно зв’язатися з постачальником.
7. Нептун
Метаданими побудови моделі керує сховище метаданих ML, що є важливим аспектом стеку MLOps. Для кожного робочого процесу MLOps Neptune служить централізованим сховищем метаданих.
Ви можете відстежувати, візуалізувати та порівнювати тисячі моделей машинного навчання в одному місці. Він включає в себе такі функції, як відстеження експериментів, реєстр моделей і моніторинг моделі, а також інтерфейс для співпраці. Він включає в себе понад 25 різних інструментів і інтегрованих бібліотек, включаючи кілька інструментів для навчання моделей і налаштування гіперпараметрів.
Ви можете приєднатися до Neptune, не використовуючи кредитну картку. Замість нього буде достатньо облікового запису Gmail.
профі
- Інтеграція з будь-яким конвеєром, потоком, кодовою базою або фреймворком проста.
- Візуалізація в режимі реального часу, простий API та швидка підтримка
- За допомогою Neptune ви можете зробити «резервну копію» всіх даних ваших експериментів в одному місці, які ви зможете відновити пізніше.
мінуси
- Імовірно, окремої версії буде достатньо для приватного використання, хоча такий доступ обмежений одним місяцем, хоча це і не є повністю відкритим вихідним кодом.
- Можна знайти кілька дрібних недоліків дизайну.
Ціни
Ви можете почати користуватися платформою за індивідуальним планом, яким можуть користуватися всі. Розділ цін починається від 150 доларів США на місяць.
Висновок
У цій публікації ми обговорили найкращі інструменти керування версіями даних. Кожен інструмент, як ми бачили, має свій набір функцій. Деякі були безкоштовними, а інші вимагали оплати. Деякі з них добре підходять для моделі малого бізнесу, тоді як інші краще підходять для моделі великого бізнесу.
Як наслідок, ви повинні вибрати найкраще програмне забезпечення для ваших цілей, зваживши переваги та недоліки. Радимо випробувати безкоштовну пробну версію, перш ніж купувати продукт преміум-класу.
залишити коментар