?
Flyte — это оркестратор с открытым исходным кодом, который упрощает создание данных производственного уровня и конвейеров машинного обучения. Он создан для масштабируемости и воспроизводимости, используя Kubernetes в качестве базовой платформы. С помощью Flyte команды пользователей могут создавать конвейеры с помощью Python SDK и легко развертывать их как в облачных, так и в локальных средах, обеспечивая распределенную обработку и эффективное использование ресурсов.
Пишите код на Python или любом другом языке и используйте надежный механизм типов.
Легко выполняйте свои модели локально или в удаленном кластере.
pip install flytekit
pyflyte run hello_world.py hello_world_wf
Готовы попробовать кластер Flyte?
flytectl demo start
pyflyte run --remote hello_world.py hello_world_wf
Хотите увидеть больше, но не хотите ничего устанавливать?
Зайдите на https://sandbox.union.ai/. Он позволяет вам экспериментировать с возможностями Flyte с размещенного на нем ноутбука Jupyter.
Готовы к производству?
Перейдите к руководству по развертыванию, чтобы получить инструкции по установке Flyte в различных средах.
Строго типизированные интерфейсы : проверяйте свои данные на каждом этапе рабочего процесса, определяя ограничения данных с использованием типов Flyte.
Любой язык : пишите код на любом языке, используя необработанные контейнеры, или выбирайте SDK Python, Java, Scala или JavaScript для разработки рабочих процессов Flyte.
Неизменяемость . Неизменяемые исполнения помогают обеспечить воспроизводимость, предотвращая любые изменения состояния выполнения.
? Происхождение данных . Отслеживайте движение и преобразование данных на протяжении всего жизненного цикла ваших данных и рабочих процессов машинного обучения.
Задачи карты : обеспечьте параллельное выполнение кода с минимальной настройкой, используя задачи карты.
? Мультитенантность : несколько пользователей могут использовать одну и ту же платформу, сохраняя при этом свои собственные данные и конфигурации.
? Динамические рабочие процессы . Создавайте гибкие и адаптируемые рабочие процессы, которые можно изменять и развивать по мере необходимости, что упрощает реагирование на меняющиеся требования.
⏯️ Прежде чем приступить к выполнению, дождитесь внешних входных данных .
? Ветвление : выборочное выполнение ветвей рабочего процесса на основе статических или динамических данных, созданных другими задачами или входных данных.
? Визуализация данных : визуализируйте данные, отслеживайте модели и просматривайте историю тренировок с помощью графиков.
FlyteFile и FlyteDirectory : перенос файлов и каталогов между локальным и облачным хранилищем.
?️ Структурированный набор данных : преобразуйте кадры данных между типами и применяйте проверку типов на уровне столбца с использованием абстрактного 2D-представления, предоставляемого структурированным набором данных.
?️ Восстановление после сбоев : восстанавливайте только невыполненные задачи.
? Перезапустите одну задачу . Перезапустите рабочие процессы на самом детальном уровне, не изменяя предыдущее состояние рабочего процесса данных/ML.
? Кэшировать выходные данные : Кэшировать выходные данные задачи, передавая cache=True
декоратору задачи.
Внутризадачная контрольная точка : ход выполнения контрольной точки в ходе выполнения задачи.
⏰ Тайм-аут : определите период тайм-аута, по истечении которого задача помечается как невыполненная.
? От разработки к производству : так же просто, как перейти от разработки или подготовки к производству.
? Спотовые или вытесняемые экземпляры . Запланируйте рабочие процессы на спотовых экземплярах, задав для параметра interruptible
значение True
в декораторе задач.
☁️ Развертывание в облаке : развертывайте Flyte на AWS, GCP, Azure и других облачных сервисах.
? Планирование : запланируйте запуск данных и рабочих процессов машинного обучения в определенное время.
? Уведомления . Будьте в курсе изменений состояния вашего рабочего процесса, настроив уведомления через Slack, PagerDuty или по электронной почте.
⌛️ Просмотр временной шкалы : оцените продолжительность каждой задачи Flyte и определите потенциальные узкие места.
? Ускорение графического процессора . Включайте и контролируйте требования к графическому процессору ваших задач, запрашивая ресурсы в декораторе задач.
? Изоляция зависимостей с помощью контейнеров . Поддерживайте отдельные наборы зависимостей для своих задач, чтобы не возникало конфликтов зависимостей.
? Параллелизм : задачи Flyte по своей сути параллельны для оптимизации потребления ресурсов и повышения производительности.
? Динамически распределяйте ресурсы на уровне задач.
Присоединяйтесь к LinkedIn, Spotify, Freenome, Pachama, Warner Bros. и многим другим, чтобы использовать Flyte для критически важных случаев использования. Полный список адоптеров и информацию о том, как добавить свою организацию или проект, можно найти на нашей странице адоптеров.
Ежемесячная синхронизация сообщества: происходит в первый вторник каждого месяца. Здесь команда Flyte предоставляет обновленную информацию о проекте, а члены сообщества могут делиться своим прогрессом и задавать вопросы.
Slack: присоединяйтесь к сообществу Flyte в Slack, чтобы общаться с другими пользователями, задавать вопросы и получать помощь.
? Youtube: присоединяйтесь к групповым дискуссиям, историям успеха клиентов, обновлениям сообщества и подробному обзору функций.
? Блог: Здесь вы можете найти учебные пособия и подробные описания, которые помогут вам узнать больше о Flyte.
RFC: RFC используются для предложения новых идей и функций для улучшения Flyte. Вы можете обратиться к ним, чтобы оставаться в курсе последних событий и способствовать развитию платформы.
Есть много способов принять участие в Flyte, в том числе:
help wanted
или good-first-issue
и следовать руководству «ВКЛАД», чтобы внести изменения в базу кода.Flyte доступен по лицензии Apache 2.0. Используйте его с умом.