LLM 相关概念及对应产品
LLM 相关概念、工具、产品、框架数不胜数,文本总结 LLM 各层次及产品之间的对应关系。
采用自底向上的顺序。
1. 芯片
与 LLM 相关芯片通常指 GPU,相较 CPU 有很多计算上的优势。
- NVIDIA 英伟达:高端服务器 GPU 占有率高达 92.5%;
- AMD:市场占有率 7.3%;
- 其他:包括英特尔、华为昇腾系列等;
2. 基于芯片的并行计算框架
电脑上挂了张显卡怎么用,有了 GPU 怎么用,什么时候用,哪些过程能用 GPU 加速,其实和 LLM 训练以及推理的实现非常紧密,模型代码通常并未指定哪些内存分配在显存上,哪些代码片段执行在显卡上,这个过程通常要开发者自己去调用 GPU,那为了构建自家芯片生态,更好的被开发者调用,GPU 厂商对外会提供一套并行计算框架,用户可以在这套框架上针对性的加速大模型训练和推理过程,比如通过宏指定某个函数在 GPU上运行;
- CUDA 并行计算框架:最主流的,基于 NVIDIA,专属;
- ROCm(radeon open compute):基于 AMD;
- CANN (compute architecture for neural networks):基于昇腾,壁垒很高;
- Metal:apple 的计算框架;
- OpenCl(open computing language):跨平台标准;
3. LLM 框架
大模型框架是专门用于训练、推理和部署 LLM 的软件工具和库;有的框架只能推理,有的框架可以推理可以训练;这很正常,对于很多开发者来说,训练一个 LLM 是一个极其消耗资源和时间的过程。推理加速是一个很热的方向,因为推理时延和推理成本是 LLM 规模商业化的很大挑战;
- Ollama(训练 + 推理)
- DeepSpeed-MII(训练 + 推理、微软开源)
- TensorFlow + Pytorch(训练 + 推理,目前最流行)
- vLLM(推理、cuda 加速)
- LightLLM (推理)
- llama.cpp (推理、开源、基于 C++)
- TensorRT-LLM(推理、英伟达生态)
4. LLM 库
LLM 库是开源大模型汇聚者,有一些社区或组织通过优化和预训练模型,把训练好的各种模型以及使用 API 包装成库(也提供数据集等),有的支持在大模型框架上部署和使用或进一步微调,有的支持特定的大模型框架,对外提供 LLM 库;
- Hugging Face Transformers:提供数以千计的预训练 transformer 模型,包括 BERT、GPT-2、RoBERTa 等,支持 Pytorch 和 TensorFlow
- spaCy
- Gensim
- pytext:支持 pytorch
5. LLM
终于到上层模型了,抽象来看,决定模型的结果好坏一方面是模型架构、一方面是模型训练数据。
下面记录些个人理解,现在的模型架构可能更多的是一种学习方法,比如有模型练习方法是做完形填空(bert),有的模型练习方法是写小作文(generative transformer),有的练习方法是做翻译题(transformer),不同模型其实是适应不同业务的,但在数据量最够好、足够大的情况下,都能达到类人的水平。
大模型的开源精神与商业化
训练一个大模型是非常消耗资源和时间的,这个资源除了硬件资源还有打标好的训练数据等,而时间决定着验证成本。如果做应用开发,或二次开发先尽量尝试开源大模型,如果开源大模型已经做得很好了原则尽量不微调。
开源大模型一般用参数 B 衡量大小,8 B 就是 80 亿参数;有传言 GPT-4是 200 B。
- 开源:
- LLama2 和 LLama3,由 Meta 公司发布的开源大模型,LLama 3 两个版本 8 B 和 70 B
- GPT-NeoX-20B 架构基本遵循 GPT-3
- GPT-J-6B 体积相对较小,和 GPT-NeoX-20B 都是 EleutherAI
- Phi-3:微软发布,有三个版本 Phi-3-Mini、Phi-3-Smal l和 Phi-3-Medium,比较轻量,但表现出色;
- Qwen1.5-110B:阿里通义千问发布,第一个开源的千亿参数大模型,目前(2024.4)开源之巅,超过 llama3-70 B。
- Falcon 40B,Falcon-180 B(目前最大的开源大模型),Falcon 2 11B 等系列;
- Mistral 7B,DeepMind(谷歌) 和 meta 三位前成员出来创立
- Gemma 2 B 和 Gemma 7 B:谷歌发布
- 闭源:
各家公司基本手上有一部分开源的,也有一些个闭源的大模型,个人竞争力,少数公司全是闭源的。
- Llama 400 B;
- GPT 系列(如 GPT-3.5-turbo 、GPT-4、GPT-4-turbo):openAi开发,提供 API;
- Gemini 系列谷歌发布的,Bard 机器人背后的大模型
- ERNIE:百度文心大模型系列
开源和闭源都是动态的,公司内部对训练模型等付出了高昂的成本,个人开发或者小团队不现实,推理也需要成本,看自己需求和硬件限制,选模型参数,再选大模型。