?
Flyte は、運用グレードのデータと ML パイプラインの構築を容易にするオープンソース オーケストレーターです。基盤となるプラットフォームとして 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/ にアクセスしてください。これにより、ホストされた Jupyter ノートブックから Flyte の機能を試すことができます。
製品化する準備はできていますか?
さまざまな環境に Flyte をインストールする手順については、展開ガイドを参照してください。
厳密に型指定されたインターフェイス: Flyte 型を使用してデータ ガードレールを定義することで、ワークフローのすべてのステップでデータを検証します。
任意の言語: RAW コンテナーを使用して任意の言語でコードを作成するか、Python、Java、Scala、または JavaScript SDK を選択して Flyte ワークフローを開発します。
不変性: 不変実行は、実行状態の変更を防ぐことで再現性を確保します。
?データリネージ: データと ML ワークフローのライフサイクル全体を通じて、データの移動と変換を追跡します。
マップ タスク: マップ タスクを使用して、最小限の構成でコードの並列実行を実現します。
?マルチテナント: 複数のユーザーが、独自のデータと構成を維持しながら、同じプラットフォームを共有できます。
?動的なワークフロー: 必要に応じて変更および進化できる柔軟で適応性のあるワークフローを構築し、変化する要件への対応を容易にします。
⏯️ 実行を続行する前に、外部入力を待ちます。
?分岐: 他のタスクまたは入力データによって生成された静的または動的データに基づいて、ワークフローの分岐を選択的に実行します。
?データの視覚化: データを視覚化し、モデルを監視し、プロットを通じてトレーニング履歴を表示します。
FlyteFile & FlyteDirectory : ローカル ストレージとクラウド ストレージ間でファイルとディレクトリを転送します。
?️構造化データセット: 構造化データセットによって提供される抽象 2D 表現を使用して、データフレームを型間で変換し、列レベルの型チェックを強制します。
?️失敗から回復: 失敗したタスクのみを回復します。
?単一タスクを再実行する: データ/ML ワークフローの以前の状態を変更せずに、最も詳細なレベルでワークフローを再実行します。
?出力のキャッシュ: タスク デコレータにcache=True
を渡すことで、タスクの出力をキャッシュします。
タスク内チェックポイント: タスク実行内の進行状況をチェックポイントします。
⏰タイムアウト: タスクが失敗としてマークされるまでのタイムアウト期間を定義します。
?開発から本番へ: ドメインを開発またはステージングから本番に変更するのと同じくらい簡単です。
?スポット インスタンスまたはプリエンプティブル インスタンス: タスク デコレーターでinterruptible
True
に設定して、スポット インスタンスでワークフローをスケジュールします。
☁️クラウドネイティブ展開: Flyte を AWS、GCP、Azure、その他のクラウド サービスに展開します。
?スケジュール: 特定の時間に実行されるようにデータと ML ワークフローをスケジュールします。
?通知: Slack、PagerDuty、または電子メールを介して通知を設定することで、ワークフローの状態の変更に関する最新情報を入手できます。
⌛️タイムラインビュー: Flyte の各タスクの期間を評価し、潜在的なボトルネックを特定します。
? GPU アクセラレーション: タスク デコレーターでリソースをリクエストすることで、タスクの GPU 要求を有効にして制御します。
?コンテナーによる依存関係の分離: 依存関係の競合が発生しないように、タスクの依存関係の個別のセットを維持します。
?並列性: Flyte タスクは本質的に並列性があり、リソース消費を最適化し、パフォーマンスを向上させます。
?タスクレベルでリソースを動的に割り当てます。
LinkedIn、Spotify、Freenome、Pachama、Warner Bros.、その他多くの企業と協力して、ミッションクリティカルなユースケースに Flyte を採用してください。アダプターの完全なリストと、組織またはプロジェクトを追加する方法については、ADOPTERS ページをご覧ください。
毎月のコミュニティ同期: 毎月第 1 火曜日に開催され、Flyte チームがプロジェクトの最新情報を提供し、コミュニティ メンバーが進捗状況を共有したり質問したりできます。
Slack: Slack の Flyte コミュニティに参加して、他のユーザーとチャットしたり、質問したり、サポートを受けたりできます。
? YouTube: パネル ディスカッション、お客様の成功事例、コミュニティの最新情報、機能の詳細をご覧ください。
?ブログ: ここでは、Flyte についてさらに学ぶのに役立つチュートリアルと機能の詳細を見つけることができます。
RFC: RFC は、Flyte を改善するための新しいアイデアや機能を提案するために使用されます。これらを参照して、最新の開発状況を常に把握し、プラットフォームの成長に貢献できます。
Flyte に参加するには、次のようなさまざまな方法があります。
help wanted
、またはgood-first-issue
を引き受け、CONTRIBUTING ガイドに従ってコードベースへの変更を送信します。Flyte は、Apache License 2.0 に基づいて利用できます。賢く使ってください。