Program Residen Yandex, atau Cara Backender Berpengalaman Boleh Menjadi Jurutera ML

Program Residen Yandex, atau Cara Backender Berpengalaman Boleh Menjadi Jurutera ML

Yandex sedang membuka program residensi dalam pembelajaran mesin untuk pembangun bahagian belakang yang berpengalaman. Jika anda telah banyak menulis dalam C++/Python dan ingin menggunakan pengetahuan ini kepada ML, maka kami akan mengajar anda cara melakukan penyelidikan praktikal dan menyediakan mentor yang berpengalaman. Anda akan mengusahakan perkhidmatan Yandex utama dan memperoleh kemahiran dalam bidang seperti model linear dan peningkatan kecerunan, sistem pengesyoran, rangkaian saraf untuk menganalisis imej, teks dan bunyi. Anda juga akan belajar cara menilai model anda dengan betul menggunakan metrik luar talian dan dalam talian.

Tempoh program adalah satu tahun, di mana peserta akan bekerja di jabatan perisikan mesin dan penyelidikan Yandex, serta menghadiri kuliah dan seminar. Penyertaan dibayar dan melibatkan kerja sepenuh masa: 40 jam seminggu, bermula 1 Julai tahun ini. Permohonan kini dibuka dan akan berlangsung sehingga 1 Mei. 

Dan kini dengan lebih terperinci - tentang jenis khalayak yang kita tunggu, apakah proses kerja dan, secara amnya, cara pakar back-end boleh bertukar kepada kerjaya dalam ML.

Directivity

Banyak syarikat mempunyai Program Residensi, termasuk, sebagai contoh, Google dan Facebook. Mereka ditujukan terutamanya kepada pakar peringkat rendah dan pertengahan yang cuba mengambil langkah ke arah penyelidikan ML. Program kami adalah untuk penonton yang berbeza. Kami menjemput pembangun bahagian belakang yang telah memperoleh pengalaman yang mencukupi dan mengetahui dengan pasti bahawa dalam kecekapan mereka, mereka perlu beralih ke ML, untuk memperoleh kemahiran praktikal - dan bukan kemahiran seorang saintis - dalam menyelesaikan masalah pembelajaran mesin industri. Ini tidak bermakna kami tidak menyokong penyelidik muda. Kami telah menganjurkan program berasingan untuk mereka - premium dinamakan sempena Ilya Segalovich, yang juga membolehkan anda bekerja di Yandex.

Di mana penduduk akan bekerja?

Di Jabatan Perisikan dan Penyelidikan Mesin, kami sendiri membangunkan idea projek. Sumber utama inspirasi ialah kesusasteraan saintifik, artikel, dan trend dalam komuniti penyelidikan. Saya dan rakan sekerja menganalisis apa yang kami baca, melihat bagaimana kami boleh menambah baik atau mengembangkan kaedah yang dicadangkan oleh saintis. Pada masa yang sama, setiap daripada kita mengambil kira bidang pengetahuan dan minatnya, merumuskan tugas berdasarkan bidang yang dianggapnya penting. Idea untuk projek biasanya lahir di persimpangan hasil penyelidikan luar dan kecekapan sendiri.

Sistem ini bagus kerana sebahagian besarnya menyelesaikan masalah teknologi perkhidmatan Yandex walaupun sebelum ia timbul. Apabila perkhidmatan menghadapi masalah, wakilnya datang kepada kami, berkemungkinan besar untuk menggunakan teknologi yang telah kami sediakan, yang tinggal hanya untuk digunakan dengan betul dalam produk. Jika ada sesuatu yang belum siap, kami sekurang-kurangnya akan mengingati dengan cepat di mana kami boleh "mula menggali" dan dalam artikel mana untuk mencari penyelesaian. Seperti yang kita tahu, pendekatan saintifik adalah untuk berdiri di atas bahu gergasi.

Apa nak buat

Di Yandex - dan malah khususnya dalam pengurusan kami - semua bidang ML yang berkaitan sedang dibangunkan. Matlamat kami adalah untuk meningkatkan kualiti pelbagai jenis produk, dan ini berfungsi sebagai insentif untuk menguji segala sesuatu yang baharu. Di samping itu, perkhidmatan baharu muncul dengan kerap. Jadi program kuliah mengandungi semua bidang utama (terbukti) pembelajaran mesin dalam pembangunan industri. Semasa menyusun bahagian kursus saya, saya menggunakan pengalaman mengajar saya di Pusat Pengajian Analisis Data, serta bahan dan kerja guru SHAD yang lain. Saya tahu bahawa rakan sekerja saya melakukan perkara yang sama.

Pada bulan pertama, latihan mengikut program kursus akan menyumbang kira-kira 30% daripada masa bekerja anda, kemudian kira-kira 10%. Walau bagaimanapun, adalah penting untuk memahami bahawa bekerja dengan model ML itu sendiri akan terus mengambil masa kira-kira empat kali kurang daripada semua proses yang berkaitan. Ini termasuk menyediakan bahagian belakang, menerima data, menulis saluran paip untuk pramemprosesnya, mengoptimumkan kod, menyesuaikan diri dengan perkakasan tertentu, dsb. Seorang jurutera ML ialah, jika anda suka, pembangun tindanan penuh (hanya dengan penekanan yang lebih besar pada pembelajaran mesin) , mampu menyelesaikan masalah dari awal hingga akhir. Walaupun dengan model siap pakai, anda mungkin perlu melakukan beberapa lagi tindakan: selarikan pelaksanaannya merentas beberapa mesin, sediakan pelaksanaan dalam bentuk pemegang, perpustakaan atau komponen perkhidmatan itu sendiri.

Pilihan pelajar
Jika anda mempunyai tanggapan bahawa adalah lebih baik untuk menjadi seorang jurutera ML dengan terlebih dahulu bekerja sebagai pembangun bahagian belakang, ini tidak benar. Mendaftar dalam ShAD yang sama tanpa pengalaman sebenar dalam membangunkan perkhidmatan, belajar dan menjadi sangat diminati di pasaran adalah pilihan yang sangat baik. Ramai pakar Yandex berakhir dengan kedudukan semasa mereka dengan cara ini. Jika mana-mana syarikat bersedia untuk menawarkan anda pekerjaan dalam bidang ML sebaik sahaja tamat pengajian, anda mungkin perlu menerima tawaran itu juga. Cuba untuk menyertai pasukan yang baik dengan mentor yang berpengalaman dan bersedia untuk belajar banyak.

Apakah yang biasanya menghalang anda daripada melakukan ML?

Jika seorang backender bercita-cita untuk menjadi seorang jurutera ML, dia boleh memilih daripada dua bidang pembangunan - tanpa mengambil kira program residensi.

Pertama, belajar sebagai sebahagian daripada beberapa kursus pendidikan. Pelajaran Coursera akan membawa anda lebih dekat untuk memahami teknik asas, tetapi untuk melibatkan diri dalam profesion pada tahap yang mencukupi, anda perlu menumpukan lebih banyak masa untuk itu. Sebagai contoh, lulusan dari ShAD. Selama bertahun-tahun, ShAD mempunyai bilangan kursus yang berbeza secara langsung mengenai pembelajaran mesin - secara purata, kira-kira lapan. Setiap daripada mereka adalah benar-benar penting dan berguna, termasuk pada pendapat graduan. 

Kedua, anda boleh mengambil bahagian dalam projek pertempuran di mana anda perlu melaksanakan satu atau algoritma ML yang lain. Walau bagaimanapun, terdapat sangat sedikit projek sedemikian di pasaran pembangunan IT: pembelajaran mesin tidak digunakan dalam kebanyakan tugas. Malah di bank yang sedang meneroka peluang berkaitan ML secara aktif, hanya sebilangan kecil yang terlibat dalam analisis data. Jika anda tidak dapat menyertai salah satu pasukan ini, satu-satunya pilihan anda ialah sama ada memulakan projek anda sendiri (di mana, kemungkinan besar, anda akan menetapkan tarikh akhir anda sendiri, dan ini tidak ada kaitan dengan tugas pengeluaran pertempuran), atau mula bersaing Kaggle.

Malah, bekerjasama dengan ahli komuniti lain dan cuba diri anda dalam pertandingan agak mudah - terutamanya jika anda menyokong kemahiran anda dengan latihan dan kursus yang disebutkan di Coursera. Setiap pertandingan mempunyai tarikh akhir - ia akan menjadi insentif untuk anda dan menyediakan anda untuk sistem yang serupa dalam syarikat IT. Ini adalah cara yang baik - yang, bagaimanapun, juga sedikit bercerai dari proses sebenar. Pada Kaggle anda diberikan data yang telah diproses, walaupun tidak selalu sempurna; jangan tawarkan untuk memikirkan sumbangan kepada produk; dan yang paling penting, mereka tidak memerlukan penyelesaian yang sesuai untuk pengeluaran. Algoritma anda mungkin akan berfungsi dan sangat tepat, tetapi model dan kod anda akan menjadi seperti Frankenstein yang dicantum daripada bahagian yang berbeza - dalam projek pengeluaran, keseluruhan struktur akan berfungsi terlalu perlahan, sukar untuk dikemas kini dan dikembangkan (contohnya, algoritma bahasa dan suara akan sentiasa sebahagiannya ditulis semula apabila bahasa berkembang). Syarikat berminat dengan fakta bahawa kerja yang disenaraikan boleh dilakukan bukan sahaja oleh anda sendiri (jelas bahawa anda, sebagai pengarang penyelesaian, boleh melakukan ini), tetapi juga oleh mana-mana rakan sekerja anda. Perbezaan antara pengaturcaraan sukan dan industri dibincangkan ΠΌΠ½ΠΎΠ³ΠΎ, dan Kaggle mendidik "atlet" dengan tepat - walaupun ia melakukannya dengan sangat baik, membolehkan mereka memperoleh sedikit pengalaman.

Saya menerangkan dua kemungkinan baris pembangunan - latihan melalui program pendidikan dan latihan "dalam pertempuran", contohnya di Kaggle. Program residensi adalah gabungan kedua-dua kaedah ini. Kuliah dan seminar di peringkat ShAD, serta projek yang benar-benar agresif, menanti anda.

Sumber: www.habr.com

Tambah komen