正在加载视频...

视频加载失败

Google的教学视频《Introduction to Large Language Models | 大语言模型介绍》(中英双语字幕) 这个视频介绍了大型语言模型(Large Language Models,LLMs)的概念、使用场景、提示调整以及Google的Gen AI开发工具。 大型语言模型是深度学习的一个子集,可以预训练并进行特定目的的微调。这些模型经过训练,可以解决诸如文本分类、问题回答、文档摘要、跨行业的文本生成等常见语言问题。然后,可以利用相对较小的领域数据集对这些模型进行定制,以解决零售、金融、娱乐等不同领域的特定问题。 大型语言模型的三个主要特征是:大型、通用性和预训练微调。"大型"既指训练数据集的巨大规模,也指参数的数量。"通用性"意味着这些模型足够解决常见问题。"预训练和微调"是指用大型数据集对大型语言模型进行一般性的预训练,然后用较小的数据集对其进行特定目的的微调。 使用大型语言模型的好处包括:一种模型可用于不同的任务;微调大型语言模型需要的领域训练数据较少;随着数据和参数的增加,大型语言模型的性能也在持续增长。 此外,视频还解释了传统编程、神经网络和生成模型的不同,以及预训练模型的LLM开发与传统的ML开发的区别。 在自然语言处理中,提示设计和提示工程是两个密切相关的概念,这两者都涉及创建清晰、简洁、富有信息的提示。视频中还提到了三种类型的大型语言模型:通用语言模型、指令调整模型和对话调整模型。每种模型都需要以不同的方式进行提示。 原始视频链接:

114,585 次观看 • 3 年前 •via X (Twitter)

9 条评论

indigo 的头像
indigo3 年前

都加中文字幕了 可以😌

JimmyLv.eth (🐣, 🐣) 2𐃏24 的头像
JimmyLv.eth (🐣, 🐣) 2𐃏243 年前

#BibiGPT AI 总结概述: 本课程介绍了大型语言模型(LLM),包括定义、应用场景、提示调整以及谷歌的 Gen AI 开发工具 ## 亮点 - 大型语言模型是深度学习的一个子集,可以通过预训练和微调实现通用的解决方案 - 大型语言模型通过巨大的数据集和参数数量提供卓越的性能,有效地解决领域数据不足的问题

RockCat 的头像
RockCat3 年前

学习了👍

Austin Luke📱 的头像
Austin Luke📱3 年前

@SaveToNotion #tweet

lidouf 的头像
lidouf3 年前

@SaveToNotion #tweet

LLP 的头像
LLP3 年前

@SaveToNotion #Thread

yyhnXtj 的头像
yyhnXtj3 年前

@SaveToNotion #thread #mx

linstone 的头像
linstone3 年前

@SaveToNotion #thread

JasonMa 的头像
JasonMa3 年前

@shipin_xiazai

相关视频

发现一个讲的很细的大语言模型微调教程,详细介绍了整个流程,包括数据准备、参数设置、资源监控等关键步骤。 基本没有技术能力也可以完成微调。想要了解 LLM 原理的可以按这个实践一下。 时间轴: 0:00 概念概览 3:02 自定义数据的准备 8:17 微调操作演示(T4 版本) 16:52 微调操作演示(A100 版本) 19:13 在 Hugging Face 上的保存与使用方法 文字版整理: ✲ 如何使用自己的数据对大语言模型进行微调(fine-tuning): 对大语言模型进行微调并不一定非常困难和昂贵。通过使用自己的数据集对预训练模型进行微调,可以让模型更好地适应特定的任务需求。微调过程能够在保留原模型语言理解能力的基础上,进一步提升其在特定领域或任务上的表现。 ✲ 使用Hugging Face模型库和Unslaw工具进行模型微调: Hugging Face提供了丰富的预训练语言模型资源,用户可以根据任务需求选择合适的模型作为基础进行微调。而Unslaw工具则提供了一套简单高效的微调流程,其优点包括出色的内存使用效率以及对扩展上下文窗口的支持。通过Unslaw,用户能够以较低的资源开销完成模型微调。 ✲ 在Google Colab上使用免费/付费GPU资源进行微调: Google Colab提供了免费和付费的GPU资源,用户可以根据任务的复杂程度选择使用T4或A100。对于大多数微调任务而言,免费的T4资源已经足够。但如果数据集较大或模型较为复杂,升级到A100可以获得更充裕的算力支持。Colab为用户提供了一个易于上手的模型微调环境。 ✲ 准备自定义的微调数据集: 准备微调数据的过程并不复杂。用户可以直接使用纯文本文件作为数据来源,而无需进行额外的预处理。为了获得理想的微调效果,建议至少准备100-200个样本。在示例中,为了快速演示,仅使用了几个样本。通过一个简单的Python脚本,可以方便地将原始文本数据转换为微调所需的JSON格式。 ✲ 修改Colab笔记本中的参数设置: 在Colab笔记本中,需要根据实际情况调整一些参数。例如,可以根据数据集的token数量来设置max_sequence_length参数,借助rope scaling技术,模型能够支持任意长度的上下文。此外,还可以选择使用Instruct系列模型作为base model,直接在其基础上进行指令微调。为了节省资源,可以启用4-bit量化。同时,参考Q-Lora论文的建议,调整R值和alpha值,以在资源占用和模型质量之间取得平衡。 ✲ 训练过程中的资源使用监控: 在模型训练过程中,用户可以通过Colab的资源监控选项卡实时观察GPU、内存和硬盘的使用情况。如果发现资源不足,可以考虑从T4升级到A100。通过监控资源占用,用户能够及时调整配置,确保微调任务稳定高效地进行。 ✲ 模型训练的loss变化和最佳checkpoint的选择: 通过记录不同训练步数下的loss值,可以判断模型的收敛情况。理想的做法是选择loss下降曲线趋于平缓的点作为最佳checkpoint,这样既能充分训练模型,又能避免过拟合。为了事后方便筛选,可以设置每隔一定步数保存一次checkpoint。 ✲ 模型微调完成后的保存与使用: 微调完成后,可以选择只保存adapter layers以加快保存速度。但更推荐的做法是保存完整模型,并使用float16精度,这样可以得到一个更通用和标准的模型格式,方便后续的部署和使用。 ✲ 在Hugging Face上公开或私有发布微调后的模型: 用户可以选择在Hugging Face的模型库中公开或私有地发布自己微调后的模型。发布之前,需要在Hugging Face账号中创建一个访问令牌,并在发布时提供相应的用户名和令牌信息。通过在Hugging Face上发布模型,用户可以方便地与他人分享自己的微调成果。 ✲ 使用微调后的模型进行推理(inference): 在使用微调后的模型进行推理时,首先需要加载保存的模型。接着,使用tokenizer对输入的文本进行处理,并将其传入模型。进行推理时,max_length参数需要与训练时保持一致,以确保生成的结果不会被截断。完成以上步骤后,就可以利用微调后的模型进行各种实际应用了。

歸藏(guizang.ai)

61,710 次观看 • 2 年前

OpenAI 的大神 Andrej Karpathy 前几天在他的 YouTube 频道讲了一堂课,系统的介绍了大语言模型,内容深入浅出,非常赞,抽空将它翻译成了双语,由于内容较长,我将分批上传,以下是第一部分精校后的双语视频,字幕文稿如下: Intro: Large Language Model (LLM) talk 大家好。最近,我进行了一场关于大语言模型的 30 分钟入门讲座。遗憾的是,这次讲座没有被录制下来,但许多人在讲座后找到我,他们告诉我非常喜欢那次讲座。因此,我决定重新录制并上传到 YouTube,那么,让我们开始吧,为大家带来“忙碌人士的大语言模型入门”系列,主讲人 Scott。好的,那我们开始吧。 LLM Inference 首先,什么是大语言模型 (Large Language Model) 呢?其实,一个大语言模型就是由两个文件组成的。在这个假设的目录中会有两个文件。 以 Llama 2 70B 模型为例,这是一个由 Meta AI 发布的大语言模型。这是 Llama 系列语言模型的第二代,也是该系列中参数最多的模型,达到了 700 亿。LAMA2 系列包括了多个不同规模的模型,70 亿,130 亿,340 亿,700 亿是最大的一个。 现在很多人喜欢这个模型,因为它可能是目前公开权重最强大的模型。Meta 发布了这款模型的权重、架构和相关论文,所以任何人都可以很轻松地使用这个模型。这与其他一些你可能熟悉的语言模型不同,例如,如果你正在使用 ChatGPT 或类似的东西,其架构并未公开,是 OpenAI 的产权,你只能通过网页界面使用,但你实际上没有访问那个模型的权限。 在这种情况下,Llama 2 70B 模型实际上就是你电脑上的两个文件:一个是存储参数的文件,另一个是运行这些参数的代码。这些参数是神经网络(即语言模型)的权重或参数。我们稍后会详细解释。因为这是一个拥有 700 亿参数的模型,每个参数占用两个字节,因此参数文件的大小为 140 GB,之所以是两个字节,是因为这是 float 16 类型的数据。 除了这些参数,还有一大堆神经网络的参数。你还需要一些能运行神经网络的代码,这些代码被包含在我们所说的运行文件中。这个运行文件可以是 C 语言或 Python,或任何其他编程语言编写的。它可以用任何语言编写,但 C 语言是一种非常简单的语言,只是举个例子。只需大约 500 行 C 语言代码,无需任何其他依赖,就能构建起神经网络架构,并且主要依靠一些参数来运行模型。所以只需要这两个文件。 你只需带上这两个文件和你的 MacBook,就拥有了一个完整的工具包。你不需要连接互联网或其他任何设备。你可以拿着这两个文件,编译你的 C 语言代码。你将得到一个可针对参数运行并与语言模型交互的二进制文件。 比如,你可以让它写一首关于 Scale AI 公司的诗,语言模型就会开始生成文本。在这种情况下,它会按照指示为你创作一首关于 Scale AI 的诗。之所以选用 Scale AI 作为例子,你会在整个演讲中看到,是因为我最初在 Scale AI 举办的活动上介绍过这个话题,所以演讲中会多次提到它,以便内容更具体。这就是我们如何运行模型的方式。只需要两个文件和一台 MacBook。 我在这里稍微有点作弊,因为这并不是在运行一个有 700 亿参数的模型,而是在运行一个有 70 亿参数的模型。一个有 700 亿参数的模型运行速度大约会慢 10 倍。但我想给你们展示一下文本生成的过程,让你们了解它是什么样子。所以运行模型并不需要很多东西。这是一个非常小的程序包,但是当我们需要获取那些参数时,计算的复杂性就真正显现出来了。 那么,这些参数从何而来,我们如何获得它们?因为无论 run.c 文件中的内容是什么,神经网络的架构和前向传播都是算法上明确且公开的。

宝玉

1,121,942 次观看 • 2 年前

什么是 AI 智能体?(双语字幕) 为了解释这一点,我们必须看一看在生成式 AI 领域看到的各种转变。 *** 从单一模型向复合 AI 系统的转变 单一模型受限于其训练数据,这影响了它们对世界的认知以及它们可以解决的任务类型。而且,这些模型也难以适应变化。尽管可以对模型进行微调,但这需要大量的数据和资源投资。 **** 示例:查询假期天数 例如,我想要为今年夏天计划一次假期,想知道我有多少假期天数可以用。我可以将我的查询输入到一个可以生成回应的模型中。然而,答案会不正确,因为模型并不知道我的身份,也无法访问我的个人信息。因此,模型本身可能对一些任务有所帮助,例如总结文档、撰写电子邮件初稿和各种报告初稿。 但当我们围绕模型构建系统,并将模型集成到现有流程中时,魔力便显现出来。设计一个系统来解决前面提到的问题,需要让模型能访问存储我假期数据的数据库。这样,虽然输入到语言模型中的查询相同,但模型会被提示创建一个搜索查询,这个查询可以访问我的数据库。程序会获取信息并得到答案,再将答案输入语言模型中,生成回答句子,如:“Maya,你的假期数据库里还剩下十天。”这样,我能得到正确的答案。 *** 复合 AI 系统的模块化设计 “系统”意味着有多个组件,因此系统本质上是模块化的。我可以有一个模型,选择微调模型、大语言模型、图像生成模型,但也可以有围绕它的程序化组件。可以有输出验证器、解析查询的程序、与数据库搜索结合的工具、与不同工具结合的程序等。 当我们谈论系统方法时,我可以分解希望程序完成的任务,选择合适的组件来解决问题。这比微调一个模型要容易得多,使过程更快、更方便。 **** 检索增强生成(RAG) 一个流行的复合 AI 系统例子是检索增强生成(RAG)。如果我提出一个完全不同的查询,如问天气情况,这会失败,因为程序的运行路径总是搜索假期数据库,而这与天气无关。因此,复合 AI 系统的大部分都有程序控制逻辑,这些逻辑由人类定义。 *** AI 智能体的作用 另一种控制复合 AI 系统的逻辑方式是让大语言模型负责,这在大语言模型的推理能力显著提高时才可能实现。大语言模型可以处理复杂问题,能根据提示词要求将问题分解并制定解决计划。 在一个极端,我要求系统快速思考,按照设定的规则行动。在另一个极端,可以让系统慢慢思考,制定计划,逐步解决每一部分,理解困难点并调整计划。 当让大语言模型负责逻辑时,就是在采取一种以智能体为中心的方法。 *** 大语言模型智能体的组成部分 **** 推理能力 推理能力将模型置于解决问题的核心位置,在设定计划的过程中对每一步进行推理。 **** 行动能力 行动能力通过称为“工具”的外部程序实现。这些工具是程序的外部模块,模型可以确定何时及如何调用它们以便最有效地解决提出的问题。例如,网络搜索工具、数据库搜索工具、计算器工具、操纵数据库的程序代码、翻译任务的模型等。 **** 访问记忆的能力 “记忆”可以表示几种含义。模型可以通过程序进行思考,类似于自言自语的内部日志,可以存储并随时取用。这也可以是与智能体互动的对话历史,使体验更加个性化。 *** ReACT 方法 配置智能体的受欢迎方法之一是 ReACT 方法,将推理和行动组件结合在一起。 **** 示例:度假计划 例如,我计划下个月去佛罗里达,想知道需要带多少瓶两盎司的防晒霜。这是个复杂的问题,有多步计划: 1. 我打算休多少天假? 2. 我计划在阳光下待多少小时?查看佛罗里达的天气预报。 3. 尝试了解每小时在阳光下的推荐防晒剂剂量。 4. 进行数学运算,确定防晒霜数量。 这个系统非常模块化,可以解决更复杂的问题。 *** 复合 AI 系统的未来 复合 AI 系统将一直存在,2024 年将看到它们变得更加智能。你可以根据问题的复杂程度在 AI 自治程度上做出权衡。对于狭窄、定义明确的问题,程序化方法更有效。而对于需要独立解决复杂任务的系统,智能体方法更有帮助。 大多数情况下,人工仍会参与以提高准确性。 原始视频来源:

宝玉

44,356 次观看 • 1 年前

非常好的一个演示视频,通过可视化清晰的介绍了 LLM 的核心 Transformer 架构的原理。 包括词嵌入、自注意力机制等关键技术。对了解GPT-3等大型语言模型的内部结构很有帮助。 👇下面是文字版本: GPT的全称及其含义 GPT是Generative Pre-trained Transformer的缩写。其中,"Generative"表示这个模型是用来生成新文本的;"Pre-trained"意味着模型是在大量数据上预先训练好的;"Transformer"则指代一种特定类型的神经网络结构。因此,GPT本质上是一个基于Transformer架构、经过预训练、能够生成文本的语言模型。 Transformer的定义及其在AI领域的应用 Transformer是一种专门处理序列数据的神经网络架构。它最初是为机器翻译任务设计的,但后来被发现在其他许多NLP任务上也有出色表现,如语言建模、命名实体识别等。除了NLP,Transformer也被应用于语音识别、图像字幕生成等领域。Transformer的成功很大程度上归因于其独特的自注意力机制,使其能够高效地处理长程依赖关系。 Transformer的工作原理简介 Transformer的工作流程可以概括为三个主要步骤:首先,将输入的文本序列转化为一组向量表示;然后,通过自注意力机制和前馈神经网络对这些向量进行变换和更新;最后,根据更新后的向量生成输出分布,用于预测下一个词。整个过程中,自注意力机制起到了关键作用,使得模型能够动态地确定输入序列中每个位置与其他位置之间的相关性,从而更好地捕捉上下文信息。 Transformer处理文本信息的过程 当Transformer处理一段文本时,首先需要将其分割成一个个基本单元,如单词或子词,这些基本单元被称为"token"。接着,每个token都会被映射为一个高维向量,即"词嵌入"。这一步旨在将离散的文本符号转化为连续的向量表示,以便神经网络进行处理。然后,这些词向量会通过多个编码器层进行变换和更新,每一层都会综合考虑当前token与其他token之间的关系,从而使每个向量都融入了上下文信息。最后,解码器根据编码器的输出和之前生成的token,预测出下一个最可能的token。通过不断重复这一过程,Transformer就可以生成连贯的文本片段。 词嵌入(Word Embedding)的概念和作用 词嵌入是一种将词映射到高维向量空间的技术。通过词嵌入,每个词都被表示为一个实数向量,这个向量捕捉了该词的语义信息。词嵌入的一个重要特性是,语义相似的词往往在向量空间中距离较近。例如,"king"和"queen"这两个词的向量之间的距离会比"king"和"apple"的距离更近。此外,词嵌入还能够反映词之间的类比关系,如"king"-"man"+"woman"的结果会接近"queen"。词嵌入为神经网络提供了一种处理文本数据的有效方式,使其能够利用词语之间的语义关系进行推理和预测。 深度学习模型的基本结构和特点 深度学习模型通常由多个层组成,每一层对输入数据进行一定的变换,并将结果传递给下一层。层与层之间的连接通常是通过矩阵乘法实现的,其中矩阵的元素就是模型的参数。这些参数在训练过程中会不断更新,以使模型的输出与期望输出尽可能接近。深度学习模型的训练通常采用反向传播算法,即根据输出的误差,逐层调整参数的值。通过多次迭代,模型可以逐渐学习到数据中的规律和模式。深度学习模型的一个显著特点是,它们可以自动学习数据的表示方式,而无需人工设计特征。这使得深度学习在处理图像、语音等复杂数据时表现出色。 Softmax函数的作用和计算过程 Softmax函数常用于深度学习模型的输出层,特别是在多分类问题中。它的作用是将一组实数转化为一个概率分布,使得每个类别都有一个0到1之间的概率值,并且所有类别的概率之和为1。Softmax函数的计算过程分为两步:首先,对每个输入值取指数;然后,将每个指数值除以所有指数值的和。这样得到的结果就是一个合法的概率分布。Softmax函数有一个很好的性质,即输入值较大的类别会获得较高的概率,而输入值较小的类别的概率会趋近于0。这使得模型的输出更容易解释,并且有利于进行决策和预测。 生成模型预测下一个词的过程 当生成模型(如GPT)预测下一个词时,通常采用以下步骤:首先,根据前面已经生成的词,模型会计算出每个可能的下一个词的概率。这个概率分布反映了模型对不同词的偏好程度。然后,从这个分布中采样出一个词作为新生成的内容。接下来,模型将这个新词加入到已生成的序列中,并重复上述过程,直到达到预设的长度或遇到终止条件(如句号)为止。通过这种不断预测和采样的方式,生成模型可以创作出连贯而富有创意的文本。值得注意的是,为了提高生成文本的多样性和自然度,可以引入"temperature"等超参数来调节输出分布的形状。 GPT-3的参数量和嵌入矩阵 GPT-3是目前最大的语言模型之一,其参数量高达1750亿。这意味着,模型需要学习和存储大量的权重值,以刻画自然语言中的规律和模式。GPT-3的一个重要组成部分是嵌入矩阵(embedding matrix),它负责将每个词映射为一个高维向量。在GPT-3中,嵌入矩阵的大小为50257×12288,即词表中共有50257个不同的词(或子词),每个词被映射为一个12288维的向量。嵌入矩阵中的每个元素都是一个可学习的参数,在训练过程中会不断更新,以使得语义相似的词具有相近的向量表示。GPT-3庞大的参数量使其能够学习到比以往模型更加细致入微的语言知识,这也是其在各种NLP任务上表现出众的原因之一。 模型训练中的"Temperature"超参数 在生成模型的训练过程中,"Temperature"是一个重要的超参数,它控制着输出分布的形状。具体来说,temperature值越高,输出分布就越平缓,生成的结果也就越多样化;反之,temperature值越低,输出分布就越尖锐,生成的结果也就越保守。合适的temperature值可以在确保生成内容连贯性的同时,提高其丰富性和创造性。例如,当temperature值接近于0时,模型会倾向于选择概率最高的那个词,导致生成的文本可能流于老套;而当temperature值较高时,模型会给予概率较低的词更多机会,从而产生更加新颖和意想不到的结果。在实践中,temperature值通常需要根据具体任务和需求进行调整,以达到理想的平衡。

歸藏(guizang.ai)

51,706 次观看 • 2 年前

使用AI生成3D模型,最终利用comfyUI渲染输出成片的工作流全过程 以下是GPT4总结的制作流程: 1. 文本到3D生成 在LumaLabs使用Gini文本到3D:访问LumaLabs网站,选择Gini文本到3D功能,输入如“Naruto T-pose”的描述性文本提示生成3D模型。 预览和调整:预览生成的3D模型,根据需要调整文本提示或使用提供的选项重新生成以获得满意的结果。 2. 导入和编辑模型 导入模型到Blender:将生成的3D模型(如身体、头部和手部)导入到Blender中。 调整模型位置和比例:在Blender中调整各个部分的位置和比例,确保模型的整体协调。 组合和调整细节:将不同的部件(头部、手部等)组合成一个完整的模型,对模型的姿态、细节进行必要的调整。 模型优化:对模型进行必要的优化,包括调整网格和重新拓扑(如果需要),以便于动画处理。 3. 动画和导出 应用骨骼和动画:将调整好的3D模型导出为FBX文件,然后在Mixamo网站上应用自动骨骼绑定和选择动画。 导入动画到Blender:将带有动画的模型重新导入到Blender中进行进一步的编辑和调整。 4. 进一步编辑 动画循环设置:在Blender中设置动画循环,确保动画可以平滑地循环播放。 相机和光照设置:调整相机角度和光照设置,以改善动画的视觉效果和氛围。 渲染设置:调整渲染设置,包括分辨率和渲染引擎设置,以获得高质量的动画输出。 5. 最终渲染和后处理 渲染动画:在Blender中渲染完成的动画,导出为视频文件。 后处理:可选地,将渲染完成的视频导入到Comfy UI或其他视频编辑软件中进行后处理,添加背景、特效和其他视觉元素,以完成最终的动画作品。 通过这些具体的小步骤,从文本描述到完成的3D动画的整个制作过程被详细地概述和解释,为想要学习这一流程的人提供了一份详细的指南。

Yangyi

25,446 次观看 • 2 年前