Senior Machine Learning Engineer

Job expired!

Czy jesteś zmotywowanym i doświadczonym starszym inżynierem uczenia maszynowego ze specjalizacją w wyszukiwaniu wektorowym? Zespół NVIDIA RAPIDS Machine Learning czeka na Ciebie! RAPIDS to zestaw bibliotek open-source, który łączy wydajność nowoczesnych GPU z wygodą Python APIs. Stale rozwijamy możliwości uczenia maszynowego (ML) RAPIDS i integrujemy je z kluczowymi projektami infrastrukturalnymi, takimi jak wdrażanie modeli i inferencja.

Jako starszy inżynier uczenia maszynowego dołączysz do zespołu wykwalifikowanych inżynierów ML, HPC i programistów, aby rozwijać rewolucyjne ramy przyspieszane przez GPU. Będziesz przyczyniał się do i prowadził rozwój funkcji projektów RAPIDS ML oraz innych inicjatyw open-source, rozwijając ekosystemy GPU Data Science i ML.

Kluczowe obowiązki

  • Opracowywanie i udoskonalanie innowacyjnych algorytmów oraz pipeline'ów wyszukiwania wektorowego i uczenia maszynowego.
  • Integracja komponentów szkolenia i inferencji RAPIDS ML z pakietami oprogramowania komercyjnego i open-source.
  • Implementacja i ulepszanie rozwiązań opartych na systemach z komponentami w Pythonie, Cythonie, C++ i CUDZIE.
  • Wkład w projekty open-source, takie jak RAPIDS RAFT i cuML.
  • Benchmarking, profilowanie i optymalizacja złożonych algorytmów na różnych architekturach systemowych, od pojedynczych węzłów po wysokoskalowe systemy rozproszone.
  • Ścisła współpraca z naukowcami danych, architektami rozwiązań i innymi grupami nad integracją, rozwiązywaniem problemów i ulepszaniem naszych narzędzi.

Kwalifikacje

By odnieść sukces w tej roli, powinieneś mieć:

  • 8+ lat doświadczenia jako inżynier ML lub programista, specjalizujący się w wyszukiwaniu wektorowym, najbliższych sąsiadach, algorytmach opartych na odległości lub systemach rozproszonych.
  • Licencjat/magister (BS/MS) z informatyki, inżynierii komputerowej lub pokrewnej dziedziny (lub równorzędne doświadczenie).
  • Silne umiejętności programowania w nowoczesnym języku C++.
  • Znajomość Pythona.
  • Znajomość jednego z rozproszonych systemów programowania, takich jak Dask lub Spark.
  • Doświadczenie z systemami budowania opartymi na CMake i Dockerze.
  • Głębokie zaangażowanie w tworzenie niezawodnego, czytelnego, dobrze udokumentowanego i wydajnego kodu.
  • Chęć eksplorowania nowych obszarów problemowych i stosowania swojej kreatywności do wymagających i satysfakcjonujących problemów.

Preferowane umiejętności

By się wyróżniać, powinieneś mieć:

  • Znaczące doświadczenie z bazami danych wektorowych, takimi jak Milvus, Pinecone, lub frameworkami jak FAISS.
  • Znajomość CUDA.
  • Zrozumienie infrastruktury budowania i technologii CI/CD, takich jak CMake, Docker, skrypty Bash, Jenkins, kompilatory i linkery.
  • Znaczące wkłady i interakcje z projektami open-source związanymi z nauką o danych i uczeniem maszynowym.
  • Ekspercka wiedza na temat Dask, Spark lub innych systemów rozproszonych.

NVIDIA jest powszechnie uznawana za jednego