推荐

新书推荐

LangChain入门指南:构建高可复用、可扩展的LLM应用程序

内容简介  · · · · · ·

这本书专门为那些对自然语言处理技术感兴趣的读者提供了系统的LLM应用开发指南。全书分为11章,从LLM基础知识开始,通过LangChain这个开源框架为读者解读整个LLM应用开发流程。第1~2章概述LLM技术的发展背景和LangChain框架的设计理念。从第3章开始,分章深入介绍LangChain的6大模块,包括模型I/O、数据增强、链、记忆等,通过大量代码示例让读者了解其原理和用法。第9章通过构建PDF问答程序,帮助读者将之前学习的知识应用于实践。第10章则介绍集成,可拓宽LangChain的用途。第11章为初学者简要解析LLM的基础理论,如Transformer模型等。

《LangChain入门指南:构建高可复用、可扩展的LLM应用程序》以LangChain这个让人熟悉的框架为主线,引导读者一步一步掌握LLM应用开发流程,适合对大语言模型感兴趣的开发者、AI应用程序开发者阅读。

作者简介  · · · · · ·

李特丽,LangChain中文网联合创始人,优秀的软件工程师。曾翻译LangChain、OpenAi、Milvus等AI开发三件套的中文文档,帮助中国开发者快速上手AI开发。
康轶文,LangChain中文网创始人,2005年从个人站长做起,成为第一代SEO“大神”;2012年转型移动互联网营销,成为中国Apple Ads代理商,获得苹果千万美元授信;2022年转型月付制AI数字员工全托管服务,是一位经验丰富的数字员工和人工智能应用专家。

目录  · · · · · ·

  • 第1 章 LangChain:开启大语言模型时代的钥匙
    • 1.1 大语言模型概述
      • 1.1.1 什么是大语言模型
      • 1.1.2 大语言模型的发展
      • 1.1.3 大语言模型的应用场景
      • 1.1.4 大语言模型的基础知识
    • 1.2 LangChain 与大语言模型
  • 第2 章 LangChain 入门指南
    • 2.1 初识LangChain
      • 2.1.1 为什么需要LangChain
      • 2.1.2 LLM 应用开发的最后1 公里
      • 2.1.3 LangChain 的2 个关键词
      • 2.1.4 LangChain 的3 个场景
      • 2.1.5 LangChain 的6 大模块
    • 2.2 LangChain 的开发流程
      • 2.2.1 开发密钥指南
      • 2.2.2 编写一个取名程序
      • 2.2.3 创建你的第一个聊天机器人
    • 2.3 LangChain 表达式
  • 第3 章 模型I/O
    • 3.1 什么是模型I/O
    • 3.2 模型I/O 功能之模型包装器
      • 3.2.1 模型包装器分类
      • 3.2.2 LLM 模型包装器
      • 3.2.3 聊天模型包装器
    • 3.3 模型I/O 功能之提示词模板
      • 3.3.1 什么是提示词模板
      • 3.3.2 提示词模板的输入和输出
      • 3.3.3 使用提示词模板构造提示词
      • 3.3.4 少样本提示词模板
      • 3.3.5 多功能提示词模板
    • 3.4 模型I/O 功能之输出解析器
      • 3.4.1 输出解析器的功能
      • 3.4.2 输出解析器的使用
      • 3.4.3 Pydantic JSON 输出解析器
      • 3.4.4 结构化输出解析器
  • 第4 章 数据增强模块
    • 4.1 数据增强模块的相关概念
      • 4.1.1 LEDVR 工作流
      • 4.1.2 数据类型
    • 4.2 加载器
    • 4.3 嵌入模型包装器
      • 4.3.1 嵌入模型包装器的使用
      • 4.3.2 嵌入模型包装器的类型
    • 4.4 文档转换器
    • 4.5 向量存储库
      • 4.5.1 向量存储库的使用
      • 4.5.2 向量存储库的搜索方法
    • 4.6 检索器
      • 4.6.1 检索器的使用
      • 4.6.2 检索器的类型
  • 第5 章 链
    • 5.1 为什么叫链
      • 5.1.1 链的定义
      • 5.1.2 链的使用
      • 5.1.3 基础链类型
      • 5.1.4 工具链类型
    • 5.2 细说基础链
      • 5.2.1 LLM 链
      • 5.2.2 路由器链
      • 5.2.3 顺序链
    • 5.3 四大合并文档链
      • 5.3.1 Stuff 链
      • 5.3.2 Refine 链
      • 5.3.3 MapReduce 链
      • 5.3.4 重排链
    • 5.4 揭秘链的复杂性
      • 5.4.1 复杂链的“套娃”式设计
      • 5.4.2 LEDVR 工作流的终点:“上链”
  • 第6 章 记忆模块
    • 6.1 记忆模块概述
      • 6.1.1 记忆组件的定义
      • 6.1.2 记忆组件、链组件和Agent 组件的关系
      • 6.1.3 设置第一个记忆组件
      • 6.1.4 内置记忆组件
      • 6.1.5 自定义记忆组件
    • 6.2 记忆增强检索能力的实践
      • 6.2.1 获取外部数据
      • 6.2.2 加入记忆组件
    • 6.3 记忆增强Agent 能力的实践
    • 6.4 内置记忆组件的对比
      • 6.4.1 总结记忆组件
      • 6.4.2 会话记忆组件和会话窗口记忆组件的对比
      • 6.4.3 知识图谱记忆组件和实体记忆组件的比较
  • 第7 章 Agent 模块
    • 7.1 Agent 模块概述
      • 7.1.1 Agent 组件的定义
      • 7.1.2 Agent 组件的运行机制
      • 7.1.3 Agent 组件入门示例
      • 7.1.4 Agent 组件的类型
    • 7.2 Agent 组件的应用
      • 7.2.1 Agent 组件的多功能性
      • 7.2.2 自定义Agent 组件
      • 7.2.3 ReAct Agent 的实践
    • 7.3 工具组件和工具包组件
      • 7.3.1 工具组件的类型
      • 7.3.2 工具包组件的类型
    • 7.4 Agent 组件的功能增强
      • 7.4.1 Agent 组件的记忆功能增强
      • 7.4.2 Agent 组件的检索能力增强
  • 第8 章 回调处理器
    • 8.1 什么是回调处理器
      • 8.1.1 回调处理器的工作流程
      • 8.1.2 回调处理器的使用
      • 8.1.3 自定义链组件中的回调
    • 8.2 内置回调处理器
    • 8.3 自定义回调处理器
  • 第9 章 使用LangChain 构建应用程序
    • 9.1 PDF 问答程序
      • 9.1.1 程序流程
      • 9.1.2 处理PDF 文档
      • 9.1.3 创建问答链
    • 9.2 对话式表单
      • 9.2.1 OpenAI 函数的标记链
      • 9.2.2 标记链的使用
      • 9.2.3 创建提示词模板
      • 9.2.4 数据更新和检查
    • 9.3 使用LangChain 实现BabyAGI
      • 9.3.1 BabyAGI 介绍
      • 9.3.2 环境与工具
      • 9.3.3 向量存储
      • 9.3.4 构建任务链
      • 9.3.5 创建BabyAGI
      • 9.3.6 运行BabyAGI
  • 第10 章 集成
    • 10.1 集成的背景与LLM 集成
    • 10.2 LLM 集成指南
      • 10.2.1 Azure OpenAI 集成
      • 10.2.2 Hugging Face Hub 集成
    • 10.3 聊天模型集成指南
      • 10.3.1 Anthropic 聊天模型集成
      • 10.3.2 PaLM 2 聊天模型集成
      • 10.3.3 OpenAI 聊天模型集成
    • 10.4 向量库集成指南
      • 10.4.1 Chroma 集成
      • 10.4.2 Pinecone 集成
      • 10.4.3 Milvus 集成
    • 10.5 嵌入模型集成指南
      • 10.5.1 HuggingFaceEmbeddings 嵌入集成
      • 10.5.2 LlamaCppEmbeddings 嵌入集成
      • 10.5.3 Cohere 嵌入集成
    • 10.6 Agent toolkits 集成指南
      • 10.6.1 CSV Agent 的集成
      • 10.6.2 Pandas Dataframe Agent 的集成
      • 10.6.3 PowerBI Dataset Agent 的集成
    • 10.7 Retrievers 集成指南
      • 10.7.1 WikipediaRetriever 集成
      • 10.7.2 ArxivRetriever 集成
      • 10.7.3 Azure Cognitive Search 集成
  • 第11 章 LLM 应用开发必学知识
    • 11.1 LLM 的核心知识
      • 11.1.1 文本嵌入
      • 11.1.2 点积相似性和余弦相似性
      • 11.1.3 注意力机制
    • 11.2 Transformer 模型
    • 11.3 语义搜索
      • 11.3.1 语义搜索的工作原理
      • 11.3.2 RAG 的工作原理
    • 11.4 NLP 与机器学习基础
      • 11.4.1 LLM 应用开发中的传统机器学习方法
      • 11.4.2 NLP 文本预处理
      • 11.4.3 构建分类器
  • 附录A LangChain 框架中的主要类
  • 附录B OpenAI 平台和模型介绍
  • 附录C Claude 2 模型介绍
  • 附录D Cohere 模型介绍
  • 附录E PaLM 2 模型介绍
  • 附录F Pinecone 向量数据库介绍
  • 附录G Milvus 向量数据库介绍

从零开始大模型开发与微调:基于PyTorch与ChatGLM

内容简介

大模型是深度学习自然语言处理皇冠上的一颗明珠,也是当前AI和NLP研究与产业中最重要的方向之一。本书使用PyTorch 2.0作为学习大模型的基本框架,以ChatGLM为例详细讲解大模型的基本理论、算法、程序实现、应用实战以及微调技术,为读者揭示大模型开发技术。本书配套示例源代码、PPT课件。

《从零开始大模型开发与微调:基于PyTorch与ChatGLM》共18章,内容包括人工智能与大模型、PyTorch 2.0深度学习环境搭建、从零开始学习PyTorch 2.0、深度学习基础算法详解、基于PyTorch卷积层的MNIST分类实战、PyTorch数据处理与模型展示、ResNet实战、有趣的词嵌入、基于PyTorch循环神经网络的中文情感分类实战、自然语言处理的编码器、预训练模型BERT、自然语言处理的解码器、强化学习实战、只具有解码器的GPT-2模型、实战训练自己的ChatGPT、开源大模型ChatGLM使用详解、ChatGLM高级定制化应用实战、对ChatGLM进行高级微调。

《从零开始大模型开发与微调:基于PyTorch与ChatGLM》适合PyTorch深度学习初学者、大模型开发初学者、大模型开发人员学习,也适合高等院校人工智能、智能科学与技术、数据科学与大数据技术、计算机科学与技术等专业的师生作为教学参考书。

作者简介

王晓华,高校计算机专业讲师,研究方向为云计算、大数据与人工智能。著有《PyTorch 2.0深度学习从零开始学》《Python机器学习与可视化分析实战》《谷歌JAX深度学习从零开始学》《Spark 3.0大数据分析与挖掘:基于机器学习》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow知识图谱实战》《TensorFlow人脸识别实战》《TensorFlow语音识别实战》《TensorFlow+Keras自然语言处理实战》《TensorFlow 2.0卷积神经网络实战》《Keras实战:基于TensorFlow2.2的深度学习实践》《TensorFlow 2.0深度学习从零开始学》《深度学习的数学原理与实现》。

目录

目 录

第1章 新时代的曙光—人工智能与大模型 1

  • 1.1 人工智能:思维与实践的融合 1
    • 1.1.1 人工智能的历史与未来 2
    • 1.1.2 深度学习与人工智能 2
    • 1.1.3 选择PyTorch 2.0实战框架 3
  • 1.2 大模型开启人工智能的新时代 4
    • 1.2.1 大模型带来的变革 4
    • 1.2.2 最强的中文大模型—清华大学ChatGLM介绍 5
    • 1.2.3 近在咫尺的未来—大模型的应用前景 6
  • 1.3 本章小结 7

第2章 PyTorch 2.0深度学习环境搭建 8

  • 2.1 环境搭建1:安装Python 8
    • 2.1.1 Miniconda的下载与安装 8
    • 2.1.2 PyCharm的下载与安装 11
    • 2.1.3 Python代码小练习:计算Softmax函数 14
  • 2.2 环境搭建2:安装PyTorch 2.0 15
    • 2.2.1 Nvidia 10/20/30/40系列显卡选择的GPU版本 15
    • 2.2.2 PyTorch 2.0 GPU Nvidia运行库的安装 15
    • 2.2.3 PyTorch 2.0小练习:Hello PyTorch 18
  • 2.3 生成式模型实战:古诗词的生成 18
  • 2.4 图像降噪:手把手实战第一个深度学习模型 19
    • 2.4.1 MNIST数据集的准备 19
    • 2.4.2 MNIST数据集的特征和标签介绍 21
    • 2.4.3 模型的准备和介绍 22
    • 2.4.4 对目标的逼近—模型的损失函数与优化函数 24
    • 2.4.5 基于深度学习的模型训练 24
  • 2.5 本章小结 26

第3章 从零开始学习PyTorch 2.0 27

  • 3.1 实战MNIST手写体识别 27
    • 3.1.1 数据图像的获取与标签的说明 27
    • 3.1.2 实战基于PyTorch 2.0的手写体识别模型 29
    • 3.1.3 基于Netron库的PyTorch 2.0模型可视化 32
  • 3.2 自定义神经网络框架的基本设计 34
    • 3.2.1 神经网络框架的抽象实现 34
    • 3.2.2 自定义神经网络框架的具体实现 35
  • 3.3 本章小结 43

第4章 一学就会的深度学习基础算法详解 44

  • 4.1 反向传播神经网络的前身历史 44
  • 4.2 反向传播神经网络两个基础算法详解 47
    • 4.2.1 最小二乘法详解 48
    • 4.2.2 梯度下降算法 50
    • 4.2.3 最小二乘法的梯度下降算法及其Python实现 52
  • 4.3 反馈神经网络反向传播算法介绍 58
    • 4.3.1 深度学习基础 58
    • 4.3.2 链式求导法则 59
    • 4.3.3 反馈神经网络的原理与公式推导 60
    • 4.3.4 反馈神经网络原理的激活函数 64
    • 4.3.5 反馈神经网络原理的Python实现 66
  • 4.4 本章小结 70

第5章 基于PyTorch卷积层的MNIST分类实战 71

  • 5.1 卷积运算的基本概念 71
    • 5.1.1 基本卷积运算示例 72
    • 5.1.2 PyTorch中的卷积函数实现详解 73
    • 5.1.3 池化运算 75
    • 5.1.4 Softmax激活函数 77
    • 5.1.5 卷积神经网络的原理 78
  • 5.2 实战:基于卷积的MNIST手写体分类 80
    • 5.2.1 数据的准备 80
    • 5.2.2 模型的设计 81
    • 5.2.3 基于卷积的MNIST分类模型 82
  • 5.3 PyTorch的深度可分离膨胀卷积详解 84
    • 5.3.1 深度可分离卷积的定义 84
    • 5.3.2 深度的定义以及不同计算层待训练参数的比较 86
    • 5.3.3 膨胀卷积详解 87
    • 5.3.4 实战:基于深度可分离膨胀卷积的MNIST手写体识别 87
  • 5.4 本章小结 90

第6章 可视化的PyTorch数据处理与模型展示 91

  • 6.1 用于自定义数据集的torch.utils.data工具箱使用详解 92
    • 6.1.1 使用torch.utils.data. Dataset封装自定义数据集 92
    • 6.1.2 改变数据类型的Dataset类中的transform的使用 93
    • 6.1.3 批量输出数据的DataLoader类详解 98
  • 6.2 实战:基于tensorboardX的训练可视化展示 100
    • 6.2.1 可视化组件tensorboardX的简介与安装 100
    • 6.2.2 tensorboardX可视化组件的使用 100
    • 6.2.3 tensorboardX对模型训练过程的展示 103
  • 6.3 本章小结 105

第7章 ResNet实战 106

  • 7.1 ResNet基础原理与程序设计基础 106
    • 7.1.1 ResNet诞生的背景 107
    • 7.1.2 PyTorch 2.0中的模块工具 109
    • 7.1.3 ResNet残差模块的实现 110
    • 7.1.4 ResNet网络的实现 112
  • 7.2 ResNet实战:CIFAR-10数据集分类 114
    • 7.2.1 CIFAR-10数据集简介 114
    • 7.2.2 基于ResNet的CIFAR-10数据集分类 117
  • 7.3 本章小结 118

第8章 有趣的词嵌入 120

  • 8.1 文本数据处理 120
    • 8.1.1 Ag_news数据集介绍和数据清洗 120
    • 8.1.2 停用词的使用 123
    • 8.1.3 词向量训练模型Word2Vec使用介绍 125
    • 8.1.4 文本主题的提取:基于TF-IDF 128
    • 8.1.5 文本主题的提取:基于TextRank 132
  • 8.2 更多的词嵌入方法—FastText和预训练词向量 134
    • 8.2.1 FastText的原理与基础算法 135
    • 8.2.2 FastText训练及其与PyTorch 2.0的协同使用 136
    • 8.2.3 使用其他预训练参数来生成PyTorch 2.0词嵌入矩阵(中文) 140
  • 8.3 针对文本的卷积神经网络模型简介—字符卷积 141
    • 8.3.1 字符(非单词)文本的处理 141
    • 8.3.2 卷积神经网络文本分类模型的实现—Conv1d(一维卷积) 148
  • 8.4 针对文本的卷积神经网络模型简介—词卷积 151
    • 8.4.1 单词的文本处理 151
    • 8.4.2 卷积神经网络文本分类模型的实现—Conv2d(二维卷积) 153
  • 8.5 使用卷积对文本分类的补充内容 155
    • 8.5.1 汉字的文本处理 155
    • 8.5.2 其他细节 157
  • 8.6 本章小结 158

第9章 基于循环神经网络的中文情感分类实战 160

  • 9.1 实战:循环神经网络与情感分类 160
  • 9.2 循环神经网络理论讲解 165
    • 9.2.1 什么是GRU 165
    • 9.2.2 单向不行,那就双向 167
  • 9.3 本章小结 168

第10章 从零开始学习自然语言处理的编码器 169

  • 10.1 编码器的核心—注意力模型 170
    • 10.1.1 输入层—初始词向量层和位置编码器层 170
    • 10.1.2 自注意力层 172
    • 10.1.3 ticks和Layer Normalization 177
    • 10.1.4 多头注意力 178
  • 10.2 编码器的实现 180
    • 10.2.1 前馈层的实现 181
    • 10.2.2 编码器的实现 182
  • 10.3 实战编码器:拼音汉字转化模型 184
    • 10.3.1 汉字拼音数据集处理 185
    • 10.3.2 汉字拼音转化模型的确定 187
    • 10.3.3 模型训练部分的编写 190
  • 10.4 本章小结 191

第11章 站在巨人肩膀上的预训练模型BERT 193

  • 11.1 预训练模型BERT 193
    • 11.1.1 BERT的基本架构与应用 194
    • 11.1.2 BERT预训练任务与微调 195
  • 11.2 实战BERT:中文文本分类 198
    • 11.2.1 使用Hugging Face获取BERT预训练模型 198
    • 11.2.2 BERT实战文本分类 200
  • 11.3 更多的预训练模型 203
  • 11.4 本章小结 205

第12章 从1开始自然语言处理的解码器 206

  • 12.1 解码器的核心—注意力模型 206
    • 12.1.1 解码器的输入和交互注意力层的掩码 207
    • 12.1.2 为什么通过掩码操作能够减少干扰 212
    • 12.1.3 解码器的输出(移位训练方法) 213
    • 12.1.4 解码器的实现 214
  • 12.2 解码器实战—拼音汉字翻译模型 215
    • 12.2.1 数据集的获取与处理 216
    • 12.2.2 翻译模型 218
    • 12.2.3 拼音汉字模型的训练 229
    • 12.2.4 拼音汉字模型的使用 230
  • 12.3 本章小结 231

第13章 基于PyTorch 2.0的强化学习实战 232

  • 13.1 基于强化学习的火箭回收实战 232
    • 13.1.1 火箭回收基本运行环境介绍 233
    • 13.1.2 火箭回收参数介绍 234
    • 13.1.3 基于强化学习的火箭回收实战 234
    • 13.1.4 强化学习的基本内容 239
  • 13.2 强化学习的基本算法—PPO算法 243
    • 13.2.1 PPO算法简介 243
    • 13.2.2 函数使用说明 244
    • 13.2.3 一学就会的TD-error理论介绍 245
    • 13.2.4 基于TD-error的结果修正 247
    • 13.2.5 对于奖励的倒序构成的说明 248
  • 13.3 本章小结 249

第14章 ChatGPT前身—只具有解码器的GPT-2模型 250

  • 14.1 GPT-2模型简介 250
    • 14.1.1 GPT-2模型的输入和输出结构—自回归性 251
    • 14.1.2 GPT-2模型的PyTorch实现 252
    • 14.1.3 GPT-2模型输入输出格式的实现 257
  • 14.2 Hugging Face GPT-2模型源码模型详解 259
    • 14.2.1 GPT2LMHeadModel类和GPT2Model类详解 259
    • 14.2.2 Block类详解 270
    • 14.2.3 Attention类详解 274
    • 14.2.4 MLP类详解 281
  • 14.3 Hugging Face GPT-2模型的使用与自定义微调 282
    • 14.3.1 模型的使用与自定义数据集的微调 282
    • 14.3.2 基于预训练模型的评论描述微调 285
  • 14.4 自定义模型的输出 286
    • 14.4.1 GPT输出的结构 286
    • 14.4.2 创造性参数temperature与采样个数topK 288
  • 14.5 本章小结 290

第15章 实战训练自己的ChatGPT 291

  • 15.1 什么是ChatGPT 291
  • 15.2 RLHF模型简介 293
    • 15.2.1 RLHF技术分解 293
    • 15.2.2 RLHF中的具体实现—PPO算法 296
  • 15.3 基于RLHF实战的ChatGPT正向评论的生成 297
    • 15.3.1 RLHF模型进化的总体讲解 297
    • 15.3.2 ChatGPT评分模块简介 298
    • 15.3.3 带有评分函数的ChatGPT模型的构建 300
    • 15.3.4 RLHF中的PPO算法—KL散度 301
    • 15.3.5 RLHF中的PPO算法—损失函数 303
  • 15.4 本章小结 304

第16章 开源大模型ChatGLM使用详解 305

  • 16.1 为什么要使用大模型 305
    • 16.1.1 大模型与普通模型的区别 306
    • 16.1.2 一个神奇的现象—大模型的涌现能力 307
  • 16.2 ChatGLM使用详解 307
    • 16.2.1 ChatGLM简介及应用前景 308
    • 16.2.2 下载ChatGLM 309
    • 16.2.3 ChatGLM的使用与Prompt介绍 310
  • 16.3 本章小结 311

第17章 开源大模型ChatGLM 高级定制化应用实战 312

  • 17.1 医疗问答GLMQABot搭建实战—基于ChatGLM搭建专业客服问答机器人 312
    • 17.1.1 基于ChatGLM搭建专业领域问答机器人的思路 313
    • 17.1.2 基于真实医疗问答的数据准备 314
    • 17.1.3 文本相关性(相似度)的比较算法 315
    • 17.1.4 提示语句Prompt的构建 316
    • 17.1.5 基于单个文档的GLMQABot的搭建 316
  • 17.2 金融信息抽取实战—基于知识链的ChatGLM本地化知识库检索与智能答案生成 318
    • 17.2.1 基于ChatGLM搭建智能答案生成机器人的思路 319
    • 17.2.2 获取专业(范畴内)文档与编码存储 320
    • 17.2.3 查询文本编码的相关性比较与排序 322
    • 17.2.4 基于知识链的ChatGLM本地化知识库检索与智能答案生成 325
  • 17.3 基于ChatGLM的一些补充内容 327
    • 17.3.1 语言的艺术—Prompt的前世今生 328
    • 17.3.2 清华大学推荐的ChatGLM微调方法 329
    • 17.3.2 一种新的基于ChatGLM的文本检索方案 330
  • 17.4 本章小结 331

第18章 对训练成本上亿美元的ChatGLM进行高级微调 332

  • 18.1 ChatGLM模型的本地化处理 332
    • 18.1.1 下载ChatGLM源码与合并存档 332
    • 18.1.2 修正自定义的本地化模型 335
    • 18.1.3 构建GLM模型的输入输出示例 337
  • 18.2 高级微调方法1—基于加速库Accelerator的全量数据微调 339
    • 18.2.1 数据的准备—将文本内容转化成三元组的知识图谱 339
    • 18.2.2 加速的秘密—Accelerate模型加速工具详解 342
    • 18.2.3 更快的速度—使用INT8(INT4)量化模型加速训练 345
  • 18.3 高级微调方法2—基于LoRA的模型微调 348
    • 18.3.1 对ChatGLM进行微调的方法—LoRA 348
    • 18.3.2 自定义LoRA的使用方法 349
    • 18.3.3 基于自定义LoRA的模型训练 350
    • 18.3.4 基于自定义LoRA的模型推断 352
    • 18.3.5 基于基本原理的LoRA实现 355
  • 18.4 高级微调方法3—基于Huggingface的PEFT模型微调 357
    • 18.4.1 PEFT技术详解 358
    • 18.4.2 PEFT的使用与参数设计 359
    • 18.4.3 Huggingface专用PEFT的使用 360
  • 18.5 本章小结 362

人类简史:从动物到上帝(图文精编版)

十万年前,地球上至少有六种不同的人

但今日,世界舞台为什么只剩下了我们自己?

从只能啃食虎狼吃剩的残骨的猿人,到跃居食物链顶端的智人,

从雪维洞穴壁上的原始人手印,到阿姆斯壮踩上月球的脚印,

从认知革命、农业革命,到科学革命、生物科技革命,

我们如何登上世界舞台成为万物之灵的?

从公元前1776年的《汉摩拉比法典》,到1776年的美国独立宣言,

从帝国主义、资本主义,到自由主义、消费主义,

从兽欲,到物欲,从兽性、人性,到神性,

我们了解自己吗?我们过得更快乐吗?

我们究竟希望自己得到什么、变成什么?

------------------------------------------------------------------------------------------------

【编辑推荐】

1、由书改变而成的人类简史课程风靡全球,成为希伯来大学最受欢迎课程 Coursera最受欢迎课程 ,mooc最受欢迎课程。学界和大众都一致认可,戴蒙德推荐。

2、一大开创性:打通文字发明前后历史的界限。

文字发明之前的年代,是生物学家、考古学家的专长;文字发明之后的年代,是历史学家、政治学家和经济学家的专长;

许多著名史家的作品,欠缺遗传学或生态学的视野,如何让这两大段历史之间没有断层,能够有一以贯之的宏观解读?

本书不同于《枪炮、病菌与钢铁》从生物与环境的角度看人类社会的发展,也不同于麦克尼尔的《世界史》以文明为单位绘制的人类文明交织的世界。 他笔下的历史,在科学中有深沉的人文关怀。

3、填补传统人类史的三大鸿沟:

历史观与哲学观之间的鸿沟(提供有史实根据的深刻哲学思考);人类和生态系统之间的鸿沟(作者多从生态来思考,而不是只讲人类的利益);集体和个人之间的鸿沟(检视历史事件如何影响到当时一般人的生活)。

4、四大部分描述人类大历史:

7万年前的大脑认知革命(有能力谈八卦,想象不存在的事物,让陌生人开始合作、建立组织)

1.2万年前的农业革命(让我们渴求更多、生产更多,分工分职愈趋细腻)、

500年前的科学革命(带来快速进步,让我们拥有上帝的力量,也带来毁灭)

全球大一统、人类大融合的关键因素——金钱、帝国、宗教

5、一部个人幸福探索之书。

用通俗的语言和新鲜的视角,将个体的幸福放在人类发展的过程中审视,不再错过历史中最关键、最有意思的部分。涵盖了生物学,人类学,哲学,心理学,艺术,文学,伦理学等众多领域。涉及幸福,生命的意义等众多话题,有人说这是一部个人幸福探索之书。

6、一部“瘦身版”人类简史。

如果说给我一本书,不到五百页,没有一堆令人晕头转向的年份、人名、地名、称号,就能涵盖了人类如何崛起、影响现代生活甚巨的资本主义、一神教、自由人文主义、基因工程如何兴盛的人类历史重大脉络……这是仅有的一部!

7、一部引发多国版权大战的神秘大书。

获得波兰斯基人文学科创造力与独创性奖。 100周蝉联以色列畅销书排行榜第一,在英国,9家出版商疯狂竞价。 23个国家竞相购买版权。台湾上市一周,金石堂、诚品历史类畅销书榜第一 ,诚品总榜第八,西班牙上市两周总榜第一。

------------------------------------------------------------------------------------------------

【内容简介】

《人类简史:从动物到上帝》是以色列新锐历史学家的一部重磅作品。从十万年前有生命迹象开始到21世纪资本、科技交织的人类发展史。十万年前,地球上至少有六个人种,为何今天却只剩下了我们自己?我们曾经只是非洲角落一个毫不起眼的族群,对地球上生态的影响力和萤火虫、猩猩或者水母相差无几。为何我们能登上生物链的顶端,最终成为地球的主宰?

从认知革命、农业革命到科学革命,我们真的了解自己吗?我们过得更加快乐吗?我们知道金钱和宗教从何而来,为何产生吗?人类创建的帝国为何一个个衰亡又兴起?为什么地球上几乎每一个社会都有男尊女卑的观念?为何一神教成为最为广泛接受的宗教?科学和资本主义如何成为现代社会最重要的信条?理清影响人类发展的重大脉络,挖掘人类文化、宗教、法律、国家、信贷等产生的根源。这是一部宏大的人类简史,更见微知著、以小写大,让人类重新审视自己。

------------------------------------------------------------------------------------------------

【各界评论】

《人类简史:从动物到上帝》为什么能够在国际畅销书榜上爆冲?原因很简单,它处理的是历史的大问题、现代世界的大问题,而且,它的写作风格是刻骨铭心的生动。你会爱上它!

——普利策奖得主 《枪炮、病菌与钢铁》作者戴蒙德

这是此类大历史中最好的一本:规模宏大但绝非泛泛而谈;具有时代性又不花哨,观念惊世骇俗但绝不是个简单的反对者。每个人都能在书里找到一部分和另外的人开始讨论,但是弄清楚是哪部分、为什么,对我们都有好处。

——牛津大学历史学院院长 斯蒂文·刚尼

我拿起这本《人类简史》立刻“着道”了——拿起了就放不下,几乎一口气读完。吸引力主要来自作者才思的旷达敏捷,还有译者文笔的生动晓畅,而书中屡屡提及中国的相关史实,也能让人感到一种说不出的亲切,好像自己也被融入其中,读来欲罢不能。

——北京大学历史系教授 高毅

《人类简史》的目的不是传授人类考古学的所有研究成果,而是提供一种看历史的视角,一种全局的观点。当你不再执着于科学、政治或宗教等某一个领域的发展过程,而是关注人类社会的整体演变,观察这些领域之间的相互作用,你会感到你脑海中零碎的历史知识忽然像拼图一样各就各位,构成一幅宏大的图景,这样的视角非常新鲜。

——果壳网 姬十三

读完这本书,有一种跟着人类一同走过十万年的感觉!

——读者

这本书如果要用“宏伟史诗”来形容一点也不过分,其中包含了很多学科的内容,例如考古学、生物学、物理学、经济学、宗教、社会学甚至计算机科学等等。书里里面的大部分观点都是从不同的角度进行介绍,其中很多都是经无数人严格验证过的,讲师很多时候仅仅是通过自己的表达希望尽量客观地介绍一些内容,至于每个人怎么理解并没有统一的标准了。

——读者

超级好的课程,付费都坚持下来了,观点独特,从来没想到能从这个角度理解我们人类自己。

——读者