模型训练的底层原理如下:
[title]Ranger:【AI大模型】非技术背景,一文读懂大模型(长文)[heading2]三、理解模型如何运作[heading3]2.多模态的原理ok讲完了LLm,我们来看多模态是怎么实现的多模态模型目前基本就是文生图、图生图、图生视频、文生视频这些,其底层逻辑其实还是先从生图片这一源头。因为毕竟视频也是若干帧的图片组成。所以在生图片的这个环节上,我们把比较火的这个stablediffusion用的这个diffusion扩散模型理解掉,也就差不多够了。那么什么是扩散模型呢,这里我拿论文中的两张图帮助理解一张是前向的,在图片上加噪点,最终生成一张无意义的噪点图,一个是后向的,从一个无意义的噪点图上消除噪点,最终得到一张有意义的实际图片。其实扩散模型训练的就是这个加减噪点的过程:先把海量的带有标注文字描述的图片,例如“一只白色的小猫”,逐渐加满噪点。在这个过程中,模型会把每一步的图片向量值,和文字的向量值的数据分布的演变规律,进行系统学习并沉淀下来,这就完成了模型的训练。在后续我们输入文字后,模型就可以根据输入的文字转化为的向量,去指导一个充满噪点的图片每一步减噪点的过程,生成最终的图片。这里其实有两个点一个是diffusion模型中加减噪点的方式,其实也与我们大脑中去构思一张图片的方式有些类似,我们去想像一张图片的时候,不也是从一片模糊中逐渐想清楚一张图片嘛第二个是多模态模型会把文字的向量值和图片的rgb像素点的向量值进行关联,这个也像极了我们大脑中的一个思考过程。
当我们的请求被输入到模型时,它不再是我们通常理解的自然语言形式。而是被转化为机器可以理解的格式,通常是向量。不必深入了解向量的具体含义,重要的是明白这代表了从人类的自然语言到机器可识别的数字形式的转换。在数学上,我们通过方程式如y = f(x)= ax + b来解决问题,通过已知的几组(x,y)值来计算出参数a和b。类似地,大语言模型的训练过程也是通过计算来确定模型的参数。这些参数不仅限于两个(如a和b),而是可能达到1750亿个。介绍这些概念的目的是为了揭示,尽管工程实现可能看似枯燥,但理解其背后的原理对于去除对AI的无根据迷信非常重要。这种深入的理解可能需要时间和努力,但它将帮助我们更有效地利用这些技术,避免形成基于误解的观念。
[title]文章:Andrej Karpathy亲授:大语言模型入门[heading1]第一部分:大型语言模型(LLMs)因此,您只需要这两个文件和一台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倍。但这不是无损压缩,而是有损压缩,我们得到的是训练文本的一种格式塔,而不是原始文本的完整副本。