AuroraGPT

@ HPC User Forum Fall ’24

Sam Foreman

ALCF

2024-09-04

🎯 AuroraGPT Goals

AuroraGPT: General purpose scientific LLM
Broadly trained on a general corpora plus scientific {papers, texts, data}

  • Explore pathways towards a “Scientific Assistant” model
  • Build with international partners (RIKEN, BSC, others)
  • Multilingual English, 日本語, French, German, Spanish
  • Multimodal: images, tables, equations, proofs, time series, graphs, fields, sequences , etc
Figure 1: Credit to the entire AuroraGPT team for slides.

🧪 AuroraGPT: Open Science Foundation Models

📊 AuroraGPT Outcomes

  • Datasets and data pipelines for preparing science training data
  • Software infrastructure and workflows to train, evaluate and deploy LLMs at scale for scientific resarch purposes
  • Evaluation of state-of-the-art LLM Models to determine where they fall short in deep scientific tasks and where deep data may have an impact
  • Assessment of the approach of augmenting web training data with two forms of data specific to science
    • Full text scientific papers
    • Structured scientific datasets (suitably mapped to narrative form)
  • Research grade artifacts (models) for scientific community for adaptation for downstream uses
  • Promotion of responsible AI best practices where we can figure them out
  • International Collaborations around the long term goal of AGI for science

🌌 Aurora

Table 1: Aurora Specs
Racks 166
Nodes 10,624
CPUs 21,248
GPUs 63,744
NICs 84,992
HBM 8 PB
DDR5c 10 PB
Figure 2: Aurora Fact Sheet

🤖 ALCF AI Testbed

  • ALCF AI Testbed Systems are in production and available for allocations to the research community
  • Significant improvement in time-to-solution and energy-efficiency for diverse AI for science applications.
  • NAIRR Pilot

Up to 25X improvement for genomic foundation models with 6.5X energy efficiency

Figure 3: SambaNova SN-30: 2nd Gen, 8 nodes with 64 AI Accelerators
Figure 4: Graphcore Bow: generation accelerators: Pod-64 configuration with 64 accelerators
Figure 5: Cerebras: 2x CS-2 WSE with Memory-X and Swarm-X technologies
Figure 6: GroqRack: 9 nodes, 8 GroqChip v1.5 Tensor streaming processors accelerators per node

👥 Team Leads

Planning

Rick Stevens

Rick Stevens1

Ian Foster

Ian Foster

Rinku Gupta

Rinku Gupta

Mike Papka

Mike Papka

Arvind Ramanathan

Arvind Ramanathan

Fangfang Xia

Fangfang Xia

Data

Ian Foster

Ian Foster

Robert Underwood

Robert Underwood

Models / Training

Venkat Vishwanath

Venkat Vishwanath

Sam Foreman

Sam Foreman

Evaluation

Franck Cappello

Franck Cappello

Sandeep Madireddy

Sandeep Madireddy

Bo Li

Bo Li

Post

Eliu Huerta

Eliu Huerta

Azton Wells

Azton Wells

Inference

Rajeev Thakur

Rajeev Thakur

Comms

Charlie Catlett

Charlie Catlett

David Martin

David Martin

Distribution

Brad Ullrich

Brad Ullrich

🤝 Teams

  • Planning
  • Data Prep
    • Accumulate 20+ T tokens of high-quality scientific text and structured data
  • Models / Training1
    • Train (entirely from scratch) a series of models on publicly available data
  • Evaluation
    • Skills, trustworthiness, safety, robustness, privacy, machine ethics
  • Post-Training
    • Fine-tuning, alignment
  • Inference
    • Model serving, API development / public-facing web services
  • Distribution
    • Licensing, generating and distributing artifacts for public consumption
  • Communication

🦜 Model Training

Goals

  • Want training runs at scale to be:
    • efficient
    • stable
    • reproducible
  • This requires:
    • robust data pipelines / file IO
    • effectively overlapping compute with communication
    • stability across {network, filesystem, machine}
  • 3D / Multi-dimensional Parallelism strategies
  • Large batch training
  • Second order optimizers
  • Sub-quadratic attention
  • State space models
  • Highly optimized GPU kernels

Challenges

  • Looong time to train, can be:
    • weeks (even months) of continuous training
    • order of magnitude longer than typical NN training jobs
  • Stability issues:
    • failures are expensive (but inevitable)
    • stragglers common at scale
  • Individual jobs are:
    • fragile
    • only as good as the worst rank
    • one hang or bad worker can crash job
    • network / filesystem / other-user(s) dependent
  • Cost / benefits of different collective communication algorithms
    • depend on optimized / efficient implementations
  • Network performance
  • Highly optimized GPU kernels

🚀 Accelerating Dataset Processing at Scale for Training

  • To train a fixed model on trillions of tokens requires:
    • Aggregating data from multiple different corpora (e.g. Reddit, StackExchange, GitHub, etc.)
    • Sampling each training batch according to a fixed distribution across corpora
    • Building indices that map batches of tokens into these files (indexing)
  • The original implementation was slow, and designed to run on a single device
    • Major bottleneck when debugging data pipeline at scale

🚀 Accelerating Dataset Processing at Scale for Training

Time spent building BlendableDataset

Time spent building BlendableDataset

Time spent building GPTDataset

Time spent building GPTDataset

📓 References

❤️ Thank you!

  • Organizers

  • Feel free to reach out!

🙏 Acknowledgements

This research used resources of the Argonne Leadership Computing Facility, which is a DOE Office of Science User Facility supported under Contract DE-AC02-06CH11357.

📑 Bibliography

Song, Shuaiwen Leon, Bonnie Kruft, Minjia Zhang, Conglong Li, Shiyang Chen, Chengming Zhang, Masahiro Tanaka, et al. 2023. “DeepSpeed4Science Initiative: Enabling Large-Scale Scientific Discovery Through Sophisticated AI System Technologies.” https://arxiv.org/abs/2310.04610.
Wei, Jason, Yi Tay, Rishi Bommasani, Colin Raffel, Barret Zoph, Sebastian Borgeaud, Dani Yogatama, et al. 2022. “Emergent Abilities of Large Language Models.” https://arxiv.org/abs/2206.07682.
Yang, Jingfeng, Hongye Jin, Ruixiang Tang, Xiaotian Han, Qizhang Feng, Haoming Jiang, Bing Yin, and Xia Hu. 2023. “Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond.” https://arxiv.org/abs/2304.13712.

🎁 Extras

🚂 Loooooooooong Sequence Lengths

25B

33B
Figure 7: Maximum (achievable) SEQ_LEN for both 25B and 33B models (See: Song et al. (2023))

♻️ Life Cycle of the LLM

Figure 8: Pre-training: Virtually all of the compute used during pretraining phase
Figure 9: Fine-tuning: Fine-tuning actually updates the model’s weights to make the model better at a certain task.

🍎 Training LLMs

Figure 10: It’s hungry!
Figure 11: Visualization from Yang et al. (2023)