# サーバーサイド/インフラ 責任の分離という意味ではGoからPythonの機械学習用のサーバーを読み出しても良い。 優先順位 * Terraform * CI/CD * 負荷試験(何rps?) * 責任の分離 話したいこと * キャッシュとかどうする?GCPで使うなら,Redisのクラウドサービスはある。めちゃくちゃ高い * MLのタスクとしてのキャッシュ,ミドルウェアを使うのが実践的。 * MLのテストってどうする? # ML/DS - 評価指標の策定 不均衡データなのでdefaultのAccuracyはマズい ログロス? - 精度向上 - 逐次的に学習or事前学習 逐次的にやるなら最低限dailyで更新はしたい.DBに 先に予測してRedisとかに保持しておく そうじゃないパターンとして,リアルタイムに推論したい場合,マイクロサービス化する。 Goのサーバーの中で推論のスクリプトじゃなくて,別のAPI作って,そこにモデルをデプロイする。 デプロイするときは,Kubernatesを使ってローリングアップデートするとか, そういうのが一般的になる。 今回みたいなのだったら,継続的にユーザーが変化するから,逐次的に学習できたほうが良い。 モデルはサーバーの中にあるから,それをどのモデルに使うか,というのをエンドポイント用意してやってもらう。 サンプルだから,回っているモデルをどうやって更新,ラグタイムを下げるかっていうのはある。 Redis:予測結果をキャッシュしようとしている。