wantedly / machine-learning-round-table

Gather around the table, and have a discussion to catch up the latest trend of machine learning 🤖
https://www.wantedly.com/projects/391912
297 stars 2 forks source link

[2022/10/20]推薦・機械学習勉強会 #166

Open zerebom opened 1 year ago

zerebom commented 1 year ago

Why

推薦・機械学習勉強会は、推薦や機械学習、その周辺技術を通じてサービスを改善することにモチベーションのある人達の集まりです。ニュースやブログから論文まで、気になったものについてお互い共有しましょう!

発信のため、ここは public にしてあります。外部からの参加をご希望の方は樋口(https://twitter.com/zerebom_3) まで DM を送るか、Wantedly Visit の募集(https://www.wantedly.com/projects/391912) よりご連絡ください!

What

Wantedly では隔週木曜日に

といった話をする「推薦・機械学習勉強会」を開催しています。 この ISSUE はその会で話すネタを共有するための場所です。

話したいことがある人はここにコメントしましょう! 会の間に話した内容もここにメモしましょう!

prev: #164

hakubishin3 commented 1 year ago

ユーザー体験を毀損せず収益は向上させる広告を実現したい

広告の必要性とユーザに影響を与えてしまう難しさを説明した上で、どうすればユーザの体験と広告による収益を両立できるかの指針を紹介している。広告だけでなく推薦や検索などのユーザにコンテンツを届けるシステムにおいても通じるものがあって面白い。

Hayashi-Yudai commented 1 year ago

Compact word vectors with Bloom embeddings

自然言語処理において、単語とembeddingを1対1で対応させようとすると必要なメモリ量が膨大になるので、ハッシュを活用することによってメモリ上に持つ必要があるembedding tableを圧縮することができるという話。

floretというライブラリはfastTextでこの手法を使えるように拡張したもので、学習済みモデルの大きさがかなり小さくなっているらしい。

image

単語数よりも次元の小さいembeddingテーブルを作って単語を対応させようとすると必ず衝突が起こるが、各単語についてテーブルへ対応させるためのキーを複数作って、それらのキーに対応するベクトルの和がembeddingになるとすれば衝突は防げるというアイデア。

# 普通の対応
embedding = table[get_word_id(word)]

# Bloom embedding
embedding = table[get_hash(word, seed=0)] + table[get_hash(word, seed=1)]
zerebom commented 1 year ago

【書き起こし】メルペイが取り組む機械学習システムの品質保証

メルペイにおけるMLシステムの品質保証の取り組み紹介記事。

そもそも品質とは、ユーザ・社会・メルカリなど、それぞれの立場よって求めているものが変わってくる。そういった多くの要求があることを意識した上で、それに答えられるようなMLシステムを作成しているとのこと。

メルペイでは品質保証は、Data, Model, System, Othersに分けてそれぞれ取り組んでいるそう。例えば、ドキュメンテーションの整備に徹底するといった品質の継続性を保つカルチャーを醸成するなど、取り組みが多岐にわたっており参考になりました。

人手による確認を組み込んだ機械学習パイプラインの実現

↑の記事にリンクされていた、メルペイのMLパイプライン解説記事。

モデルチェック用のデータ準備など意外とバグを仕組みやすい部分を自動化し、ワークフローに組み込むことで効率化・正確性を担保している。slackで評価用データが配信される、人でのチェックが済んだことをslackで通知すると後段のワークフローが動くなど、かなり徹底的に自動化しているなと感じました。