Machine Learning Researcher:
We
would like to work with bold researchers who are capable of advancing
the state-of-the-art in artificial general intelligence algorithms.
The bulk of the work requires analyzing and improving existing
proprietary models and methods at our firm, however we would like the
ideal candidate to propose entirely new general-purpose machine
learning models and methods, and address open problems in
mathematical artificial intelligence.
Job responsibilities:
Desired Skills and Experience:
– PhD in a relevant subject (machine learning, statistics, data mining, neuroscience, etc.), or equivalent research experience
– Functional programming experience
Functional Programming Researcher:
Our prototypes are written in OCaml, and C++. We would like to move into a purely functional direction since multi-core programming is essential to high-performance. We are also interested in inventing domain-specific languages for AI tasks. The ideal candidate for this position would be able to make good use of existing functional programming technology to better express our algorithms and models, and optimize existing code. He/she would be competent in expressing parallelism in a functional fashion. He/she has good command of programming language semantics and can design a new domain-specific functional PL for given requirements. He/she can design an efficient runtime system and is familiar with problems in scientific computing, and/or data mining.
Job responsibilities:
– Design, and implement functional and imperative algorithms
– Implement new domain specific functional language interpreters and runtimesDesired Skills and Experience:
– PhD level or similar experience required
– OCaml and Haskell experienceParallel Computing Researcher:
Implementing a human-level AI system requires a high degree of parallelism. We purpose to build systems that will scale well to billion cores on heterogeneous parallel computers. The ideal candidate for this position would be able to design scalable algorithms for computationally intensive AGI algorithms with non-trivial data structures. He/she would have experience with advanced task and data partitioning methods, and a variety of parallel computing architectures (both MIMD and SIMD, both shared and distributed memory, grid computing, at least). He/she would like to design middle-ware/library code that will facilitate ease of implementation across many architectures, and has working knowledge of both explicit and implicit parallelism.
Job responsibilities:
– Design, and implement scalable algorithms to solve grand challenges in AGI
– Design, and implement solutions for heterogeneous architectures