基本概念

  1. 怎么部署一个开源的模型
  2. 初步了解执行的原理
  3. 怎么用自己的数据对模型进行微调
  4. 如何评估、量化模型的表现

概念定义

Learning technique of Machine Learning Model:

  • One-shot learning – each new class has one labeled example. The goal is to make predictions for the new classes based on this single example.
  • Few-shot learning – there is a limited number of labeled examples for each new class. The goal is to make predictions for new classes based on just a few examples of labeled data.
  • Zero-shot learning – there is absolutely no labeled data available for new classes. The goal is for the algorithm to make predictions about new classes by using prior knowledge about the relationships that exist between classes it already knows. In the case of large language models (LLMs) like ChatGPT, for example, prior knowledge is likely include semantic similarities.

configuration parameters

一些相关的参数会影响在进行推理输出时结果的自由度。

  • max new tokens : 生成文本的长度(最大长度)实际不一定生成到这么长。
  • top-k : 指定模型,仅从概率最高的钱 k 个单词中进行选择。提供一定的随机性同时限制文本的过度扩散。
  • top-p : 随机抽样限制为组合概率不超过 p 的预测。对概率从高到低排序后,累计概率小于等于p的单词会被进行随机选择。
  • temperature : 调整单词概率的随机性。temperature 越大,则生成的文本概率越均衡(不同词的概率越接近),反之则越概率峰值越强(不同词的概率差异越大,大部分概率集中在少量词上)。

分词器

LLM 的三种主要架构

以上三种架构各有优劣,其应用场景和前景也不尽相同。

  • Encoder-Only 架构适用于文本分类和情感分析等任务,其前景主要取决于其在这些任务中的性能和准确性。
  • Decoder-Only 架构适用于文本生成和机器翻译等任务,其前景主要取决于其生成文本的质量和多样性。
  • Encoder-Decoder 架构适用于机器翻译和对话生成等任务,其前景主要取决于其在这些任务中的性能和准确性。

Decoder-Only

也被称为生成式架构,仅包含解码器部分。它通常用于序列生成任务,如文本生成、机器翻译等。这种架构的模型适用于需要生成序列的任务,可以从输入的编码中生成相应的序列。Decoder-Only 架构的优点是擅长创造性的写作,比如写小说或自动生成文章。它更多关注于从已有的信息(开头)扩展出新的内容。其缺点是需要大量的训练数据来提高生成文本的质量和多样性。

定义和特点: Decoder-Only架构专注于从一系列输入生成或预测输出。这种架构通常用于文本生成任务,如语言模型。
优点: 强大的生成能力:能够生成连贯、有创造性的文本。灵活性:适用于各种生成型任务。
缺点: 有限的理解能力:不擅长理解复杂的输入数据。
示例模型: GPT系列、LLaMA、OPT、BLOOM

Encoder-Only

这种架构主要用于处理输入数据,专注于理解和编码信息,而不是生成新的文本。

定义和特点:Encoder-Only架构专注于理解和编码输入信息,常用于主题分类、情感分析等任务。
优点: 强大的理解能力:能够有效处理和理解输入数据。适用性广泛:适用于多种分析型任务。
缺点: 生成能力有限:不擅长自主生成文本或内容。
示例模型: Google的BERT是一个典型的Encoder-Only架构模型。

Encoder-Decoder

Encoder-Decoder 架构,也被称为序列到序列架构,同时包含编码器和解码器部分。它通常用于序列到序列(Seq2Seq)任务,如机器翻译、对话生成等。这种架构的代表是以 Google 训练出来的 T5 为代表的相关大模型。

定义和特点 : Encoder-Decoder架构结合了编码器和解码器的优点,通常用于需要理解输入并生成相应输出的任务,如机器翻译。
优点 : 灵活强大:能够理解复杂输入并生成相关输出。 适用于复杂任务:如机器翻译、文本摘要等。
缺点 : 架构复杂:相比单一的Encoder或Decoder,它更复杂。 训练挑战:需要更多的数据和计算资源。
示例模型 : Google的T5是一个著名的Encoder-Decoder架构模型,智谱AI的ChatGLM也是Encoder-Decoder架构模型。

这就像是翻译家。他先听你说一段话(比如英文),理解它,然后把它翻译成另一种语言(比如中文)。

Encoder-Decoder模型就是这样,先理解输入的信息(Encoder部分),然后基于这个理解生成新的、相关的内容(Decoder部分)。

特点:擅长处理需要理解输入然后生成相关输出的任务,比如翻译或问答系统。

这种模型在需要深入理解输入内容并生成相关响应的任务中表现良好,例如机器翻译、问答系统等。

Generative IA Project lifecycle

alt text

  • Scope
    尽可能准确、狭义地定义范围。正如你到目前为止在本课程中看到的那样,LLM 能够执行许多任务,但他们的能力在很大程度上取决于模型的大小和架构。
  • Select
    选择使用现有的模型还是自己进行训练
  • Adapt and align model
    • prompt engineering
    • fine-tuning
    • alignment with human feedback
    • Evaluate
  • Application intergration
    • Optimize and deploy model for inference 优化和部署推理模型
    • Augment model and build LLM-powered Application 增强模型和构建llm驱动的应用程序

一些概念

  • 灾难性遗忘: 在进行微调后,进行任务推理时,LLM 会忘记之前可以识别推理的内容。

    扩展阅读资料

  • 生成式 AI 生命周期
    AWS 上的生成式 AI:构建情境感知、多模态推理应用 》–O’Reilly 的这本书深入探讨了生成式 AI 生命周期的各个阶段,包括模型选择、微调、适应、评估、部署和运行时优化。

  • 多任务、指令微调

Scaling Instruction-Finetuned Language Model 以任务、模型大小和思维链数据为重点进行 Scaling 微调。
介绍 FLAN:通过指令微调实现更通用的语言模型 这篇博客(和文章)探讨了指令微调,其目的是使语言模型在执行 NLP 任务时更好地进行零点推理。

  • 模型评估指标

HELM - 语言模型的整体评估 HELM 是一个活的基准,用于更透明地评估语言模型。

通用语言理解评估(GLUE)基准 本文介绍了 GLUE,这是一个在多样化自然语言理解(NLU)任务中评估模型的基准,并强调了改进通用 NLU 系统的重要性。

SuperGLUE 本文介绍了 SuperGLUE 基准,该基准旨在评估各种 NLP Model 在一系列具有挑战性的语言理解任务中的表现。

ROUGE:摘要自动评估软件包 本文介绍并评估了 ROUGE 摘要评估软件包中的四种不同测量方法(ROUGE-N、ROUGE-L、ROUGE-W 和 ROUGE-S),它们通过将摘要与理想的人工生成摘要进行比较来评估摘要的质量。

测量大规模多任务语言理解MMLU 本文提出了一种新的测试方法来测量文本模型的多任务准确性,强调了在实现专家级准确性方面进行实质性改进的必要性,并解决了在社会重要主题上的片面表现和低准确性问题。

BigBench-Hard - 超越模仿游戏:量化和推断语言模型的能力 该论文介绍了 BIG-bench,这是一个在具有挑战性的任务中评估语言模型的基准,提供了关于 Scale、校准和社会偏见的见解。

  • 参数高效微调(PEFT)

Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning 本文系统概述了讲座视频中讨论的所有三个类别中的参数效率微调(PEFT)方法。

论参数效率微调的有效性 本文分析了 NLP 中预训练模型的稀疏微调方法。

QLoRA:efficient Finetuning of Quantized LLMs 本文介绍了一种基于量化的、在单个 GPU 上对 Large Language Model 进行微调的高效方法,在基准测试中取得了令人印象深刻的结果。

  • 使用软提示进行 Prompt 调整

The Power of Scale for Parameter-Efficient Prompt Tuning 这篇论文探讨了 “Prompt-tuning”,这是一种利用学习到的软提示对语言模型进行调节的方法,与完全微调相比,这种方法取得了具有竞争力的性能,并使模型能够在许多任务中重复使用。

-------------本文结束感谢您的阅读-------------