In this work, we propose Retentive Network (RetNet) as a foundation architecture for large language models, simultaneously achieving training parallelism, low-cost inference, and good performance. We theoretically derive the connection between recurrence and attention. Then we propose the retention mechanism for sequence modeling, which supports three computation paradigms, i.e., parallel, recurrent, and chunkwise recurrent. Specifically, the parallel representation allows for training parallelism. The recurrent representation enables low-cost O(1) inference, which improves decoding throughput, latency, and GPU memory without sacrificing performance. The chunkwise recurrent representation facilitates efficient long-sequence modeling with linear complexity, where each chunk is encoded parallelly while recurrently summarizing the chunks. Experimental results on language modeling show that RetNet achieves favorable scaling results, parallel training, low-cost deployment, and efficient inference. The intriguing properties make RetNet a strong successor to Transformer for large language models. Code will be available at this https URL.

  • kakes
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    They mention the possibility of parallelization in training. Is this something that could allow (or lead to allowing) distributed training? Something like Folding@Home for LLMs?

    If so, I’m beyond excited. I honestly think that’ll be a major step forward in the democratization of AI, if we can crowdsource training.

    • noneabove1182OPM
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      That’s definitely a nifty idea, we’ve got people getting distributed inferencing, I can’t see why we couldn’t do something similar for training, especially if we learn better ways to combine training samples