伴学笔记4

121 阅读3分钟

学习笔记4:大型语言模型的训练与使用

  1. 语言模型发展史
  • Google在2018年提出的Transformer架构为大型语言模型的发展点燃了火苗。
  • Transformer是几乎所有预训练模型的核心底层架构,预训练模型学习了丰富的语言知识,为后续任务提供了通用的、丰富的语言表示基础。
  • BERT是最代表性且影响力最大的模型之一,通过学习文本的上下文信息实现对句子结构的理解。
  • 大型预训练模型的出现推动了自然语言处理技术的快速发展。
  1. 预训练与微调
  • 预训练模型在大规模无标注文本数据上进行训练,学习了语言的基础表达、上下文信息和语义知识。
  • 微调过程根据特定任务对预训练模型进行优化,使用相对较小的有标注数据集进行有监督学习,适应特定任务的需求。
  • 预训练+微调模式的优势:迁移通用语言知识、减少训练时间和数据需求、快速优化模型、提高NLP技术的可用性和普及程度。
  1. 使用开源模型
  • HuggingFace提供了大量的预训练模型和相关工具,方便调用各种开源模型。
  • 可使用HuggingFace的AutoTokenizer加载预训练模型的分词器,AutoModelForCausalLM加载预训练模型。
  • 使用HuggingFace Pipeline工具可以简化多种常见NLP任务的使用流程。
  1. 使用LangChain调用模型
  • 如何使用HuggingFace库调用开源模型:

    首先,需要安装HuggingFace库并导入所需的库。然后,可以使用HuggingFace库的AutoTokenizer和AutoModelForCausalLM加载预训练模型和分词器。通过tokenizer将提示转换为模型可识别的格式,并使用model生成文本。最后,使用tokenizer的decode方法将生成的令牌解码为文本,并打印生成的响应。

  • 如何使用HuggingFace Hub和HuggingFace Pipeline接口:

    使用HuggingFace Hub,可以使用HuggingFace Hub库下载模型并创建HuggingFace Hub对象。使用HuggingFace Pipeline,可以通过指定预训练模型的名称和路径来创建文本生成pipeline。然后,可以使用HuggingFacePipeline和LLMChain类来调用模型并生成响应。

  • 在LangChain中调用自定义语言模型的方法:

    从HuggingFace网站下载了一个自定义模型,并使用llama_cpp-python包进行安装。然后,创建了一个自定义的LLM类,并实现了_call方法来调用模型生成回复。最后,通过创建LLMChain类和PromptTemplate类来使用自定义LLM生成回复。

总结:
模型调用课程介绍了大型语言模型的训练与使用。预训练模型学习了通用语言知识,微调过程可以优化模型以适应特定任务。HuggingFace提供了方便的工具,可以调用各种开源模型。LangChain提供了灵活的接口,支持自定义模型的使用。通过学习和使用这些方法,能更好地应用大型语言模型进行自然语言处理任务。