  Accurate protein structure prediction can significantly accelerate the
development of life science. The accuracy of AlphaFold2, a frontier end-to-end
structure prediction system, is already close to that of the experimental
determination techniques. Due to the complex model architecture and large
memory consumption, it requires lots of computational resources and time to
implement the training and inference of AlphaFold2 from scratch. The cost of
running the original AlphaFold2 is expensive for most individuals and
institutions. Therefore, reducing this cost could accelerate the development of
life science. We implement AlphaFold2 using PaddlePaddle, namely HelixFold, to
improve training and inference speed and reduce memory consumption. The
performance is improved by operator fusion, tensor fusion, and hybrid
parallelism computation, while the memory is optimized through Recompute,
BFloat16, and memory read/write in-place. Compared with the original AlphaFold2
(implemented with Jax) and OpenFold (implemented with PyTorch), HelixFold needs
only 7.5 days to complete the full end-to-end training and only 5.3 days when
using hybrid parallelism, while both AlphaFold2 and OpenFold take about 11
days. HelixFold saves 1x training time. We verified that HelixFold's accuracy
could be on par with AlphaFold2 on the CASP14 and CAMEO datasets. HelixFold's
code is available on GitHub for free download:
https://github.com/PaddlePaddle/PaddleHelix/tree/dev/apps/protein_folding/helixfold,
and we also provide stable web services on
https://paddlehelix.baidu.com/app/drug/protein/forecast.
