This job might no longer be available.
Machine learning developer, Low Level CPU / GPU (Labs) / Développeur d'apprentissage machine, processeur / GPU bas niveau (Labs)
5 years ago
In this role, you will join our team with core objective to build truly cross-platform and performant Inference engine for neural nets within Unity. Today, our engine supports CPU and GPU inference on over 20 platforms including web, console and mobile. It is at the heart of Machine-learning based approaches ranging from Unity Machine Learning Agents Toolkit and content creation tools in the Unity Editor to Augmented Reality applications.
You will use your optimization and machine learning skills to advance Unity Inference engine performance on a broad variety of platforms and GPU architectures. We believe that x2-x4 performance increase is still possible over our current implementation.
You will be joining the Unity Labs team, comprised of talented folks in search of new cutting-edge methods to author content, help storytellers and advance AI. Unity’s award-winning 3D engine, and its huge reach into many industries, it is the perfect place to be to influence and contribute to the future.
Responsibilities
- Optimize GPU and CPU kernels
- Explore new neural net architectures and weight quantization methods
- Work together with content creation and machine learning teams to bring their models to real-time
- Help to architect inference APIs
Requirements
- Low-level GPU and CPU optimization experience
- Experience writing high-performance kernels (e.g. GPU Compute, CUDA, AVX)
- Good linear-algebra knowledge
Bonus points
- Experience with Deep Learning Frameworks (e.g. TensorFlow, PyTorch)
- Experience with Inference libraries (e.g. cuDNN, Apple MPS)
- Ability to write and train successful models
- Unity or game development experience
- S. or Ph.D. in Computer Science, Math, Statistics, Physics, or related area
- Inquisitive minds with an appetite for discovering things!
Who we are
Unity is the creator of the world’s most widely-used real-time 3D (RT3D) development platform, providing content creators around the world with the tools they need to build rich, interactive 2D, 3D, VR and AR experiences. In fact, apps made with Unity reach 2.7 billion devices worldwide, and were installed more than 24 billion times in the last 12 months.
The global engineering team keeps Unity at the forefront of technology and — working alongside partners like Magic Leap, Google, Facebook, Oculus and Microsoft — ensures optimized support for the latest technology and platforms. Unity is powering the real-time revolution, expanding beyond games and breaking into other industries including automotive, film, architecture, engineering, construction and more.
Unity is an equal opportunity employer committed to fostering an inclusive, innovative environment with the best employees. Therefore, we provide employment opportunities without regard to age, race, color, ancestry, national origin, religion, disability, sex, gender identity or expression, sexual orientation, or any other protected status in accordance with applicable law. If there are preparations we can make to help ensure you have a comfortable and positive interview experience, please let us know.
Headhunters and recruitment agencies may not submit resumes/CVs through this website or directly to managers. Unity does not accept unsolicited headhunter and agency resumes. Unity will not pay fees to any third-party agency or company that does not have a signed agreement with Unity.
Dans ce poste, vous ferez partie de notre équipe qui a comme objectif principal de bâtir un moteur d’inférence véritablement multiplateforme et performant pour les réseaux neuronaux au sein de Unity. À l’heure actuelle, notre moteur prend en charge l’inférence d’unités centrales (CPU) et de processeurs graphiques (GPU) sur plus de 20 plateformes, notamment les plateformes Web, mobiles et sur consoles. Notre moteur d’inférence est au centre des approches fondées sur l’apprentissage machine, allant d’une trousse d’outils Unity d’agents d’apprentissage machine aux outils de création de contenu de l’Éditeur Unity, en passant par les applications de réalité augmentée.
Vous mettrez à profit vos compétences en matière d’optimisation et d’apprentissage machine pour améliorer les performances du moteur d’inférence Unity sur une grande variété de plateformes et d’architectures de processeurs graphiques (GPU). Au regard de notre système actuel, nous estimons que le doublement, voire le quadruplement des performances est encore possible.
Vous vous joindrez à l’équipe des laboratoires Unity, une équipe formée de talentueuses personnes à la recherche de nouvelles méthodes de pointe de création de contenu, d’aide à la narration et d’intelligence artificielle de niveau avancé. Le moteur 3D primé de Unity, grâce notamment à son énorme portée dans plusieurs secteurs, est le meilleur endroit pour influencer l’avenir et contribuer aux technologies du futur.
Responsabilités
- Optimiser les noyaux GPU et CPU;
- Explorer de nouvelles architectures de réseaux neuronaux et des méthodes de quantification de charges;
- Travailler en collaboration avec les équipes de création de contenu et d’apprentissage machine pour adapter leurs modèles au temps réel;
- Contribuer au développement des architectures des API d’inférence.
Compétences
- Expérience en optimisation d’unité centrale et de processeur graphique de bas niveau;
- Expérience dans l’écriture de noyaux de haute performance (p. ex. GPU Compute, CUDA, AVX);
- Connaissances solides en algèbre linéaire.
Atouts
- Expérience avec les systèmes d’apprentissage profond (p. ex. TensorFlow, PyTorch);
- Expérience avec les bibliothèques d’inférence (p. ex. cuDNN, Apple MPS);
- Capacité de rédiger et de former des modèles réussis;
- Expérience en conception de jeux vidéo ou avec Unity;
- Maîtrise ou doctorat en informatique, en mathématiques, en statistiques, en physique ou dans un domaine connexe;
- Avoir un esprit curieux qui aime découvrir des choses!
Qui sommes-nous
Nous sommes une entreprise orientée vers le produit, nous sommes curieux et créatifs. Afin de permettre à Unity d’évoluer avec les progrès, d’être plus conviviale et d’élargir ses marchés, nous réinvestissons continuellement dans le développement. Avec plus d’un milliard d’installations par mois, Unity rejoint autant les joueurs que les amateurs. En plus de nos jeux vidéo, nos logiciels sont utilisés dans des secteurs aussi variés que la médecine, la visualisation et le commerce. Ces logiciels contribuent à démocratiser le développement des jeux, permettent de résoudre des problèmes et favorisent la réussite d’un grand nombre de développeurs à l’échelle mondiale.
Aujourd’hui, Unity compte plus de 15 succursales dans le monde et ses employés sont répartis dans 23 pays. Les employés de Unity Technologies sont passionnés et dynamiques, il ne suffit plus de savoir faire le travail, nous sommes à la recherche de candidats qui souhaitent se dépasser, surmonter des obstacles et qui ont de grands rêves!
Unity est un employeur axé sur l'égalité des chances qui s'engage à favoriser un environnement inclusif et innovateur avec les meilleurs employés. Par conséquent, nous fournissons des opportunités d'emploi sans tenir compte de l'âge, la race, la couleur, l'ascendance, l'origine nationale, la religion, le handicap, le sexe, l'identité sexuelle ou l'expression, l'orientation sexuelle ou tout autre statut protégé. S'il y a des préparatifs que nous pouvons faire pour vous aider à avoir une expérience d'entrevue confortable et positive, veuillez-nous le faire savoir.
Les chasseurs de têtes et les agences de recrutement ne peuvent pas soumettre résumes/CV par ce site Web ou directement aux superviseurs. Unity n’accepte pas des chasseurs de têtes non sollicités et des résumés (CV) d’agence. Unity ne payera pas d’honoraires à aucune agence tierce ou entreprise qui n’a pas signé d’ententes avec Unity.
#LI-NS1 #SEN
Create Your Profile — Game companies can contact you with their relevant job openings.