Photo by @hasanalmasi

PyTorch Governance and History

PyTorch’s design philosophy and increasing popularity makes it an interesting programming language to better understand

It would be strange for an ‘outsider’ someone who does not frequently use PyTorch to write about governance and history within the programming language. I decided to try to map out parts and bits of the story as best as I can. Understanding this the text you are about to read is an attempt at doing so.

It is one to follow for many reasons.

According to an article from 2019 by Rohit Yadav:

There are likely far more reasons than mentioned above.

A short history

In October 2016 PyTorch began as an internship project by Adam Paszke.

At the time he was working under , a core developer of Torch.

is an open-source machine learning library, a scientific computing framework, and a script language based on the Lua programming language. It had an initial release October 2002.

PyTorch then got two more core developers on board and around 100 alpha testers from different companies and universities.

Original authors were Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan.

I added a job description to the current and they are:

  • Adam Paszke (apaszke).
  • Soumith Chintala (soumith).
  • Edward Yang (ezyang).
  • Greg Chanan (gchanan).
  • Dmytro Dzhulgakov (dzhulgakov).
  • (sunsetting) Sam Gross (colesbury).

PyTorch is an open source machine learning library. It is released under the Modified BSD license.

It is used for applications such as computer vision and natural language processing, and was primarily developed by Facebook’s AI Research lab (FAIR).

A number of pieces of Deep Learning software are built on top of PyTorch, including:

  • Tesla Autopilot.
  • Uber’s Pyro.
  • HuggingFace’s Transformers.
  • PyTorch Lightning.
  • Catalyst.

In this PyTorch provides two high-level features:

  1. Tensor computing (like NumPy) with strong acceleration via graphics processing units (GPU)
  2. Deep neural networks built on a tape-based automatic differentiation system.

Facebook operates both and (Caffe2).

“PyTorch defines a class called Tensor (torch.Tensor) to store and operate on homogeneous multidimensional rectangular arrays of numbers.”

PyTorch supports various sub-types of Tensors.

In some sense PyTorch Tensors are similar to NumPy Arrays.

It can be operated on a CUDA-capable Nvidia GPU.

Governance Philosophy and Guiding Tenets

Looking at the PyTorch website their governance is described there.

“PyTorch adopts a governance structure with a small set of maintainers driving the overall project direction with a strong bias towards PyTorch’s design philosophy where design and code contributions are valued.“

There are core maintainers, and a broader set of core developers that directly can merge pull requests and own various parts of the core code base.

Beyond the maintainers and core devs, the community is encouraged to:

  • Contribute.
  • File issues.
  • Make proposals.
  • Review pull requests.
  • Be present in the community.

Anyone given contributions and willingness can write for PyTorch.

To some extent this is limited information about a very interesting language, and I would very much like to learn more.

If you have any sources you would recommend I read about the history or governance of PyTorch feel free to share in a response!

AI Policy and Ethics at Student at University of Copenhagen MSc in Social Data Science. All views are my own.