夏は休暇、休暇、そしてもちろんインターンシップの時間です。 イルクーツク州立大学の「応用数学とコンピューターサイエンス」の分野の3年生として、私は彼らに最も興味がありました。 Yandexのコンピュータービジョンサービスに3か月間参加できたのは幸運でした。 この投稿では、Yandexでのインターンになるのがどのようなものか、彼らが設定されている実際のタスクは何か、そして一般的にあなたに何が起こるかについてお話したいと思います。 難なく選択されたので、私の投稿は今夏を計画している人に役立つと思います。
どうやって始まったの
アンケートに記入する段階でさえ、私には困難が待っていました。フォームの記入に苦労した数時間は、システムを毎晩更新することによって容赦なく破壊されました。 私の意見では、テストの問題を解決したので、完璧ではありませんでした。私はチャンスをほとんど疑い始めました。 そして突然、彼らは私に答えて、コンピュータビジョンサービスの一部であるニューラルネットワークテクノロジーのグループについて知りたいと申し出ました。 Yandexの従業員と「生涯」話し合い、可能なタスクについて話し合った後、新しいテストタスク-テキスト分類子の作成-に取り掛かりました。
2回の最終インタビュー、1か月の待機、そして今-6月16日から9月15日までのインターンシップの申し出を大切にした電話。 私がしなければならなかった唯一のことは私のスーツケースを詰めることでした。 フライトと宿泊-これらはすべて、夏のインターンシップのキュレーターによって事前に手配されました。 6月16日にYandexのメインオフィスに来て、そこで数人の研修生と一緒に雇用プロセスを経て、最終的にバグの生成を開始し、インターンシップの義務を果たすことができました。
仕事について
冒頭で、Yandexがコンピュータービジョンサービスを必要とする理由についていくつか説明します。 多くのタスクでは、写真に示されている内容を理解したいと思います。たとえば、リクエストに応じて最も関連性の高い画像を検索したり、購入の場合は同様の製品を検索したりします。 考慮に入れる必要があるデータの量は多くの場合非常に大きいため、そのような事業の費用は言うまでもなく、すべての画像を見るのに十分な人を見つけることは望めません。 では、コンピューターに画像の認識方法を教えてはどうでしょうか? 1966年にそのようなタスクはMITの学生グループの夏のプロジェクトのように見えたという事実にもかかわらず、地球の最高の心はまだそれを打ち負かしています。 現時点では、画像、テキスト、音声、その他多くの機能を使用するのに最適な人工ニューラルネットワークがこの領域でボールを支配しているのは周知の事実です。 取り返しのつかない利益を適用するための画像を使用したタスクへのニューラルネットワークアプローチの開発と実装も、Yandexコンピュータービジョンサービスによって処理されます。
Yandexのインターンはフルタイムの従業員であり、タスクは既にスタッフになっているように設定されていることに注意してください。 特に、私たちの部門では、インターンには本当に興味深いタスクが与えられます。 たとえば、内部ツールに取り組むだけでなく、Yandex.Market(不適切な広告の認識)およびAuto.ru(車の角度を決定する)についてニューラルネットワークを自分でトレーニングする機会も与えられました。 もちろん、優先タスクを決定し、進捗状況を監視するメンターもいましたが、そうでなければ、非常に大きな実行の自由が与えられます。
一般に、ニューラルネットワークのトレーニングは簡単なことです。特に、インターネットには機械学習とニューラルネットワークに関する膨大な数の異なるコースと教材があります。 これにより、この領域にすばやく侵入し、すぐに作業を開始できます。 私の場合、「すぐに」は約2週間で、その間にYandex内のさまざまなコンピュータービジョンテクノロジーを理解し、さらに2週間でコードレビューの最初のコミットを送信しました。 私の指導者や他の同僚が何時間もかけて何時間かかるかを説明してくれてありがとう。
タスクが設定され、品質メトリックが明確になると、データ収集フェーズが開始されます。 通常、これらは数十万または数百万もの写真であり、収集に数日かかります。 ニューラルネットワークを最初からトレーニングする必要がある場合はまれです。 ほとんどの場合、よく訓練されたネットワークは、いくつかのレイヤーで私たちにとって有用な兆候をすでに抽出できることを期待して、同様のタスクのために取られます(私たちのビジネスの信頼と健全な楽観性はどこにもありません)。 カウントされた特性に基づいて、非常に単純なもの、たとえば完全に接続されたいくつかのレイヤーがトレーニングされ、受信品質がサービスを満たしている場合、モデルは本番に送信されます。 理論的には、そのようなアプローチは、私がやったような典型的なタスクで非常にうまく機能します。 しかし、ご存知のように、「理論上は理論と実践の間に違いはありませんが、実際にはあります。」 したがって、多くの場合、私たちの仕事には、科学論文の読み取りと分析、ニューラルネットワークのアーキテクチャの選択、トレーニングパラメータの選択、およびタンバリンを使用した他の多くのトリックとダンスが含まれます。 アイデアの議論はプロセスの重要な部分です。したがって、多くの社内および社外の会議がチームで行われ、誰もが同僚の行動を認識しました。
Yandexのチームと従業員についても話したいと思います。 最初に目を引いたのは、開発者を含む社内の若者の大部分です。 ここでは、一流大学の厳しいオリンピアードが主に募集されているという意見がありますが、 実際、ShAD卒業生のみが採用されています 、これは完全に真実ではありませんが、実際には多くのそのような人々がいます。 しかし、Yandexはさまざまな教育プロジェクトと継続教育コースに非常に関与しているため、そこから多くの新しい人員がやって来ます。
私の経験からも、主に現在の従業員の経験からも、履歴書やコンテストへの参加の経験に優れた大学がないことは否定的な候補として書き留められることはなく、開発者の活動に直接関係するスキルと知識にはるかに重きが置かれていると言えます。 良い人にはいつも幸運かもしれませんが、Yandexで誰とでもコミュニケーションをとるのに苦労したことはありません。これはあらゆる種類の開発者やアナリストだけでなく、セキュリティ、医師、サポート、ホステスなど。 そして、私は自分のチームが達成された結果の点でも、その中で働くことの快適さの点でも模範的であると考えています。
3か月間の夏のインターンシップが一瞬で終わりました。私はすでに愛するチームを離れたくありませんでした。 幸いなことに、Yandexは一年中インターンを獲得しているため、12月16日から3月3日までの冬に同じチームに戻ることができました。 一般に、2回目のインターンシップは最初のインターンシップと変わりませんでした。メンターが変わったことを除いて、実際はすべて同じことを続けましたが、今では写真ではなくビデオを分析しました。 それでも、インターンとしては今回が2回目だったため、シニアインターン、別名シニアインターンに昇格しました。 この瞬間までに、私たちのチームはすでにしっかりと成長していたため、仕事に特定の困難が生じました。今では、昼食時に誰もが隣のテーブルに座ることはそれほど容易ではありません。
人生と研修生の生活
夏には、私は他の研修生やYandex教育プロジェクトの参加者と一緒にモスクワの中心部に定住したので、オフィスへの移動には約30分かかりました。 都市の散策やNDAの共同署名など、さまざまなイベントが用意されていることもありました:)とりわけ、夏のインターンの日を思い出しました。 さて、ホワイトスペースのメッセージを解読するために他にどこで提供されますか? もちろん、Yandexはインターンだけでなくすべての従業員のためにイベントを手配しています。 また、2016年の夏を夏季オリンピックとして覚えています。Yandexはいくつかの特別なプロジェクトを準備しましたが、その一部は社内ハッカソンで考案されました。 ちょうどたまたま、企業パーティーでの最初のインターンシップをほぼ終え、新年の企業パーティーでのお祝いで2回目のインターンシップを始めました。 冬に、私はなんとかオフィスの周りの遠足を得ることができました。 インターンシップはとても楽しいように思えるかもしれません。
私の経験に基づいて、Yandexでのインターンシップのマイナス面と利点に注目したいと思います。
私の意見では、短所と呼ぶことができるそれらの瞬間:
- 経験の特異性。 Yandexはテクノロジー企業であり、多くの興味深いタスクが既に解決されています。 残念ながら、Yandex以外の場所でこれらのソリューションを使用した経験の価値は必ずしも明らかではありません。
- モチベーション。 複雑で興味深い問題の解決に取り組んできたので、大学で通常の研究に戻るように強制することは非常に困難です。 マシンのクラスター全体で数十回、または数百回の実験を行った後、他の誰よりも良い結果を得るためにタームペーパーに取り組む熱意はほとんどありません。 仕事と学業のこの大きなギャップが大学院を去る理由の一つとなった人々がいます。 Yandexには科学研究に従事している研究者のグループがいますが。
長所:
- 経験。 履歴書の素晴らしい行に加えて、ここで重要な専門的スキルを得ることができます:きれいなコードを書き、タスクを計画し、最先端のアプローチとソリューションの生産を知ってください。 Yandexは、従業員が専門的に成長したいという願望をサポートしています。ここでは、さまざまなイベントやプログラミングワークショップ、独自のライブラリの利用可能性、会議への定期的な出張があります。 コンピュータービジョンサービスでは、ほぼすべての従業員が年1回、NIPS、ICML、ICLR、CVPRなどのトップコンファレンスに参加します。 しかし、あなたの分野で最も先進的な開発を知るために、どこかを離れる必要はありません-科学論文の分析を伴う定期的なセミナーでは、常に最新の結果を把握することができます。
- オフィス。 率直に言って、時々私はオフィスを離れる気はありません。 そして、ここでのポイントは、あなたの締め切りが常に続くということではなく、バグを緊急に修正する必要があるということではありません(私たちの部署でこのようなことに気づいたことはありません)。 幸いなことに、オフィスは年中無休で働き、いつでも卓球や卓球(または仕事)をすることができます。
これは素晴らしい経験だと思います。 Yandexは毎年夏にインターンを獲得しています。 今でも彼らの夏を有益に過ごす機会があります-みんなは5月1日に申し込みを受け付けます 。 モスクワでインターンシップを希望する場合は、1年前の私のように、旅行と宿泊の費用が支払われます。 そして、あなたの街にYandexの開発オフィスがある場合、どこにも離れることはできません。