newsmode
search
Меню
arrow_back Назад

Datacast Podcast - Effective Data Science with Eugene Yan

auto_awesomeКраткое саммари

В этом выпуске подкаста Datacast Юджин Ян (Eugene Yan) рассказывает ведущему Джеймсу о своём пути из психологии в data science: переход из госсектора в IBM, затем в Lazada, куда он попал благодаря выступлению о соревновании на Kaggle. Он делится опытом перехода от индивидуального специалиста (IC) к роли руководителя, объясняя, что задача лидера — не строить всё самому, а делать команду на 20-100% эффективнее. Отдельно обсуждаются вызовы при поглощении Lazada компанией Alibaba: жёсткий девятимесячный срок миграции с AWS на AliCloud, языковой барьер и режим работы 996. Юджин также рассказывает о применении Scrum и agile в data science, о том, как Lazada ранжирует товары, и о пользе pet-проектов вроде классификатора товаров. В конце он называет тех, чьей работой восхищается (Andrej Karpathy, Jeremy Howard, Hamel Husain), рекомендует книги (ISL, The Pragmatic Programmer) и советует начинать с проблемы и работать в обратном направлении (Working Backwards).

Datacast Podcast - Effective Data Science with Eugene Yan

Подкаст Datacast — эффективный data science с Eugene Yan

[ datascience leadership career lazada ] · 17 min read

[ datascience leadership career lazada ] · 17 мин чтения

James invited me for a casual chat on his podcast where we chatted about my transition from a Psychology degree into data science, my experience, leadership, and my writing on agile, machine learning in production, culture, writing, and more. James was an excellent host and helped me to sound almost coherent.

James пригласил меня на непринуждённую беседу в свой подкаст, где мы поговорили о моём переходе из психологии в data science, моём опыте, лидерстве, а также о моих текстах об agile, машинном обучении в продакшене, культуре, писательстве и многом другом. James был отличным ведущим и помог мне звучать почти связно.

Highlights from our chat

Главное из нашей беседы

Why did you join Lazada?

Почему вы пришли в Lazada?

Back in 2012 (when Lazada was founded), e-commerce was almost non-existent in South-East Asia. To buy anything, customers had to go to a brick-and-mortar shop—this is inconvenient for customers who lived in rural areas. And even if there was e-commerce, getting access to credit, logistics, and trustworthy sellers was difficult. How would you buy a product and pay for it? How would you return the product if you were not satisfied? Those were the problems the Lazada was trying to solve.

Ещё в 2012 году (когда была основана Lazada) электронной коммерции в Юго-Восточной Азии практически не существовало. Чтобы что-то купить, покупателям приходилось идти в обычный магазин — это неудобно для тех, кто живёт в сельской местности. И даже там, где была электронная коммерция, доступ к кредитам, логистике и надёжным продавцам был затруднён. Как купить товар и оплатить его? Как вернуть товар, если он вас не устроил? Именно эти проблемы и пыталась решить Lazada.

(Podcast 9:03)

(Подкаст 9:03)

How did you join Lazada?

Как вы попали в Lazada?

I took part in a Kaggle competition on product classification (with my friend Weimin) and we did decently well. I then had a chance to share about this at a meetup group co-founded by my friend Kai Xin.

Я участвовал в соревновании на Kaggle по классификации товаров (вместе с моим другом Weimin), и мы выступили вполне достойно. Затем у меня появилась возможность рассказать об этом на встрече сообщества, сооснователем которого был мой друг Kai Xin.

It so happened that Lazada (being new) had this problem as well. They reached out and invited me for a chat. It was only a very small team (3 people) back then. But it sounded super fun and the people I met were super awesome and I was looking forward to learning from them. More details here.

Так совпало, что у Lazada (тогда совсем новой) была та же проблема. Они связались со мной и пригласили на беседу. В то время это была очень маленькая команда (3 человека). Но всё звучало невероятно увлекательно, люди, с которыми я познакомился, были потрясающими, и я с нетерпением ждал возможности учиться у них. Подробнее здесь.

(Podcast 10:18)

(Подкаст 10:18)

Could you share about your journey from Psychology into Data Science?

Не могли бы вы рассказать о своём пути из психологии в data science?

My path is idiosyncratic and I was very lucky.

Мой путь нетипичен, и мне очень повезло.

When making the transition out of government, I was lucky that IBM gave me the opportunity for my first data role. Then while at IBM, I was very lucky that the hiring manager for the global workforce analytics team was looking for someone with a Psychology background, and I was the only one in my cohort.

При уходе из госсектора мне повезло, что IBM дала мне возможность для моей первой роли, связанной с данными. Затем, уже в IBM, мне очень повезло, что нанимающий менеджер команды глобальной workforce-аналитики искал человека с психологическим образованием, а я был единственным таким в своём наборе.

Then, when I shared about my Kaggle effort at a meetup, again it was pure luck that Lazada had that same problem. And they took a chance on me. Then, while in Lazada, I had great teammates and great bosses who gave me lots of opportunity to do crazy things, build things fast, and run experiments (and fail). Of course, they would never say it’s a failure—they would always say it’s a lesson.

Потом, когда я рассказал о своём опыте на Kaggle на одной из встреч, мне снова повезло чисто случайно — у Lazada была ровно та же проблема. И они рискнули, взяв меня. А затем, уже в Lazada, у меня были замечательные коллеги и замечательные руководители, которые давали мне массу возможностей делать смелые вещи, быстро что-то строить и проводить эксперименты (и ошибаться). Конечно, они никогда не назвали бы это неудачей — они всегда говорили, что это урок.

If I had to distill it, it would be: (i) try a lot and you’ll get lucky on 5% of the shots, and (ii) look for people who give you opportunity to do great work and work with them.

Если попытаться выжать суть, то она такая: (i) пробуй много всего, и тебе повезёт примерно в 5% попыток, и (ii) ищи людей, которые дают тебе возможность делать отличную работу, и работай с ними.

(Podcast 19:14)

(Подкаст 19:14)

You speak at conferences/meetups. Could you share some tips with listeners?

Вы выступаете на конференциях и митапах. Не могли бы вы поделиться парой советов со слушателями?

If you’re going to share, share about something you really care about. When you share, you’re being a lighthouse; this attracts like-minded people to discuss it with you. Don’t try to ride the trend and share about what’s fashionable—it comes across clearly to the audience and they won’t be interested. It won’t be authentic.

Если вы собираетесь чем-то делиться, делитесь тем, что вам по-настоящему небезразлично. Когда вы делитесь, вы становитесь маяком; это притягивает единомышленников, готовых это обсуждать. Не пытайтесь оседлать тренд и рассказывать о том, что модно — это ясно считывается аудиторией, и ей будет неинтересно. Это будет неискренне.

Once you have a topic you care about, share as much as you can about it. Imagine yourself in the audience. What details would you care about? Metrics? Results? How customers gained? Methodology? Code (or Github repo)? I’m interested in all of the above, especially what didn’t work. Thus, I always try to share what didn’t work so I can save my audience experimentation time—these lessons on what didn’t work are very precious.

Как только у вас есть тема, которая вам небезразлична, делитесь о ней как можно больше. Представьте себя на месте слушателя. Какие детали были бы вам важны? Метрики? Результаты? Сколько клиентов удалось привлечь? Методология? Код (или репозиторий на GitHub)? Мне интересно всё перечисленное, особенно то, что не сработало. Поэтому я всегда стараюсь рассказывать о том, что не сработало, чтобы сэкономить аудитории время на экспериментах — эти уроки о том, что не сработало, очень ценны.

When you’re sharing, don’t make it a lecture; people will zone out after 5 - 10 minutes. What you want to do is to entertain and provide the bigger picture and context. Then you can go deep. And even then, don’t go too deep as your audience will lose track—they don’t have your expertise and knowledge. Try to empathize with your audience and keep it light. If they want to learn more, they can always reach out to you.

Когда вы делитесь, не превращайте это в лекцию; люди начнут отключаться через 5–10 минут. Вам нужно увлекать и давать общую картину и контекст. А затем уже можно углубляться. Но даже тогда не уходите слишком глубоко, иначе аудитория потеряет нить — у неё нет вашей экспертизы и знаний. Постарайтесь сопереживать аудитории и держать всё легко. Если они захотят узнать больше, они всегда смогут к вам обратиться.

(Podcast 25:29)

(Подкаст 25:29)

What are some lessons from your transition from IC into leadership?

Какие уроки вы извлекли из перехода от роли индивидуального специалиста (IC) к лидерству?

To be honest, I had a lot of help with these lessons. When the transition happened, I had a chat with my boss as well as his boss and asked them what they needed me to do.

Честно говоря, в усвоении этих уроков мне очень помогли. Когда произошёл переход, я поговорил со своим руководителем, а также с его руководителем, и спросил их, что им от меня нужно.

As an IC, I was always trying to give it my 100% to build a new system to improve the customer experience. When I transitioned, I was taught that I cannot continue to get into the details and to be building it myself—it’s not scalable with a team of 10+. Instead, my role was to help everyone on the team be 20% (or even 100%) better. This way, across 10 people, the whole team is 200% (or 1,000%) better. My role was to scale the team, increase the output, put in the right practices, mentor and help the team grow.

Будучи IC, я всегда выкладывался на 100%, чтобы построить новую систему и улучшить клиентский опыт. Когда я перешёл на новую роль, меня научили, что я больше не могу вникать во все детали и строить всё сам — это не масштабируется с командой из 10+ человек. Вместо этого моя задача была — помочь каждому в команде стать на 20% (а то и на 100%) лучше. Тогда на 10 человек вся команда становится на 200% (или 1000%) лучше. Моя роль была в том, чтобы масштабировать команду, увеличивать отдачу, внедрять правильные практики, наставлять и помогать команде расти.

So this is why I write a lot about agile and scrum. And why I advocate practices such as writing a one-pager to get alignment with stakeholders, and making sure they’ll use what you build. The worst thing is to spend 3 man-months building something they won’t use. (The customer doesn’t benefit and your team doesn’t have anything to show for it.) These were some of the practices I found valuable to my team and I would like to share them.

Вот почему я много пишу об agile и scrum. И почему я выступаю за такие практики, как написание one-pager для согласования со стейкхолдерами и обеспечение того, чтобы они действительно пользовались тем, что вы построили. Худшее, что можно сделать — потратить 3 человеко-месяца на то, чем они не будут пользоваться. (Клиент не получает выгоды, а вашей команде нечего предъявить.) Это некоторые из практик, которые я счёл ценными для моей команды и которыми хотел бы поделиться.

I also learned to conduct 1-on-1s. I asked everyone where they wanted to be in three years, and how we could build them up for that (even if it was not with the team or or). Once I know their interests, I can align it with what the org needs. A lot of what I was trying to do was to find a fit between the individual’s motivation and what the organization needs.

Я также научился проводить 1-on-1. Я спрашивал каждого, где он хочет быть через три года и как мы можем помочь ему к этому прийти (даже если это будет не в нашей команде или организации). Зная их интересы, я могу состыковать их с тем, что нужно организации. Многое из того, что я пытался делать, сводилось к поиску соответствия между мотивацией человека и потребностями организации.

Overall, I wasn’t trying to optimize or build my own project anymore. Instead, I was trying to optimize for the entire team’s contribution to the organization: to help them grow, to put in the right processes for increased productivity, to teach them good habits and how to communicate with stakeholders better.

В целом я больше не пытался оптимизировать или строить собственный проект. Вместо этого я пытался оптимизировать вклад всей команды в организацию: помочь людям расти, внедрить правильные процессы для повышения продуктивности, привить им хорошие привычки и научить лучше коммуницировать со стейкхолдерами.

This also made it hard to quantify my contribution. I didn’t build this, I didn’t build that—it was all done by the team. But in the end, it all works out as you’re assessed based on your team’s output, how they’ve grown, their satisfaction, their retention, etc.

Из-за этого стало сложно измерять мой собственный вклад. Я не построил это, я не построил то — всё было сделано командой. Но в итоге всё складывается удачно, ведь тебя оценивают по отдаче твоей команды, по тому, как люди выросли, по их удовлетворённости, удержанию и так далее.

(Podcast 39:01)

(Подкаст 39:01)

What were the challenges faced during the Alibaba acquisition of Lazada?

С какими сложностями вы столкнулись во время поглощения Lazada компанией Alibaba?

Some context: Lazada was Alibaba’s first acquisition outside of China. Thus, it was as much a learning experience for them as it was for us.

Немного контекста: Lazada была первым приобретением Alibaba за пределами Китая. Поэтому для них это был такой же опыт обучения, как и для нас.

One challenge was the very tight timeline. We were given nine months to fully migrate onto their platform. This means going from AWS to AliCloud. And using their data model and schemas so that how a customer, product, and review is represented in Lazada is exactly the same across Alibaba. We also had to integrate their tracker so the logs were consistent, and use their tools for building a search engine and recommendation system.

Одной из сложностей были очень сжатые сроки. Нам дали девять месяцев на полную миграцию на их платформу. Это означало переход с AWS на AliCloud. А также использование их модели данных и схем, чтобы то, как покупатель, товар и отзыв представлены в Lazada, было в точности таким же, как во всей Alibaba. Нам также нужно было интегрировать их трекер, чтобы логи были согласованными, и использовать их инструменты для построения поискового движка и рекомендательной системы.

Another key challenge was the language gap. The Alibaba team was mostly comprised of Mandarin speakers and very few of them could speak English. And on my team, half of them couldn’t understand Mandarin. Thus, there were people left out when the discussions were in Mandarin and I had to figure out how to manage this. And all the documentation was in Mandarin. We had to do Google Translate, and as part of that, 50% of the content would be lost or corrupted.

Ещё одной ключевой сложностью был языковой барьер. Команда Alibaba состояла в основном из носителей мандаринского, и лишь очень немногие из них говорили по-английски. А в моей команде половина не понимала мандаринский. Так что когда обсуждения шли на мандаринском, часть людей оказывалась исключена, и мне приходилось искать, как с этим справляться. Вся документация тоже была на мандаринском. Нам приходилось пользоваться Google Translate, и при этом 50% содержания терялось или искажалось.

The work was also brutal—it was 996. Sometimes, when we went to Hangzhou, it was seven days a week. And trips were two weeks at a time, with a week of rest in between. We had to do this because this was really the best way to work—in person with your Chinese counterpart and sitting close to them. Even now, I think it was the only way that we could have made the nine-month deadline.

Работа тоже была изматывающей — это был режим 996. Иногда, когда мы ездили в Ханчжоу, работали семь дней в неделю. А поездки длились по две недели подряд, с неделей отдыха между ними. Нам приходилось так делать, потому что это был действительно лучший способ работать — лично с твоим китайским коллегой, сидя рядом с ним. Даже сейчас я думаю, что только так мы и могли уложиться в девятимесячный дедлайн.

(Podcast 44:20)

(Подкаст 44:20)

Could you share about the keynote you gave OLX?

Не могли бы вы рассказать о keynote-докладе, который вы прочитали для OLX?

First, a bit of context about OLX Group. OLX is a global online marketplace that’s in 40+ countries. They are a platform for buying and selling services and goods, including cars, electronics, real estate, and jobs. They were rapidly expanding in Europe, sometimes through acquisitions, and were wondering how to continue to scale.

Сначала немного контекста об OLX Group. OLX — это глобальный онлайн-маркетплейс, представленный в более чем 40 странах. Это платформа для покупки и продажи услуг и товаров, включая автомобили, электронику, недвижимость и вакансии. Они стремительно расширялись в Европе, иногда через поглощения, и думали о том, как продолжать масштабироваться.

The main question they had for me was this: What do we centralise, and what do we decentralise? How do Alibaba and other players in South-East Asia scale their platforms?

Главный вопрос, который у них был ко мне, звучал так: что мы централизуем, а что децентрализуем? Как Alibaba и другие игроки в Юго-Восточной Азии масштабируют свои платформы?

In Alibaba’s case, all the infra, data models, platforms, and tooling was mostly the same. These packages were used by many teams across Alibaba’s different properties, and Lazada used them too. We also had standard guidelines. Now, if someone from Alibaba looked at Lazada’s data, they would be able to understand it very quickly. The way we represent customers and products is the same. Thus, this makes it very easy for people to share knowledge across organizations and iterate fast.

В случае Alibaba вся инфраструктура, модели данных, платформы и инструменты были в основном одинаковыми. Эти пакеты использовались множеством команд в разных подразделениях Alibaba, и Lazada тоже ими пользовалась. У нас также были стандартные гайдлайны. И если бы кто-то из Alibaba посмотрел на данные Lazada, он бы очень быстро в них разобрался. То, как мы представляем покупателей и товары, одинаково. Это сильно упрощает обмен знаниями между организациями и позволяет быстро итерировать.

What was decentralised then? The local teams would work on aspects such as product and app design to ensure that it fits the tastes of South-East Asian consumers. Our data science team would also work on local campaigns as well as fraud, which was slightly different from fraud in China.

А что же тогда было децентрализовано? Локальные команды работали над такими аспектами, как дизайн продукта и приложения, чтобы он соответствовал вкусам потребителей в Юго-Восточной Азии. Наша команда data science также работала над локальными кампаниями и борьбой с мошенничеством, которое немного отличалось от мошенничества в Китае.

We also discussed the SuperApp and how it was blossoming all over China and South-East Asia. It’s really interesting to see bundling in China and South-East Asia, and the reverse in the US, where unbundling is happening. More here.

Мы также обсудили феномен SuperApp и то, как он расцветает по всему Китаю и Юго-Восточной Азии. Очень интересно наблюдать бандлинг в Китае и Юго-Восточной Азии и обратное в США, где идёт анбандлинг. Подробнее здесь.

(Podcast 47:51)

(Подкаст 47:51)

You come across as a DS x Agile evangelist. Could you share more about it?

Вы производите впечатление евангелиста связки DS × Agile. Не могли бы вы рассказать об этом подробнее?

I didn’t know I was an evangelist for data science and agile. It’s interesting how this came about. When I chat with friends in the industry, they are surprised that my teams adopt Scrum, and would ask how it worked and if it worked. So many people were asking the same questions that I decided to just write about it and put it online.

Я и не знал, что я евангелист data science и agile. Любопытно, как это вышло. Когда я общался с друзьями из индустрии, они удивлялись, что мои команды используют Scrum, и спрашивали, как это работало и работало ли вообще. Так много людей задавали одни и те же вопросы, что я решил просто написать об этом и выложить в сеть.

When I first started applying Scrum, I thought it was a very strict process of prioritisation, stand-ups, demos, retrospective, etc. But as I apply it more, I found a few key things that are most important (to me).

Когда я только начинал применять Scrum, я думал, что это очень строгий процесс из приоритизации, стендапов, демо, ретроспектив и так далее. Но по мере того как я применял его всё больше, я выделил несколько ключевых вещей, которые для меня важнее всего.

First, you’ll want to think about how to iterate fast. This is where the concept of time-boxing helps. For example, building a recommender could take anywhere from two months to two years. For me, and for our customers, I rather build something quickly (in two months) and test it with customers. It might not work, but then we iterate. This is preferable to spending two years on it and then finding out that it also doesn’t work.

Во-первых, нужно думать о том, как итерировать быстро. Здесь помогает концепция тайм-боксинга. Например, построение рекомендательной системы может занять от двух месяцев до двух лет. Для меня и для наших клиентов лучше построить что-то быстро (за два месяца) и протестировать на клиентах. Возможно, это не сработает, но тогда мы итерируем. Это предпочтительнее, чем потратить на это два года и в итоге обнаружить, что оно тоже не работает.

Second, you’ll want to do prioritisation with the business. For example, you might want to build sexy stuff but if the business doesn’t want or need it, then it should not be a priority. It’s important to figure out what customers and the business need, and then how to solve those problems with data science. We shouldn’t try to build something sexy and just hope that people will like it. Amazon does this very well through our Working Backwards process, where we work backwards from the customer problem or opportunity.

Во-вторых, нужно проводить приоритизацию вместе с бизнесом. Например, вам может хотеться построить что-то эффектное, но если бизнесу это не нужно, то это не должно быть приоритетом. Важно понять, что нужно клиентам и бизнесу, а затем — как решить эти проблемы средствами data science. Не стоит пытаться построить что-то эффектное и просто надеяться, что людям понравится. Amazon делает это очень хорошо благодаря нашему процессу Working Backwards, в котором мы идём в обратном направлении — от проблемы или возможности клиента.

Then, there are two practices that teams really enjoy. First, demos. Demos are super fun, and once you build the cadence, people work fast and are eager to share (discoveries, results, hacks) and get feedback.

Кроме того, есть две практики, которые команды по-настоящему любят. Первая — демо. Демо невероятно увлекательны, и как только вы выстраиваете ритм, люди работают быстро и с энтузиазмом делятся (находками, результатами, хаками) и получают обратную связь.

People also enjoy retrospectives. Retrospectives are a great way to get feedback from the team in a neutral and objective environment. As a leader, you should pay attention to the items in the “What didn’t go well” bucket (e.g., needing three days to get data permissions) and solve them. If you can solve these problems, then you would increase the productivity of the entire team. After 10 - 20 retrospectives, you’ll look back at where you started and realized that the team has improved by so much.

Людям также нравятся ретроспективы. Ретроспективы — это отличный способ получить обратную связь от команды в нейтральной и объективной обстановке. Как лидер, вы должны обращать внимание на пункты из корзины «Что прошло плохо» (например, что на получение доступа к данным уходит три дня) и решать их. Если вы сможете решить эти проблемы, то повысите продуктивность всей команды. После 10–20 ретроспектив вы оглянетесь на то, с чего начинали, и осознаете, что команда выросла невероятно сильно.

(Podcast 57:44)

(Подкаст 57:44)

Relevant writing:

Связанные статьи:

Could you share about your talk on “How Lazada Ranks Products”?

Не могли бы вы рассказать о своём докладе «Как Lazada ранжирует товары»?

Firstly, something I haven’t mentioned before was that my target audience for this talk was not the conference attendees; it was the sellers on our platform. I wanted to share how we were ranking products so they could try to figure it out and work within the system to give the customer the best experience.

Прежде всего, кое-что, о чём я раньше не упоминал: моей целевой аудиторией для этого доклада были не участники конференции, а продавцы на нашей платформе. Я хотел рассказать, как мы ранжируем товары, чтобы они могли в этом разобраться и работать в рамках системы, давая покупателю наилучший опыт.

To build this system, we first developed a ranking model that assigns a score for each product on category and search pages. There’s nothing special about this; we used historical data on clicks, add-to-carts, and purchases to optimize a target. The target could be conversion, revenue, or customer acquisition and can be blended based on your business objective. But the features remained the same.

Чтобы построить эту систему, мы сначала разработали ранжирующую модель, которая присваивает оценку каждому товару на страницах категорий и поиска. В этом нет ничего особенного; мы использовали исторические данные о кликах, добавлениях в корзину и покупках, чтобы оптимизировать целевую метрику. Целью могла быть конверсия, выручка или привлечение клиентов, и её можно комбинировать в зависимости от вашей бизнес-цели. Но признаки оставались теми же.

Also, Lazada was rapidly scaling and adding a lot of new sellers and products daily. Thus, I wanted to show sellers that we were working on features to help new sellers and products. We broke this down into a demand and supply problem and approached it from the demand side. We tried to understand unmet demand via what customers were searching for but not finding. With this, we knew what customers want but couldn’t find—these were the new products that we should rank higher. The results of this were amazing, but it was also because the problem was so bad to begin with. In e-commerce, the rich get richer; top-ranking products continue to rank well due to the virtuous cycle.

Кроме того, Lazada стремительно росла и ежедневно добавляла множество новых продавцов и товаров. Поэтому я хотел показать продавцам, что мы работаем над функциями для помощи новым продавцам и товарам. Мы разбили это на задачу спроса и предложения и подошли к ней со стороны спроса. Мы пытались понять неудовлетворённый спрос через то, что покупатели искали, но не находили. Благодаря этому мы знали, чего покупатели хотят, но не могут найти — это и были новые товары, которые нам следовало ранжировать выше. Результаты оказались потрясающими, но также и потому, что проблема изначально была очень острой. В электронной коммерции богатые становятся богаче; топовые товары продолжают хорошо ранжироваться благодаря этому замкнутому циклу.

We also shared about how product quality affects ranking. I wanted to show sellers that we cared about product quality and trying to cheat customers won’t get them very far. Sellers can try to cheat customers by selling products that are very low price and very low quality. Or sellers could claim to ship in one day, but the actual shipping time might be a week or more. Or sellers could sell counterfeit goods. But, this will show up very quickly in the reviews and we’ll penalise products on that. We tried to be very transparent with sellers on what we ranked on so they would know how to improve their rank.

Мы также рассказали о том, как качество товара влияет на ранжирование. Я хотел показать продавцам, что нам небезразлично качество товара и что попытки обмануть покупателей далеко их не заведут. Продавцы могут пытаться обмануть покупателей, продавая товары очень дешёвые и очень низкого качества. Или продавцы могут заявлять о доставке за один день, тогда как фактический срок доставки может составлять неделю и больше. Или продавцы могут продавать контрафакт. Но всё это очень быстро всплывёт в отзывах, и мы будем понижать такие товары. Мы старались быть максимально прозрачными с продавцами в том, по каким критериям ранжируем, чтобы они понимали, как улучшить свой ранг.

(Podcast 01:03:18)

(Подкаст 01:03:18)

You wrote about building a product classifier app—could you share more?

Вы писали о создании приложения-классификатора товаров — не могли бы вы рассказать подробнее?

I think it’s useful to have some context on why I did that. Back then, I had two to three years of experience as a data scientist in industry, and had done a lot of courses. But it still felt like something was missing. Thus, I was looking for more experience and found some data on Amazon products.

Думаю, полезно понять контекст, почему я это сделал. Тогда у меня было два-три года опыта работы дата-сайентистом в индустрии и пройдено множество курсов. Но всё равно казалось, что чего-то не хватает. Поэтому я искал больше опыта и нашёл некоторые данные о товарах Amazon.

Through that project, I learnt a lot. First, the data was not in csv and could not fit into memory. I had to learn how to parse and covert this json data into csv via an out-of-memory approach. Then, I had to do data cleaning, feature engineering, and building a machine learning model—this was familiar to me.

Благодаря этому проекту я многому научился. Во-первых, данные были не в формате csv и не помещались в память. Мне пришлось научиться парсить и преобразовывать эти json-данные в csv через подход без загрузки всего в память. Затем нужно было сделать очистку данных, feature engineering и построить модель машинного обучения — это было мне знакомо.

Next, when I had to deploy this model online and make it publicly accessible, I realized there was so much I didn’t know about cloud and AWS. I also had little experience with GPUs and deep learning frameworks; back then, I was using Theano. I certainly didn’t learn about image classification in online courses. I also picked up transfer learning which was very new to me back then. Then, I also had to develop an API and a basic front-end, and deploy it on an EC2 instance.

Дальше, когда мне нужно было задеплоить эту модель онлайн и сделать её публично доступной, я осознал, как много я не знаю об облаке и AWS. У меня также было мало опыта с GPU и фреймворками глубокого обучения; тогда я использовал Theano. Классификации изображений я уж точно не учился на онлайн-курсах. Я также освоил transfer learning, который тогда был для меня в новинку. Затем мне нужно было ещё разработать API и базовый фронтенд и развернуть всё это на инстансе EC2.

The process was super rewarding. I had to learn so much and it helped me at work when I had to deploy machine learning systems on my own.

Процесс оказался невероятно полезным. Мне пришлось столькому научиться, и это помогло мне на работе, когда я сам должен был деплоить системы машинного обучения.

(Podcast 01:19:04)

(Подкаст 01:19:04)

Relevant writing:

Связанные статьи:

Three people in data science whose work you admire?

Три человека в data science, чьей работой вы восхищаетесь?

Andrej Karpathy, Director of AI at Tesla. I admire how he’s able to apply his research in the real world. He also shares amazing content. I learnt a lot about early sequence and text models from his blog post The Unreasonable Effectiveness of Recurrent Neural Networks. He also shared very practical advice in A Recipe for Training Neural Networks.

Andrej Karpathy, директор по AI в Tesla. Я восхищаюсь тем, как он умеет применять свои исследования в реальном мире. Он также делится потрясающим контентом. Я многое узнал о ранних sequence- и текстовых моделях из его поста The Unreasonable Effectiveness of Recurrent Neural Networks. Он также поделился очень практичными советами в A Recipe for Training Neural Networks.

Jeremy Howard, he’s founded several companies, and together with Rachel Thomas, they co-founded fast.ai. They made deep learning more accessible to coders and hackers. I love their pedagogical approach of starting with the problem, showing that it can be solved, before going into the details. I believe this approach works better for many learners. Unfortunately, teachers often start with the theory before going into the application, and the learner isn’t clear on how they would use it.

Jeremy Howard — он основал несколько компаний, а вместе с Rachel Thomas они стали сооснователями fast.ai. Они сделали глубокое обучение более доступным для программистов и хакеров. Мне нравится их педагогический подход — начинать с проблемы, показывать, что её можно решить, и только потом углубляться в детали. Я считаю, что такой подход лучше работает для многих учащихся. К сожалению, преподаватели часто начинают с теории, прежде чем перейти к применению, и учащемуся непонятно, как именно он будет это использовать.

Hamel Husain, Staff ML engineer at GitHub. He’s created a lot of ML tooling and content around MLOps. I think this is important for data scientists and not enough people pay attention to it. Recently, together with a couple others, he also put up some resources on how to do MLOps on GitHub actions. Together with Jeremy Howard, they developed FastPages to make it easier for people to publish blog posts from Jupyter Notebooks.

Hamel Husain, Staff ML engineer в GitHub. Он создал множество ML-инструментов и контента вокруг MLOps. Думаю, это важно для дата-сайентистов, и недостаточно людей уделяют этому внимание. Недавно вместе с парой коллег он также выложил материалы о том, как делать MLOps на GitHub Actions. Вместе с Jeremy Howard они разработали FastPages, чтобы людям было проще публиковать блог-посты из Jupyter Notebook.

(Podcast: 01:24:42)

(Подкаст: 01:24:42)

Can you recommend a book for data scientists?

Можете порекомендовать книгу для дата-сайентистов?

It’s difficult to just recommend one book. But I can tell you about the two books that I give to junior data scientists that join my team.

Сложно порекомендовать всего одну книгу. Но я могу рассказать о двух книгах, которые я дарю джуниор-дата-сайентистам, приходящим в мою команду.

The first book is Introduction to Statistical Learning (ISL). I know a lot of people cite Elements of Statistical Learning (ESL). I have both books, and I’m looking at them right now, and ISL is about half the size of ESL. I think ISL is a lot more digestible and doesn’t scare people off. It’s possible that if you take a month or two to study it, you can fully understand it. And once you grok it, you would have a great perspective of machine learning from the statistical point of view. If you want something from the CS point of view, perhaps consider Artificial Intelligence by Peter Norvig.

Первая книга — Introduction to Statistical Learning (ISL). Я знаю, что многие ссылаются на Elements of Statistical Learning (ESL). У меня есть обе книги, я смотрю на них прямо сейчас, и ISL примерно вдвое тоньше ESL. Думаю, ISL гораздо более усвояемая и не отпугивает людей. Вполне реально, что если потратить на её изучение месяц-другой, можно полностью её понять. И как только вы её осилите, у вас сложится отличное понимание машинного обучения со статистической точки зрения. Если хочется чего-то с точки зрения computer science, возможно, стоит рассмотреть Artificial Intelligence авторства Peter Norvig.

The other book that I would highly recommend, and almost everyone I’ve given this book to loves it, is The Pragmatic Programmer. This was the first amazing coding resource that made an impact on me. It talks about how to build systems incrementally, starting from the skeleton and getting it working end-to-end, before trying to fill it in. I’ve applied a lot about what I’ve learnt from this book to how I build machine learning systems.

Другая книга, которую я очень рекомендую и которую обожает почти каждый, кому я её давал, — это The Pragmatic Programmer. Это был первый потрясающий ресурс по программированию, который на меня повлиял. В нём рассказывается, как строить системы инкрементально, начиная со «скелета» и доводя его до работоспособного состояния от начала до конца, прежде чем заполнять детали. Я применил многое из того, что узнал из этой книги, к тому, как я строю системы машинного обучения.

(Podcast: 01:28:16)

(Подкаст: 01:28:16)

What’s the one thing that you would share with all data scientists?

Что бы вы хотели сказать всем дата-сайентистам, если бы могли поделиться одной мыслью?

I would share about this approach that works really well for me: When you’re building an ML application, first focus on how it will help people. Once you understand it, then work backwards from it. By doing it this way, what you build will be useful for customers and you’ll make a much bigger impact, likely 2 - 10x more. Start with the problem first, then work backwards from it.

Я бы поделился подходом, который отлично работает для меня: когда вы строите ML-приложение, сначала сосредоточьтесь на том, как оно поможет людям. Как только вы это поймёте, идите в обратном направлении от этого. Действуя так, то, что вы построите, точно будет полезно клиентам, и вы окажете гораздо большее влияние — вероятно, в 2–10 раз большее. Начинайте с проблемы, а затем двигайтесь от неё в обратном направлении.

(Podcast: 01:30:58)

(Подкаст: 01:30:58)

James was a great host and helped me to sound almost coherent 😂

We discussed my transition from psychology into data science, work experience, leadership, agile, machine learning in production, culture, etc.

If 90-min is too long, here's the highlights:https://t.co/COUCGWd2zL https://t.co/RcEytgXek7

— Eugene Yan (@eugeneyan) September 4, 2020

James был отличным ведущим и помог мне звучать почти связно 😂 Мы обсудили мой переход из психологии в data science, опыт работы, лидерство, agile, машинное обучение в продакшене, культуру и так далее. Если 90 минут — это слишком долго, вот основные моменты: https://t.co/COUCGWd2zL https://t.co/RcEytgXek7 — Eugene Yan (@eugeneyan) 4 сентября 2020

If you found this useful, please cite this write-up as:

Если этот материал оказался вам полезен, пожалуйста, цитируйте его так:

Yan, Ziyou. (Sep 2020). Datacast Podcast - Effective Data Science with Eugene Yan. eugeneyan.com. https://eugeneyan.com/speaking/datacast-eugeneyan/.

Yan, Ziyou. (Sep 2020). Datacast Podcast - Effective Data Science with Eugene Yan. eugeneyan.com. https://eugeneyan.com/speaking/datacast-eugeneyan/.

or

или

@article{yan2020datacast, title = {Datacast Podcast - Effective Data Science with Eugene Yan}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2020}, month = {Sep}, url = {https://eugeneyan.com/speaking/datacast-eugeneyan/} }

@article{yan2020datacast, title = {Datacast Podcast - Effective Data Science with Eugene Yan}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2020}, month = {Sep}, url = {https://eugeneyan.com/speaking/datacast-eugeneyan/} }



Join 11,800+ readers getting updates on machine learning, RecSys, LLMs, and engineering.

Присоединяйтесь к 11 800+ читателям, получающим обновления о машинном обучении, RecSys, LLM и инженерии.