作者:老余捞鱼
原创不易,转载请标明出处及原作者。
写在前面的话:
本文主要介绍如何在家用设备上运行大型开源语言模型Llama 3.1 405B,首先我会解释构建人工智能集群来提高运行效率的原理,随后会演示如何通过Distributed Llama项目支持在多个设备上运行LLM模型,并会针对同步数据量进行优化。
在开源大型语言模型(open LLM models)和闭源大型语言模型(closed LLM models)之间的竞赛中,开源模型的最大优势在于您可以在本地运行它们。您不需要依赖外部提供商,也不需要支付额外的费用,只需承担电力和硬件成本。然而,随着模型大小的增加,这一优势开始减弱。运行需要大量内存的大型模型并不容易。幸运的是,使用张量并行(Tensor Parallism)和分布式推理(distributed inference)可能是一种可行的解决方案。
一、张量并行(Tensor Parallism)
在大型语言模型(LLMs)中,大多数计算涉及矩阵乘法,这大约占所有计算的97-98%。矩阵乘法很容易在多个CPU/GPU核心之间并行化。我们也可以在多个设备上执行相同的操作。设备可以这样分割,每个设备只计算矩阵乘法的一部分。如果一个设备可以在n秒内完成矩阵乘法计算,那么两个设备应该在n/2秒内完成计算!这就是张量并行。