Bagaimana bagian pembelajaran mesin di wawancara Yandex

Setiap layanan Yandex sebagian besar didasarkan pada analisis data dan metode pembelajaran mesin. Mereka diperlukan untuk menentukan peringkat hasil pencarian web, dan untuk mencari gambar, dan untuk pembentukan blok rekomendasi. Pembelajaran alat berat memungkinkan kami membuat kendaraan tanpa awak dan asisten suara, mengurangi waktu henti yang tidak berguna bagi pengemudi taksi, dan mengurangi waktu tunggu bagi pelanggan mereka. Semua aplikasi dan bukan daftar!


Oleh karena itu, kami selalu merasa perlu untuk analisis data dan spesialis pembelajaran mesin. Salah satu tahap terpenting dari sebuah wawancara di Yandex bagi mereka adalah bagian umum tentang pembelajaran mesin, yang akan saya bahas dalam artikel ini. Contoh tugas model untuk bagian ini dan kemungkinan konten jawaban untuknya yang saya buat dalam video yang baru-baru ini tersedia di YouTube . Dalam artikel ini, saya akan berbicara lebih banyak tentang apa yang kami harapkan dari kandidat kuat di bagian seperti itu dan mengapa kami merumuskan dengan tepat kriteria tersebut.


gambar


1. Wawancara Pembelajaran Mesin Yandex


Karyawan senior dan terkemuka di Yandex dapat secara mandiri mengubah tugas yang dirumuskan dalam istilah bisnis menjadi tugas pembelajaran mesin yang diajukan dengan benar; pilih metode solusi yang tepat, bentuk deskripsi karakteristik, bangun proses pembaruan model dan kontrol kualitasnya yang benar; akhirnya, verifikasi bahwa solusi yang dihasilkan memenuhi persyaratan bisnis asli.


Sebagian besar, orang-orang ini memengaruhi // pembentukan // persyaratan bisnis: orang yang bekerja secara langsung dengan data dapat mengetahui yang terbaik di dunia tentang karakteristik layanan yang memengaruhi popularitas dan kegunaannya, masalah apa yang perlu dipecahkan pengguna, dan pada indikator apa itu akan mempengaruhi.


Sebagai aturan, karyawan terbaik kami juga memiliki pengetahuan ahli di bidang tertentu - misalnya, visi komputer, model atau model bahasa bangunan untuk layanan konsultasi atau pencarian.


Kami sangat menghargai karyawan kami dan keahlian mereka dan ingin kandidat eksternal juga memenuhi level ini. Untuk menguji ini, satu atau beberapa bagian dapat dikhususkan untuk topik khusus, seperti visi komputer atau metode pelatihan peringkat. Salah satu bagian adalah wajib yang ditujukan untuk masalah "umum": pernyataan masalah, pembentukan fungsi tujuan dan sampel pelatihan, penerimaan model. Ini tentang dia sekarang dan akan dibahas.


Tentu saja, berbagai persyaratan hanya berlaku untuk kandidat yang melamar posisi spesialis senior atau terkemuka. Calon yang mengandalkan posisi menengah atau junior tidak perlu mampu melakukan semua hal di atas, tetapi mereka harus tahu bahwa keterampilan yang relevan sangat berguna untuk pertumbuhan karir - baik di Yandex dan perusahaan lain.


Bergantung pada persyaratan unit, bagian algoritma dengan kode penulisan atau bahkan bagian arsitektur mungkin juga diperlukan.


2. Pernyataan masalah


Jadi, tugas utama dari bagian ini adalah untuk memeriksa seberapa banyak kandidat mampu secara mandiri menangani tugas secara keseluruhan, mulai dari perumusannya dan berakhir dengan pertanyaan penerimaan dalam percobaan pengguna.


Bagian ini dimulai dengan pernyataan masalah dalam istilah bisnis. Katakanlah, Anda mungkin perlu membuat layanan yang meminta perusahaan terdekat, merekomendasikan produk tertentu atau memberi peringkat film atau musik yang menarik bagi pengguna.


Anda dapat mulai dengan mengidentifikasi aplikasi yang mungkin untuk tugas tersebut. Berapa banyak pengguna yang akan dihasilkan oleh solusi, siapa mereka, mengapa mereka membutuhkan fungsi ini, bagaimana mereka mengetahuinya? Calon dapat mengajukan semua pertanyaan ini, atau dapat menawarkan visinya sendiri tentang jawaban (pilihan terakhir, tentu saja, lebih disukai).


Berdasarkan penyebab tugas, metrik bisnis dirumuskan, dan kemudian metrik cocok untuk optimisasi dalam proses pembelajaran atau pemilihan model. Indikator kelas kandidat yang sangat tinggi adalah jika pilihan metrik untuk optimasi ditentukan oleh makna fisik dari masalah yang sedang dipecahkan. Contoh paling sederhana dari jenis ini adalah penggunaan metrik seperti DCG untuk tugas peringkat atau metrik seperti AUC untuk beberapa masalah klasifikasi tertentu.


Di sini perlu juga menyentuh masalah pembentukan sampel pelatihan. Data apa yang dibutuhkan untuk pembentukannya, bagaimana cara mendapatkannya? Apa acara untuk pelatihan kami? Apakah pengambilan sampel diperlukan? Jika demikian, bagaimana cara melakukannya?


3. Metode pembelajaran mesin


Setelah tugas dirumuskan sepenuhnya, Anda dapat mulai membahas metode untuk menyelesaikannya.


Di sini Anda perlu memilih model yang akan membangun solusi, dan menjustifikasi pilihan Anda. Perlu dibahas tentang kerugian fungsional yang dioptimalkan dalam proses membangun model dan mengapa itu merupakan pilihan yang baik untuk mengoptimalkan metrik yang telah dibahas pada paragraf sebelumnya. Juga bermanfaat untuk mempertimbangkan metode optimasi yang digunakan.


Item berikutnya yang akan dibahas adalah ruang fitur. Seorang spesialis kelas dapat segera membuat beberapa atau bahkan ratusan tanda dalam tugas baru, setelah sebelumnya memecahnya menjadi beberapa kelas sesuai dengan jenis data yang digunakan (misalnya, tanda-tanda hanya dapat bergantung pada pengguna, atau mereka dapat bergantung pada pasangan "objek-pengguna").


Nilai tambah tambahan adalah pertimbangan masalah start dingin. Ketika layanan Yandex.Taxi telah dibuat, kami dapat menggunakan informasi tentang perjalanan nyata untuk mengoptimalkan metode perutean di sekitar kota; ketika sudah ada mesin pencari Yandex, Anda dapat menggunakan tindakan pengguna untuk menerima sinyal tentang dokumen mana yang relevan dengan permintaan Anda. Tetapi bagaimana jika layanan belum dibuat, dan masalah yang dipecahkan sangat penting untuk fungsinya? Kami perlu menawarkan beberapa cara untuk membangun solusi yang cukup baik dalam hal ini.


4. Kontrol kualitas


Akhirnya, ketika solusinya sudah siap, Anda perlu memastikan bahwa itu sudah cukup baik. Jika keputusan sebelumnya didahului oleh keputusan sebelumnya, perlu dipahami apakah solusi baru itu lebih baik.


Pada titik ini, kandidat perlu menunjukkan kemampuannya untuk merumuskan eksperimen untuk menguji hipotesis yang relevan. Di sini Anda perlu memilih model percobaan dan cara untuk menguji signifikansi statistik dari perubahan tersebut. Katakanlah itu bisa berupa eksperimen A / B reguler pada pengguna layanan, atau bisa juga evaluasi ahli dari hasil pekerjaan. Indikator apa yang harus dipantau? Apa yang harus dipantau dan bagaimana memastikan kebenaran percobaan?


5. Cara sukses di bagian ini


Tingkat kandidat sepenuhnya ditentukan oleh seberapa mandiri dan mendalam ia berhasil menyatakan solusi dari tugas tersebut. Bagian pembelajaran mesin yang dilakukan dengan baik tidak dapat dibedakan dari bagian yang dikenal oleh rekan Barat kami sebagai Desain Sistem ML, dan bagian yang lemah mungkin terlihat seperti diskusi tentang masalah khusus - misalnya, optimasi LLH dengan aturan pembagian linier.


Pada saat yang sama, kami memahami dengan baik bahwa dalam masalah pembelajaran mesin seringkali tidak jelas metode mana yang akan bekerja dan jika setidaknya beberapa akan berfungsi. Oleh karena itu, jangan ragu untuk membahas masalah dengan lawan bicara seolah-olah itu adalah rekan kerja Anda yang memutuskan untuk membahas solusi yang mungkin untuk masalah yang muncul dalam pekerjaan biasa. Kami tidak mengharuskan solusi yang dijelaskan dalam bagian ini dijamin baik - kami hanya ingin itu memiliki justifikasi yang masuk akal untuk memungkinkan kami percaya bahwa Anda akan menghadapi tugas seperti itu dalam kondisi nyata.


Misalnya, kami tidak memerlukan pengetahuan menyeluruh tentang berbagai kriteria statistik, tetapi kami berharap Anda akan mengenali pentingnya menguji hipotesis dengan benar dan memenuhi syarat untuk menggunakan metode ini jika perlu. Demikian pula, bagian ini tidak memerlukan deskripsi terperinci tentang pengoperasian metode pembelajaran mesin, tetapi kami berharap Anda akan dapat memilih model-model tertentu untuk tugas Anda.


Pada saat yang sama, Anda bebas untuk menyelidiki area-area yang sudah dikenal oleh Anda. Luangkan lebih banyak waktu dalam jawaban Anda dan kurangi bicara tentang di mana pengetahuan Anda tidak terlalu dalam. Kami memahami bahwa tidak mungkin menjadi spesialis di semua bidang dan pada saat yang sama kami menghargai kejujuran intelektual. Jika seorang kandidat memahami kekuatan dan kelemahannya dengan baik dan mampu berbicara secara terbuka tentang ini, ini adalah pertanda yang sangat baik. Selain itu, ini memungkinkan Anda untuk menghabiskan waktu bagian secara efektif: itu akan dihabiskan lebih banyak untuk mengidentifikasi kekuatan kandidat.




Akhirnya, saya akan memberikan beberapa sumber, yang akan berguna untuk mempelajari keduanya agar berhasil bekerja pada proyek yang berkaitan dengan pembelajaran mesin, dan untuk mempersiapkan bagian pembelajaran mesin.



Nah, video YouTube kami:


Source: https://habr.com/ru/post/id475584/


All Articles