Название должности: Инженер по компьютерному зрению / машинному обучению
Место работы: Удаленно (США, кроме Аляски и Гавайев. Должен быть резидентом США, имеющим право на работу в США)
Статус: Не является освобожденным от налогов / 1,0 FTE (40 часов/неделю)
Руководитель: Руководитель отдела продуктов и инжиниринга
Мы ищем инженера по компьютерному зрению / машинному обучению (CV/ML), который поможет нам улучшить системы машинного обучения, лежащие в основе идентификации видов iNaturalist (API зрения) и моделирования географического ареала (geomodel). Работая вместе с нашими старшими бэкенд-инженерами, вы будете участвовать во всем жизненном цикле ML — от инноваций и экспериментов, обучения моделей, оценки и развертывания в производственной среде — создавая, поддерживая и модернизируя системы, которые помогают миллионам людей определять то, что они видят в природе.
Идеальный кандидат обладает практическим опытом внедрения моделей CV/ML в производственную среду (т. е. не только мелкомасштабными экспериментами), комфортно чувствует себя на стыке исследований и инжиниринга, а также имеет достаточную экологическую любознательность, чтобы заботиться о правильности научных данных. Вы получите реальную ответственность за наш ML-стек и поможете нам оценить, когда и как внедрять новые архитектуры моделей и программные инструменты.
О iNaturalist
iNaturalist — одна из крупнейших в мире платформ по биоразнообразию, основанная на работе миллионов ученых-любителей и поддерживаемая экспертами-натуралистами, исследователями и природоохранными организациями. С сотнями миллионов наблюдений и более чем 400 000 активных ежемесячных участников данные iNaturalist используются для принятия природоохранных решений, ускорения исследований биоразнообразия и вдохновляют людей во всем мире на связь с природой.
Обязанности
Обучение моделей и эксплуатация производства
- Управлять и выполнять наш ежемесячный цикл обучения моделей CV, создавая обновленные модели классификации видов для десятков тысяч таксонов и публикуя сопроводительные примечания к выпуску для сообщества iNaturalist.
- Поддерживать и улучшать нашу инфраструктуру для обучения и обслуживания моделей, работая с кодовыми базами inatVisionTraining, inatVisionAPI и inatGeoModelTraining (в настоящее время Python / TensorFlow / Keras / Flask).
- Управлять полным жизненным циклом модели: подготовка данных, циклы обучения, оценка, экспорт и развертывание в веб- и мобильных средах.
- Внедрять и отслеживать производительность моделей в производственной среде, отслеживая регрессии точности и охвата по таксонам, географическим регионам и типам наблюдений.
- Управлять аппаратным обеспечением и облачной инфраструктурой и консультировать по ним, работая на нашем текущем оборудовании Linux и консультируя по улучшениям аппаратного обеспечения или облачным альтернативам.
Разработка мобильных моделей
- Обучать и оптимизировать бортовые модели CV и geo для iOS и Android, обеспечивая высокое качество идентификации в рамках строгих ограничений по размеру и задержке в нашем мобильном приложении React Native.
- Применять методы квантования, обрезки и другие методы оптимизации для поддержания точности при достижении целевых показателей производительности на мобильных устройствах.
- Сотрудничать с командой iNaturalist Mobile для интеграции и тестирования обновленных моделей в приложении.
Новые возможности
- Руководить разработкой Sound ID: спроектировать и внедрить конвейер для поддержки идентификации видов по звуковым записям.
- Работать с командой Ops для развертывания крупномасштабной системы "vision language model" (модель зрения и языка), построенной академическими партнерами, которая позволяет осуществлять поиск изображений на основе текста.
- Создать возможности обнаружения ограничивающих рамок для локализации организмов в изображениях, поддерживая улучшенное кадрирование для последующей классификации.
- Разработать автоматизированную оценку качества изображений, такую как обнаружение изображений, сгенерированных ИИ, маркировка размытых изображений или наблюдений, на которых отсутствует четкий фокусный организм.
- Оценивать и внедрять соответствующие достижения из исследовательской литературы (например, модели зрения и языка, улучшенные архитектуры основы), когда они приносят практическую пользу в производственной среде.
Доступ к данным, курирование и сотрудничество
- Работать с другими инженерами для поддержки и улучшения конвейеров обучающих данных, включая приём и обработку больших наборов данных и управление дисбалансом классов по таксонам и географическим регионам.
- Сотрудничать с нашей командой по работе с вовлеченностью и сетью экспертов-идентификаторов и исследователей iNaturalist для проверки результатов моделей и внедрения таксономических обновлений.
- Вносить вклад в инженерную культуру команды — использовать стандартный контроль версий и отслеживание задач (Github и Linear), писать чистый, документированный, тестируемый код, участвовать в ревью кода.
Квалификация
- 5-7+ лет профессионального опыта в инжиниринге, включая 3+ года опыта в области машинного обучения, компьютерного зрения или смежной прикладной ML-роли.
- Отличные навыки работы с Python и практический опыт работы с такими инструментами, как PyTorch или TensorFlow/Keras (наш текущий стек).
- Подтвержденный опыт обучения и развертывания моделей CV в производственной среде — в масштабе, с реальными пользователями — а не только в академических или исследовательских условиях.
- Опыт экспорта и оптимизации моделей для мобильного развертывания (например, TFLite и/или CoreML), включая квантование и бенчмаркинг производительности.
- Глубокое понимание стандартных методов CV: классификация изображений, обнаружение объектов и оценка качества изображений.
- Комфорт работы с большими, зашумленными наборами данных изображений, генерируемых пользователями, включая обработку дисбаланса классов, шума в метках и сдвигов географического распределения.
- Опыт работы с аудио ML или классификацией на основе спектрограмм.
- Опыт работы с инструментами отслеживания экспериментов (WandB, MLflow или аналогичными) и дисциплинированный подход к воспроизводимости.
- Отличные письменные и устные коммуникативные навыки — умение четко писать как для технических коллег, так и для нетехнической аудитории сообщества.
- Комфорт самостоятельной работы в небольшой, полностью удаленной команде со значительной ответственностью за свою область.
Желательно
- Знакомство с географическим/пространственным ML (использование, например, моделирования ареала видов на основе глубокого обучения).
- Опыт работы в экологии, биологии или естественной истории — или просто глубокий личный интерес к природному миру.
- Опыт создания и эксплуатации систем векторного поиска в производственной среде — знакомство с Qdrant или аналогичными векторными базами данных (Pinecone, Weaviate).
- Опыт создания и управления эмбеддингами в масштабе, включая мультимодальные эмбеддинги (например, CLIP или SigLIP) и стратегии сегментации/индексации.
- Знакомство с распределенными конвейерами приема данных с использованием Ray, Spark или эквивалентных фреймворков для параллельных рабочих процессов эмбеддинга и upsert.
- Опыт работы с API LLM (например, Anthropic Claude, Google Gemini, OpenAI, self-hosted models) для анализа, обобщения или извлечения структурированной информации из больших наборов текстовых данных.
Почему стоит присоединиться к нам?
- Влияние: Сыграйте ключевую роль в организации, ориентированной на миссию и посвященной сохранению биоразнообразия.
- Гибкая работа: Мы — виртуальная команда, и большая часть работы на этой должности может выполняться из дома.
- Конкурентная оплата: Зарплата на этой полной ставке составляет 154 257,44 долларов США в год, не подлежит обсуждению.
- Отличные льготы: Медицинская страховка, стоматологическая страховка, страховка зрения, страхование жизни, HRA с финансированием работодателем, 401k с 5% взносом работодателя и неограниченное количество дней личного отпуска.