オープンソースの連続機械学習プラットフォーム
PythonのみでMLパイプラインを構築し、ラップトップまたはクラウドで実行します。
Sematicは、オープンソースML開発プラットフォームです。 MLエンジニアとデータサイエンティストは、単純なPythonを使用して任意に複雑なエンドツーエンドパイプラインを記述し、クラウドリソースを活用するためにローカルマシン、クラウドVM、またはKubernetesクラスターでそれらを実行することができます。
Sematicは、自動運転の自動車会社で集められた学習に基づいています。モデルトレーニング(Pytorch、Tensorflowなど)またはその他の任意のPythonビジネスロジックを使用して、データ処理ジョブ(Apache Sparkなど)をチェーンすることができます。
ドキュメントを読んで、Discordチャンネルに参加してください。
なぜセマティック
- 簡単なオンボーディング- 開始に展開やインフラストラクチャは必要ありません。局所的にSematicをインストールして探索を開始します。
- ローカル間パリティ- 地元のラップトップとKubernetesクラスターで同じコードを実行します。
- エンドツーエンドのトレーサビリティ- すべてのパイプラインアーティファクトは、Webダッシュボードで持続、追跡、視覚化可能です。
- アクセス不均一な計算- パフォーマンスとクラウドフットプリント(CPU、メモリ、GPU、スパーククラスターなど)を最適化するために、各パイプラインステップに必要なリソースをカスタマイズします。
- 再現性- 結果の再現性が保証されたUIからパイプラインを再実行する
はじめる
ローカルに始めるには、Python環境にSematicをインストールするだけです。
ローカルWebダッシュボードを開始します。
パイプラインの例を実行します:
$ sematic run examples/mnist/pytorch
新しいボイラープレートプロジェクトを作成します。
$ sematic new my_new_project
または既存の例から:
$ sematic new my_new_project --from examples/mnist/pytorch
次に、次のように実行します。
$ python3 -m my_new_project
SematicをKubernetesに展開し、クラウドリソースを活用するには、ドキュメントを参照してください。
特徴
- 軽量Python SDK - 任意に複雑なエンドツーエンドパイプラインを定義します
- パイプラインネスティング- パイプラインをより大きなパイプラインに任意にネストします
- 動的グラフ- Python定義のグラフは、反復、条件付き分岐などを可能にします。
- 系統追跡- すべてのステップのすべての入力と出力が持続および追跡されます
- ランタイムタイプチェック- ランタイムタイプチェックで早期に失敗します
- Webダッシュボード- 最新のWeb UIでパイプラインを監視、追跡、視覚化する
- アーティファクトの視覚化- Webダッシュボード内のすべてのステップのすべての入力と出力を視覚化する
- ローカルの実行- 展開なしでローカルマシンでパイプラインを実行する必要があります
- クラウドオーケストレーション- Kubernetesでパイプラインを実行してGPUやその他のクラウドリソースにアクセスします
- 不均一な計算リソース- さまざまなマシンで異なるステップを実行します(CPU、メモリ、GPU、SPARKなど)
- ヘルムチャートの展開- KubernetesクラスターにSematicをインストールする
- パイプラインリアン- グラフの任意のポイントからUIからパイプラインを再実行する
- ステップキャッシュ- 高速な反復のための高価なパイプラインステップをキャッシュ
- ステップ再試行- ステップ再試行で一時的な障害から回復する
- メタデータとコラボレーション- タグ、ソースコードの視覚化、ドキュストリング、メモなど。
- 多数の統合- 以下を参照してください
統合
- Apache Spark - オンデマンドのクラスタースパーククラスター
- レイ- オンデマンドレイクラスターレイリソース
- スノーフレーク- データウェアハウスを簡単に照会します(他の倉庫もサポートされています)
- Plotly、Matplotlib - Webダッシュボードのプロットアーティファクトを視覚化する
- Pandas - ダッシュボードでデータフレームアーティファクトを視覚化します
- Grafana - Webダッシュボードにグラファナパネルを埋め込みました
- Bazel - Bazelビルドシステムと統合します
- ヘルムチャート- ヘルムチャートでKubernetesに展開
- Git - WebダッシュボードでGit情報を追跡します
コミュニティとリソース
Sematicの詳細をご覧ください。次のリソースにご連絡ください。
- セマティックランディングページ
- ドキュメント
- 不一致チャンネル
- YouTubeチャンネル
- 私たちのブログ
貢献する!
Sematicに貢献するには、「Good First Issue」というタグ付けされたオープンな問題をチェックし、Discordで私たちと連絡を取ります。開発者のドキュメントで開発環境を設定する方法に関する指示を見つけることができます。例を追加したい場合は、このガイドが役立つこともあります。