Mackerel Meetup #12で異常検知機能について発表しました

タイトルの通りですが、Mackerel Meetup #12で登壇してきました。 ユーザーの皆さんからご要望を直接聞けるので、Meetupは開発者としてもとてもありがたい場になっています。参加してくださった皆さま、ありがとうございました。私が発表したスライドはこち…

はてな社内でKaggleハッカソンを行ないました(TakingDataリベンジマッチ編)

先週末、はてな社内でKaggleハッカソンを行ないました。丸一日、各自好きなKaggleのコンペに取り組んで、得られた知見を共有するという会です。 自分は以前TalkingDataというコンペに参加していたのですが、データサイズが結構大きく、一月くらいやってみた…

最近の砂場活動その5: AWS Step Functionsで機械学習のワークフローの管理をする

はてなブログのHTTPS配信をやっていた同僚からAWS Step Functionsはいいぞ!というのを教えてもらいました(発表資料)。機械学習のワークフロー管理にもこれは便利そうだなーと思って、自分でも試してみました。やってる内容はN番煎じです...。 機械学習とワー…

AWS Batchとそのモニタリング方法について

AWS

最近、仕事や趣味でAWS Batchをよく使っています。仕事と趣味のそれぞれの用途は以下の通りです。 仕事: 機械学習を用いた異常検知システムのパラメータ学習 PyCon mini Osakaで異常検知システム構築の裏側について発表しました - yasuhisa's blog 学習デー…

pg_activityで刺さっているクエリを殺す

サービス運用しているとクエリが刺さってパフォーマンスが悪くなってしまっているとき、ありますよね。根本対応は別途やるとして、今はひとまずこの刺さっているクエリを殺して凌ぎたい。PostgreSQLではpg_stat_activityというテーブルに現在実行中の情報が…

最近の砂場活動その4: CloudWatch Logs/Kinesis Firehose/S3/Athenaを利用してログ分析をやってみる

Fargateを使うようになり、EC2サーバーを管理しなくなってよくなりました(東京リージョン、7月ですね!)。一方、これまでサーバーにログとして吐かれていたファイルの閲覧や集計に困ることも増えてきました(sshでログインして、ログファイルをgrepなどができ…

Go言語でWebアプリを書くときにオートリロードどうするといいの問題

Go

Go言語を書く際、成果物がシングルバイナリになるのは便利です。deployするときや他人に使ってもらうときに、それだけ渡せば使ってもらえるので。cliツールやapiサーバーを書くときにはこの方式で困っていなかったのですが、いわゆるWebアプリをGo言語で書く…

最近の砂場活動その3: フロントエンド編(Vue.js/SPA)

Vue.jsでフロントエンド再入門しました。仕事でjs触るけど、ゼロからあれこれやると分からないことが無限に発生しますね...。成果物はこちら。 GitHub - syou6162/go-active-learning-web ML News サーバーサイドはGoで書いていて、フロント周りがVue.jsです…

PyCon mini Osakaで異常検知システム構築の裏側について発表しました

現在仕事で作っている異常検知システムについてPyCon mini Osakaで登壇してきました。異常検知というマイナーなトピックですが、多くの人に聞いてもらえてよかったです。 #pyconjp #pyconosaka 「Pythonを用いた異常検知システム構築の裏側」吉田康久さんで…

最近の砂場活動その2: ECS/Fargate/AWS Batch編

ゴールデンウィークということもあり、前回に引き続き砂場活動をやりました。前回はCloudFormationを使い、ElastiCache/RDSを立てて、EC2の上でWebアプリを動かすところまでをやりました。 今回はECSやFargate、AWS Batchなどコンテナの恩恵をより受けられる…

最近の砂場活動その1: CloudFormation/RDS/ElastiCache編

機械学習っぽいエントリばっかり書いているけど、普段はWebアプリケーションエンジニアをやっている。そちらの方面の勉強もちょびちょび進めていく。圧倒的に知識と経験が足りなくて、危機感しかない。 アプリケーションエンジニアがインフラオーナーシップ…

NLP(言語処理学会)2018で面白かった論文メモ

あれこれ雑にメモっていて、きちんとしてから外に出そうと思っていましたが、下書きのままお蔵入りしそうだった。出せるところで出す...!すでに開催から一ヶ月も経ってしまった。 A1-1: ニューラルヘッドライン生成における誤生成問題の改善 B2-4: ニューラ…

社内でKaggleの布教活動をやっている話

最近、社内勉強会で機械学習についてエンジニアに説明する機会があり、その際にKaggleについても説明しました。一方で うーん、「Kaggler はパラメータチューニングやアンサンブル等の自明でインクリメンタルな改善『しか』できない」というような誤解はどう…

KaggleのCTR予測コンペで上位10%に入るまでの試行錯誤

週末KagglerとしてavazuのCTR予測コンペに参加しました。Kaggleは機械学習版のISUCONだと思ってもらえばよいです。コンペ自体は終わっているので、late submiteであまり意味はないかもしれません、練習です。leaderboard上で上位10%以内に行けたので、そこま…

S3のログをAmazon Athenaを経由してRedashで分析/可視化

DWHやログ基盤を色々試してみたいけど、Amazon Redshiftよりお手軽に始められるツールとしてAmazon Athenaを教えてもらいました。S3にtsv/csv/json...を置いておくと、SQLで分析できるってやつです。BigQueryと同じくクエリ単位で課金だけど、ログはS3に上が…

Hacker Tackleで「はてなにおける機械学習の取り組み」について登壇しました

LINE福岡で行なわれたHacker Tackleにて登壇してきました。 発表内容は(1)機械学習を使ったサービス開発の難しい点について整理し(2)その難しさを乗り越えていくためにはてながどのような取り組みを行なっているかについてでした。一口に機械学習を使ったサ…

異常検知ナイトでLT登壇しました

機械学習の中でもマイナーなテーマであろう異常検知がテーマの勉強会、異常検知ナイトというイベントでLTの登壇をしてきました。マイナーテーマなのに300人以上が集まる東京怖い。 3ページしかないですが、発表資料も置いておきます(LTのレギュレーションで3…

Rettyにおける推薦文からの見出し抽出の論文を読んだ

OR学会の自然言語処理と数理モデルの特集で、はてなと同じくC向けのサービスを運営しているRettyさんの論文が出ていたので、週末に論文を読みました。方法論としてはシンプルだけど、サービスへの貢献もなかなかありそうだなーと思いながら眺めました。 CiNi…

2018年の目標1: 自分の砂場を作る

2018年の個人目標の一つ。もう一月が終わろうとしている...。 やりたいこと/目的意識 ミドルウェア/インフラで見れる範囲を少しずつ増やしていく/理解を深めていく。仕事で実際使っているっていうのもあるし、インフラ方面への理解を深めたいって気持ちが強…

Clojureの思い出

ふと思い立ったので、記憶から忘却される前に書いてみようと思います。もう2年くらい書いてないけど、4年ほど仕事で使っていました。その期間はコード書くときはほとんどClojureだったので、まあまあヘビーに使っていたと思います。 前提 Clojureを使うよう…

mackerel-agentでChromeのタブが吹き飛ぶ悲劇を防ごう

この記事は、Mackerel Advent Calendar 2017の6日目の記事です。昨日はid:myfinderさんによるMackerel思い出話でした。今日は小ネタです!!! ブラウザのタブを閉じない人間の習慣 全国のブラウザのタブを閉じない皆さん、こんにちは。私もブラウザ(Chrome)の…

マージン最大化近傍法の読書メモ

社内で異常検知本の輪講を進めています。今回は近傍法による異常検知。一年くらいに一人で読んだときのメモはこちら。慣れない人は途中で出てくる劣モジュラの概念や勾配の導出が大変かなと思ったので、メモ書きしておきます。 劣勾配/劣勾配法 目的関数が連…

AWS Lambda上で鯖(Mackerel)の曖昧性問題を機械学習で解決しよう

この記事は、はてなエンジニア Advent Calendar 2017の1日目の記事です。 サービスに関連する言及のみを観測したい こんにちは。Mackerelチームでアプリケーションエンジニアをやっているid:syou6162です。サービスを運営していると、サービスに関するtweet…

Multi-task Multi-modal Models for Collective Anomaly Detectionを読んだ

勤労に感謝しながら読みました(論文, スライド)。いい論文をありがとうございます。 概要 基本的にはSparse Gaussian Markov Random Field Mixtures for Anomaly Detection(ICDM 2016)の素直な拡張だと思います。式は少しゴツいですが、拡張を順番に追ってい…

2017年の振り返り技術編

ふと思いたったので書く。2016年は自然言語研究者からWeb系エンジニアになったということで、今振り返ってもキャッチアップで精一杯だったなーと思うが、2017年は去年よりは慣れたこともあり、もう少し自分にとって新しいことに取り組めたかなーと思う。とい…

AWS Batchのメトリックを収集するMackerelプラグインを作りました

AWS Batchを仕事で使うことになりそうなので、Mackerelのプラグインを作りました。Queueの状態をカスタムメトリックとして収集します。mkr plugin install mackerelio/mackerel-plugin-aws-batchでインストールしてくれ! mackerelio/mackerel-plugin-aws-bat…

特定のDockerコンテナが起動しているか確認するチェックプラグインを作りました

Dockerコンテナをデーモンとして起動(docker run -d ...)させていたけど、いつの間にか死んでいたのを後から知った...ということがあって悲しかったので、特定のDockerコンテナが起動しているかを確認してくれるMackerelのチェックプラグインを作りました。m…

mkrのプラグインインストール機能を使って自分のプラグインをインストールしよう

3行まとめ。 mkrにプラグインインストール機能が付きました jenkinsのビルド時間を監視するチェックプラグインを作って、mkrでインストールできるようにしました 簡単にできるので、是非色々なプラグインを作ってみてください!! mkrにプラグインインストール…

Anomaly Detection in Streams with Extreme Value Theoryを読んだ

Anomaly Detection in Streams with Extreme Value Theory Amossys-team/SPOT: SPOT algorithm implementation (with variants) KDD2017の異常検知の論文です。異常検知を行なうとき、何らかの閾値を設定しますがこの閾値の決定は難しいことが多いです(そし…

IBIS2017の聴講ログ

今年で20周年のIBIS2017に仕事で聴講参加しました。IBISは意外と初参加。とにかく大量の発表があり、全部書いてると膨大になってしまうので、自分のアンテナに引っ掛かった研究についてのみログを残しておきます。問題設定やモチベーションを重点的にメモし…