GENZITSU / UsefulMaterials

34 stars 0 forks source link

almost weekly useful materials - 11/30 - #119

Open GENZITSU opened 1 year ago

GENZITSU commented 1 year ago

エンジニアのためのマネジメントキャリアパス ~1章 マネジメントの基本 ~

エンジニアのためのマネジメントキャリアパスを読んだので要点をまとめていく

できる上司が持つべき特徴

1 on 1 ミーティングの実施

フィードバックと指導

トレーニングとキャリアアップ

自分に対する責任は自分で負う

上司も人の子

コメント

まだピンとくることが少ないが、今後のためにメモしておく

出典

エンジニアのためのマネジメントキャリアパス

GENZITSU commented 1 year ago

エンジニアのためのマネジメントキャリアパス ~2章 メンタリング ~

エンジニアのためのマネジメントキャリアパスを読んだので要点をまとめていく

インターンのメンター

新入社員のメンタリング

その他のメンタリング

メンターになったら

メンティーになったら

アルファギークへの対応

メンターを管理するコツ

メンターの心得

コメント

メンタリングはチーム作りをする上でもとても重要な下地になると思うが、軽視されることが多い印象がある。
まずは重要な業務であるという認識合わせからしていくべきか。

出典

エンジニアのためのマネジメントキャリアパス

GENZITSU commented 1 year ago

Sale Forecasting and Fraud Detection

CPMPさんによる売上予測や不正検知などの時系列予測モデルのモデリング方法とその注意点を解説した資料

勉強になったスライドを抜粋

gapの存在

売り上げ予測に関しては特徴として利用できる期間と予測すべき期間の間に時間的なギャップが生じることがある

スクリーンショット 2022-11-23 16 51 48

データの整形方法

gap期間を設けた状態でhistoryとtargetのペアを作成 → history期間中から特徴量を生成

スクリーンショット 2022-11-23 16 52 18

スクリーンショット 2022-11-23 16 52 31

validationの方法

時系列に沿ったvalidationを実施する

スクリーンショット 2022-11-23 16 55 16

時系列予測全般の注意点

トレンド成分からの乖離を予測する場合もある

スクリーンショット 2022-11-23 16 58 41

最近のデータが重要なので、重み付けをすることも

スクリーンショット 2022-11-23 16 58 47

系列予測を行う場合

モデルの予測値を再帰的に入力して、系列予測をする方法

スクリーンショット 2022-11-23 16 59 58

各時点ごとのモデルを作成する方法

スクリーンショット 2022-11-23 17 00 06

入力と系列のgapを特徴量にする方法

スクリーンショット 2022-11-23 17 00 14

売り上げ予測特有の注意点

商品によっては課題予測はそこまで大きな問題にならないケースがある

スクリーンショット 2022-11-23 17 02 44

種々のイベントによる影響も大きいのでできるだけ特徴量に組み込む

スクリーンショット 2022-11-23 17 02 53

不正検知について

不正の数は本当に少ない、そして検出すべき不正が本当に正しいものかの確認を怠らないようにする

スクリーンショット 2022-11-23 17 04 29

コメント

系列予測の方法が特に勉強になった。

出典

Sale Forecasting and Fraud Detection

GENZITSU commented 1 year ago

エンジニアのためのマネジメントキャリアパス ~3章 テックリード ~

エンジニアのためのマネジメントキャリアパスを読んだので要点をまとめていく

テックリードに求められる職責

– テックリードはチームの誰よりも技術力に優れた人物が引き受けるわけではない

テックリードが1番に意識すべきこと

テックリードの主な役割

プロジェクトの計画

プロジェクト管理のコツ

  1. 複数の工程に分割する
    • 個々のタスクに分解し、取り組む順序を決定する
    • よくわからない箇所はメンバーからのアドバイスも取り入れタスクを分解する
  2. 細部の引っ掛かりや未知の事象にへこたれない
    • プロジェクト進行は往々にして行き詰まるものである
    • 多少の想定外にめげず、これ以上やっても意味がないと納得できるところまで取り組む
  3. 調整を行いながらプロジェクトを進める
    • 最初に立てた計画を指針に作業状況を見つめ直し、調整を行う
  4. プロジェクト計画時点で得られた洞察から要件の変化に対応する
    • 要件の変化に応じて、機能・品質・納期の間の妥協点を見つける
  5. 完了が近づいたら細部を詰める
    • 見落としや必要な検証が全て終わっているかを確認する
    • 死亡前死因分析などを活用してリスク要員を潰す
    • 障害発生時の対応も決めておく

プロセスツァーと健全なプロセスベース

優秀なテックリードであるために

時間を割いて説明することの重要性

コメント

ここで書かれているテックリードの職責はかなり重たいが、給与とのバランスはちゃんと釣り合うものなのだろうか...

出典

エンジニアのためのマネジメントキャリアパス

GENZITSU commented 1 year ago

【JupyterNotebook/Lab】Jupyter上でデバッグする3つの方法【Pdb】

jupyter上で対話的にデバックする方法の紹介

エラー発生直後に%debugを打つか、%pdb onを設定することでエラー発生時に自動的にpdbに入ることが可能

スクリーンショット 2022-11-24 12 45 06

スクリーンショット 2022-11-24 12 45 12

コメント

EDAする際のでバックに便利だった

出典

【JupyterNotebook/Lab】Jupyter上でデバッグする3つの方法【Pdb】

GENZITSU commented 1 year ago

エンジニアのためのマネジメントキャリアパス ~4章 人の管理 ~

エンジニアのためのマネジメントキャリアパスを読んだので要点をまとめていく

人の管理で求められる主な仕事

部下と良好な関係を築くコツ

1 on 1 の方法

1 on 1 の種別

1 on 1 をする際に意識すること

細かすぎる上司と任せ上手な上司

効率よく仕事を任せるために

継続的なフィードバック文化の構築

効果的な勤務評価を行うためのtips

部下のキャリアアップ支援

コメント

ここまでくると実務経験がないのであまりピンとこなくなってくるな...

出典

エンジニアのためのマネジメントキャリアパス

GENZITSU commented 1 year ago

機械学習の階層モデルの適用でコールドスタート問題に対処する 〜 広告コンバージョン予測の事例

新規広告に対するコンバージョン予測精度を向上させるため、広告カテゴリ / 広告主 / キャンペーン種別などの広告の階層性を活用した事例の紹介

スクリーンショット 2022-11-25 9 50 53

スクリーンショット 2022-11-25 9 51 24

スクリーンショット 2022-11-25 9 52 03

コメント

階層性を活用してCVRが2.0%向上しているのがすごい

出典

機械学習の階層モデルの適用でコールドスタート問題に対処する 〜 広告コンバージョン予測の事例

GENZITSU commented 1 year ago

ディープラーニングにおけるdeconvolutionとは何か

convolution や deconvolutionが行列演算としてどう計算されているかを解説している記事

スクリーンショット 2022-11-25 10 54 49

スクリーンショット 2022-11-25 10 58 08

コメント

恥ずかしながらなぁなぁにしていた部分だったので勉強になった

出典

ディープラーニングにおけるdeconvolutionとは何か

GENZITSU commented 1 year ago

異常音検知関連の情報まとめ

異常音検知タスクの解説資料や論文、データセットなどの情報をまとめているブログ

コメント

いつか役に立ちそうなのでメモ

出典

異常音検知関連の情報まとめ

GENZITSU commented 1 year ago

Behind the Yahoo! JAPAN Top Page: Trial and Error of the Article Recommendation System and Future Challenges

Yahooのトップページにどのニュースを表示するかの推薦システムと試行錯誤の歴史を紹介しているスライド

気になったスライドを抜粋

全体システム

ユーザーのベクトルと記事のベクトルを事前に計算しておいて、optimizer APIがユーザー訪問時に記事を推薦

スクリーンショット 2022-11-25 14 11 52

スクリーンショット 2022-11-25 14 12 05

スクリーンショット 2022-11-25 14 12 23

ベクタライズモデルの訓練方法

BERTやGRUを用いて記事ベクトルとユーザーベクトルを取得している

スクリーンショット 2022-11-25 14 14 22

スクリーンショット 2022-11-25 14 14 30

類似記事のフィルタリング

類似度ベースの手法やクラスタリングベースの手法を適応

スクリーンショット 2022-11-25 14 16 28

スクリーンショット 2022-11-25 14 16 43

現在は表示する他の記事も含めて多様性を計算できないかを試しているが、計算時間が重たいことがネックとのこと

スクリーンショット 2022-11-25 14 17 23

スクリーンショット 2022-11-25 14 17 34

dislikeをどう扱うか

dislikeした記事を用いてuserベクトルを求めたり、dislikeするかどうかを使ってみるのはよいが、なぜdislikeされるかの理由が様々あるため難しいらしい。

スクリーンショット 2022-11-25 14 24 19

スクリーンショット 2022-11-25 14 24 27

スクリーンショット 2022-11-25 14 24 38

スクリーンショット 2022-11-25 14 24 51

スクリーンショット 2022-11-25 14 25 04

再学習に関する不安定性

少数群に対するA/Bテストを行う場合は非対称群に対する性能が支配的になる

スクリーンショット 2022-11-25 14 34 28

スクリーンショット 2022-11-25 14 35 39

スクリーンショット 2022-11-25 14 35 45

スクリーンショット 2022-11-25 14 35 56

コメント

推薦システムのアーキテクチャー参考になる

出典

Behind the Yahoo! JAPAN Top Page: Trial and Error of the Article Recommendation System and Future Challenges

GENZITSU commented 1 year ago

PaLM a 540B state-of-the-art language model

2022年4月にGoogleが開発した大規模言語モデルPaLMの学習にどれくらいお金がかかったかを見積もっている記事

Googleは計算機を保有しているので正確な値ではないが、GCPでインスタンスを購入した場合は以下のような見積もりができるとのこと

Our three (not independent!) methods estimate $17M, $23.1M, and $9.2M for the final training cost of PaLM.

コメント

だいたい20 ~ 30億円くらいのモデル...

30代人間のFLOPSは10 ** 26オーダーらしいので、2,3000億円用意すれば人間相当のモデルが作れる

またCompute Trends Across Three Eras of Machine Learningによると最近の大規模言語モデルは10ヶ月で倍になると言う傾向があり、PaLMのFLOPSが2 x 10*24程度であることを考えるとあと4,5年程度でそこに到達する見込みである

スクリーンショット 2022-11-25 16 41 51

スクリーンショット 2022-11-25 16 44 53

出典

GENZITSU commented 1 year ago

Federated Learning Tutorial (IBIS 2022)

IBIS 2022にてオムロンサイニエックスが実施したFederated Learningのチュートリアル資料

Federated Learningがもつ様々な課題に対する近年の研究動向が詳細にまとめられている。

以下はまとめページの抜粋

スクリーンショット 2022-11-25 17 07 33

スクリーンショット 2022-11-25 17 07 47

スクリーンショット 2022-11-25 17 07 58

スクリーンショット 2022-11-25 17 08 07

スクリーンショット 2022-11-25 17 08 19

スクリーンショット 2022-11-25 17 08 35

コメント

非常に勉強になる。面白い。

出典

GENZITSU commented 1 year ago

Sticker Recommendation Using Federated Learning

Federated Learningを用いたスタンプレコメンデーションを実現するシステムアーキテクチャーの紹介

既存のMLシステムのサービング方法の比較

スクリーンショット 2022-11-29 18 51 20

対象とした問題

ユーザーのテキスト入力から適切なスタンプを推薦するタスク
今回はLINEスタンプのプレミアムプランに登録されているのみを対象

スクリーンショット 2022-11-29 18 53 47

スクリーンショット 2022-11-29 18 52 38

適用したモデル構成

サーバーサイドで事前に候補を絞っておき、クライアントサイドで最終的なスタンプ推薦を実施すると言う構成

クライアントサイドで使用されるユーザーベクトルはここクライアントでパーソナライズされていて、スタンプ推薦モデルはFederated Learningにより更新される

スクリーンショット 2022-11-29 18 54 53

スクリーンショット 2022-11-29 18 55 30

スクリーンショット 2022-11-29 18 55 57

スクリーンショット 2022-11-29 18 56 07

システム構成

スクリーンショット 2022-11-29 23 19 20

利用しているモバイルOSごとにONNXで最適化している

スクリーンショット 2022-11-29 23 20 02

プライバシーへの配慮方法

個々のクリックイベントではなく、クライアントサイドで学習されたモデルを収集してグローバルモデルの更新 (単純平均ベース)を行っている

また差分プライバシーとして、モデルにノイズを載せてサーバーに送信

スクリーンショット 2022-11-29 23 21 54

スクリーンショット 2022-11-29 23 21 09

スクリーンショット 2022-11-29 23 23 37

コメント

実務でFederated Learningを用いることはまだ稀だと思うので、アーキテクチャー例がとても参考になる

出典

Sticker Recommendation Using Federated Learning