エムスリーテックブログ

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

AI・機械学習チーム Best Pull Request決定戦 2025

こんにちは。AI・機械学習チームの氏家(@mowmow1259)です。 この記事はエムスリーアドベントカレンダー2025を勝手に延長して26日目の記事として書いています。

みなさんは今年1年を振り返って、最も印象に残ったPull Requestはありますか? 大きな機能追加、難しいバグ修正、芸術的なリファクタリング...きっとそれぞれに心に残るPRがあることでしょう。

そんなPRにスポットライトを当てるべく、エムスリーのAI・機械学習チームでは毎年年末にチーム全体で「今年のベストPR」を決める恒例イベントを開催しています。 単なる技術的な凄さだけでなく、チームや会社へのインパクトなども評価の対象で、とにかく「ベスト」だと思うPRを表彰しています。

www.m3tech.blog

そんなわけで、今年もチーム総出でベストだと思うPRをノミネートし、投票の結果7件のを選出しました。 ちなみにエムスリーではGitLabからGitHubへの移行を進めているため、ベストPRといいつつMerge Request (MR)も混じっています。 入賞PRは現地開催された全社規模のLT会でそれぞれ推薦者から発表され、現地では大盛り上がりでした。

当日の発表の様子

また、今年新たな試みとして「タイトル部門」を新設してみました。

エムスリーのエンジニアはギークでユーモアな方が多く、PRのタイトルにも遊び心が散りばめられています。 面白いPRも多いことだし、せっかくならユーモアな観点でもベストPRを決めようじゃないか! ということで、思わず笑ってしまうようなセンス溢れるPRタイトルも表彰することにしました。

それでは、それぞれの部門について入賞PRをみていきましょう!

  • 第7位: gcp-ai-infra の原初の GitHub 移行
  • 第6位: 同じ事をレビューするの飽きたからClaude君やって/AI レビュー機能をテンプレートに追加
  • 第5位: IAPのclientを作る時代は終わり
  • 第4位: panderaがconcatで壊れるのを直した
  • 第3位: df = Schema.empty() 誕生
  • 第2位: MLプロダクトの大型アップデート
  • [番外編: タイトル部門] Claude Codeにブチギレる
  • 第1位: gomoku
  • まとめ
  • We are hiring !!
    • エンジニア採用ページはこちら
    • カジュアル面談もお気軽にどうぞ
    • インターンも常時募集しています
続きを読む

紅白vsプログラミング!?年末年始はプログラミングクイズで過ごしませんか

今期は『SANDA』を推して観ていました、エムスリー株式会社 VPoEの河合(@vaaaaanquish)です。 サンタクロースをテーマにしているだけに「信じる」について改めて考えさせられる良いストーリーでした。最終回グッと来ましたね。

年末年始は、アニメも多くがお休み期間。皆さんはどう過ごす予定でしょうか?

「今年は年末年始何しようかな…」という皆さんのために、エムスリーのギークなエンジニア達が作成したプログラミングクイズをまとめましたので、本記事ではそちらを紹介しようかなと思います。

娘と一緒に部屋の壁に絵を描いた時の写真、crazyですが本文には関係ありません

  • Crazy Programming
  • 私がお気に入りの問題をピックアップ
    • 顔文字っぽい問題
    • ?リテラル問題
    • ギークな問題
    • イベントベースな問題
  • おわりに
    • We are hiring!

この記事はエムスリーアドベントカレンダー2025最終日の記事です。前日はCPO山崎による「pmconf 2025 大阪登壇、東京参加と参考になったセッションを振り返るなど。」でした。 エムスリーは今年もアドベントカレンダー完走しました!面白い記事が揃っていますので是非眺めてみてください!

qiita.com

続きを読む

pmconf 2025 大阪登壇、東京参加と参考になったセッションを振り返るなど。

皆さんこんにちは、こんばんは。今週月曜日に、3年ちょい使った会社のM1 MacBook Proの日本語キーボードからM4 MacBook Proのいまさら英語キーボードに乗り換えたら、指がつりそうなエムスリー取締役CPO/CAIOの山崎です。でも39年使い続けたJIS配列からANSI配列に2日で完全に慣れた人間の脳の学習能力にびっくりしています*1。たまに「a」打とうとしてCapslock打ってしまったり、「1」を打とうとして「`」打ったり、エンター打とうとして「\」打ったりしていますが、すぐにこれも慣れるでしょう。あと、「@」と「:」の入力にシフトが必要なのも不便ですが、英語キーボードのカッコよさのためには仕方がないと諦めます。

ということで、本日はエムスリー Advent Calendar 2025 24日目の記事を書きます。前日はHi_kingこと弊社CTO大垣の正規表現すぐ忘れるのでビジュアルプログラミングツールを作った ~ Blocklyで簡単にビジュアルDSL作ろう ~でした。いや〜これ見るとScratchとかLEGO Mindstorms思い出しますね。

pmconf 2025 大阪会場で登壇したセッションのキースライド。

エムスリーアドベントカレンダーの他の記事はこちらからどうぞ。

qiita.com

  • はじめに
  • 大阪の登壇内容:生成AI時代に未来を切り開くためのプロダクト戦略:圧倒的生産性を実現するためのプロダクトサイクロン
    • 関連イベント開催します!
  • 大阪会場での参考になったセッション
    • 大阪その1:PdMから事業責任者へ ── AI時代に求められるPdMの視座と構造設計
    • 大阪その2:その意思決定、まだ続けるんですか?~痛みを超えて未来を作る、AI時代の撤退とピボットの技術~
    • 大阪その3:現役教師のたこ焼き屋さん × 現役PMの駄菓子屋さんが未来に挑む 〜ユーザーコミュニティ主導のプロダクトマネジメント〜
    • 大阪おまけ:リリースしたのに事業成果が出ない!──“セーブポイント”活用とチームの再発見力で、3倍の成果に変えた話
  • 東京の参加イベントと東京会場での参考になったセッション
  • まとめ
  • イベント告知
  • We are hiring!

*1:Karabiner-Elementsのおかげです。特にcomplex_modifications rulesのFor Japanese (日本語環境向けの設定) (rev 6)作ってくれた人、感謝!https://ke-complex-modifications.pqrs.org/?q=japan#japanese

続きを読む

正規表現すぐ忘れるのでビジュアルプログラミングツールを作った ~ Blocklyで簡単にビジュアルDSL作ろう ~

皆さん、DSLを作ることってありますか? 複雑な設定が可能な社内ツールを作るとき、 「DSLを許容したら自由度が上がって素敵では?」 と思うこと、ありますよね。 私個人としては、エンジニア向けのインタフェースとして、DSLで社内ツールを作ると、作る当時は楽しいものの、複雑なことを許容する分保守性に問題がでてくるデメリットも有り、近年は設定はyamlで書ける範囲にすることが多いです。

一方で、非エンジニア向けに、ロジックをビジュアルなDSLで提供できたら良いなってこともありませんか。 例えばjoinとfilterのみに絞ったデータ集計ツールを作りたい、行動Aをしたあとに行動Bをした一部のユーザーにキャンペーンメールを送りたい、などのロジックを安全にかつ柔軟に提供したいというシーンです。 ビジュアルで書けるって範囲にすれば、複雑度も一定の範囲になるのでありかなと思ってます。 こういう、ロジックを非エンジニアが書けるツールというのは需要があるものの、そこの作り込みに時間をかけると無限に時間が溶けていきますよね。

そこで今回はビジュアルプログラミングのためのフレームワークBlocklyを使ってUI部分を考えないですむビジュアルDSLに入門してみます。

M3エンジニア大大大募集、にマッチする正規表現を作るビジュアルプログラミング例

続きを読む

NVFP4: 4ビットの浮動小数点でLLMを学習する仕組み

こんにちは、AI・機械学習チームの髙橋です。

この記事はエムスリー Advent Calendar 2025 22日目の記事です。前日は同じAI・機械学習チームの鴨田さんによる LLMによって非定形の会話ログを価値あるFAQデータにする話 - エムスリーテックブログでした。

迎賓館赤坂離宮の噴水: 並列処理で射出された水が中央で集約される様子はまるでGPUで行われる行列演算のよう?

はじめに

ChatGPTが発表された2022年11月30日から3年が経過し、それからというものLLMの話を聞かない日はない世界になりました。 今日ではCoding Agent無しでは生きていけない、という読者も多いのではないでしょうか。私もそのうちのひとりです。

さて、ベンチマークや実用上のパフォーマンスといった面では、日進月歩凄まじい進展を見せているLLMですが、その能力のコアにあたる部分は3年経っても驚くほど変わっていません。

すなわち、

膨大なパラメータのTransformerモデルを膨大なトークンで事前学習させる

ことです。

「膨大」という言葉が重複しましたが、この事前学習にはまさに途方もない演算を処理する必要があります。 例えば1T級のモデルを学習するにはおおまかに10の25~26乗 FLOPs 程度の演算量が必要になります。

B200のカタログスペック (1枚あたり2.5PFLOPs、10の15乗)であっても、100日(8.64×10の6乗秒)で学習をするにはざっくり500~5000枚程度が必要になる計算です。

この途方もない演算を行うべく、数十兆円とも言われるデータセンター投資が行われているわけですが、もし同じGPUの計算量を4倍にできたとしたら数十兆円のコストを1/4にできるわけですから、とんでもないROIになります。

今回はそんな可能性を秘めた4ビット浮動小数点、NVFP4について解説していこうと思います。

続きを読む

LLMによって非定形の会話ログを価値あるFAQデータにする話

AI・機械学習チームの鴨田です。 この記事はエムスリー Advent Calendar 2025の21日目の記事です。 20日目は星川さんのSlackワークフロー使いこなせてる?進化したトリガーとリストで実現するハックでした。

サムネ

TL;DR

  • 問い合わせログからFAQ記事を自動生成するパイプラインを構築
  • パイプラインはFAQ以外にも応用可能

日々、企業のシステムには膨大な「テキストデータ」が蓄積されています。問い合わせログ、社内チャットツールでの会話、メールでのやり取りなど...これらは「フロー情報」として消費されるか、あるいはDBの肥やしとして眠ったままになりがちです。

そんな中、LLM(大規模言語モデル)の登場により、これらの非構造化データを「ストック情報=資産」へと変換するコストが劇的に下がりました。

本記事では、私たちが実際に構築・運用しているFAQシステムを事例に、そこで採用したデータ処理パイプラインの詳細と、その汎用的な可能性についてお話しします。

※この記事は2025/8/20(水)に行われたオンラインイベントで発表した内容をブログ化したものです

www.tech-street.jp

続きを読む

Slackワークフロー使いこなせてる?進化したトリガーとリストで実現するハック

はじめに

本記事は、M3 Advent Calendar 2025 20日目の記事です。

Unit3の星川 (@oboenikui) です。 Unit3では、主に医学書の電子書籍サービスや、医師の開業サポート、会員優待などのサービスを担当しています。

弊社ではチャットツールとしてSlackを使用しており、日々の業務で発生する申請や依頼といった定型作業は、Slackワークフローを使用することが多いです。

Slackワークフローをあまり触ったことがない方は、もしかすると「簡単なフォームを作って投稿を作成するツール」という認識で止まっているかもしれません。 しかし現在のワークフローは、簡易的なノーコードツールと言っても過言ではないほど、様々なパターンに対応した便利なツールへと進化しています。

この記事では、Slackワークフローの基本から、その真価を発揮する発展的な使い方まで、実用的な例を交えていくつか紹介します。

すでに基本的な使い方をご存知の方は、「4. Slackワークフローの発展的な利用方法」のセクションからお読みください。

記事執筆期間に構ってほしそうにしてきた飼い猫です。記事内容とは無関係です。

続きを読む