Appearance
夯实基础 了解LLM大语言模型
章节介绍
LLM大语言模型快速认识
- 介绍什么是大语言模型,大语言模型在企业中的价值与市场需求,LLM在企业中落地的一些简单案例。
- 掌握ChatGPT的注册与使用,引出大模型的局限性。
- 了解大模型对软件构建有什么影响,未来的编程范式,探讨程序员在 AI 2.0 时代的新机遇。
LLM应用开发入门及交互方式
- 探索AI研究的两个分支--基础研究与应用研究,快速扫盲 LLM应用开发的常见专有名词,以及什么是LLM应用开发。
- 学习在AI新时代下,LLM/AI Agent应用的交互发生的变化,以及自然交互模式的一些思考。
什么是大语言模型(LLM)
LLM大语言模型定义
LLM全称Large Language Model,即大语言模型,是一种用大量数据训练的模型,给模型一些输入,它可以预测并返回相应的输出。
模型输入 → LLM → 模型输出
LLM大语言模型的训练数据大
训练数据 → LLM
GPT-3公开训练数据
| Dataset | Quantity (tokens) | Weight in Training mix | Epochs elapsed when Training for 300B tokens |
|---|---|---|---|
| Common Crawl(filtered) | 410 billion | 60% | 0.44 |
| WebText2 | 19 billion | 22% | 2.9 |
| Books1 | 12 billion | 8% | 1.9 |
| Books2 | 55 billion | 8% | 0.43 |
| Wikipedia | 5 billion | 3% | 3.4 |
_参考链接:https://arxiv.org/abs/2005.14165_
数据集说明
| 数据集 | 说明 |
|---|---|
| Common Crawl | 网络爬虫公开数据集(海量互联网内容) |
| WebText2 | Reddit 论坛的网页文本 |
| Books1, Books2 | 互联网书籍语料库 |
| Wikipedia | 整个英文维基百科知识库 |
大模型训练数据涵盖书籍、新闻、论文、维基百科、社交媒体等,总量达3000亿文本单位。
大语言模型的参数大
模型输入 → 训练数据 → LLM → 模型输出
OpenAI历代公开大模型参数
- GPT-1:1.17亿
- GPT-2:15亿
- GPT-3:1750亿
大语言模型完成通用的任务
- 生成:我今天在图书馆→学习了高等数学
- 分类:物流太慢了,衣服起毛球→差评
- 总结:经过了一年多的长跑,微软动用687亿美元巨资收购…→微软完成收购视动暴雪
- 改写:我喜欢编程→I like programming
大语言模型参数量基础
- 参数量大一般指的是7b~100b+,即70亿~1000亿+参数(Billion=十亿);70亿×4字节≈28G
- 参数其实就是一个浮点数(2字节或4字节),比如3.1415,所以一个7b的模型,本质上就是海量浮点数的集合而已。
大语言模型的基础单位Token
- Token其实就是文本的片段,是大模型处理和计算的单位,对于汉字,可以是字、词、甚至是半个字或者三分之一个字。
- 对于一个仅支持英语的模型,它的词表可以只有a-z 26个字母,加上逗号句号空格等标点符号,Token 数可以非常少。
- 汉字字词更多,语义更复杂多样,所以包含的 Token 数会更多,很多语言模型都支持多语言,包含各种符号、单词、单词片段等,所以往往会有几十万个 Token 甚至更多。
大语言模型词表介绍与示例
- 词表,就是这个模型的词汇库,每个 Token 有其对应的 id,一般从 0 开始,示例:
"<|startoftext|>":1,
"<x01>":36
"ct*":611,
"_re":612
"安徽省":2856,
"子和":28561,- 若出现不在词表中的特殊符号会回到基础字符表。
大语言模型的工作流程
- 输入:你是谁
- 词表转换[154, 5412,15]
- 参数计算 → 词表概率分布[0.015,0.0025,0.005,0.002,…]
- 选取概率最大的Token作为输出Token
- 输出Token叠加原有输入,再次进行参数计算
- 重复上述步骤,直到计算结束,最终输出大模型内容
大语言模型预测Token的机制
- 核心方法:基于统计概率,通过大量数据的统计,找到下一个 token。
- 实现逻辑:采集大量文本进行扫描计算,并记录所有片段的输入以及下一个文本出现的次数,得到一张巨大的分布表;将输入的文本对照分布表查询,找到所有 token 的出现次数或概率,出现次数最大的 token 即为预测结果。
- 问题挑战:若输入一段未在统计中的话,模型会基于关联概率进行预测,例如输入“唱跳Rap篮球”,模型会对各关联token计算概率分布并选取最优解。
模型训练-从随机到智能
- 训练定义:将大量文本输入给模型,进而得到优化的模型参数,目前LLM训练一般用到了大量文本,一般在 2T token 以上。
- 模型训练流程图(程序员的梦工厂): 初始化模型参数 → 输入文本(如:程)→ 模型计算输出(如:hello)→ 计算损失 → 梯度下降更新参数 → 判断是否达到停止条件(否则重复上述步骤,是则停止训练)
本小节课程总结
- 学习什么是大语言模型,以及为什么有些模型不支持中文,或中文支持较差等。
- 初步了解了一个极简的 LLM 工作流程--不断预测下一个词是什么,直到结束。
- 从非机器/机器学习角度了解了 LLM 的预测流程、训练流程等。
LLM在企业中的价值与市场需求
核心观点:所有产品都值得用AI重做一遍
2023年 GPT-4 发布以后,张勇在阿里云峰会上宣布阿里所有产品都将接入大模型全面升级,并强调所有产品都值得用 AI 重做一遍。
通用人工智能(AGI)与AI Agent
- 通用人工智能(AGI)将是 AI 的终极形态,几乎已成为业界共识;构建AI Agent则是 AI 工程应用当下的“终极形态”。
- 大模型出现后,AI Agents衍生出一种新的架构模式,将最重要的任务自主完成。
走进人工智能--Agent/LLM
- 智能体定义:指代具有自主性和智能的程序或系统,能够通过感知、规划、决策并执行相关任务。
- 智能体工作流程:用户/外部环境输入指令 → Agent感测感知 → 记忆检索 → 推理决策 → 执行行动输出动作
Agent/LLM在企业应用场景落地
按技术/应用端成熟度(1年内/1-3年/3年以上)和场景价值划分,涵盖四类场景:
- 变革类:流程智能化、虚拟导购、原生应用集成
- 增收类:实时预测、销售赋能、智能客服
- 降本类:数据分析、运维管理、办公助理、知识库助手
- 体验类:各类用户体验优化相关应用
落地案例
案例1: 基于Agent/LLM的智能客服
- 传统客服痛点:效率低、培养成本大、工作压力大、提供服务参差不齐等。
- LLM解决方案:利用 LLM+企业知识库搭建 AI 智能客服,实现智能沟通、无间断工作、智能分析、自动分类、跨语言沟通等。
案例2: 基于Agent/LLM的数据分析
- 企业数据痛点:数据量庞大、结构差异明显、利用率低,难以建立各项数据之间的关联(数据涵盖日志、历史代码、订单、会员信息、行业数据等)。
- LLM解决方案:利用Agent/LLM参与数据的自动分类、信息提取、数据分析等,建立起各项数据之间的关联。
案例3: 人工智能即服务-AIaaS
- AIaaS定义:AI as a Service(AI即服务),将 AI 视为应用后端服务,让公司发布一款产品变得极其简单,无需投入昂贵的硬件、专业人才或耗时的开发流程。
- 应用示例:
- 翻译服务 = 限定的预设 Prompt + LLM 规范化输出
- 自动化运维 = 日志采集 + LLM 推理决策 + 工具包
行业需求爆发--奇点已来
- 人工智能浪潮已来,AI Agent/LLM 会像过去的 PPT 和 Excel 一样,成为几乎所有职业必学的技能。
- 全球月活用户达1亿的时间对比:Google Translate、Uber、Telegram、Spotify、Pinterest、TikTok、ChatGPT(ChatGPT增速显著领先)。
- LLM核心应用方向:1. 代替搜索引擎 2. 半工作自动化or全自动化 3. 通过GPT更快速学习知识 4. 其他场景落地
提升职场竞争力/大模型工程师待遇
- 现阶段,AI 不会淘汰任何岗位,但会大大减少某些岗位的需求,并创造出大量的新岗位/新职业。
- 部分LLM相关领域融资案例:
项目名称 领域 业务 投资轮次 投资金额 WorkMagic 智能营销 多场景营销 Agent Sass 平台 战略融资 1800万 幂律智能 智能法务 AI驱动的智能法律服务产品提供商 Pre-B轮 8000万 海纳AI 智能招聘 AI招聘产品开发商 A轮 数千万
学习LLM知识对职业发展的影响
- 技术领先:掌握更高效的Prompt编写技巧,让LLM更清楚需求,更高效完成工作任务、解决疑难杂症等。
- 薪资水平:由于LLM是相对新兴的领域,人才短缺,具备相关技能的人才往往能够获得更具竞争力的薪酬。
- 扩充职业前景:随着人工智能的发展和普及,LLM应用的前景非常广阔,不一定所有公司都需要训练LLM,但绝大部分公司都会基于LLM开发应用。
本小节课程总结
- 学习了LLM与企业应用之间的关联,并分享了大模型在企业中的价值与一些常见的案例。
- 简单聊了当前行业的发展状况、LLM对职场竞争力的提升以及大模型工程师的待遇,学习LLM对职业发展的影响等。
ChatGPT聊天机器人的使用与局限性
ChatGPT介绍与账号注册/使用
- ChatGPT是OpenAI基于GPT架构开发的聊天机器人,可以通过邮箱/Google/Apple账户进行注册登录,推荐使用海外邮箱。
大模型的使用与局限性
- 优势:ChatGPT不仅可以生成流畅自然的文本,还能理解上下文,根据用户指令生成相关内容,无论是创作诗歌、编写代码还是撰写报告,都能提供帮助。
- 核心逻辑:大模型虽能力强大,但存在诸多缺陷,如同超人有氪石软肋一般。
大模型的局限性与案例演示
- 无法获取实时更新的信息:如提问“2024年无锡马拉松的冠军是谁?”,因训练成本高、周期长,模型无法实时更新语料。
- 无法基于企业内部信息进行回答:如提问“广东合虎餐饮有限公司有什么产品?”,模型训练资料仅来源于互联网公开资料,无企业内部信息。
- 默认无法与外部环境进行交互:如提问“帮我看下慕课网上关于LangChain的课程有哪些?”,默认情况下模型无外部接口,需配置后才能实现爬虫、信息采集等操作。
- 产生幻觉:自信地将虚假或者错误的信息呈现给用户,如提问“请使用LangChain+Flask开发一个简单的机器人聊天接口”,若语料库无相关信息,模型会凭空生成错误内容。
- 长上下文处理能力弱:处理复杂/超长上下文时内容不连贯,甚至出现服务器错误,如提示“The message you submitted was too long,please reload the conversation and submit something shorter.”。
- 人机对话并非适用于所有场景:如通过GPT+插件剪辑视频前5s,体验远不如剪映等专业工具直接操作。
大语言模型如何影响软件的构建
LLM在软件开发过程中的单点提效
LLM可实现软件开发全流程的效率提升,包括:
- 智能代码提示、重复代码检查、SQL语句的智能生成
- 跨端代码快速转换、静态代码检查与自动修复、代码注释生成
- 单元/接口测试代码生成、更精准的技术问答
- 代码评审与代码重构、失败用例自动分析与归因
主流AI编程助手
GitHub Copilot(微软)和CodeGeeX(智谱)是主流AI编程助手,可在VSCode中使用,支持代码生成与补全、生成注释、代码翻译、代码问答等功能。
未来的软件架构可能是什么样的
核心观点:所有的应用都值得用 AI 重写一遍,落地到DevOps工具后的架构层级(从底层到上层):
- 专用硬件:针对模型训练和推理工作负载优化的加速器芯片
- 云平台:在云部署模型中向开发人员公开的计算硬件
- 基础模型层:闭源基础模型(OpenAI、文一言、Cohere等,提供API的大规模预训练模型)+ 开源基础模型(带训练权重发布的模型)
- 模型定制层:微调模型(面向特定领域微调的模型)+ 专有模型(构建全新的专有模型)
- 应用层:面向最终用户的应用(含专有模型)+ 端到端应用(不包含专有模型)
AI时代的自动化编程5个等级
- C1:基于当前代码自动补全。
- C2:编写代码时AI可以预测下一行代码。
- C3:基于自然语言生成代码与编程语言的翻译。
- C4:高度自动化编程包括自然语言生成代码及注释、自动化测试、编程语言互译、代码补全与生成、调试及检查。
- C5:完全自动编程,AI可以看成是一个任意的软件,甚至无需代码,基于AI本身即可提供对应的服务。
短期看AI时代对程序员的影响
- AI可以帮助程序员完成代码的编写、补全、调试等重复、容易出错的工作,但是自动化测试、代码审查只是程序员的一小部分工作。
- 在创造性问题上,例如在项目的架构设计、需求分析过程中,需要程序员进行创造性思考和判断,AI 技术还没有完全达到这一点。
- 目前的AI进展并不会导致程序员的完全失业,而是在一定程度上提高了程序员工作的效率和准确性。
长期看AI时代对程序员的影响
- 不久的将来AI有望取代一些低水平(比如仅会CURD)的程序员,但是以目前的进展来说,还有一段路需要走。
- 长远的未来,人人都具备编程能力,但是程序员不太应该被单独拿出来讨论,实际上对大模型来说,编程仍然是最具挑战的任务之一。
LLM应用开发专有名词解释
LLM-大型语言模型
- 基于深度学习技术构建的人工智能模型,由具有数以亿计参数的人工神经网络组成,通过自监督学习或半监督学习在大量无标签文本上进行训练。
- 于2018年左右出现,并在各种任务上表现出色,改变了自然语言处理研究的重点,使其不再是以训练特定任务的专门监督模型为范式。
- ChatGPT、文心一言、Kimi等都是基于LLM开发的聊天机器人应用。
AIGC-AI生成内容
- AIGC(AI-Generated Content)通过对已有数据进行学习和模式识别生成新内容。
- 生成内容涵盖文字、图像、视频、音频、游戏、虚拟人等等。
- AIGC是AI大模型的核心应用方向,ChatGPT则是AIGC在聊天对话场景的一个具体应用。
AGI-人工通用智能
- AGI(Artificial General Intelligence)全称人工通用智能,是指能够理解、学习和应用广泛的知识和技能的人工智能系统。
- 以人类角度来看,AGI就是一种能够“思考”和“理解”各种问题的智能生命体,就像人类一样。
Agent-智能代理
- Agent(智能代理)是一个能够自主感知环境并采取行动的计算实体,其目标是最大化某种预定义的效用或实现特定的目标。
- AGI可以看成是一种非常高级的Agent,具备广泛适应性和自我学习能力,Agent也是现阶段AGI的最佳实现方式。
Prompt-提示词
- Prompt是指给定的指令/问题,用于引导和启发人工智能模型生成相关的回答或内容。
- Prompt是目前人类与LLM大语言模型交互的核心方式。
GPT-生成型预训练变换模型
- GPT(Generative Pre-trained Transformer)是一种基于深度学习的自然语言处理模型。
- 最初由OpenAI开发,旨在通过训练模型预测下一个单词或字符来学习自然语言的统计规律。
Token-文本基础单元
- Token是指在自然语言处理和文本处理任务中,将文本分解成较小单元的基本单位。这些单元可以是单词、字符、子词或其他语言单位,具体取决于任务和处理方式。
- 大语言模型中的上下文长度计算一般都是基于Token,而不是字符,例如GPT-4的16K上下文意味着传递的消息不能超过16K个Token。
LoRA-插件式微调
- LoRA(Low-Rank Adaptation of LLM)即低秩适配,用于对大语言模型进行个性化的特定任务的定制。
- LoRA通过将模型的权重矩阵分解成低秩的相似矩阵,降低了参数空间的复杂性,从而减少微调的计算成本和模型存储要求。
矢量/向量数据库
- 矢量数据库是一种用于存储高维矢量数据的数据库。
- 可以存储和管理大量的矢量数据,例如图像、视频、音频、文本等,同时提供高效检索功能。
数据蒸馏
- 数据蒸馏指将给定的原始大数据集浓缩并生成一个小型数据集,使得在小数据集上训练出来的模型与原数据集上训练的模型效果相似。
- 在深度学习领域被广泛应用,可以帮助将复杂的模型转换成更轻量级的模型,提高模型的鲁棒性和泛化能力。
LLM&AI Agent应用的交互模式
传统人机交互范式
交互链路:用户 → 应用软件(Word/Excel/MySQL等)的interface → 数据(非结构化数据:文本/图片/视频;结构化数据:表格/数据库/知识图谱)+ 外部环境
传统人机交互范式的缺点
- 交互接口不统一,要使用新软件需专门花时间去学习,每个软件之间接口差异巨大。
- 人产生的各类数据,无法直接交互,需要软件作为中介。
- 处理不同的数据需要不同的软件,部分专业软件非专业人士难以上手(如PhotoShop)。
大模型时代的人机交互范式
交互链路:用户 → LLM → 应用软件(Word/Excel/MySQL等)的interface → 结构化/非结构化数据 + 外部环境 (LLM成为人机交互的核心中介,部分场景可通过Robot直接对接外部环境)
大模型时代新交互的特点
- 过去通过某个应用软件与某种数据进行交互,现在变成人和大模型交互,即大语言模型站到了人机交互的核心位置。
- 本质上还是人和数据的关系,只是由于大模型的出现,应用软件被屏蔽到了幕后。
- 短期来看,LLM可以代替一些应用软件,比如多模态大模型对PhotoShop的部分取代;长期来看,大模型可能会逐步替代各种功能的软件。
新交互范式下背后发生了什么
LLM作为核心中枢,实现任务规划(Plan),将用户的自然语言指令拆解为子任务1/2/3/4等,再通过自然语言接口、API、SQL、模块调用等形式对接应用&数据,本质上就是Agent的实现逻辑。
结合大模型的新一代应用交互方式
- 嵌入(Embedding)模式:用户通过与AI交流,AI协助完成任务(如创作小说、音乐、3D内容等),此模式下,AI是执行工具,人类是决策者和指挥者。
- 副驾驶(Copilot)模式:人类与AI作为合作伙伴,共同完成任务,AI提供建议并协助任务,二者互补,AI更像知识丰富的伙伴而非工具。
- 智能体(Agent)模式:人类设定目标并提供资源,AI独立完成大部分工作,最后人类监督和评估结果。
章节总结
- 介绍了什么是LLM大语言模型,包括定义、训练数据、参数、核心工作流程等基础内容。
- 掌握了ChatGPT的注册与使用方法,清晰认识到大模型的各类局限性。
- 了解了当前整个市场对LLM应用行业的需求,以及LLM在企业中的价值和落地案例。
- 分析了LLM大语言模型如何影响软件构建,探讨了未来的程序架构、AI时代自动化编程的等级,以及对程序员的短期和长期影响。
- 学习了LLM应用开发的常见专有名词,理解了LLM&AI Agent应用的新旧交互范式差异,以及新一代的三种核心交互方式。
- 完成了LLM应用开发的基础入门学习,为后续深入学习奠定基础。