skip to main content
10.1145/3583133.3596356acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

Gaggle: Genetic Algorithms on the GPU using PyTorch

Published:24 July 2023Publication History

ABSTRACT

PyTorch has profoundly impacted the machine learning (ML) community by allowing researchers of all backgrounds to train models efficiently. While PyTorch is the de facto standard in ML, the evolutionary algorithms (EA) community instead relies on many different libraries, each with low adoption in practice. In an effort to provide a standardized library for EA, packages like LEAP and PyGAD have been developed. However, these libraries fall short in either scalability or usability. In particular, neither of these packages offers efficient support for neuroevolutionary tasks. We argue that the best way to develop a PyTorch-like library for EAs is to build on the already solid foundation of PyTorch itself. We present Gaggle, an efficient PyTorch-based EA library that better supports GPU-based tasks like neuroevolution while maintaining the efficiency of CPU-based problems. We evaluate Gaggle on various problems and find statistically significant improvements in runtime over prior work on problems like training neural networks. In addition to efficiency, Gaggle provides a simple single-line interface making it accessible to beginners and a more customizable research interface with detailed configuration files to better support the EA research community.

References

  1. Greg Brockman, Vicki Cheung, Ludwig Pettersson, Jonas Schneider, John Schulman, Jie Tang, and Wojciech Zaremba. 2016. OpenAI Gym. arXiv:arXiv:1606.01540 Google ScholarGoogle ScholarCross RefCross Ref
  2. John Runwei Cheng and Mitsuo Gen. 2019. Accelerating Genetic Algorithms with GPU Computing: A Selective Overview. Computers & Industrial Engineering 128 (Feb. 2019), 514--525. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Mark A. Coletti, Eric O. Scott, and Jeffrey K. Bassett. 2020. Library for Evolutionary Algorithms in Python (LEAP). In Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion (GECCO '20). Association for Computing Machinery, New York, NY, USA, 1571--1579. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Li Deng. 2012. The MNIST Database of Handwritten Digit Images for Machine Learning Research [Best of the Web]. IEEE Signal Processing Magazine 29, 6 (Nov. 2012), 141--142. Google ScholarGoogle ScholarCross RefCross Ref
  5. Paszke et al. 2019. PyTorch: An Imperative Style, High-Performance Deep Learning Library. In Advances in Neural Information Processing Systems, Vol. 32. Curran Associates, Inc. https://proceedings.neurips.cc/paper/2019/hash/bdbca288fee7f92f2bfa9f7012727740-Abstract.htmlGoogle ScholarGoogle Scholar
  6. Ahmed Fawzy Gad. 2021. PyGAD: An Intuitive Genetic Algorithm Python Library. arXiv:arXiv:2106.06158 Google ScholarGoogle ScholarCross RefCross Ref
  7. Jonatan Kłosko, Mateusz Benecki, Grzegorz Wcisło, Jacek Dajda, and Wojciech Turek. 2022. High Performance Evolutionary Computation with Tensor-Based Acceleration. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO '22). Association for Computing Machinery, New York, NY, USA, 805--813. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Y. Lecun, L. Bottou, Y. Bengio, and P. Haffner. 1998. Gradient-Based Learning Applied to Document Recognition. Proc. IEEE 86, 11 (Nov. 1998), 2278--2324. Google ScholarGoogle ScholarCross RefCross Ref
  9. Eric Medvet, Giorgia Nadizar, and Luca Manzoni. 2022. JGEA: A Modular Java Framework for Experimenting with Evolutionary Computation. In Proceedings of the Genetic and Evolutionary Computation Conference Companion (GECCO '22). Association for Computing Machinery, New York, NY, USA, 2009--2018. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Gaggle: Genetic Algorithms on the GPU using PyTorch

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        GECCO '23 Companion: Proceedings of the Companion Conference on Genetic and Evolutionary Computation
        July 2023
        2519 pages
        ISBN:9798400701207
        DOI:10.1145/3583133

        Copyright © 2023 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 24 July 2023

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate1,669of4,410submissions,38%

        Upcoming Conference

        GECCO '24
        Genetic and Evolutionary Computation Conference
        July 14 - 18, 2024
        Melbourne , VIC , Australia
      • Article Metrics

        • Downloads (Last 12 months)80
        • Downloads (Last 6 weeks)7

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader