エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

gokart の検索結果:

gokart 1.0.0 をリリースしました

…Sのうちの1つであるgokartのversion 1.0.0をリリースする運びとなりました。 本記事は、これまでのgokartの軌跡と成果を紹介しつつ、内情を含めながら、gokart 1.0.0に込めた想いを綴るものです。 はじめに gokartとは gokart 1.0.0 ドキュメントの拡充とロゴの追加 gokart.build gokartメジャーバージョンリリースに寄せて おわりに gokartとは gokartは、元チームリーダーであった西場さん@m_nishiba…

パイプラインツールgokartのキャッシュ競合を解消した話

…タパイプライン構築にgokartというツールを使用しています。今回はこのgokartで発生していたキャッシュ競合を解消した話について紹介します。 gokart gokartとは gokartというのはAIチームが中心に開発しているデータパイプライン構築のためのツールで、Spotify社の開発するパイプラインツールluigiのwrapperです。S3やGCSといったクラウドストレージとのデータ入出力をサポートしたり、中間ファイルをキャッシュとして保存することで実験を再現をしやす…

GCS bucketの利用量をSlackに通知する

…加したOSSである、Gokartを利用しています。 github.com Gokartでは、処理をTaskという単位に分け、Taskごとに、その処理結果をGCSなどのオブジェクトストレージに出力しています。 こうすることで、リカバリなどの際にワークフローの途中からジョブを再開できたり、debug時の調査などでタスクの出力を確認できるメリットがあります。 一方で、この記事 などで述べられているように、途中結果のデータが嵩張る問題が出てきています。 実際、Gokartキャッシュを…

Kaggle "Mechanisms of Action (MoA) Prediction" に参加し4位に入賞した話

…ームで開発している gokart は機械学習のプロダクトを扱うPipelineとしてはとても魅力的なキャッシュ機構を備えており、Task間の依存関係を記述することで "巨大な行列を生成するTask自体をキャッシュする" ことができるため、入力の同一性の判定問題をうまく回避しています。 Kaggleでもgokartが使えればよいのですが、gokartどころかluigiさえもKaggle notebookのDocker imageには入っていないため、gokart (+ luig…

Nishika competitions 2nd solution

…プラインの選定としてgokartはどうだったか おわりに We are hiring !! コンペティション概要 青空文庫に登録されている10作家の作品、計4732作品の中から芥川龍之介の作品を機械学習で見つけるものです。 答えとなるデータは青空文庫で公開されている訳ですが、こちらを利用するのはもちろんルール上で禁止されています。 データ内には以下のような文章データと著者が芥川龍之介であるか否かの情報が含まれている、シンプルな2値分類の問題です。 writing_id,bod…

推薦アイテムセットの多様性を考慮したBPR論文を実装・実験した

…pd import gokart import luigi class MakePairedData(gokart.TaskOnKart): task_namespace = 'novelty_enhanced_bpr' click_task = gokart.TaskInstanceParameter() positive_sample_weight: int = luigi.IntParameter() distance_threshold: float = luigi.…

機械学習パイプラインライブラリluigiのshell補完ツールを作った

…rapperである「gokart」を利用した開発、運用を行なっています。 本記事は、エムスリーとluigiの繋がりと、私が作成したluigiのshell補完をサポートするmodule「luigi-completion」の概要、その使い方について示すものです。 luigi.readthedocs.ioより luigiロゴ はじめに luigi_completion 処理の中身 おわりに We are hiring ! はじめに 前述の通り、エムスリーAIチームでは、機械学習プロ…

機械学習プロジェクト向けPipelineライブラリgokartを用いた開発と運用

…nライブラリである「gokart」の説明と、その周辺ライブラリとなる「cookiecutter-gokart」「thunderbolt」「redshells」について紹介したいと思います。よろしくお願いします。 はじめに Pipeline化のメリット・デメリット Pipeline化のメリット Pipeline化のデメリット gokart 共通化のための出力ファイル形式の制約と拡張 強力かつ簡易な再現性のためのデータ保持 クラウドサービスやSlack通知のサポート gokart…

Factorization Machineの実装と数値検証

…だ整備中なのですが、今まで業務で使っていた徐々に公開していく予定です。今後はOSSとして開発していく部分を増やしていく予定です。 実務で使っているニュースの推薦システム等を公開したら面白いのでは?と思っています。 gokart ... luigiをラップし、タスクの定義を簡単にしている。 redshells ... gokartを使って様々なタスクが定義されている。 まぁこういうことですね。 We are hiring 機械学習エンジニアを募集中です! jobs.m3.com