えんじにあのじゆうちょう

勉強したことを中心にアウトプットしていきます。

ServerlessなKubernetes上で機械学習タスクを実行してみる

はじめに

だいぶ間が空いてしまいました。(コロナとかではなく、ネタ切れです)
今回はAlibabaCloudのServerless k8sサービスでGPUが使えるっぽいというのをドキュメント上確認したので試してみた、ということを書きます。

Serverless k8sを使うメリット

Serverless k8sを使うメリットはとても単純で、「実行時以外お金がかからない」という一点がとても大きいと考えています。
お金がある人は、普通のk8sサービス使って、GPUインスタンスも立てまくっておけば別にいいと思いますが、GPUインスタンスは最低でも月々80,000円/台くらいしたはずで個人利用や予算のあまりないチームで使い続けるには中々厳しいものがあると思います。
この課題はECS(Preemptive使ったり)のようなIaaSサービスをうまいことプロビジョニングしてやれば十分解決できるのですが、自前で書くとまぁバグを作り込んでしまって正しく終了できないで高額請求と行ったことも考えられます。
Serverless k8sを利用することでk8sなのでjobのyamlさえしっかり書いてあげさえすれば非常に簡単にコード化できるので、CICDパイプラインに組み込んだりすることも容易ですね。
とにかく使わない手はないと思っています。

続きを読む

コードで理解するAutoEncoder

はじめに

前回はPCAについて書きました。
PCAは比較的レガシーなやり方だと思いますが、非常に強力な手法で応用範囲が広いということは、色々なところの記載や実際に試してみてある程度わかった気がします。
では次にということでNeuralNetworkを活用した次元削減技術であるAutoEncoderを試してみようと思います。

実は昔にKerasで書いているのですが、やっぱりnumpyで作ってこそだと思うので改めてnumpy(GPU使いたかったので正確にはcupy)で作ってみました。

続きを読む

コードで理解するPCAを用いた異常検知

はじめに

お仕事の都合もあり、O'Reilly Japan - Pythonではじめる教師なし学習をちょっと読んでいるのですが、PCAで異常検知ができるというところに興味を持ちました。
確かに、他の異常検知も基本は潜在表現を得て(例えばその自称が従う分布のパラメータ)それの95%範囲などから判断する、といったことをよくやるのでできるんだろうなぁ、と思いました。

一方で、そもそもPCA自体よく知らないなと思ったので、一度書いてみることにしました。

続きを読む

コードで理解する移動平均型季節調整法

はじめに

時系列データを扱っていると季節性変動を抽出することがよくでてくる割には、実際どうやってるんだ・・・と思うことが多かったです。
と、言うわけで今回は季節性変動をどのように抽出し、Seasonality, Trend, Residualを分解するかを試してみようと思います。

ちなみに今回は、日本銀行月報5月号を参考にしました。

続きを読む

コードで理解するVARモデル

はじめに

VARモデルのとりあえず推定までをやってみることで、どういうモデルなのか、ということの理解を試みます。

今回も経済・ファイナンスデータの軽量時系列分析を勉強しながら書いたものなので、数式などの詳細はそちらを読むこと。

続きを読む

コードで理解するARモデルの最尤推定

はじめに

前回に引き続き、ARモデルについて書きます。
t.marufeuille.dev

今回は最尤推定でのモデルのfitingを試していきます。

今回も経済・ファイナンスデータの軽量時系列分析を勉強しながら書いたものなので、数式などの詳細はそちらを読むこと。

続きを読む