サンプルパイプライン : https://github.com/reproio/lab_sample_pipelines/tree/main/kfp 解説記事 : https://tech.repro.io/entry/2021/06/22/125113 ハンズオン資料 : https://gist…

こんにちは。レトリバの飯田(@HIROKIIIDA7)です。TSUNADE事業部 研究チームのリーダーをしており、分類エンジンの開発・マネジメント、検索分野の研究、チームマネジメントを行っています。 今回は、前回の記事から自己紹介に追加されている「分類エンジンの開発・マネジメント」について書いていきます。これは、チームで取り組みました。 経緯 レトリバでは、その前身のPreferred Infrastructure時代から自然言語処理に取り組んでいました。文書・文分類は基本タスクの一つであり、応用でも非常に多く取り組む機会があります。そのため、実験管理も含めたエンジンを10年以上前から作っていました。 このエンジンはコア部分がC++で作られていました。そのため、モデルの追加はC++で行うことになります。また、パラメータ管理をRailsで行っていた結果、新しいモデルのパラメータ設定はRail
この記事はMLOps Advent Calendar 2021の18日目の記事です。 2016年にもTensorFlowとMLサービスの2016年の布教活動報告を書きましたが、ここ3年くらいはMLOps系の活動をメインにしてきたので、その報告です。COVID後はイベント登壇も減り、ブログ記事の執筆が多くなりました。その裏話的な内容です。 Feature Store のブログ記事 今年5月のGoogle I/OでVertex AIのMLOps系プロダクトがいくつかリリースされたので、その後にフォローアップのブログ記事を出し始めました。まずは6月にPMのAnandと書いた Kickstart your organization’s ML application development flywheel with the Vertex Feature Store(日本語版)です。 このプロダクト
Optuna meetup #1 で使用した資料です.
「機械学習システムデザイン」を読んだので、感想・各章の内容についてまとめます www.oreilly.co.jp 全体を通しての感想 原本は Designing Machine Learning Systems で本書は日本語訳版となります。 原本の著者である Chip Huyen氏が書籍に関する情報をまとめたGitHubレポジトリを公開しています。https://github.com/chiphuyen/dmls-book 著者が現場の機械学習エンジニアということもあり、書かれている内容は実際の現場に即した内容に徹していました。実環境の機械学習システムで直面する課題やユースケースをまとめていて、機械学習エンジニアが普段感じてる課題をうまく言語化しています。 特に筆者の経験に基づいて現場で直面した問題や手堅い手法が書かれているのは、実務家として目から鱗の内容でした。 本書は概念的な内容が書
こんにちは!nakamura(@naka957)です。今回はPyCaretとMLflowを用いたAutoMLと実験記録を連携した活用方法をご紹介します。 今回は様々な機械学習アルゴリズムの比較・モデル実装に加えて、行った実験記録の管理を簡単に行う方法をご紹介します。実施事項がたくさんありますが、PyCaretとMLflowの活用で少ないコード行数で簡単に実施できます。 PyCaretは機械学習モデルの実装を簡単に行えるOSSですが、PyCaretからMLflowを呼び出すこともでき、実験記録の管理も同時に行えます。 【PyCaret】 ■ AutoMLライブラリPyCaretを使ってみた〜モデル実装から予測まで〜 ■【続き】 AutoMLライブラリPyCaretを使ってみた 〜結果の描画〜 【MLflow】 ■ MLflowの使い方 - 機械学習初心者にもできる実験記録の管理 - ■ ML
はじめに テックリードの柿崎です。私たちは、機械学習のパラメータチューニングを効率よく行うため、KubernetesネイティブのワークフローエンジンであるArgo Workflowsを採用しています。この記事では、その導入手順の要点を紹介いたします。 導入の目的 Argo Workflows導入以前は機械学習のパラメータチューニングを行うにあたり以下の機能を独自に実装しており、属人化していました。 パラメータ探索のアルゴリズム インスタンスのスケーリング インスタンスの稼働状況の可視化 ジョブの進行状況の可視化 これらをより柔軟に活用できるようにして、開発、更新サイクルを早めていくことが導入の目的です。 前提条件 Kubernetes(EKS)はすでに構築済みであること Kubernetes、Helmについての基本的な知識があること Argo Workflowsの基本的な知識があること K
Part1では、既存の「機械学習パイプライン」がどのような処理を行なっているのかをサーベイします。Part0で述べた通り、現在の機械学習パイプラインはエンジニア向けに作られていることが多いです。しかし、現在はエンジニア向けであるものが一般化する、と考えれば既存のパイプラインを調べることに価値はあるはずです。機械学習パイプラインは機械学習プラットフォームと同義/一部となる場合が多く、調査は双方を対象としています。 サーベイの結果、一般的な「機械学習パイプライン」は以下のような構成となるようです。 ポイントとしては、以下の点があります。 Dataにはバッチ(Offline)とリアルタイム(Online)の概念がある。バッチの場合HDFSに格納しSpark/Hiveで特徴量計算、リアルタイムの場合Kafkaで収集、Samazaで特徴量計算といった形態が取られることが多い。リアルタイムの計算結果は
先日、「データ分析に使ったNotebookをそのままPipelineに組み込みたい」という要望をいただいたのですが、あんまりそういうことができるパッケージが見つからないので、自分で作ることにしました。 自分で作るといっても既存のPipelineにちょっと機能を追加しただけです。 今回はPipelineにKedro、Notebookをそのまま組み込むためにPapermillを採用しました。 Kedroを選んだ理由は、Pipelineの構成がシンプル(関数と入出力書くだけ)なのと、ドキュメントが充実していて学習コストが低そうだったからです。誰かに使ってもらう提案をする上で、学習コストは結構重要ですね。あと、きぬいと氏が仰るように1ロゴがかっこいいです。 作ったもの 特徴は主に次の3つです。 KedroからPapermillを使ってNotebookを実行する YAMLでPipelineを定義する
こんにちは!SouzohのMLチームでSoftware Engineerをしているwakanaです。 SouzohのMLチームは2021年4月にスタートし、ちょうど2年が経ちます。当時1人だったメンバーも、今では4人になり、レコメンデーションを中心に5, 6個の機能を提供するようになりました。MLOpsも成熟し、より新しく高度なML機能開発に集中して取り組める環境が整ってきていると感じています。 そこでこの記事では、立ち上げから2年たった今SouzohのPython, ML環境がどのようになっているか紹介しようと思います。これからPythonやMLのMonorepoでの開発環境を整えようとしている方、特に少人数での運用を考えてる方の参考になれば嬉しいです。 TL;DR SouzohではPoetry, Bazel, VertexAI Pipelinesで快適なMonorepo開発環境を実現
はじめに 本記事ではMLの実験を行うときの、コード、パラメータ、モデル、評価結果を管理するための構成例を紹介します。 サンプルコードはこちら 前提知識 Must python docker Want mlflow luigi 思想 前処理を加えたデータや学習したモデルなどプログラムで出力されるファイルは全てmlflowの管理下におく。 コードはgitで管理し、実験結果とcommit hashを紐づける。 前処理、学習、推論などタスク同士の依存関係を管理して、依存しているタスクを自動で実行できるようにする。また、既に実行されたタスクは実行しないようにする。 構成概要 titanicのdataに対して、前処理、学習、推論を行う例を紹介する。 ディレクトリ構成は以下のような感じ。 src/tasks/下に前処理などの具体的なタスクを行うファイルを作成する。 tomlファイルで実行するタスクを指定
皆さんは「MLOps」について取り組んでいらっしゃるでしょうか。私は2018年頃からデータクレンジングや機械学習モデルの構築や運用をしてきましたが、当時の日本で私の耳にはMLOpsという言葉が入ってくることはありませんでした。 ただMLOpsの元となった「DevOps」については当時から認知していました。今日のMLOpsというのはDevOpsの考えや知見を機械学習分野に適応、進化させたものだと考えられています。 そんなMLOpsですが、厳密な定義はなく、私自身も専門的に取り組んだことがない分野です。今回はMLOpsを快適に実現するためのライブラリのMetaflowについて一緒に取り組んでいきましょう。 Metaflowとは Metaflowの強み Metaflowを検討するケース スケーラビリティ: プロジェクトに1台以上のラップトップサイズのコンピュータが必要か 重要性: 結果を正しくタ
はじめに JupyterNotebookだけで前処理もモデル開発も全部やりたいなー(特にPoCフェーズだと)、でも管理どうしようかなーと思っていたところに下記記事(およびその関連記事)を読んで、papermillとcommuterといういい感じのOSSを知ったので使ってみました。 Beyond Interactive: Notebook Innovation at Netflix 実現できること 各データサイエンティスト/エンジニアが各自のローカル環境でJupyterNotebookで前処理やモデル開発ノートブックを作って実行するが、実行結果の共有・管理がめんどくさい -> papermillで、実行結果が吐かれたノートブックをS3にそのまま挙げられる 検証のノートブックを、パラメータを色々変えて実行したいが、シリアルに実行していくのはめんどくさい(ノートブック複製して一気に流してもよいが
こんにちは、データチームの@masaki925 です。 昨年末にMLOps に関する記事を書きました。 quipper.hatenablog.com 今回はその続編で、レコメンドシステムのJenkins 部分をAI Platform Pipeline (以下AIP Pipeline) に置き換えた話です。 昨今では国内でもKubeflow Pipeline (以下KFP) 系の導入事例がいくつか出ており、特にZOZOテクノロジーズさんの記事は大変参考にさせていただきました。 techblog.zozo.com 今回の話では、まだまだパイプラインを使いこなすところまでは至っていないですが、 最初に導入するにあたっての迷いどころや躓きどころ、反省点など、1事例として紹介できればと思います。 想定読者は、前回同様MLOps 初心者向けとなります。 これからMLOps をやっていきたい方 ML ワ
Kaggle Advent Calendar 2019 の9日目の記事です。 一応自己紹介を書いておくと、 Kaggle は mhiro2 という名前でここ1年くらい趣味としてやっています。 本業では、 MLOps の一環として、 GKE や BigQuery, Cloud Composer, MLflow などを活用した自社向けの機械学習基盤開発をやっています。 ML やデータ分析の理論や技術そのものよりは、 ML のサイクルを円滑に回すためのシステムデザインやアーキテクチャなどの仕組み化に関心があります。 はじめにKaggle をはじめとした分析コンペに取り組んでいる方の中には、自前のパイプラインを構築されている方も多くいらっしゃるかと思います。そもそもパイプラインとは何ぞや、という話ですが、EDA や特徴量のエンコードなどの前処理はもちろん、複数のモデルやパラメータでの学習やアンサン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く