"Рабочие часы"

Как организовать и провести удаленную стажировку по науке о данных

Мы команда ученых, работающая над вычислительными методами анализа биологических данных. Одно из наших направлений - применение методов машинного обучения к данным геномики. В этом году мы приняли несколько стажеров для проектов, связанных с машинным обучением. Из-за пандемии нам пришлось проводить стажировки удаленно. Однако удаленная стажировка - это совсем не плохо, а при правильной настройке имеет ряд преимуществ. Возможность удаленной работы предоставила нам гораздо больший кадровый резерв, и в итоге мы имели удовольствие работать с очень талантливыми стажерами в 6 странах. У всех стажеров были проекты, связанные с машинным обучением. Некоторые из них были в значительной степени сосредоточены на проектах глубокого обучения, связанных с нашей платформой Arcas AI, а некоторые - на классических подходах к машинному обучению для решения множества проблем, над которыми мы работаем в лаборатории. Ниже приводится краткое описание того, как мы структурировали эти проекты удаленной стажировки и чему мы научились в ходе этого процесса.

1. Создавайте хорошо структурированные проекты.

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

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

2. Выберите правильных людей с нужными навыками.

Поскольку проекты четко определены, навыки, необходимые для их выполнения, очевидны. Для проектов глубокого обучения нам требовался опыт глубокого обучения, а для других проектов классического машинного обучения нам требовался соответствующий опыт. Сложно проверить, есть ли у людей необходимый минимум опыта или нет, поэтому, когда это было возможно, мы отправляли кандидатам запрос на анализ данных. По крайней мере, мы запросили URL-адрес GitHub или попросили их прислать нам соответствующие проекты кодирования, чтобы проверить их уровень опыта. Кроме того, у нас был структурированный процесс живого собеседования, в ходе которого мы пытались оценить их уровень с помощью таких вопросов, как: «Вы бы чувствовали себя комфортно, применяя метод, описанный в статье?» или попросили их описать свой опыт работы с определенной структурой, такой как PyTorch или TensorFlow.

Во всех проектах желаемой особенностью кандидатов был опыт работы с системой контроля версий, предпочтительно с git. Однако в некоторых случаях мы ослабляли это требование, и это не сработало. Часть времени, выделенного для этих проектов, ушло на изучение Git, что привело к потере времени, которое могло быть потрачено на улучшение результатов проекта. Примечание для себя в будущем: убедитесь, что люди могут использовать Git.

3. Предоставьте предварительно настроенную среду облачных вычислений.

Это необходимо для плавного старта. Мы предоставили среды облачных вычислений для стажеров, использующих AWS SageMaker, но ничего подобного подойдет. Стажеры также имели доступ к документу Как приступить к работе по настройке облачной среды, а также к записной книжке с инструкциями по использованию нашего основанного на глубоком обучении метода Maui на наборах геномных данных.

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

4. Организуйте ознакомительную встречу.

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

5. Обеспечьте одно контактное лицо и контроль

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

6. Делайте общение простым и регулярным.

Мы выбрали Slack, чтобы иметь простой канал связи. Все, что похоже на Slack, работает, мы просто выбрали его, потому что уже используем. Мы создали специальное рабочее место для некоторых крупных проектов стажировки. Наличие специального приложения чата обеспечивает легкий доступ к руководителям. Мы также проводили видеозвонки, когда Slack работал недостаточно быстро или письменное общение было неоптимальным. Иногда ответить на звонок быстрее, чем писать о проблемах в Slack или в другом месте. Кроме того, много раз стажеры коллективно выясняли, как решить проблемы с помощью Slack, особенно если это общая проблема из-за настроек или предоставленных вами данных. Необязательно давать все указания. Если у стажеров есть платформа для общения, они также могут направлять друг друга.

7. Сообщайте результаты и вехи, сохраняйте мотивацию на высоком уровне.

У нас были цели и сроки для этих целей, и они были доведены до сведения стажеров. Сроки либо определялись между непосредственными руководителями и стажерами для небольших еженедельных целей. Или они были связаны с совместными встречами, на которых должен быть представлен общий прогресс, о котором мы поговорим дальше.

Сроки и т. Д. Могут создать некоторое давление для достижения целей. Однако они обеспечивают ограниченную мотивацию. Мы видели, что стажеры время от времени теряли мотивацию, особенно когда задачи казались сложными или когда они не могли связать задачи с более крупными целями. Мы обнаружили, что лучшее средство от этого - неоднократно объяснять «почему», даже если об этом прямо не спрашивают. Нам нужно напоминать стажерам, почему работа, которую они выполняют, важна и о более серьезных последствиях этой работы. В наших приоритетных областях это не очень сложно. Почти все, что мы делаем, связано с улучшенной диагностикой или лучшим пониманием биологии генома, что может открыть новые области или приложения. Эти последствия и то, как они связаны с задачами стажера, должны четко и регулярно сообщаться.

8. Проводите совместные встречи, на которых все стажеры представляют прогресс и препятствия.

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

9. Скорректируйте свои ожидания. Независимо от того, что вы делаете, не каждый может быть продуктивным

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