機械学習の就職面接 - 完全ガイド
(silviasapora.github.io)- Machine Learningの博士号取得後、Research Scientist職を探す全プロセスをまとめた実践的な体験集
- DeepMind、Isomorphic Labs、Cohere、Meta、およびステルススタートアップなど、面接を完了したすべての企業からオファーを得た事例に基づく
- 面接獲得の基準、技術・感情・ロジスティクス面の準備法、スタートアップ vs ビッグテック比較、年収交渉まで段階的に整理
- RSUとstock optionの税務・構造の違い、transformer・attentionの直接実装など、具体的な準備項目を含む
- 面接は本質的に確率的(stochastic) であり、その結果が研究者としての価値を決めるものではないというメッセージを強調
面接結果の全体像と背景
- ML博士課程修了後のResearch Scientist就職活動を自ら経験して整理。開始時点では参考になる資料がほとんどなかった
- 面接を完了したすべての企業からオファーを獲得 — DeepMind(受諾)、Isomorphic Labs、Cohere、Meta、ステルススタートアップを含む
- Anthropic、Mistral、TeslaAIは連絡が遅く、プロセスは未完了
- ReflectionAIはRS職で唯一の不採用だったが、代わりにEngineeringトラックへの転向を提案された
- SpaceXAI、Waymo、Wayveからは面接招待なし
- Waymoには博士課程の間ずっと6か月ごとに応募していたが、一度も返答がなかった
面接を獲得する方法
- 面接獲得の最大のレバーは、より多くの論文、流行のテーマ、より良いインターンシップ
- 博士課程中にICLR / NeurIPS / ICMLで発表した筆頭著者(または共同筆頭著者)論文4本を保有(LLM、RL、Meta-Learning、Evolution Strategies)
- Appleでのインターン経験とMetaでのソフトウェアエンジニア経験あり
- おおよその基準として、筆頭著者論文3本以上 + インターンまたは業界経験1回以上があれば、上位ラボから継続的にコールバックを得やすい
- すでに面接を受けられているなら、追加の論文はあまり役に立たない → 研究ではなく面接準備に集中すべき。準備が十分だと感じる瞬間は来ないので、今すぐ始める必要がある
カバーレター、推薦、コールドメール、LinkedIn/X
- LinkedIn / X: 多くの企業が求人を掲載しており、インターンシップではここが唯一の応募経路であることもある
- 投稿に紐づいたGoogle formを記入して初めて正式な応募として扱われる
- Referrals(推薦): あれば望ましいが必須ではない
- DeepMindでは推薦があった職種も、なかった職種も、どちらも面接招待を受けた
- Cold emails(コールドメール): 採用担当者やチームメンバーに直接メールすることは、しばしば歓迎される
- CVの繰り返しではなく、そのチームに適している理由や興味を持っている点を説明すべき
- Cover letters(カバーレター): 求められることはまれだが、要求されたらきちんと書く
- Claude / Gemini / ChatGPTに丸ごと書かせないこと。自分で書いたうえで整える用途にのみ使う
スタートアップ vs ビッグテック
- スタートアップの方が見つけにくい。集中した探索先がないため、同僚・友人・元同僚からの口コミが最良で、その分競争もやや緩い
- スタートアップは面接プロセスのばらつきが大きい一方、ビッグテックは比較的予測しやすい構造
- プロセスがあまりに簡単に感じられる場合、実際の業務の複雑さに関するシグナルかもしれない
- 仕事の性質は双方向 — 合うスタートアップでは、より面白くインパクトの大きい研究ができる一方、より大きなプレッシャー、インフラ作業、頻繁な研究方針の変更を伴うこともある
- 面接では、研究の優先順位を決める人、収益化の道筋、競合などを質問するとよい
- 成長機会: スタートアップでは急成長と責任拡大、仕事の方向性形成の機会がある。ビッグテックでは大勢の中の一人になりやすい
- CV上の認知度: OpenAIやAnthropicは即座に認識されるが、無名のステルススタートアップは説明が必要
- 雇用安定性: ビッグテックも大規模レイオフを繰り返しており、どちらも100%安全ではない
報酬: RSU vs Stock Option(英国基準)
- RSU(ビッグテックで一般的): vesting scheduleに従って実際の株式を受け取り、vesting時にはおよそ半分が所得税充当のため即時売却される — RSUは所得として課税される
- Stock option(スタートアップで一般的): 株式そのものではなく、固定価格Xで購入できる権利を得る
- 市場価格Y > Xなら、Xで買ってYで売ることで差益を得られる。Y < Xなら、そのオプションは無価値
- Stock optionは通常退職後90日で失効し、企業が未上場なら購入後も売却できない
- 英国ではオプション行使の瞬間、まだ1円も受け取っていない状態でも、Y−Xの差益に対して所得税が課される
- 未上場企業で2年勤務後に退職・行使する場合、利益が出る前に、(X × オプション数) の購入費用 + (Y−X) × オプション数 × 税率の所得税を負担することになる
- 多くはcashless exerciseオプションを提供し、多くの企業が自社株買い取り(liquidity event)を実施する
- ただし資金調達ラウンドのたびに持分は希薄化し、追加利益には約20%のキャピタルゲイン税が課され、liquidity eventでの評価額は公式な企業価値より低く設定される
- 要約: リクルーターがスタートアップ株式込みの総報酬額を提示してきたら、丁寧に微笑みつつ、かなり割り引いて受け取るべき
面接の構造
- ほとんどの企業が似た構造に従うが、各段階の比重は異なる
- Recruiter screen: 通常は負担の軽い会話であり、自分のスキルが職務に適しているか、また自分の論文を説明できるかを確認する機会
- Technical interviews: プロセスの大部分を占め、準備が最も重要。企業によって3〜8回
- Coding: LeetCodeスタイルで、通常はMediumまたはHard
- ML coding/debugging: attentionの実装、backward passの作成、学習ループのバグ検出
- ML knowledge: 基礎、理論、応用ML、システム設計
- Behavioural interviews: 古典的な行動質問と研究寄りの質問(関心テーマ、分野の展望)に分かれる。技術面接よりカジュアルだが、軽視してはいけない
技術面の準備
- 最重要パートなので飛ばさないこと — 優秀な研究者でも準備不足で落ちた例がある。毎日MLを扱うことと、attentionをゼロから実装することは別物であり、最低1か月は規則的な学習時間を確保する必要がある
- メタ戦略としては、一般的な準備は最小限にとどめ、次の具体的な面接・企業に合わせたターゲット準備を行う。そうすることで知識を頭の中で新鮮に保てる
- RS / Engineer面接では、overfittingのような基礎からLeetCode、transformer実装、Griffin・TransformerXL・S4のような現代的アーキテクチャまで、ほぼ何でも出題されうる
Flashcards
- ML基礎、応用ML、研究ディスカッション用に活用。Ankiより物理的なフラッシュカードの方が効果的だった
- カードを自分で書くこと自体が学習の半分であり、他人のデッキをダウンロードしてはいけない
- 復習時には自分で問いを立てながら深く理解する。学習中に投げた問いの多くが実際の面接でも出題された
LLM模擬面接(Claude / Gemini)
- 各面接の前に、職務・面接・企業の説明をLLM(主にClaude)に貼り付けて模擬面接を依頼すると、練習問題と実際の質問が重なることがよくあった
- 難易度が合わない場合は、新しいチャットで自分のレベルや背景をより明確に指定する
- 学習用途ではClaudeが最も優秀で、フィードバックも公正だった一方、Geminiはやや褒めすぎる傾向があった
LeetCode / NeetCode
- 最低でもBlind 75、必要に応じてNeetCode 150も実施。中心はMedium
- 各問題では最適解を目指すこと(TwoSumのO(N²)解は認められない)。Hardに時間をかけすぎない
- DFS、BFS、Graphs、Backtracking、DP、Binary Searchなどの基本パターンを素早く実装し、Medium1問あたり20分以下を目標にする
- 15分以上詰まったら解答を確認して印を付け、次に進む
- 深さより広さが重要で、Mediumを合計約150問解いた
Books
- Designing Machine Learning Systems(Chip Huyen): 基礎および応用MLの質問を多数カバー
- The JAX Scaling Book: 面接後に見つけたが優れており、事前に知っていれば積極的に活用したかった資料
- Reinforcement Learning(Sutton & Barto): RL初心者にのみ推奨。すでにその分野で働いている人にはやや過剰
Courses
- 線形代数: Gilbert StrangのYouTube講義。2倍速なら1日で完走可能
- Diffusion / Flow Matching: MIT、Stanfordの講義はいずれも優秀だが、数学比重が高い。未経験者ならdiffusion SDE・flow matching ODEなどの基本直感と要点だけ暗記しておけばよい
ML coding と debugging
- 良い資料が最も少なく、実務経験が最も重要な領域。デバッグ面接は、LLMがもっともらしいバグ入りコードを安定して生成できず、練習が難しかった
- 自分または同僚のコードベースをレビューするのが最善で、DeepMLやTensor Puzzlesも役立つ
- 目標ベースライン
- transformerをend-to-endで実装する
- causal、cross、self attentionを実装する
- flash attentionを実装する
- attention backward passを実装する
- MLP forward / backward passを実装する
- PyTorchまたはJAXでSGD学習ループを実装する
- これらを時間制約の中で自力実装できれば、十分良い状態
感情面の準備
- 精神的に問題ないなら、このセクションは飛ばしてよい。不要な不安を植え付けないため
- 最大の問題は睡眠だった — 面接前日に眠れず、週10回面接があると深刻な問題になる。食事も難しくなり、吐き気も生じた
- 規則的な運動、一貫した夜のルーティン、社会的孤立を避けることが推奨される
- 面接前のランニングは、緊張エネルギーの解消と頭のリセットに役立った
- 面接前ルーティンを維持することで大きな安心感を得られた — 背景に生花を置く、メイクやスキンケアをする、いつも同じ安心できる動画を見る
- ある時点からは、不安の方が準備以上に足を引っ張り、面接中に頭が真っ白になることもあった
- 自分のトリガー、失敗との向き合い方、自尊心の根拠を始める前に省みておく方が有利
- 重要なメッセージ: 人間としての価値はこれらの面接で決まらない。このプロセスは本質的に確率的であり、よく知っていることでも失敗することはあるし、それでも問題ない
- 役立った本: The Now Habit、The Gifts of Imperfection、Mindset、The Tyranny of Merit
ロジスティクス面の準備
- 1日に面接は1件だけ: 面接は消耗が激しく、1日の3件目には自然とパフォーマンスが落ちる。午前の面接後は残り時間を次の準備に使う
- 関心の低い企業から始める: 小規模スタートアップや希望度の低い地域などで、プロセス感覚・自信・給与水準を事前補正する
- タイミングを考える: 企業ごとに進行速度は異なるため、オファーが近い時期に揃うよう調整すると実質的なレバレッジを得やすい
- すべての企業に他社の選考が進行中だと伝える: タイムラインが明確になり、進行も速まり、より本気の候補者として認識される
交渉
- 競合オファーを隠せという一般的な助言に反して、多くの企業は増額前に他社オファーの証拠を明示的に要求した。ある企業はスクリーンショットの真偽まで確認してきた
- 企業は欲しい候補者のためなら数字を大きく動かせるので、常に聞く価値がある。ほとんどの企業は交渉に前向きだった
- 締切期限は1〜2週間から曖昧な「合理的な期間」までさまざまだが、延長には概ね柔軟ではない
- リクルーターは候補者の好みをよく読み取る。企業名に触れる頻度や話し方のような小さなシグナルも記録される
- 企業は候補者選好に関する過去データを持っているため、同格競合(OpenAIなど)のオファーだけが実質的な重みを持ち、非現実的な比較は通用しない
意思決定プロセス
- 初期には不安から早めに得たオファーを受諾したくなる誘惑があったが、直感を信じてより良い選択肢を見つけた
- オファー選択基準は勤務地、報酬、名声、仕事内容など人によって異なり、チーム・文化・報酬を知るにつれて好みの順位も変化する
- 両社のほぼすべての人と話したが、皆それぞれ自社を選ぶと言うため大きな助けにはならなかった → 結局は自分をよく知る人との相談が最も有用だった
やり直すなら変えたい点
- スプレッドシートを維持する: 頭の中だけで管理するのには限界があり、企業・進行段階・締切・連絡先を整理していれば、興味があった企業への応募漏れを防げただろう
- 技術だけでなく感情面も準備する: 面接は研究者としての能力や博士号の価値に対する最終判定のように感じられるが、それは不合理なフレーミングであり、事前の内省やカウンセリングが役立ったはず
- 無反応の企業にはもっと積極的に対応する: 応募フォームに頼るだけでなく、直接コールドメールで関心を示してレーダーに入るべき
技術トピック一覧
- 面接開始前に作成した学習トピック一覧。自分の背景上、LLMとRLに関する質問が多く、学習したほぼすべてのトピックが少なくとも一度は出題された
- Reinforcement Learning: Q-Learning / TD Learning、Bellman Equations、PPO、GRPO、GAE、DPO、Policy Gradient Theorem、On/Off-Policy、MuZero、Dreamer、AlphaGo、Soft Actor-Critic、MDPなど
- LLMs: Flash Attention、LoRA、TransformerXL、Griffin、Perceiver、Scaling Laws、Mixture of Experts、RoPE、S4、Tokenisation、RLHF、Causal/Cross Attentionなど
- Generative Modelling: GANs、VAEおよびELBO、Score Function、Diffusion Forward/Reverse Process(DDIM/DDPM)、Diffusion SDE、Flow Matching ODE、Classifier Free Guidance
- Applied ML: Tensor Parallelism、FSDP、DDP、Pipeline Parallelism、Mixed precision training、Gradient checkpointing/accumulation/clipping、JAX・PyTorch・TensorFlowなど
- General ML: Curse of dimensionality、CNN、RNN/LSTM、MLE vs MAP、Bias-Variance Tradeoff、Backprop、BatchNorm/LayerNorm/RMSNorm、Adam/AdamW、KL Divergence、Precision/Recall/F1/AUC-ROCなど
- Linear Algebra: Positive Semi-Definite、Jacobian、Eigenvectors/Eigenvalues、Hessian、Null/Image space、Rank/Span、Determinantなど
まだコメントはありません。