文章目录
1 概述
该文件是卡内基梅隆大学机器学习系的 “10-423/10-623 Generative AI” 课程第一讲的概述。这一讲主要涵盖以下内容:
- 生成式AI的定义和目标:介绍了生成式人工智能(GenAI)的基本概念,并讨论了其在人工智能(AI)的不同子目标(如感知、推理、控制、规划、通信、创造力和学习)中的应用。
- 生成模型的多种形式:讨论了生成模型在文本、图像、音乐、代码和视频生成中的应用,包括RNN语言模型、Transformer语言模型、GANs、Diffusion Models等。
- 自动微分和RNN-LMs:深入探讨了自动微分技术及其在深度学习中的应用,特别是在RNN(循环神经网络)语言模型中的应用。
- 课程大纲和要求:列出了课程的作业、考试、项目等具体要求,并强调了学术诚信的重要性。
- RNN语言模型的工作原理:详细解释了RNN语言模型如何通过将所有之前的单词转换为一个固定长度的向量来生成下一个单词。
- 实际生成示例:提供了生成式AI在文本生成、图像编辑和音乐生成等领域的实际应用示例。
这个讲座主要帮助学生理解生成式AI的基础理论、模型实现及其在不同领域的应用。
2 内容摘录
AIGC的主要应用
- 文本生成:比如GPT4
- 图像编辑:
- Inpainting:填充(预先指定的)缺失像素。
- Colorization:为灰度图像恢复颜色。
- Uncropping:创建图像缺失部分的逼真重建。
- 文生图:给定一段话,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.
- 音乐生成:如MusicGen
- 代码生成
- 视频生成
大模型训练时,分布式训练有哪几种方式?
部分模型和显卡的显存大小:
分布式训练的几种方法
- Transformer-based LM(基于Transformer的语言模型):
- 图示左侧展示了标准的Transformer语言模型,模型的计算过程通常包括多个层,每一层都会处理输入数据,并将结果传递到下一层。
- Operation Partitioning(操作分区,Megatron-LM):- 中间的图示展示了操作分区的方法,即通过将每一层的计算分割为多个部分,分配到不同的设备上来并行计算。这种方法的核心在于将矩阵乘法操作沿行或列进行分割,以优化并行计算性能。
- Microbatch-based Pipeline Parallelism(基于微批量的流水线并行,GPipe):- 图示展示了将模型的层按顺序分配给不同设备的方法,每个设备负责处理一部分输入数据。这种方法通过微批量处理来提高并行计算效率。
- Token-based Pipeline Parallelism(基于token的流水线并行,TeraPipe):- 最右侧的图示展示了一种更高效的方法,即按token和层同时分割计算任务。此方法需要对工作进行精确划分,并且特别适用于Transformer语言模型。
这些方法通过将模型的计算任务分配到多个设备上,从而加速大型语言模型的训练。每种方法都有其特定的应用场景和优劣,选择合适的方法可以显著提高训练效率。
NLP模型和CV模型发展历史
本课程触及的主题
- 文本生成模型:
- 涉及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 人小组合作
课程学习目标
- 区分不同的学习机制:
- 理解参数调整和上下文学习等不同的学习机制之间的区别。
- 实现现代生成模型的基础模型:- 掌握如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的架构设计,展示了其易用性、调试便利性以及与科学计算库的兼容性。
版权归原作者 ⊙月 所有, 如有侵权,请联系我们删除。