tkm2261's blog

研究員(OR屋) → データ分析官 → MLエンジニア → ニート → 米国CS PhDが諸々書いてます

【Kaggle AdC '23】米国の大学・企業でのKaggle実績の受け取られ方雑感

お久しぶりです。tkmです!

Kaggle AdC '23の6日目として「米国の大学・企業でのKaggle実績の受け取られ方雑感」についてつらつらと書いて行きたいと思います。

qiita.com

昨年Kaggledays Championship at Barcelonaでの優勝から、Kaggleとは少し離れてしまっていますが枠が空いているということで技術的ではないポエムですが投稿します!

注意:これは私が体験した極めて主観的な感想であり一般化して受け取るのは危険です。

TL;DR 実績にそれほど効果はないが、獲得賞金を交えて話すとたまに効く。

正直、実績にそれほど効果はないしGMだからってそれで超すごい!みたいになることはない。

こっちの大学でも機械学習の授業でKaggleは一応習うが特にガチる人は見たことないし、教授としてもコンペと研究は違うと認識しているのでKaggleの実績単体で超評価することはないといった感じ。

近年のML/CV/NLP研究室への出願者のスペックインフレが激しいので、基本的に「手が動く」と見られるKaggle実績は補助的な評価尺度になりがち。

多分、多くの先生方は納得頂けると思うけど、新しいPhD学生を指導する上で一番の難関はTop-tierの会議や雑誌に投稿できるクォリティの論理構成や書き方を指導するところなので、既に論文を持っている学生を取ってしまうのが一番楽。近年のスペックインフレの状態では米国大だとそれが出来てしまうという現状がある。なので、論文持っている>>>Kaggle強いという評価が多い。

(脱線すると、学部修士中に第2著者以下でも論文に関わるのが米国PhD合格にとても大事なのだが、日本の卒論修論の独立してやることをほぼ強制されるシステムは絶望的に相性が悪い。米国PhD留学生を増やしたいなら強制ラボ所属廃止と卒論修論廃止が良いと思うが、特定学生に集中して全体としては学生への教育労力の削減になるので難しそう。)

一方、MLを手法として使っている分野ではMLで手が動くのは評価されるし、そのラボの研究に関連するコンペで勝ってたらかなり効きそうではある。

ただ残念ながらKaggle GMだから米国でウハウハ!ということはなかった。

とはいえKaggleでの実績をみてLinkedinでDMくれる人もいるので全く無駄ということはない。コネ社会の米国で向こうから連絡をくれるのは全くコネなしの第一世代移民にとってはかなり価値があるものである。Kaggle実績は銀の弾丸ではないというだけ突破口にはなる。

日中韓印の人にはそこそこ刺さる。

Kaggleやるとわかるが、日中韓印の人々のKaggle熱は凄いので刺さる人にはたまにささる。ただもちろんどのコンペで何をしたかを話せる必要がある。(最近昔のコンペでやったことを忘れて来ており、これが年を取るということかと最近焦っている。)

賞金額は正義

経験談としてインターンでプロジェクトで手法を提案するときに「この問題設定は、過去のこのコンペと類似しており、有効性が示されたこの手法を使いたい。ちなみに自分はこのコンペで$30k獲得した。」というとウケが良かった。取り組む手法の妥当性と自分が取り組み意味を一緒に示せるので良い。働いたことある人は経験あると思うけど、プロジェクトは走り出したら勝ちなので雑多な議論は実績でバリアできると色々面倒が少なくなる。やり過ぎると嫌な奴なのだが、社会には変なやつが多いので面倒が減らせるなら実績は適度に使うとよい。

そもそもKaggle実績って全面に押し出すべきではないよね

Kaggleも学歴と一緒で過去の実績なので、まともな人はそれを全面に押し出したりはしない。働き始めてからも〇〇大卒やセンター(共通)試験の点数でドヤってたらTwitterでネタにされるように、過去実績は全面に押し出すと角がたつので匂わせるぐらいが一番カッコよい。

日本の上位Kaggle勢もKaggle入賞歴を全面に押し出す必要がないぐらい各分野で既に活躍しているし、客観的な成果がまだ出てない人もKaggle実績を直接押すよりはKaggleを通して得られたものを言語化して伝えた方がウケが良いはず。

個人的には、手前味噌ながらKagglerで鍛えた自分の実験管理や実装スキルやスピードは他の学生と比べて卓越しているように見えるし(自分は5年会社を経た退職D進だからそりゃそうではあるが)、Kaggleで学んだやり切る姿勢は、研究でも仕事でも活きている。

ただし客観業績を積み上げるのは自分に味方してくれる人への優しさでもある

Kaggleである必要はないが、実績という客観評価を積み上げる事は大事で、自分に味方してくれる人への優しさであるだと思っている。もし誰かが自分を何かのプロジェクトに抜擢してくれる時に「彼Kaggle GMなんすよ!」と偉い人に言えたら例え自分がプロジェクト失敗しても自分を推挙した人に責任が行きづらいし、そもそも自分を推挙してくれる人に一言で偉い人に伝えられられる言葉を客観評価は渡すことが出来る。いかに凄い人でも客観評価なしに抜擢しろは傲慢になりがちだし、自分に味方してくれる人への優しさとして客観的な実績はあったほうがよい。Kaggleである必要はないけど。

これが濫用された結果が過度な学歴フィルターとかになるんだけど、評価される側が客観業績を頑張るのは基本良いことと思う。

直接的に得るものが少なくてもKaggleに参加してしまうのがKagglerの性

何か偉そうなことを書いてしまったけど、結局みんな大体Kaggleは楽しいからやっていて何か役に立ったらラッキーぐらいの感覚と思う。プロになれないからって部活やらない理由にはならないのと一緒で「Kaggleを通して得られたのは最高の仲間です!」エンドで良いと思う。

なので百万回言われているけど、就活を目的にKaggleをやると結構ツライはず。ただ始める動機は就活でも何でもいいのでKaggle楽しいので是非挑戦して欲しい!あのLBを駆け上がる快感を是非一度堪能して欲しい。

今年はプライベートのごたごたでメンタルをやられ、卒業に向けてのインターンや論文投稿などの忙しさもあってKaggle控えていたけど(始めると止まらないので)、来年からは私も復帰します!

サンフランシスコ短期滞在の宿探しTipsみないなもの

お久しぶりです。tkmです。

Twitterにも投稿していましたがこの夏にSFのミッション・ベイにある某社で3ヶ月夏のインターンをしておりました。

その際に、宿探しに結構苦労したので後の人のために少し役立ちそうな情報を書いておきます。私はCentral Richmondというゴールデンゲートブリッジの近くに住んでいましが、治安が良い反面オフィスまで遠かったので今なら別の所にしたと思います。

マリファナと小便の臭う街・サンフランシスコ

今更強調する必要もないと思いますがSFは治安が終わっています。特にTenderloinとCity centerの周りは浮浪者だらけでヤバい雰囲気が行くだけでわかります。

その反面、ギャングとかが幅を利かせている類のヨハネスブルグみたいな治安の悪さではなく、浮浪者とかが徘徊しており時折クルマの窓を割っての窃盗といった軽犯罪が溢れているタイプの治安の悪さなので、地域を避けてしっかり自衛すればある程度は対処がしやすいのかなと言う感じです。大人が一人暮らす分にはなんとでもなるけど、子供をここでは絶対に育てたくない街という感じです。

まずサンフランシスコに住まないという選択肢を模索する

私同様にSFでのインターンが決まっていて家を探していると想定します。まずは会社に従業員用シャトルバスの停留所を確認しましょう。

ベイエリアの大きな企業なら大体通勤バスを周辺に走らせています。そのためOaklandなどのEasy bayや南のDaly cityあたりに住むのが一番コスパが良い可能性があります。

私は今ならDaly cityあたりに家を探したと思います。Daly cityからSF市街地には高速で30分ぐらい行けるので十分近いです。私のRichmondからだと下道で1時間ぐらいかかりました。(間の停留所の数にも依る。)

OaklandとDaly cityはともにBARTで市内に行けるのも良いです。(ただしOaklandも治安が悪い地域があるので要注意。)

それでもサンフランシスコに住む場合

一応上司にインターン前に家探しアドバイスを貰ったのでここに置いておきます。

  • Tenderloinは絶対避ける。
  • MissionならBART駅周辺は避けてValencia St側が良い。
  • SoMaはアパートいっぱいあるけど安全を求めるなら5th Streetより東側が良い。
  • その他Noe Valley, Cole Valley, Castro, Sunset, Richmond, Lower Haight, Hayes Valley, Marina, North Beach, South Beach, Japan Townとかは良い。

これに従って、私はRichmondにして治安の良さには満足しています。ただ会社まで10kmでチャリ通が大変だったので次あったら別の所にします。Daly cityが第一候補ですが、今思うと男単身ならMissionとかSoMaの辺りでも良かったかなと思います。

ちなみに10kmチャリ通が片道40分で会社のシャトルが1時間10分ぐらいだったのでチャリ通のほうが早く、市街地のバスの運転は乗り物酔いになるのでチャリ通のほうが快適でした。

短期ならAirbnbがやはり安牌

短期滞在で信頼出来る大家を探すのは至難の技です。当然高くはなるが(月$2.5k以上)手間暇と詐欺のことを考えるとAirbnbが一番良いです。それ以外だと個人取引になり詐欺の可能性が一気に上がります。(Redfinみたいなサービスは基本長期滞在向け)

個人取引で家を探す場合、独断と偏見ですがF◯cebook Marketplaceは絶対避けた方が良いです。あそこマジで詐欺だらけです。

こっちも危ないのですがまだCraigslist(日本のジモティーみたいなサイト)の方が良いです。一応地元民が使うサイトなのでまともな投稿も多いです。

sfbay.craigslist.org

私は最終的にCraigslistで月$1.5kの部屋を見つけました。(Private roomでバスルームはルームメイト一人と共用)

周りに聞くとかなり安い価格なのでラッキーでしたがこれが詐欺の可能性もあったので万人には勧めづらい。Security depositの$1kを先に払ったけどいざついたら鍵貰えなかったみたいな可能性は大いにあったと思います。

あとVenmoみたいな米国の個人間決済手段がないとCraigslistは使うのが厳しいかもなので日本から来る場合みたいなのは大人しくAirbnbが良いと思われます。

サンフランシスコは自転車が便利(※電動自転車に限る)

自分はLAからギアなしの自転車を持っていったのですが、坂の街の名称は伊達ではなく動力補助のない自転車でSFを走るのは相当の覚悟と体力が求められます。

電動自転車は市内至る所でこのLyftのやつが借りられるのでチャリ通するなら無理せずこれを借りてしまうのが良さそうです。

https://www.lyft.com/bikes/bay-wheels

社食完備ならホテル滞在という選択肢

Uberの運転手と話していたら最近ホテルの部屋の価格が落ちているらしく月$2.5kぐらいで住めるところもあるそうです。(ただヤク中が使ってるような安いホテルは絶対避ける)

私の場合会社で3食賄えて家には寝に帰るだけだったので今思うとホテル暮らしでも良かったなと思います。ただ外食は高いので事前に社食の情報を聞いておくのをおすすめします。

公共交通機関にはスマホのウォレット機能が便利

SFの公共交通機関は基本的にClipper cardで全部乗れるのですが、物理カードを買いに行かなくてもスマホのウォレット機能でセットアップ出来てオートチャージも出来るのでこっちの方が楽です。

サンフランシスコに駐車場がない問題

一応住宅地のストリートパーキングは基本無料で出来るのですが、かなり競争率が高く毎回探すのは面倒だし、長期間止めて置くのも窓が割られそうなのも心配です。駐車場を契約するにも市内だと月$300以上はします。

なので私は知り合いに教えて頂いた、BARTのDaly city駅の駐車場に3ヶ月間クルマを駐車していました。幸い窓も割られず無事でした。

https://www.bart.gov/stations/daly

HPにある通り、Multi Day Reservedで一日$6で駐車出来ます。土日祝は無料なので一月$120程度で停められるので許容範囲でした。さらにBARTのスマホアプリで支払いとかが出来て便利でした。

ちなみにMonthly Reserved ($105)はOvernightが許されないので停めっぱなしにする場合はMulti Day Reservedにする必要があります。

絶対に一瞬でも通信機器を車内に放置しない

こっちはクルマの窓が割られての窃盗が有名ですが、あれもランダムにやっているわけではなく車内に通信機器があるかをデバイスで探してターゲットを探しています。そのためいついかなる時も絶対に通信機器を社内に放置しないことが大事です。あと当然ながら荷物を外から見えないようにしておくのも大事です。

SFに滞在するなら夏でも寒さ対策必須

SFは例外的に夏でも寒い(15℃とか)ので、半袖短パンとかだと地獄を見ます。基本的にユニクロのウルトラライトダウンが必要なぐらいの気候なので長袖+上着ぐらいは絶対に持ってきましょう。ちなみにこれはSFに限った話なのでSan Joseといった他のベイエリア地域の場合は普通に夏は暑いです。

ゴールデンゲートブリッジもベイブリッジも今はネット支払い完備

ゴールデンゲートブリッジもベイブリッジはなんかFasTrak (日本のETCみたいなやつ)がないと面倒と思っていたのですが、今はナンバープレートでネット支払い(48時間以内)出来るので楽でした。ちなみにSFから出ていく場合は無料で来るときのみ課金されます。

サンフランシスコが避けられるなら避けた方が良いよ

長々とTips的なのを垂れ流しましたが、もしインターンで選択肢があるならSF以外がやっぱり良いですよ。チームマッチ次第ですがSunnyvaleとかSan Jose辺りのオフィスに出来ないか交渉するのもよいと思います。SFの良いところは夏でも涼しいのと日本食も含めレストランがいっぱいあるところぐらいでした(なお値段)。

【社会人学生AdC '22】日米研究室の違い: 日本の研究室で論文量産するの無理じゃね?

お久しぶりですtkmです。昨年に続き、社会人学生AdC '22の12日目として日米研究室の違いについて話して行きたいと思います。もう流石に留学生活ネタは尽きてしまったので、そこは他の方のを見られるとよいかもしれません。

adventar.org

昨年の記事はこちら

yutori-datascience.hatenablog.com

*私の詳細な留学模様については過去の記事をどうぞ

TL;DR: 日本の研究室は人が少なすぎる

煽った記事タイトルをつけましたが、別に日本の教授やその他人材や設備が著しく劣っているとかそういう次元では無く。単純に人が足りない。正確に言うと稼動が計算できる人がいない。私の日本の指導教員は「助教時代が一番研究できた。」と言っていたが、助教は講座で1, 2人でこれに少々の博士学生を加えても全く全然足りない。

論文を書くには多大な労力が必要なので今の人がいない状況で論文が出ているのは逆に凄いことのように思えてくる。(紙と鉛筆がメインの分野はわからないが。)

米国の研究室の主力は博士課程学生

周りをみると概ねPI一人に付き4-5人の博士課程の学生を持っている。これは予算によってキャップされるので大きいラボは10人とかいる。(その場合一人で見きれないのでポスドクを雇ったりする)。つまり彼らは雇用されており、PIの指示の下フルタイムコミットで研究する人員がこれだけ揃っている。

Twitterでは日本の教授や准教授は科研費といった研究費申請と学務に忙殺されて研究が出来ないというのはちらほら見受ける。ただこれは日米同じであり、PIはむしろそれが主業務で、基本的に研究指導はするが自分は手を動かさない場合が多い(というかそう期待されている)。

科研費の採択率30%が低すぎて労力を無駄にしているという話もあるが、米国のNSFの採択率は10%ぐらいで、そこで大きい差はでない。というか米国のほうが大変である。 学務においても、米国は教授のサポートが多いというが、結局教授でしか出来ない仕事(授業、学会業務、入試業務)があり日本のと比べて著しく楽になっている感じもしない。というか州立大の事務はかなり酷い。

結局、違いは博士課程学生の数である。とくにフルタイムコミットの博士課程学生の数。競争的資金という米国っぽい方式を導入してみても根本の博士課程学生がいなければこれが回るはずがない。PIがいくら忙しくても各博士課程学生に週1時間MTGができれば研究を回して行くことは可能であろう(論文投稿前を除く)。こうなると「学部修士の学生がいるではないか。」という話になるが、残念ながら彼らは戦力というよりむしろ重荷になりがちである。

学部修士の学生は基本的に戦力にならない

彼らの能力が劣っているわけではない。むしろ年々凄い学生が増えている気さえする。

ただ戦力として計算できない。これがキツイ。この増田でも指摘されているが、学生のやる気に依存している現状は研究をリスクに晒すだけで、積極的に彼らを研究に加えたいとは思わない。

anond.hatelabo.jp

正直な話、たとえ少し追加の手間がかかっても、研究室の端っこでやった適当なおままごとを卒論修論にして旅立っていってもらいたいと思っている研究室は多い。つまり学部修士の学生は研究の戦力どころか重荷なっているケースが多い。

これも指導教員の立場にたつと仕方がない。最長3年(しかも色々ぶつ切りにされる)しかいない学生に一生懸命研究指導しても、一番佳境の時期にインターンだ就活だで稼働が計算できないのならば最初から放置が一番安定の選択になる。

この場合、たとえ自分の研究ネタであっても、学部修士を頑張って指導するよりかは、稼働が計算できるところと共同研究してしまうのが手っ取り早い。教授や准教授なら別に主著論文が必要なわけではないのでそれで良い。

そのため、超優秀な学生が来たら、とりあえずやらせて目が出そうなら掬い上げるという方式になる。つまりかなりの部分を自力で研究者の道を切り開く必要があり、少子化の日本でかなり贅沢な人材の使い方といえる。

日本の博士課程学生は戦力になるか?

「戦力になる。」と言いたいところだが微妙な面がある。能力云々というか、上記の放置が基本戦略な状況から博士課程学生になっても結局その延長線上になりがちである。やはり優秀な人は生き残って行くし、独力で何とかするのを尊ぶ空気さえある。つまり博士課程のエコシステムがない。

残念ながら世界的にAcademiaにおいては「指導教員についてその分野の価値観を学び、そこで評価される研究を行う。」という超属人的なシステムでしか研究者を育てることに成功していない。これはシステム化大好きなはずの米国でさえ採用している以上、現状の最良の方法と思われる。学会がコミュニティである以上、指導教員の導きは思っている以上に大きい。

そういった指導がされている日本の研究室があるのは知っているが、博士課程でもやっぱり放置して頑張れが指導教員としては合理的な選択になりがちである。以前投稿もしたが「早すぎる独立」つまり千尋の谷に突き落とすという人材を贅沢に消費する戦略になっている。

これは指導教員としてはある程度仕方なく、博士課程の学生は自分で授業料を払っているわけで強制する力はないし(なんなら自分で学振もとっている)、米国の5年の博士課程と違って3年なんだから「手取り足取りは修士で学んでいるべき。あとは独力で頑張れ。」という態度になりがちである。

結局ラーメンハゲが正しく、指導教員も強制して学生と揉めたくないので軽いアドバイスに留めて放置が安牌となる。満期退学になっても「残念、芽が出なかったね。仕方がないよ。研究なんだから。」と、そんな訳ないだろと言いたいところだが、これが許容される雰囲気を感じる。

研究者育成にはまとまった時間と規模が必要

じゃあどうしたら論文を量産してくれる学生が育つかというと、結局指導教員制度は丁稚奉公なので、ある程度強制する力がある丁稚時間と、指導した分を論文量産で返してくれる奉公時間を指導教員に与える必要がある。米国の今の制度は5年を良しとしている。

これを一人づつやるのは効率が悪いので、複数人の博士課程を継続して採用して5−10人のチームとして動くのが効率がよい。日本では博士課程学生は少数でかつ互いに独立しているのをよく見るが、これは将来独立した研究者になるには良い訓練と思うが、PIが獲得したテーマのもとチームで攻めるのに比べると効率が著しく悪い。

これのせいで、よく日本で耳にする「先に論文を出したのは我々だが、外国のグループに周辺の仕事を抑えられた。」といのはそこかしこで起きていると感じる。論文量産にはやはりチームが必要。これは自転車ロードレースで集団相手に単独で戦っているようなものなので絶望的な差になる。

チームで近接した分野をリソースを共有しつつ各々で攻めつつ、主著と共著に互いに入り合って進めていくチーム作りが論文量産には絶対必要。

博士課程学生の維持にどのぐらいお金がかかるか。どこから捻出するか。

ウチの場合、博士課程学生の維持には1クォータで授業料$6kと給料$6kがかかるため、年間$36k(夏学期除く)がかかる。もし夏も研究して貰う場合は授業料は無いので年間$42kが博士課程学生の維持コストとなる。5人雇ったら$210kになり小さいラボでは維持がキツイ。

ただ米国の博士課程学生はTAや採点係の雇用が保証されており、教授は給料$6kをTAしてもらうことにより負担を軽減できる。つまり研究費が潤沢なラボは研究すれば良く、そうでない場合は大学がTAとして給料を出している。(TA業務は重いので研究にかなり支障がでるが。)

こういった制度をいきなり日本でやるのは無理だと思う。ただ競争的資金で米国に似せた方向に舵を切った以上、博士課程の給料が出ないのは片手落ちである。

個人的には修士の授業料(ときにProfessional系修士の授業料)を爆上げかつ乱立させて原資を稼いで欲しい。博士課程学生はこれのTAをやれば稼げるようになって欲しい。

今でさえ東大修士といっても千差万別だし、もう入試ザルにしてクソ辛い課題を2年間こなしたらほぼ誰でも取れるようにしようぜと思う。米国のオンライン修士なんてまさにそう。東大であっても修士レベルで高学歴もブランドもクソもないよ。修士卒で凄い人もいるけどその人別に修士だから凄いわけではないでしょ?

日本は怪しげなプログラミングスクールやらセミナーが乱立して社会人以降の学び直しが全く機能していない。ここに浪費されるお金をしっかり大学に持ってきて大学がお金を稼いで欲しい。Professional系修士なら就職予備校でいいんだよ、DockerとかGitでも教えればいい、生徒が満足して金払うなら。それで助教以上の人がこのコマでより雇用されるなら万々歳。卒論修論ナシなら大して負担もないでしょう。

日本の研究室は人もいないのに労力の配分がなんかおかしい

人はいないわ忙しいわで回っていない日本の研究室事情だけど、そんな状況なのに何か労力の配分がおかしいと感じる。自分が日本の学部や修士にいたときは何とも思わなかったが、たかが学部や修士の学生の卒論(研究)指導に労力を割きすぎではないかとおもう。卒論修論を通して学べる論理的な文章の書き方は学生にとっては良いが、労力に見合っていない。もうポスター発表とかで良くないか?何ならグループワークでも良い。教授陣雁首揃えて、たかが学部修士の研究を真剣に見る必要あるか?

学生としても無駄に労力とられるし、修士進学するなら卒論の労力で国際会議付属Workshopの論文でも指導教員と書き上げた方がよっぽど身になるし履歴書に書けるし一応ラボの業績にもなる。

最近大学の先生が企業のインターン等で研究時間が減っていることに憤慨していて、それはそうと思うが。そういう学生に注ぎ込まれる貴方の時間が勿体ないと思う。そういった学生はどうせ研究ガチらないんだから授業だけで卒業出来るようになるのがWin-Winのはず。どうせそういう学生をとる企業は出身大学名しか見てないんだから厳しくしたって誰得だよ。

最後に

色々書いたけど私が適当に思いつくものは、現場の人々はとっくに考えていて、それでも出来ない事情があるんだろうなと思う。あと私が米国でPhDを取っているせいで米国のシステムにバイアスもされている。

ただ普遍的に「人がいないと論文が書けない。」は事実なので。本当に何とかなってほしい。景気が良い頃は企業の中央研究所がこの博士課程の問題を補完していたと思うが、軒並み潰れた現状、博士課程の社会的位置づけとシステムの見直しが求められているのだと思う。

Kaggledays Championship Finalをぶっちぎりで優勝した。

Foursquare - Location Matchingコンペで2位でした。

Tkmです。

色々問題のあった、Foursquareコンペですが一応2位ということで確定しました。TrainingがTestに紛れ込むという前代未聞のことでしたが、起こってしまったことは仕様がないです。

Kaggle側にデータ解析コンペへの愛のない対応が最近目立つので、今後どうなっていくのか見ていきたいものです。

ずんだもんとめたんで学ぶKaggle 入門 & 参戦記の動画を上げました。

お疲れ様です。tkmです。

前回のブログでご報告したPetfinderコンペはノリと勢いで動画化しつつ参戦するという試みを行っていました。なんと幸運にも2位入賞も出来て、賞金入賞の過程を動画化できた貴重な感じになっているので、良ければご視聴下さい。全部でPart 11までありますが、多分2時間ぐらいで全部見れるはずです。

www.youtube.com

Kaggle PetFinder.my - Pawpularity Contestコンペで2位でした。