图书简介:
第1章 从零开始大模型之旅 11.1 对话机器人历史 11.1.1 人机同频交流 11.1.2 人机对话发展历史 21.2 人工智能 41.2.1 从感知到创造 41.2.2 通用人工智能 71.2.3 发展方向 91.2.4 本书焦点 101.3 本章小结 11第2章 大模型私有化部署 122.1 CUDA环境准备 122.1.1 基础环境 122.1.2 大模型运行环境 132.1.3 安装显卡驱动 142.1.4 安装CUDA 182.1.5 安装cuDNN 242.2 深度学习环境准备 262.2.1 安装Anaconda环境 262.2.2 服务器环境下的环境启动 302.2.3 安装PyTorch 32 2.3 GLM-3和GLM-4 342.3.1 GLM-3介绍 342.3.2 GLM-4介绍 362.4 GLM-4私有化部署 362.4.1 创建虚拟环境 372.4.2 下载GLM-4项目文件 372.4.3 安装项目依赖包 392.4.4 下载模型权重 402.5 运行GLM-4的方式 412.5.1 基于命令行的交互式对话 422.5.2 基于Gradio库的Web端对话应用 422.5.3 OpenAI风格的API调用方法 432.5.4 模型量化部署 452.6 本章小结 47第3章 大模型理论基础 493.1 自然语言领域中的数据 493.1.1 时间序列数据 493.1.2 分词 503.1.3 Token 533.1.4 Embedding 533.1.5 语义向量空间 543.2 语言模型历史演进 553.2.1 语言模型历史演进 553.2.2 统计语言模型 573.2.3 神经网络语言模型 583.3 注意力机制 583.3.1 RNN模型 583.3.2 Seq2Seq模型 603.3.3 Attention注意力机制 623.4 Transformer架构 653.4.1 整体架构 653.4.2 Self-Attention 663.4.3 Multi-Head Attention 683.4.4 Encoder 683.4.5 Decoder 703.4.6 实验效果 713.5 本章小结 72第4章 大模型开发工具 734.1 Huggingface 734.1.1 Huggingface介绍 734.1.2 安装Transformers库 774.2 大模型开发工具 794.2.1 开发范式 794.2.2 Transformers库核心设计 804.3 Transformers库详解 844.3.1 NLP任务处理全流程 844.3.2 数据转换形式 864.3.3 Tokenizer 884.3.4 模型加载和解读 924.3.5 模型的输出 944.3.6 模型的保存 974.4 全量微调训练方法 984.4.1 Datasets库和Accelerate库 984.4.2 数据格式 1014.4.3 数据预处理 1034.4.4 模型训练的参数 1064.4.5 模型训练 1084.4.6 模型评估 1104.5 本章小结 115第5章 高效微调方法 1175.1 主流的高效微调方法介绍 1175.1.1 微调方法介绍 1175.1.2 Prompt的提出背景 1195.2 PEFT库快速入门 1215.2.1 介绍 1215.2.2 设计理念 1225.2.3 使用 1255.3 Prefix Tuning 1295.3.1 背景 1295.3.2 核心技术解读 1295.3.3 实现步骤 1315.3.4 实验结果 1345.4 Prompt Tuning 1355.4.1 背景 1355.4.2 核心技术解读 1365.4.3 实现步骤 1375.4.4 实验结果 1395.5 P-Tuning 1405.5.1 背景 1405.5.2 核心技术解读 1415.5.3 实现步骤 1425.5.4 实验结果 1445.6 P-Tuning V2 1455.6.1 背景 1455.6.2 核心技术解读 1465.6.3 实现步骤 1475.6.4 实验结果 1495.7 本章小结 150第6章 LoRA微调GLM-4实战 1516.1 LoRA 1516.1.1 背景 1516.1.2 核心技术解读 1526.1.3 LoRA的特点 1536.1.4 实现步骤 1556.1.5 实验结果 1576.2 AdaLoRA 1576.2.1 LoRA的缺陷 1576.2.2 核心技术解读 1586.2.3 实现步骤 1606.2.4 实验结果 1616.3 QLoRA 1626.3.1 背景 1626.3.2 技术原理解析 1636.4 量化技术 1656.4.1 背景 1656.4.2 量化技术分类 1656.4.3 BitsAndBytes库 1666.4.4 实现步骤 1666.4.5 实验结果 1696.5 本章小结 169第7章 提示工程入门与实践 1707.1 探索大模型潜力边界 1707.1.1 潜力的来源 1707.1.2 Prompt的六个建议 1717.2 Prompt实践 1737.2.1 四个经典推理问题 1737.2.2 大模型原始表现 1757.3 提示工程 1777.3.1 提示工程的概念 1777.3.2 Few-shot 1777.3.3 通过思维链提示法提升模型推理能力 1807.3.4 Zero-shot-CoT提示方法 1817.3.5 Few-shot-CoT提示方法 1857.4 Least-to-Most Prompting(LtM提示方法) 1887.4.1 Least-to-Most Prompting基本概念 1887.4.2 Zero-shot-LtM提示过程 1897.4.3 效果验证 1917.5 提示使用技巧 1927.5.1 B.R.O.K.E提示框架 1937.5.2 C.O.A.S.T提示框架 1957.5.3 R.O.S.E.S提示框架 1967.6 本章小结 197第8章 大模型与中间件 1988.1 AI Agent 1988.1.1 从AGI到Agent 1988.1.2 Agent概念 1998.1.3 AI Agent应用领域 2008.2 大模型对话模式 2018.2.1 模型分类 2018.2.2 多角色对话模式 2038.3 多角色对话模式实战 2048.3.1 messages参数结构及功能解释 2048.3.2 messages参数中的角色划分 2058.4 Function Calling功能 2078.4.1 发展历史 2088.4.2 简单案例 2098.5 实现多函数 2148.5.1 定义多个工具函数 2148.5.2 测试结果 2178.6 Bing搜索嵌入LLM 2178.6.1 昙花一现的Browsing with Bing 2178.6.2 需求分析 2188.6.3 Google搜索API的获取和使用 2208.6.4 构建自动搜索问答机器人 2238.7 本章小结 225第9章 LangChain理论与实战 2269.1 整体介绍 2269.1.1 什么是LangChain 2269.1.2 意义 2279.1.3 架构 2289.2 Model I/O 2299.2.1 架构 2299.2.2 LLM 2309.2.3 ChatModel 2339.2.4 Prompt Template 2349.2.5 实战:LangChain接入本地GLM 2379.2.6 Parser 2399.3 Chain 2409.3.1 基础概念 2409.3.2 常用的Chain 2419.4 Memory 2499.4.1 基础概念 2499.4.2 流程解读 2509.4.3 常用Memory 2519.5 Agents 2579.5.1 理论 2579.5.2 快速入门 2599.5.3 架构 2629.6 LangChain实现Function Calling 2669.6.1 工具定义 2669.6.2 OutputParser 2679.6.3 使用 2689.7 本章小结 269第10章 实战:垂直领域大模型 27010.1 QLoRA微调GLM-4 27010.1.1 定义全局变量和参数 27010.1.2 红十字会数据准备 27110.1.3 训练模型 28310.2 大模型接入数据库 29110.2.1 大模型挑战 29110.2.2 数据集准备 29210.2.3 SQLite3 29310.2.4 获取数据库信息 29410.2.5 构建tools信息 29710.2.6 模型选择 29810.2.7 效果测试 29910.3 LangChain重写查询 30010.3.1 环境配置 30010.3.2 工具使用 30110.4 RAG检索增强 30210.4.1 自动化数据生成 30310.4.2 RAG搭建 30310.5 本章小结 307参考文献 308
展开
我们需要什么样的大模型面对未来的浪潮,我们不禁思考:何种大模型将引领时代?这是一个值得我们深入探讨的课题。随着AI(Artificial Intelligence,人工智能)技术的迅猛发展,AI是否会成为未来的主导力量?随着AI技术的飞速进步,一个常见的问题是:这股力量是否将取代人类的位置?答案并非如此简单。AI的确在以惊人的速度学习和进步,它在各个行业中的应用也取得了显著的成功。大模型的应用已成为推动各领域突破性进展的关键动力。特别是在医疗、法律、金融等特定垂直领域,大模型的微调面临着独特的挑战和需求。本书旨在深入探讨大模型的微调与应用的核心技术,为读者揭示行业前沿,重点关注两个热门的应用方向:大模型的知识专业性和时效性。我们将剖析垂直领域模型训练的背景及意义,探讨模型在垂直领域的迁移学习、应用部署与效果评估等核心内容。通过实际案例的深入浅出解析,我们将揭示每个环节的关键问题和解决方案,引领读者了解行业内最新的研究趋势,并便捷地将这些知识应用到各个行业中。比尔·盖茨是微软的联合创始人,他预见性地指出,像ChatGPT这样的AI聊天机器人将与个人计算机和互联网一样,成为不可或缺的技术里程碑。英伟达总裁黄仁勋则将ChatGPT比作AI领域的iPhone,它预示着更多伟大事物的开始。ChatGPT的诞生在社会上引起了巨大的轰动,因为它代表了大模型技术和预训练模型在自然语言处理领域的重要突破。它不仅提升了人机交互的能力,还为智能助手、虚拟智能人物和其他创新应用开启了新的可能性。本书专为对AI感兴趣的读者而设计。即使读者没有深厚的计算机知识背景,但只要具备相关的基础知识,便能跟随本书中的步骤,在个人计算机上轻松实践案例操作。我们精心准备了完整的代码示例,旨在帮助读者将抽象的理论知识转化为手头的实际技能。本书独树一帜的讲解风格,将深奥的技术术语转化为简洁明了的语言,案例叙述既严谨又充满趣味,确保读者在轻松愉快的阅读体验中自然而然地吸收和理解AI知识。AI时代已经到来,取代我们的不会是AI,而是那些更擅长利用AI力量的人。让我们携手迈进这个新时代,共同揭开AI的无限潜能。在本书的编写过程中,我们深感荣幸地获得了众多科研同行的鼎力相助与无私奉献。特别感谢中国科学院大学的刘宜松,他负责了本书代码的编写,并为代码的精确性与实用性付出了巨大努力。王凯、孙翔宇和张明哲对代码进行了细致入微的审阅,确保了代码的质量与可靠性。中国矿业大学的刘威为本书的图文并茂贡献良多,他负责的图片制作工作极大地提升了读者的阅读体验。我们还要感谢以下企事业单位的慷慨支持:东莞市科学技术协会的杨爱军为我们提供了宝贵的学术建议;东莞市红十字会分享了他们珍贵的行业数据,为本书的研究提供了实证支持;英特尔(中国)有限公司的张晶为我们提供了技术测试,确保了书中技术的先进性与实用性;广东创新科技职业学院的创始人方植麟提供了大模型数据,为本书的研究深度与广度提供了坚实基础。在出版流程中,电子工业出版社的秦淑灵编辑给予了我们极大的帮助与支持,她的专业意见和辛勤工作使得本书得以顺利面世。在此,我们对所有贡献者表示最诚挚的感谢!我们相信,这本书将成为一盏明灯,指引我们深入探索AI的奥妙,共同开启AI世界的无限可能。我们诚挚地邀请读者和专家们不吝赐教,您的宝贵意见将帮助我们不断完善。欢迎您将建议发送至邮箱:aidg0769@sina.com。
作 者
展开