以下是关于 LLM 大模型与运维的相关内容:
部署方面:
训练方面:
整体架构方面:
我们需要进行部署的有三大部分1、本地部署大语言模型2、本地部署FastGPT+OneAPI3、本地部署HOOK项目或COW[heading1]一、部署大语言模型[content]一、下载并安装Ollama1、点击进入,根据你的电脑系统,下载Ollama:https://ollama.com/download2、下载完成后,双击打开,点击“Install”3、安装完成后,将下方地址复制进浏览器中。如果出现下方字样,表示安装完成http://127.0.0.1:11434/二、下载qwen2:0.5b模型(0.5b是为了方便测试,下载快,自己设备充足的话,可以下载更大的模型)1、如果你是windows电脑,点击win+R输入cmd,点击回车如果你是Mac电脑,按下Command(⌘)+Space键打开Spotlight搜索。输入“Terminal”或“终端”,然后从搜索结果中选择“终端”应用程序。2、复制以下命令行,粘贴进入,点击回车:3、回车后,会开始自动下载,等待完成(这里下载久了,可能会发现卡着不动,不知道下载了多少了。鼠标点击一下窗口,键盘点空格,就会刷新了)4、下载完成后你会发现,大模型已经在本地运行了。输入文本即可进行对话。
因此,您只需要这两个文件和一台MacBook,就可以构成一个完全独立的系统,无需连接互联网或其他设施。您可以编译C代码,得到一个可以指向参数文件的二进制文件,然后与语言模型进行交互。例如,您可以请求模型创作一首关于Scale.ai公司的诗,模型将根据指令生成文本。我之所以选择Scale.ai作为例子(您会在整个讲座中看到),是因为我最初的讲座是在Scale.ai主办的活动中进行的,因此我在整个讲座中都使用了它们的例子。在视频中,我展示的是一个运行70亿参数模型的例子,而不是700亿参数的模型,因为后者的运行速度会慢大约10倍。我的目的是让您了解文本生成的过程和外观。LLM训练当我们谈论获取这些参数时,我们面临的是一个计算复杂性问题。那么,我们是如何获得这些参数的呢?尽管run.c文件中的内容、神经网络架构以及前向传播等都可以通过算法理解和开放,但真正的魔法在于参数的获取。模型训练比模型推理要复杂得多。模型推理可以简单地在MacBook上运行,而模型训练则是一个计算量极大的过程。我们所做的可以被理解为对互联网的一大块内容进行压缩。Llama2 70B作为一个开源模型,我们对其训练方式有很多了解,因为Meta在论文中发布了相关信息。训练过程涉及大约10TB的文本,通常来源于互联网的抓取。您需要大量的互联网资源和一个GPU集群,这些专业计算机用于执行如神经网络训练这样的繁重计算任务。您需要大约6000个GPU,运行约12天,费用大约200万美元,以将这一大块文本压缩成类似于zip文件的形式。这些参数文件大约140GB,压缩比大约是100倍。但这不是无损压缩,而是有损压缩,我们得到的是训练文本的一种格式塔,而不是原始文本的完整副本。
首先为方便大家对大模型有一个整体的认知,我们先从大模型的整体架构着手,来看看大模型的组成是怎么样的。下面是我大致分的个层。从整体分层的角度来看,目前大模型整体架构可以分为以下几层:[heading3]1.基础层:为大模型提供硬件支撑,数据支持等[content]例如A100、数据服务器等等。[heading3]2.数据层[content]这里的数据层指的不是用于基层模型训练的数据基集,而是企业根据自己的特性,维护的垂域数据。分为静态的知识库,和动态的三方数据集[heading3]3.模型层:LLm或多模态模型[content]LLm这个大家应该都知道,large-language-model,也就是大语言模型,例如GPT,一般使用transformer算法来实现。多模态模型即市面上的文生图、图生图等的模型,训练所用的数据与llm不同,用的是图文或声音等多模态的数据集[heading3]4.平台层:模型与应用间的平台部分[content]比如大模型的评测体系,或者langchain平台等,提供模型与应用间的组成部分[heading3]5.表现层:也就是应用层,用户实际看到的地方[content]这个就很好理解了,就不用我多作解释了吧