CMU 10423 Generative AI:lec1


文章目录

  • 1 概述
  • 2 内容摘录
    • AIGC的主要应用
    • 大模型训练时,分布式训练有哪几种方式?
    • NLP模型和CV模型发展历史
    • 本课程触及的主题
    • 课程前提、评分标准、阅读材料、5个作业、大项目
    • 课程学习目标
  • 3 阅读材料
    • 3.1 Sequence Modeling: Recurrent and Recursive Nets.
    • 3.2 A Framework for the Cooperation of Learning Algorithms.
    • 3.3 PyTorch: An Imperative Style, High-Performance Deep Learning Library.

1 概述

该文件是卡内基梅隆大学机器学习系的 “10-423/10-623 Generative AI” 课程第一讲的概述。这一讲主要涵盖以下内容:

  1. 生成式AI的定义和目标:介绍了生成式人工智能(GenAI)的基本概念,并讨论了其在人工智能(AI)的不同子目标(如感知、推理、控制、规划、通信、创造力和学习)中的应用。
  2. 生成模型的多种形式:讨论了生成模型在文本、图像、音乐、代码和视频生成中的应用,包括RNN语言模型、Transformer语言模型、GANs、Diffusion Models等。
  3. 自动微分和RNN-LMs:深入探讨了自动微分技术及其在深度学习中的应用,特别是在RNN(循环神经网络)语言模型中的应用。
  4. 课程大纲和要求:列出了课程的作业、考试、项目等具体要求,并强调了学术诚信的重要性。
  5. RNN语言模型的工作原理:详细解释了RNN语言模型如何通过将所有之前的单词转换为一个固定长度的向量来生成下一个单词。
  6. 实际生成示例:提供了生成式AI在文本生成、图像编辑和音乐生成等领域的实际应用示例。

这个讲座主要帮助学生理解生成式AI的基础理论、模型实现及其在不同领域的应用。

2 内容摘录

AIGC的主要应用

  1. 文本生成:比如GPT4
  2. 图像编辑:
  • Inpainting:填充(预先指定的)缺失像素。
  • Colorization:为灰度图像恢复颜色。
  • Uncropping:创建图像缺失部分的逼真重建。
  • 在这里插入图片描述
  1. 文生图:给定一段话,AI绘制出图像。
    a. Prompt: close up headshot, futuristic old man, wild hair sly smile in front of gigantic UFO, dslr, sharp focus, dynamic composition, rule of thirds
    b. 在这里插入图片描述

  2. 音乐生成:如MusicGen

  3. 代码生成

  4. 视频生成

大模型训练时,分布式训练有哪几种方式?

部分模型和显卡的显存大小:

在这里插入图片描述

分布式训练的几种方法
在这里插入图片描述

  1. Transformer-based LM(基于Transformer的语言模型)
  • 图示左侧展示了标准的Transformer语言模型,模型的计算过程通常包括多个层,每一层都会处理输入数据,并将结果传递到下一层。

  • Operation Partitioning(操作分区,Megatron-LM)

    • 中间的图示展示了操作分区的方法,即通过将每一层的计算分割为多个部分,分配到不同的设备上来并行计算。这种方法的核心在于将矩阵乘法操作沿行或列进行分割,以优化并行计算性能。
  • Microbatch-based Pipeline Parallelism(基于微批量的流水线并行,GPipe)

    • 图示展示了将模型的层按顺序分配给不同设备的方法,每个设备负责处理一部分输入数据。这种方法通过微批量处理来提高并行计算效率。
  • Token-based Pipeline Parallelism(基于token的流水线并行,TeraPipe)

    • 最右侧的图示展示了一种更高效的方法,即按token和层同时分割计算任务。此方法需要对工作进行精确划分,并且特别适用于Transformer语言模型。

这些方法通过将模型的计算任务分配到多个设备上,从而加速大型语言模型的训练。每种方法都有其特定的应用场景和优劣,选择合适的方法可以显著提高训练效率。

NLP模型和CV模型发展历史

在这里插入图片描述
在这里插入图片描述

本课程触及的主题

  1. 文本生成模型
  • 涉及RNN语言模型、Transformer语言模型、预训练、微调、评估和解码等内容。

  • 图像生成模型

    • 包括卷积神经网络(CNNs)/Transformer用于视觉任务,生成对抗网络(GANs)、条件GANs、扩散模型、变分自编码器(VAEs)及其评估。
  • 基础模型的应用与调整

    • 包括人类反馈强化学习(RLHF)、参数高效的微调、文本和视觉的上下文学习。
  • 多模态基础模型

    • 例如文本到图像的生成,以及对齐多模态表示(如CLIP模型)。
  • 扩展

    • 涉及高效解码策略、分布式训练(使用多GPU或TPU)、扩展法则和数据管理。
  • 可能出现的问题

    • 安全性、公平性、幻觉、对抗性攻击(如提示注入)、作弊(如水印保护)、法律问题(如版权),以及模型性能的漂移、数据污染、缺乏真实数据等。
  • 高级主题

    • 涉及归一化流、音频理解与合成、视频合成等高级内容。

这些主题涵盖了生成式AI的各个重要领域,从模型的基础原理到实际应用,再到潜在问题的探讨,旨在全面提升对生成式AI的理解和应用能力。

课程前提、评分标准、阅读材料、5个作业、大项目

前提:学过机器学习就行。或者选修过11785课程。

评分标准:作业占40%,小测验占10%,考试占20%,大项目占25%,课程参与占5%。

阅读材料:必读。建议在对应的 lec 结束后阅读。

5个作业

作业编号主要主题实现内容应用领域类型
HW0PyTorch Primer图像分类器 + 文本分类器视觉 + 语言书面 + 编程
HW1Large Language Models带有滑动窗口注意力机制的Transformer语言模型字符级文本生成书面 + 编程
HW2Image GenerationGAN 或扩散模型图像填充书面 + 编程
HW3Adapters for LLMsLlama + LoRA代码 + 聊天书面 + 编程
HW4Multimodal Foundation Models文本到图像模型视觉 + 语言书面 + 编程
HW623(仅限10-623课程)阅读/分析最近的研究论文生成式AI视频演示

大项目:

  • 探索自己选择的生成模型技术
  • 深入了解实际应用中的方法
  • 3 人小组合作

课程学习目标

  1. 区分不同的学习机制
  • 理解参数调整和上下文学习等不同的学习机制之间的区别。

  • 实现现代生成模型的基础模型

    • 掌握如Transformer和扩散模型等现代生成模型的基础实现。
  • 将现有模型应用于实际问题

    • 能够将现有的生成模型应用于文本、代码、图像、音频和视频的生成问题中。
  • 应用适应基础模型的技术

    • 学习如何使用微调、适配器和上下文学习等技术来调整基础模型以适应特定任务。
  • 实现大规模生成建模方法

    • 掌握将生成建模方法扩展到大规模文本、代码或图像数据集的能力。
  • 使用现有生成模型解决实际问题

    • 能够使用现有的生成模型解决现实世界中的判别问题和其他日常应用场景。
  • 分析基础模型的理论特性

    • 掌握分析大规模基础模型理论特性的能力。
  • 识别生成建模的潜在问题

    • 了解生成建模在不同模态下的潜在陷阱。
  • 描述大规模生成式AI系统的社会影响

    • 掌握描述大规模生成式AI系统对社会产生的影响的能力。

3 阅读材料

3.1 Sequence Modeling: Recurrent and Recursive Nets.

Ian Goodfellow, Yoshua Bengio, & Aaron Courville (2016). Deep Learning, Chapter 10.1-10.5.

这个就是花书中的RNN章节,主要介绍了循环神经网络(RNN)的原理及其在处理序列数据中的应用。RNN通过在不同时间步共享参数来处理变长的序列数据。章节涵盖了计算图展开、RNN架构、前向和后向传播,以及RNN在语言建模和序列预测中的应用。

3.2 A Framework for the Cooperation of Learning Algorithms.

Léon Bottou, Patrick Gallinari (1991). Advances in Neural Information Processing Systems.

这篇论文发表在1990年的NeurIPS会议上,主要探讨了神经网络领域中的一种新方法或理论。摘要翻译和GPT解释如下:

翻译: 我们引入了一个用于训练由多个模块组成的架构的框架。这个框架使用学习系统的统计形式化方法,提供了一种独特的形式来描述许多经典的连接主义算法以及复杂的系统,其中多个算法相互作用。它允许设计混合系统,结合连接主义算法和其他学习算法的优势。

解释: 该段落描述了一个用于训练复杂神经网络系统的框架,该框架可以结合不同的算法优势。通过统计方法统一描述各种学习算法,这种框架不仅适用于传统连接主义(神经网络)方法,还能够设计出混合系统,结合不同算法的优点,从而提高模型的灵活性和性能。

3.3 PyTorch: An Imperative Style, High-Performance Deep Learning Library.

Paszke et al. (2019). Advances in Neural Information Processing Systems.

摘要翻译

深度学习框架往往注重可用性或速度,但很少同时兼顾。PyTorch是一个展示这两者兼容性的机器学习库:它提供了一种命令式、符合Python风格的编程接口,支持将代码视为模型,简化调试,并与流行的科学计算库一致,同时保持高效,并支持GPU等硬件加速器。在这篇论文中,我们详细介绍了驱动PyTorch实现的原则及其在架构中的体现,强调了PyTorch作为常规Python程序的灵活性和用户控制权。

总结

这篇文章讨论了PyTorch框架的设计原则,特别强调了它如何在保持高效的同时,兼顾可用性和Python风格的编程接口。作者介绍了PyTorch的架构设计,展示了其易用性、调试便利性以及与科学计算库的兼容性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1522244.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Faiss向量数据库

Faiss(Facebook AI Similarity Search)向量数据库是由Facebook AI研究院开发的一种高效相似性搜索和聚类的库。Faiss不仅支持在高维空间中进行高效的相似性搜索,还能够在处理大规模数据集时展现出卓越的性能,尤其适用于图像检索、…

C++和蓝图混用事件

一、在C中创建动态多播委托 1、UEBpAndCpp_Sender.h //声明一个蓝图可调用的多播委托的类型DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FUEBpAndCpp_Broadcast, int, Param);//创建对象UPROPERTY(BlueprintAssignable)FUEBpAndCpp_Broadcast UEBpAndCpp_Broadcast;注意&…

Vue3其他Api

1.shallowRef与shallowReactive <template><div class"app"><h2>求和为:{{ sum }}</h2><h2>名字为:{{ person.name }}</h2><h2>年龄为:{{ person.age }}</h2><button click"sum 1">sum1</butto…

深入浅出:模拟实现 C++ STL 中的 unordered_map 和 unordered_set

目录 引言基础知识 散列表哈希函数负载因子模拟实现 unordered_set 数据结构设计哈希函数碰撞解决策略插入操作查找操作删除操作模拟实现 unordered_map 键值对存储插入操作查找操作删除操作代码示例总结 1. 引言 unordered_map 和 unordered_set 是 C 标准模板库 (STL) 中非…

LeetCode: 543. 二叉树的直径

二叉树的直径 原题 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 示例 1&#xff1a; 输入&#xff1a;roo…

Vulnhub:hacksudo search

靶机下载地址。下载完成后&#xff0c;在VirtualBox中导入虚拟机&#xff0c;系统处理器修改为2&#xff0c;网卡配置修改为桥接。 信息收集 主机发现 扫描攻击机同网段存活主机。 nmap 192.168.31.0/24 -Pn -T4 靶机ip&#xff1a;192.168.31.218 端口扫描 nmap 192.168…

大数据采集迁移工具

Flume Sqoop kafka框架 MQ&#xff1a;消息队列 broker相当于服务器 消息队列

视频化时代,用好AIGC产品赋能企业培训打造增效降本“最佳实践”

根据IBM的数据&#xff0c;85%的中国企业正在加速投资AI领域&#xff0c;其中超过63%的企业已积极采用生成式AI。德勤的调研进一步显示&#xff0c;近80%的全球受访企业高管认为&#xff0c;生成式AI的兴起与发展将在3年内推动组织和行业发生实质性变革&#xff0c;这也就意味着…

2024爆火全网大模型书籍:《从零构建大型语言模型》星标17.8k

2024爆火全网大模型书籍&#xff1a;《从零构建大型语言模型》星标17.8k 近期&#xff0c;机器学习和 AI 研究员、畅销书《Python 机器学习》作者 Sebastian Raschka 又写了一本新书 ——《Build a Large Language Model (From Scratch)》&#xff0c;旨在讲解从头开始构建大型…

线性代数 -- 矩阵求导

Tips&#xff1a;本文为理解神经网络的前置知识&#xff0c;整体内容并不全&#xff0c;相关内容还需后续进一步完善。 一、基础 1、标量、向量和矩阵 标量&#xff1a;只有大小&#xff0c;没有方向的量 向量&#xff08;欧几里得向量&#xff09;&#xff1a;具有大小和方向…

数仓建模:一文带你读懂什么是数仓建模? | 详聊数据建模的几种形式

目录 1 数据仓库的特点和意义 1.1 数仓特点 1.2 数仓形态演进 1.3 数仓建模的意义 1.4 数仓价值 2 数仓建模流派之争 2.1 Inmon数仓架构 2.2 Kimball数仓架构 2.3 两种建模方式对比分析 3 数仓建模流程 3.1 整体流程 3.2 数仓建模三步调研 3.3 业务流程构建 3.4 领…

MySQL的服务器与客户端:架构解析与实践

文章目录 MySQL的服务器和客户端服务端处理客户端请求连接管理解析与优化查询缓存语法解析查询优化 存储引擎不同的存储引擎查看支持的存储引擎为不同的表设置存储引擎 MySQL是一个广泛使用的开源关系数据库管理系统&#xff0c;其核心架构由服务器端和客户端两大部分组成。本文…

Tableau 社区项目 | 参与 Data+TV 挑战,洞悉全球电视剧集数据的精彩故事!

如果你钟爱某部电视剧集&#xff0c;正苦于没有数据练手&#xff0c;就快来参与 DataTV 挑战吧~ 去年&#xff0c;Tableau 和 IMDb 携手发起 DataMovies 挑战&#xff0c;吸引了全球各地的数据爱好者与影迷参与。今年&#xff0c;TC24 Viz 竞赛也以此为主题&#xff0c;让我们领…

LLM大模型学习路径指南速成,两月学完

大家好&#xff01;整理了一些我的大模型学习路线和参考资料&#xff0c;供初学者入门了解和实践 以下是简化版的学习路线&#xff1a; 第1周&#xff1a;基础知识储备 了解人工智能和大模型的基本概念。 学习线性代数、概率论和统计学的基本知识。 掌握Python编程基础。 第2…

获取响应头Content-Disposition,提取文件名

// 响应头数据&#xff0c;这里使用假数据 const temp "attachement;filename%%%%%%......."// 处理文件名的正则校验let filenameRegex /filename[^;\n]*((["]).*?\2|[^;\n]*)/;let matches filenameRegex.exec(temp);let fileName "批量下载.pdf&qu…

【论文分享】sNPU: Trusted Execution Environments on Integrated NPUs 24‘ISCA

目录 AbstractINTRODUCTIONBACKGROUND AND RELATED WORKTrusted Execution Environment (TEE)Neural Processing Unit (NPU)Integrated NPU v.s. Discrete NPU Multi-tasking Requirements for NPUsLow NPU utilization for a single ML workloadSimultaneous execution of bot…

两行代码开启大模型评测之旅!OpenCompass 工具版本全面更新,快来试试看

作为 OpenCompass 司南大模型评测体系三大核心模块之一的评测工具链体系 CompassKit 近日迎来重大更新&#xff01;​ 本次更新主要集中在 OpenCompass 大语言模型评测工具&#xff0c;主要带来了以下几大新功能&#xff0c;欢迎大家使用&#xff01;​ 基于 pip 的一键安装&a…

分类预测|基于CNN-LSTM-Attention卷积-长短时记忆-注意力数据分类Matlab程序 直接运行程序或替换数据集运行程序

分类预测|基于CNN-LSTM-Attention卷积-长短时记忆-注意力数据分类Matlab程序 直接运行程序或替换数据集运行程序 文章目录 一、基本原理1. 卷积神经网络&#xff08;CNN&#xff09;CNN的基本步骤&#xff1a; 2. 长短期记忆网络&#xff08;LSTM&#xff09;LSTM的基本步骤&am…

屏幕像素初步认识

屏幕分辨率&#xff1a; 屏幕分辨率是指显示器所能显示的像素的总数&#xff0c;通常以水平像素数乘以垂直像素数来表示&#xff0c;例如1920x1080。这个数字越大&#xff0c;屏幕显示的图像就越清晰&#xff0c;细节展现得也更加丰富。 像素&#xff08;Pixel&#xff09;&am…

【Linux】使用Linux实现小程序 - 进度条

目录 一、缓冲区二、回车换行的概念三、进度条的设计3.1 版本1&#xff08;没有配合场景&#xff09;3.2 版本2&#xff08;配合场景&#xff09;3.3 版本3&#xff08;美化进度条&#xff09; 结尾 一、缓冲区 C/C语言&#xff0c;会针对标准输出&#xff0c;给我们提供默认的…