“Sulit bagi saya untuk memahami motivasi seorang ilmuwan data yang tidak melihat keindahan dalam matematika” - Kirill Danilyuk, Data Scientist

Halo, Habr! Ilmu Data telah lama menjadi bidang yang menarik, dan semakin banyak orang ingin mengubah jalur profesional mereka dan mulai bekerja dengan data besar. Kirill Danilyuk, Ilmuwan Data dari RnD Lab, berbagi kisahnya tentang transisi ke ilmu data, kiat-kiat untuk pemula dan ilmuwan data tingkat lanjut. Selain itu, kami berbicara tentang kualitas yang diperlukan dari seorang ilmuwan data, tentang data markup, tentang perbedaan antara Insinyur ML dan ilmuwan data, proyek saat ini, tim keren dan orang-orang yang pekerjaannya menginspirasi.



- Bagaimana Anda datang ke ilmu data? Apa yang awalnya menarik Anda ke bidang kerja dengan data?

- Saya memiliki latar belakang yang agak tidak biasa: pada tanggal saya datang dari dunia Yandex PM (Manajemen Proyek - catatan penulis ), ketika saya diundang ke ZeptoLab, mungkin perusahaan game Rusia terbaik. Saya membuat mereka prototipe sistem analitik, dashboard, sebenarnya untuk pertama kalinya saya mulai menulis kode yang digunakan orang lain. Kode itu mengerikan, tapi itu praktik nyata. Secara formal, tentu saja, saya mengoordinasikan pekerjaan dua agen outsourcing, tetapi mereka menulis kode persis pada prototipe ini. Saya tidak tahu bahwa kira-kira ini adalah ilmu data, bahwa saya melakukannya, walaupun pada paruh waktu. Jadi kenalan itu terjadi secara organik.

Bahkan saat itu sudah jelas bahwa ada perubahan menyeluruh dalam paradigma pembangunan - alih-alih pemrograman imperatif klasik, ketika Anda dengan kaku mengatur kondisinya, suatu era akan datang ketika mesin itu sendiri akan dapat mendidik dirinya sendiri menggunakan data. Melihat perubahan ini sangat keren, dan benar-benar ingin menjadi salah satu pengembang era baru tersebut.

- Kesulitan apa yang Anda hadapi secara profesional, tantangan apa yang Anda hadapi di awal dan di masa depan?

- Sekali lagi, saya mengingatkan Anda bahwa saya awalnya sebuah proyek, yaitu, perubahan karir cukup serius. Ada banyak kesulitan. Pertama-tama, ini adalah ketidakpercayaan pada diri sendiri. Anda melihat di sekitar Anda semua orang pintar yang menulis sesuatu di sana, berbicara dalam bahasa yang tidak Anda mengerti. Anda melihat celah besar antara diri Anda dan mereka. Pada saat yang sama, lingkungan Anda juga tidak mendorong transisi - tampaknya bagi orang-orang bahwa Anda "melakukan sampah dan biasanya menunda-nunda". Ini sangat menyedihkan. Sekarang, tentu saja, ada komunitas dataainists, mereka akan membantu dan menghibur Anda, tetapi sebelumnya itu lebih sulit. Jadi untuk mengambil langkah pertama ini - untuk mengatakan bahwa saya akan menjadi seorang datasaentist dan benar-benar secara sistematis menuju ke arah ini, terlepas dari karier saya sebelumnya - itu sangat sulit.

Titik baliknya adalah ketika saya membaca buku "Begitu Baik Mereka Tidak Bisa Mengabaikan Anda," yang, oleh, disarankan oleh Andrew Eun, pencipta Google Brain, Coursera, kursus ML yang terkenal. Buku ini tentang kasus saya: latar belakang dan sejarah Anda tidak penting. Jika Anda dapat menunjukkan dalam praktik bahwa Anda benar-benar hebat sehingga Anda tidak bisa diabaikan, Anda akan diperhatikan. Saya sangat terkesan dengan buku ini dan memutuskan untuk tidak keluar dari ilmu data. Saya menyarankan semua orang untuk membaca.

- Peretasan kehidupan apa yang dapat Anda bagikan dengan pemula dalam bekerja dengan data baik dalam hal mengeksplorasi lapangan dan dalam hal membangun karier?

- Semua orang datang ke ilmu data dari berbagai bidang, di bagian yang berbeda dan dengan tujuan yang berbeda - tidak ada satu cara optimal. Tetapi ada beberapa tips.

Ilmu data mungkin tampak rumit pada pandangan pertama - dan memang begitu! Namun, fakta yang menakjubkan adalah bahwa ilmu data dapat dibandingkan dengan bawang: Anda perlu mempelajari lapisan demi lapisan. Ini disebut pendekatan top-down, ketika Anda pertama kali melihat pada tingkat primitif bagaimana algoritma bekerja, bagaimana Anda dapat melatih jaringan saraf dalam beberapa baris - tanpa benar-benar mengetahui prosesnya - hanya mengatur data input, beberapa baris kode, dan itu saja. Lapisan pertama bohlam dihapus. Lebih jauh lagi. Itu menjadi menarik bagi Anda, Anda ingin sudah tahu - bagaimana. Bagaimana cara kerjanya? Anda masuk lebih dalam, lihat kode, implementasinya. Maka Anda bertanya-tanya mengapa kode ini ditulis seperti ini. Ternyata ada alasan teoretis. Dan sebagainya. Pertahankan minat Anda. Mulai dari atas, ini menginspirasi. Baca Richard Feynman , ia menulis banyak tentang pendekatan ini.

Saran lain: masuklah ke pesta ilmuwan data secepat mungkin. Bahkan jika Anda masih tidak mengerti apa-apa, Anda bertekad untuk berkembang di bidang ini. Ketika saya belajar, ODS belum ada di sana, tidak ada yang menghibur Anda seperti itu, tidak ada pesta pertemuan data yang terorganisir. Dan saya pergi ke program Newprolab, termasuk, untuk mendapatkan tempat nongkrong seperti itu. Kunci pembangunan adalah sosialisasi. Dalam kasus apapun jangan memasak dalam jus Anda sendiri, jika tidak, Anda akan bergerak sangat lambat.

Kiat ketiga (ini merupakan kelanjutan dari yang kedua): mulailah berpartisipasi dalam kompetisi sedini mungkin. Kaggle dapat diperlakukan secara berbeda, tetapi setidaknya itu memberi satu alasan lagi untuk sosialisasi - bergabung dengan tim. Rekan senior akan dengan senang hati memberi saran dan membantu Anda. Selain itu, kaggle memberikan tendangan yang bagus dalam hal portofolio, pidato, dan posting blog Anda. Omong-omong, para ilmuwan data menjadi keren.

- Selain melalui dua program di Newprolab, di mana Anda masih belajar dan belajar? Program apa yang dapat Anda rekomendasikan untuk pemula dan lanjutan?

- Saya mencoba belajar sepanjang waktu, karena tugas, terutama dengan kami, terus berubah. Aku kurang lebih kursus online dasar seperti DS yandeksovaya spesialisasi di Coursera , ML-nanodegree pada Udacity , mereka sendiri saja di drone . Untuk pemula, saya sangat merekomendasikan spesialisasi DS di Coursera - ini mungkin kursus yang paling terstruktur untuk memahami pendekatan dan tugas secara umum. Saya juga senang dengan "Spesialis Data Besar," pada dasarnya saya mulai memasukkan ilmu data darinya, dia sangat membantu saya. Sekali lagi - di awal, lakukan apa yang tampak menarik.

Untuk yang lebih maju, ada kursus Caltecan Learning From Data yang mengagumkan - relatif singkat, tetapi sangat praktis. Ini menempatkan otak dengan sangat baik. Ada juga kursus ShAD yang luar biasa dari Vorontsov - kuliah akses terbuka dan buku teks. Saya juga sangat merekomendasikan kursus Harvard tentang teori Stat 110 , ada prinsip dasar teori probabilitas dan matstat, yang harus Anda ketahui. Plus, ada perpustakaan terbuka program MIT, lihat kursus tentang algoritma di sana , itu sangat bagus.

- Dari pengamatan Anda: keterampilan lunak dan keras apa yang sering tidak cukup untuk pemula dan ilmuwan data berpengalaman untuk menjadi spesialis yang benar-benar berkualifikasi tinggi?

- Mari kita mulai dengan soft skill - karena mereka tidak cukup. Terlepas dari kenyataan bahwa seorang ilmuwan data adalah profesi teknis, sangat penting untuk dapat menyajikan hasil pekerjaan Anda dengan benar / indah. Secara kasar, seperti iPhone - ia tidak hanya memiliki isian yang bagus, tetapi juga penampilan, kemasan, sejarah. Orang perlu belajar bagaimana mempresentasikan hasil mereka: menulis posting blog, berbicara, berbagi kode. Para ilmuwan data terbaik memahami ini dengan sangat baik, dan mereka melakukannya. Kalau tidak, Anda bisa terjebak di lubang Anda, dan bahkan dengan hasil yang keren, luput dari perhatian.

Anda dapat berbicara tentang keterampilan keras untuk waktu yang lama, tetapi ada satu hal yang sangat kekurangan para ilmuwan data, kemampuan untuk menulis kode yang kompeten, terstruktur, dan indah. Ini secara langsung menjadi momok profesi. Anda perlu belajar cara menulis kode yang mudah dibaca yang indah. Jika Anda melihat kaggle, sebagian besar kode di sana mengerikan. Saya mengerti apa ini terhubung: orang menulis kode sekali dan tidak menggunakannya lebih lanjut, ini adalah praktik standar di antara ilmuwan data, terutama pemula. Saya sendiri pernah melakukan ini sebelumnya, tetapi ini buruk, karena, pertama, Anda tidak dapat membaginya dengan siapa pun (orang ingin membaca kode yang indah dan mudah dibaca), dan kedua, Anda tidak dapat menggunakan kode buruk di proyek lain.

Keahlian mendasar lainnya adalah pengetahuan material: aljabar linier, peralatan statistik, diskritisasi, optimisasi. Dan, sejujurnya, Anda hanya membutuhkan kecintaan terhadap matematika. Saya merasa sulit untuk memahami motivasi seorang ilmuwan data yang tidak melihat keindahan dalam matematika. Pada saat yang sama, perlu dicatat bahwa matematika dalam analisis data cukup terjangkau, pada tingkat tahun pertama atau kedua universitas.

- Setelah menyelesaikan program "Spesialis Data Besar" , Anda meninggalkan dunia korporat dan, bersama teman sekelas Anda, membuka perusahaan konsultan. Mengapa Anda tidak ingin menjadi karyawan dari beberapa perusahaan besar dengan banyak barang? Memang, permintaan di pasar tenaga kerja jauh lebih besar daripada penawaran yang tersedia, dan Anda adalah spesialis yang hebat.

- Ini adalah alasan yang agak menarik: awalnya tujuannya adalah untuk mendapatkan proyek konsultasi yang Anda sudah dapat menunjukkan perusahaan yang serius dan mendapatkan pekerjaan di dalamnya. Bagaimanapun, karena Anda mengatakan bahwa Anda adalah ilmuwan data, maka tunjukkan bahwa Anda bisa.

Pada awalnya, kami benar-benar mengambil semua proyek sains data untuk uang, hanya untuk menunjukkan bahwa kami dapat melakukan ini. Mereka membuat banyak kesalahan, mereka menginjak semua garu yang bisa Anda injak. Tahun pertama hanya mimpi buruk, sangat sulit. Melihat ke belakang sekarang, bukan fakta bahwa konsultasi adalah awal yang baik. Mungkin saya harus melanjutkan ke SMP, dan tahun ini untuk mengerjakan beberapa jenis proyek.

Kami telah mengatasi segalanya. Proyek mulai muncul, kepercayaan diri tumbuh lebih kuat, di beberapa titik ada pemahaman bahwa seseorang tidak dapat bekerja di dalam perusahaan besar dengan proyek yang berlarut-larut, persetujuan dan birokrasi. Ternyata proyek kami sekarang jauh lebih menarik dan lebih beragam daripada yang bisa diberikan oleh kebanyakan perusahaan besar: ada banyak dari mereka, mereka sering berubah dan Anda terus belajar. Tentu saja, sekarang saya tidak ingin pindah ke perusahaan besar.

- Mari kita bicara sedikit tentang markup data. Anda memiliki tim kecil di RnD Lab, Anda hampir tidak dapat menghabiskan banyak waktu menandai data dan melakukan semuanya sendiri secara manual. Bagaimana cara Anda menandai data?

- Anda dapat berbicara tentang markup data untuk waktu yang sangat lama! Algoritma pembelajaran mesin membutuhkan data untuk bekerja. Dan bukan hanya beberapa data, tetapi berlabel kualitatif. Dan banyak. Misalnya, kami memiliki proyek untuk menentukan kualitas telur goreng dari foto . Agar algoritme berfungsi, Anda harus menandai setiap foto, melingkari setiap bahan - protein, kuning telur, daging - secara manual. Bisakah Anda bayangkan bagaimana rasanya menandai seribu, sepuluh ribu foto seperti itu? Dan ini hanya untuk membuat data siap. Setelah itu, pekerjaan baru saja dimulai.

Sekarang ada banyak perusahaan yang menjual markup - mereka menyewa sepasukan spidol murah untuk menggambar batas-batas objek secara manual. Ironisnya, di zaman AI, orang-orang yang bergaji rendah, tidak terampil, dan tidak termotivasi yang berdiri di belakangnya.

Saya ingin menjadikan proses ini lebih berteknologi. Misalnya, dalam proyek kami, kami menulis jaringan saraf yang, dalam mode semi-otomatis, menandai data. Pertama-tama Anda memberinya 20 gambar telur orak-arik dan 20 yang tidak berlabel yang ditandai secara manual - ia belajar di dua puluh pertama dan menandai, meskipun tidak terlalu baik, dua puluh kedua. Anda memperbaiki kesalahan secara manual dan memberikan 20 foto yang ditandai sendiri untuk dikoreksi untuk pelatihan ulang. Sekarang modelnya sudah belajar di 40 foto dengan markup. Anda mengirimkan 20 foto lain ke markup, memperbaiki kesalahan, melatih model pada markup yang diperbaiki. Setelah beberapa iterasi, hampir tidak ada kesalahan yang tersisa. Ngomong-ngomong, pada teknik inilah saya menulis posting blog di Medium sekarang.

Ada opsi lain: Anda dapat menggunakan simulator, secara kasar, editor 3D untuk menghasilkan banyak gambar yang sudah ditandai. Anda menempatkan objek yang diperlukan, merendernya di sudut yang berbeda bersama dengan markup - itu saja. Tetapi tidak benar-benar: gambar seperti itu masih tidak akan serupa untuk model yang nyata, yang nyata. Untuk membawa gambar-gambar ini ke berbagai gambar nyata, Anda perlu menggunakan teknik yang disebut adaptasi domain - di GAN. Ini sekarang menjadi ujung tombak penelitian sejati, hal-hal seperti itu mengasyikkan. Bayangkan saja: Anda mensimulasikan seluruh dunia dan setiap dataset secara harfiah dihasilkan dari ketiadaan. Sekarang bayangkan model belajar hanya di simulator, dan kemudian bekerja di dunia nyata. Ini hanya masa depan!

- Dapatkah Anda menyebutkan tim / individu yang pekerjaannya di bidang big data menyenangkan dan menginspirasi Anda?

- Ya tentu saja! Saya sangat suka bukan penelitian itu sendiri, tetapi penggunaannya dalam produk. Saya berbicara tentang orang-orang yang saya kenal - Anda hanya bisa mencari ahli top di Google, dan mereka sudah terkenal.

Jika kita berbicara tentang tim, maka ini, tanpa pertanyaan, tim drone Yandex. Orang-orang membuat teknologi mereka dari awal, dalam kondisi Rusia, mereka mulai mengujinya di musim dingin - Google tidak memimpikan hal ini. Mereka adalah orang-orang hebat, dan saya mengikuti mereka dengan cermat. Termasuk publikasi dan kursus mereka. Jumlah teknologi yang mereka gunakan dalam praktik sangat besar, hanya sedikit yang beruntung menggunakan begitu banyak hal sekaligus.

Tim connectome.ai - orang ini melakukan sistem visi komputer untuk produksi. Ini adalah tugas yang menantang, dan apa dan bagaimana mereka melakukannya itu keren.

Teman-teman dari supervise.ly . Mereka awalnya konsultan, sama seperti kita di RnD Lab, tetapi kemudian mereka membuat sistem markup semi-otomatis dan sekarang mereka mengembangkannya.

Dalam hal orang, pertama, ini adalah Eric Bernhardsson, mantan kepala sistem rekomendasi Spotify. Dia adalah hebat blog tentang data ilmu pengetahuan ™ , satu dan semua merekomendasikan hal ini.

Kedua, ini adalah Volodya Iglovikov , yang juga ternaus di ODS. Dia berasal dari fisikawan, jalur perkembangannya sangat ingin tahu dan sangat termotivasi untuk mengangkat pantatnya dan mulai bekerja. Dia menunjukkan melalui teladannya betapa seriusnya pekerjaan dan pemasaran yang kompeten membantu untuk menggerakkan diri melalui karier.

- Anda adalah koordinator grup di program Spesialis Data Besar dan di gedung. program di Luksemburg, dan pada musim gugur Anda akan membimbing kelompok kecil pada program online baru kami. Katakan padaku, mengapa kamu membutuhkan semua ini? Karena Anda tidak akan menghasilkan banyak uang di sini)))

"Kamu tidak akan mendapatkan, itu pasti." Intinya berbeda - dalam sosialisasi. Seperti yang sudah saya katakan, sosialisasi adalah kunci untuk memompa diri sendiri, belum lagi membuat kontak berguna untuk bisnis. Melalui koordinasi saya, kami menemukan beberapa pesanan menguntungkan yang norak. Kedua, saya hanya ingin berbagi pengetahuan dan pengalaman saya dengan orang-orang dan melatih saya dalam bekerja dengan data. Selain itu, dalam proses persiapan, saya sendiri akan belajar banyak. Saya belajar banyak sendiri dan saya mengerti betul berapa jam mendapatkan beberapa hal. Plus, tentu saja, koordinasi dan bimbingan adalah tantangan, jalan keluar dari zona nyaman dan kemampuan untuk memompa diri Anda.



- Data Scientist dan ML Engineer: apa bedanya?

- Ada laporan tentang topik ini dalam kerangka kerja Yandex Data & Science . Idenya adalah bahwa industri data telah menelurkan seluruh rangkaian profesi yang tumpang tindih. Pada saat yang sama, berbagai perusahaan menafsirkannya secara berbeda. Data Scientist dan MLE hanyalah contohnya.

Diyakini bahwa seorang ilmuwan data mungkin tidak dapat menulis kode produksi, tetapi harus membuat atau mengadaptasi teori (misalnya, artikel ilmiah) dan membuat model. Sebenarnya, insinyur ML - programmer profesional, yang kurang tenggelam dalam bagian teoretis dan lebih banyak dalam rekayasa - terlibat dalam kode itu sendiri.

Pemisahan ini berfungsi baik, misalnya, di Google. Tentu saja, ada PhD yang kuat bahwa, secara tegas, mungkin tidak memprogram sama sekali, tetapi kuat secara teori. Dan ada programmer kelas tinggi yang membungkus prototipe PhD ini dalam kode yang indah. Tetapi jika kita berbicara tentang tim kecil, seperti tim kita atau bahkan tim Yandex, maka tidak ada waktu untuk penelitian murni dari awal, tetapi ada kesempatan untuk mengambil hasil penelitian orang lain (dalam bentuk artikel atau kode) dan menulis kode pertempuran berdasarkan artikel ini.

Secara pribadi, saya tidak percaya pada nilai praktis dari seorang ilmuwan data yang tidak menulis kode - itu adalah kode yang merupakan hasil kerja dari pusat data. Jika Anda tidak menulis kode, kemungkinan besar Anda seorang analis data. Ini juga tidak buruk, tetapi spesialisasi yang berbeda. Omong-omong, banyak perusahaan yang menjual saus analitik data hanya analitik. Karena analis itu unggul dan bosan, dan ilmuwan data adalah "profesi terseksi abad ke-21".

Jadi saya untuk Insinyur ML.

- Apa pemikiran dan rencana Anda untuk masa depan? Di mana Anda ingin pindah dalam Rencana profesional dan geografis (dan tiba-tiba!)?

- Kami, RnD Lab, dimulai sebagai konsultan ilmu data dalam arti umum. Tetapi mereka dengan cepat menyadari bahwa mustahil untuk secara efektif melakukan semuanya sekaligus, itu perlu untuk fokus. Sekarang fokus kami adalah pada proyek visi komputer, seperti proyek pengenalan kualitas makanan kami. Bayangkan menonton pertandingan sepak bola di meja Anda dalam 3D. Bayangkan bahwa Anda, sebagai pemilik toko besar, melihat semua pencurian dari jendela toko. Bayangkan bahwa kertas hitam putih foto lama Anda dapat dikonversi menjadi warna dan menambahkan detail padanya. Kami hanya terlibat dalam proyek semacam itu. Saat ini, kami memiliki dua proyek baru yang sangat menarik dalam pengembangan, mereka tidak kalah dengan kompleksitas proyek-proyek di Yandex, kami akan mengumumkannya setelah beberapa saat. Sekarang kami telah membuat prototipe, dengan probabilitas yang sangat tinggi kami akan melanjutkan proyek ini lebih lanjut, skalanya akan berbeda dan kami akan memperluas tim. Saya akan membutuhkan insinyur data dan insinyur visi komputer di tempat pertama, yang akan mengambil prototipe dan membuat sistem dari itu. Pelanggan itu sangat keren, sistemnya sangat menarik, dan ini adalah peluang bagus untuk meningkatkan diri Anda sebagai seorang spesialis. Untuk portofolio apa pun, proyek seperti itu akan luar biasa!

Oleh karena itu, visi komputer dan aplikasinya - dalam AR / VR, GAN, generasi gambar dan video, peningkatan gambar dan video, analitik video - kami fokus pada hal ini. Dan di sini kita sudah memiliki keahlian dan alat yang luar biasa.



Adapun geografi: salah satu prinsip penting saya adalah kemungkinan 100% pekerjaan jarak jauh dari mana saja. Tidak ada perusahaan besar yang akan menawarkan ini kepada Anda.Jika Anda ingin melakukan perjalanan sepanjang tahun, dan Anda adalah orang dewasa yang terorganisir, mengapa mengikat Anda ke kantor? Baca orang-orang dari Basecamp, mereka menulis seluruh buku tentang pekerjaan jarak jauh . Kami ingin menjadi seperti mereka, kami memiliki prinsip yang sangat mirip.

— -:
?

-.

— , , ?
— , .

— ?
— .

— , “, ”.
— “, ” , . , , . ZeptoLab: , , , . .
, - . : “ , , 5% : , , , , ...” , , . , , 3 , . , , .



Newprolab 20 9- « » , data science.

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


All Articles