エムスリーテックブログ

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

テックブログなにもわからないけど知見をまとめて人類に貢献したい

こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。

以前からテックブログ自体の記事をどこかで書きたいなと思っていたところに、 テックブログをテーマにしたイベントが開催されると知り、 ちょうどいいタイミングだったので書くことにしました。

f:id:fukubaya:20210521130029j:plain
チームスマイル・いわきPITは、福島県いわき市のエンターテイメント専用施設である。『PIT』は「Power Into Tohoku!」の頭文字。本文には特に関係ありません。

続きを読む

gokart 1.0.0 をリリースしました

はじめに

はじめまして。エムスリー AI・機械学習チームの河合(@vaaaaanquish)です。

本記事投稿日と同日、エムスリーが開発しているOSSのうちの1つであるgokartのversion 1.0.0をリリースする運びとなりました。

本記事は、これまでのgokartの軌跡と成果を紹介しつつ、内情を含めながら、gokart 1.0.0に込めた想いを綴るものです。

  • はじめに
  • gokartとは
  • gokart 1.0.0
    • ドキュメントの拡充とロゴの追加
    • gokart.build
  • gokartメジャーバージョンリリースに寄せて
  • おわりに

 

gokartとは

gokartは、元チームリーダーであった西場さん@m_nishibaが、AI・機械学習チームを1人立ち上げた際、チームの基盤となるよう作成した、機械学習パイプラインを取り扱うPythonモジュールです。

github.com

続きを読む

GKE上の一定時間経過したJobを自動削除する

こんにちは。
エムスリーエンジニアリンググループ AI・機械学習チーム 堀江です。

弊チームでは、YAMLの設定に従って自動でモデルの学習 & 推論 & 評価まで行ってくれるようなMLパイプラインのプロダクトをGKE上に構築して運用しています。
MLパイプラインにより、パラメータを変えた実験を並列に大量に行うことが可能になっており、多いときには同時に数十Jobが走っていたりします。

そのような運用をしていると問題になるのが完了した (失敗を含む) Jobの後片付けです。

ttlSecondsAfterFinished

実はkubernetesには完了したJobのcleanup機能が備わっています。

TTL mechanism for finished Jobs

以下のように ttlSecondsAfterFinished を設定すると、完了したJobを自動的に削除してくれて非常に便利なんですが、この機能、一向にalphaからステータスが変わりません (2021年3月現在)。

apiVersion: batch/v1
kind: Job
metadata:
  name: pi-with-ttl
spec:
  ttlSecondsAfterFinished: 100
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never

kubectlやコントローラの自作によって ttlSecondsAfterFinished の代替機能を作成している方もいるようですが、今回は弊チームで運用しているGitlab CI上のスケジューラでJobステータスを監視し自動的に削除してくれる機能を実装しました。

続きを読む

デザインの力で医療の前進を加速させる。エムスリーCDO古結隆介

デザインの力で医療の前進を加速させる

 

みなさん、こんにちは。エムスリーデザイングループでグループリーダーを務めている古結(こげつ)です。

 

エムスリーでは、よりプロダクト志向な組織化を目的として2020年10月1日にCDO(Chief Design Officer、最高デザイン責任者)を設置し、初代CDOとしてVPoE/PdMの山崎が就任しました。

 

そして今回、2021年4月1日から2代目として私、古結(こげつ)がCDOを引き継ぐ形となりました!

 

今回、エムスリー2代目CDO就任の背景や目的、またはデザイン組織の目指すところなどをお伝えさせてください。

 

  • プロフィール
  • 背景
  • なぜCDOに就任したのか
  • どんな組織を目指すのか
  • 医療業界を改革することのやりがい
  • We are hiring

 

続きを読む

オンプレのアンケートシステムからクラウドへの切り替えをいい感じにデプロイした話

こんにちは、エムスリーエンジニアリングGの佐々木です。

BIRというチームでアンケートシステム周りの開発を担当しています。

BIRでは新規のアンケートシステムを作ったりする傍、昔から稼働しているオンプレ上のアンケートシステムのクラウド移行を進めています。 今日は、昔に作られたレガシーなアンケートシステムをオンプレからクラウド移行する際に少し工夫をしたことで安全にリリースできた話をしたいと思います。

続きを読む

Elasticsearchで関連キーワード機能がどれだけ低コストで実装できるかの旅路

f:id:abctail30:20210329004317p:plain
クエリに対する関連キーワード機能

エムスリーエンジニアリンググループ AI・機械学習チームの中村(@po3rin) です。 好きな言語はGo。仕事では主に検索周りを担当しています。

Overview

最近の仕事で医師に質問ができるサービスで「Elasticsearchを使ってなるべく低コストで関連キーワード機能を実装する」という案件に携わっていました。本記事では関連キーワード機能を低コストで実装するための技術調査の結果と、実際に採用した方法をご紹介します。

今回紹介する方法は機械学習などは使わず、なるべく低コストである程度の品質を目指すものです。この記事を読むことで検索アプリケーションにサクッと関連キーワード機能を実装できるようになるでしょう。

  • Overview
  • 検索における関連キーワード機能とは
  • 実装の前提条件
  • 実装パターンの紹介
    • (1) ログで出現した単語を数えあげる
    • (2) ログに対するSignificant terms aggregation
    • (3) ログに対してSignificant terms aggregation (形態素解析あり)
    • (4) ドキュメントに対してSignificant terms aggregation (形態素解析あり)
  • 実装パターンの比較
    • 評価指標設定
  • 類似語の除去についての考察
    • 単語分散表現を使った類似語判定
    • 採用した類似語のルールベース除去
    • 類似語の除去のまとめ
  • 検討結果
  • まとめ
    • We're hiring !!!
  • Reference
続きを読む