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