1,554 research outputs found
On the Principles of Differentiable Quantum Programming Languages
Variational Quantum Circuits (VQCs), or the so-called quantum
neural-networks, are predicted to be one of the most important near-term
quantum applications, not only because of their similar promises as classical
neural-networks, but also because of their feasibility on near-term noisy
intermediate-size quantum (NISQ) machines. The need for gradient information in
the training procedure of VQC applications has stimulated the development of
auto-differentiation techniques for quantum circuits. We propose the first
formalization of this technique, not only in the context of quantum circuits
but also for imperative quantum programs (e.g., with controls), inspired by the
success of differentiable programming languages in classical machine learning.
In particular, we overcome a few unique difficulties caused by exotic quantum
features (such as quantum no-cloning) and provide a rigorous formulation of
differentiation applied to bounded-loop imperative quantum programs, its
code-transformation rules, as well as a sound logic to reason about their
correctness. Moreover, we have implemented our code transformation in OCaml and
demonstrated the resource-efficiency of our scheme both analytically and
empirically. We also conduct a case study of training a VQC instance with
controls, which shows the advantage of our scheme over existing
auto-differentiation for quantum circuits without controls.Comment: Codes are available at https://github.com/LibertasSpZ/adcompil
Differentiable Quantum Programming with Unbounded Loops
The emergence of variational quantum applications has led to the development
of automatic differentiation techniques in quantum computing. Recently, Zhu et
al. (PLDI 2020) have formulated differentiable quantum programming with bounded
loops, providing a framework for scalable gradient calculation by quantum means
for training quantum variational applications. However, promising parameterized
quantum applications, e.g., quantum walk and unitary implementation, cannot be
trained in the existing framework due to the natural involvement of unbounded
loops. To fill in the gap, we provide the first differentiable quantum
programming framework with unbounded loops, including a newly designed
differentiation rule, code transformation, and their correctness proof.
Technically, we introduce a randomized estimator for derivatives to deal with
the infinite sum in the differentiation of unbounded loops, whose applicability
in classical and probabilistic programming is also discussed. We implement our
framework with Python and Q#, and demonstrate a reasonable sample efficiency.
Through extensive case studies, we showcase an exciting application of our
framework in automatically identifying close-to-optimal parameters for several
parameterized quantum applications.Comment: Codes are available at https://github.com/njuwfang/DifferentiableQP
Instead of Rewriting Foreign Code for Machine Learning, Automatically Synthesize Fast Gradients
Applying differentiable programming techniques and machine learning
algorithms to foreign programs requires developers to either rewrite their code
in a machine learning framework, or otherwise provide derivatives of the
foreign code. This paper presents Enzyme, a high-performance automatic
differentiation (AD) compiler plugin for the LLVM compiler framework capable of
synthesizing gradients of statically analyzable programs expressed in the LLVM
intermediate representation (IR). Enzyme synthesizes gradients for programs
written in any language whose compiler targets LLVM IR including C, C++,
Fortran, Julia, Rust, Swift, MLIR, etc., thereby providing native AD
capabilities in these languages. Unlike traditional source-to-source and
operator-overloading tools, Enzyme performs AD on optimized IR. On a
machine-learning focused benchmark suite including Microsoft's ADBench, AD on
optimized IR achieves a geometric mean speedup of 4.5x over AD on IR before
optimization allowing Enzyme to achieve state-of-the-art performance. Packaging
Enzyme for PyTorch and TensorFlow provides convenient access to gradients of
foreign code with state-of-the art performance, enabling foreign code to be
directly incorporated into existing machine learning workflows.Comment: To be published in NeurIPS 202
Simulation Intelligence: Towards a New Generation of Scientific Methods
The original "Seven Motifs" set forth a roadmap of essential methods for the
field of scientific computing, where a motif is an algorithmic method that
captures a pattern of computation and data movement. We present the "Nine
Motifs of Simulation Intelligence", a roadmap for the development and
integration of the essential algorithms necessary for a merger of scientific
computing, scientific simulation, and artificial intelligence. We call this
merger simulation intelligence (SI), for short. We argue the motifs of
simulation intelligence are interconnected and interdependent, much like the
components within the layers of an operating system. Using this metaphor, we
explore the nature of each layer of the simulation intelligence operating
system stack (SI-stack) and the motifs therein: (1) Multi-physics and
multi-scale modeling; (2) Surrogate modeling and emulation; (3)
Simulation-based inference; (4) Causal modeling and inference; (5) Agent-based
modeling; (6) Probabilistic programming; (7) Differentiable programming; (8)
Open-ended optimization; (9) Machine programming. We believe coordinated
efforts between motifs offers immense opportunity to accelerate scientific
discovery, from solving inverse problems in synthetic biology and climate
science, to directing nuclear energy experiments and predicting emergent
behavior in socioeconomic settings. We elaborate on each layer of the SI-stack,
detailing the state-of-art methods, presenting examples to highlight challenges
and opportunities, and advocating for specific ways to advance the motifs and
the synergies from their combinations. Advancing and integrating these
technologies can enable a robust and efficient hypothesis-simulation-analysis
type of scientific method, which we introduce with several use-cases for
human-machine teaming and automated science
Backprop as Functor: A compositional perspective on supervised learning
A supervised learning algorithm searches over a set of functions
parametrised by a space to find the best approximation to some ideal
function . It does this by taking examples , and updating the parameter according to some rule. We define a
category where these update rules may be composed, and show that gradient
descent---with respect to a fixed step size and an error function satisfying a
certain property---defines a monoidal functor from a category of parametrised
functions to this category of update rules. This provides a structural
perspective on backpropagation, as well as a broad generalisation of neural
networks.Comment: 13 pages + 4 page appendi
Qadence: a differentiable interface for digital-analog programs
Digital-analog quantum computing (DAQC) is an alternative paradigm for
universal quantum computation combining digital single-qubit gates with global
analog operations acting on a register of interacting qubits. Currently, no
available open-source software is tailored to express, differentiate, and
execute programs within the DAQC paradigm. In this work, we address this
shortfall by presenting Qadence, a high-level programming interface for
building complex digital-analog quantum programs developed at Pasqal. Thanks to
its flexible interface, native differentiability, and focus on real-device
execution, Qadence aims at advancing research on variational quantum algorithms
built for native DAQC platforms such as Rydberg atom arrays
Computer theorem proving in math
We give an overview of issues surrounding computer-verified theorem proving
in the standard pure-mathematical context. This is based on my talk at the PQR
conference (Brussels, June 2003)
- …