动手学大模型应用开发之大模型简介

动手学大模型应用开发之大模型简介

  • 主要学习目标
  • 什么是大语言模型
  • 大模型的能力和特点
    • 涌现能力
    • 作为基座模型支持多元应用的能力
    • 支持对话作为统一入口的能力
    • 大模型特点
  • 常见大模型
    • ChatGpt
    • 通义千问
  • LangChain
    • LangChain的核心模块
  • 总结
  • 相关学习链接

主要学习目标

学习如何进行大模型的应用和开发

什么是大语言模型

大预言模型也就是LLM,全称为Large language model,属于是人工智能的一部分,目的在于理解并生成人类的语言

通常,大语言模型 (LLM) 指包含数百亿(或更多)参数的语言模型,这些模型在大量的文本数据上进行训练,例如国外的有GPT-3 、GPT-4、PaLM 、Galactica 和 LLaMA 等,国内的有ChatGLM、文心一言、通义千问、讯飞星火等。

在这个阶段,计算机的“大脑”变得非常巨大,拥有数十亿甚至数千亿的参数。这就像是将计算机的大脑升级到了一个巨型超级计算机。这让计算机可以在各种任务上表现得非常出色,有时可以更好地完成人类的工作。

大模型的能力和特点

涌现能力

  • 上下文学习:上下文学习能力是由 GPT-3 首次引入的。这种能力允许语言模型在提供自然语言指令或多个任务示例的情况下,通过理解上下文并生成相应输出的方式来执行任务,而无需额外的训练或参数更新。

  • 指令遵循:通过使用自然语言描述的多任务数据进行微调,也就是所谓的指令微调,LLM 被证明在同样使用指令形式化描述的未见过的任务上表现良好。这意味着LLM能够根据任务指令执行任务,而无需事先见过具体示例,这展示了其强大的泛化能力。

  • 逐步推理:小型语言模型通常难以解决涉及多个推理步骤的复杂任务,例如数学问题。然而,LLM通过采用"思维链"推理策略,可以利用包含中间推理步骤的提示机制来解决这些任务,从而得出最终答案。据推测,这种能力可能是通过对代码的训练获得的。

对于大模型来说,其不需要预先处理好的指定的内容就可以自行理解和完成相应的问题,这就是大模型被广泛应用的一个主要原因

作为基座模型支持多元应用的能力

在2021年,斯坦福大学等多所高校的研究人员提出了基座模型(foundation model)的概念,这更清晰地描述了之前学界所称的预训练模型的作用。这是一种全新的AI技术范式,借助于海量无标注数据的训练,获得可以适用于大量下游任务的大模型(单模态或者多模态)。这样,多个应用可以只依赖于一个或少数几个大模型进行统一建设。
这里可以简单理解为,当我们对场景进行限定以及限制之后,我们就可以根据原有的,已经训练好的大模型来完成相应的工作,而不需要在进行数据的标注,只要交给大模型自行去处理就好

支持对话作为统一入口的能力

事实上,业界很早就发现了用户对于对话交互的特殊偏好,陆奇在微软期间2016年就推进“对话即平台(conversation as a platform)”的战略。此外,苹果Siri、亚马逊Echo等基于语音对话的产品也非常受欢迎,反映出互联网用户对于聊天和对话这种交互模式的偏好。虽然之前的聊天机器人存在各种问题,但大型语言模型的出现再次让聊天机器人这种交互模式可以重新想像。用户愈发期待像钢铁侠中“贾维斯”一样的人工智能,无所不能、无所不知。这引发我们对于智能体(Agent)类型应用前景的思考,Auto-GPT、微软Jarvis等项目已经出现并受到关注,相信未来会涌现出很多类似的以对话形态让助手完成各种具体工作的项目。
在这里插入图片描述

大模型特点

  • 巨大的规模: LLM通常具有巨大的参数规模,可以达到数十亿甚至数千亿个参数。这使得它们能够捕捉更多的语言知识和复杂的语法结构。

  • 预训练和微调: LLM采用了预训练和微调的学习方法。它们首先在大规模文本数据上进行预训练(无标签数据),学会了通用的语言表示和知识,然后通过微调(有标签数据)适应特定任务,从而在各种NLP任务中表现出色。

  • 上下文感知: LLM在处理文本时具有强大的上下文感知能力,能够理解和生成依赖于前文的文本内容。这使得它们在对话、文章生成和情境理解方面表现出色。

  • 多语言支持: LLM可以用于多种语言,不仅限于英语。它们的多语言能力使得跨文化和跨语言的应用变得更加容易。

  • 多模态支持: 一些LLM已经扩展到支持多模态数据,包括文本、图像和语音。这意味着它们可以理解和生成不同媒体类型的内容,实现更多样化的应用。

  • 涌现能力: LLM表现出令人惊讶的涌现能力,即在大规模模型中出现但在小型模型中不明显的性能提升。这使得它们能够处理更复杂的任务和问题。

  • 多领域应用: LLM已经被广泛应用于文本生成、自动翻译、信息检索、摘要生成、聊天机器人、虚拟助手等多个领域,对人们的日常生活和工作产生了深远的影响。

  • 伦理和风险问题: 尽管LLM具有出色的能力,但它们也引发了伦理和风险问题,包括生成有害内容、隐私问题、认知偏差等。因此,研究和应用LLM需要谨慎。这也会是LLM以后发展的重要方向

常见大模型

常见的大模型有很多,这里我不进行过多的介绍,就简单介绍一两个
在这里插入图片描述

ChatGpt

可以说chatgpt算是掀起了人工智能发展的一个浪潮,ChatGPT 是基于强大的 GPT 模型开发的,具有特别优化的会话能力。ChatGPT 从本质上来说是一个 LLM 应用,它是基于 GPT-3.5 和 GPT-4 开发出来的,与 GPT-4 有本质的区别,正如当前应用界面所显示的,支持 GPT-3.5 和 GPT-4 两个版本。

在这里插入图片描述

现在的 ChatGPT 支持最长达 32,000 个字符,知识截止日期是 2021 年 9 月,它可以执行各种任务,包括代码编写、数学问题求解、写作建议等。ChatGPT 在与人类交流方面表现出了卓越的能力:拥有丰富的知识储备,对数学问题进行推理的技能,在多回合对话中准确追踪上下文,并且与人类安全使用的价值观非常一致。后来,ChatGPT 支持插件机制,这进一步扩展了 ChatGPT 与现有工具或应用程序的能力。到目前为止,它似乎是人工智能历史上最强大的聊天机器人。ChatGPT 的推出对未来的人工智能研究具有重大影响,它为探索类人人工智能系统提供了启示。

通义千问

通义千问由阿里巴巴基于“通义”大模型研发,于 2023 年 4 月正式发布。2023 年 8 月,阿里云开源了Qwen(通义千问)系列工作,当前开源模型的参数规模为70亿(7B)和140亿(14B)。本次开源包括基础模型Qwen,即 Qwen-7B 和 Qwen-14B ,以及对话模型 Qwen-Chat ,即 Qwen-7B-Chat 和 Qwen-14B-Chat。目前是又提出了Qwen2-72B,并且在中国大模型当中保持了不错的成绩
在这里插入图片描述

它能够以自然语言方式响应人类的各种指令,拥有强大的能力,如回答问题、创作文字、编写代码、提供各类语言的翻译服务、文本润色、文本摘要以及角色扮演对话等。借助于阿里云丰富的算力资源和平台服务,通义千问能够实现快速迭代和创新功能。此外,阿里巴巴完善的产品体系以及广泛的应用场景使得通义千问更具可落地性和市场可接受程度。

LangChain

ChatGPT 的巨大成功激发了越来越多的开发者兴趣,他们希望利用 OpenAI 提供的 API 或者私有化模型,来开发基于大型语言模型的应用程序。尽管大型语言模型的调用相对简单,但要创建完整的应用程序,仍然需要大量的定制开发工作,包括API集成、互动逻辑、数据存储等等。

为了解决这个问题,从 2022 年开始,许多机构和个人相继推出了多个开源项目,旨在帮助开发者们快速构建基于大型语言模型的端到端应用程序或工作流程。其中一个备受关注的项目就是 LangChain 框架。LangChain 框架是一个开源工具,充分利用了大型语言模型的强大能力,以便开发各种下游应用。它的目标是为各种大型语言模型应用提供通用接口,从而简化应用程序的开发流程。具体来说,LangChain 框架可以实现数据感知和环境互动,也就是说,它能够让语言模型与其他数据来源连接,并且允许语言模型与其所处的环境进行互动。

LangChain的核心模块

LangChain 作为一个大语言模型开发框架,可以将 LLM 模型(对话模型、embedding模型等)、向量数据库、交互层 Prompt、外部知识、外部代理工具整合到一起,进而可以自由构建 LLM 应用。 LangChain 主要由以下 6 个核心模块组成:

  • 模型输入/输出(Model I/O):与语言模型交互的接口。
  • 数据连接(Data connection):与特定应用程序的数据进行交互的接口。
  • 链(Chains):将组件组合实现端到端应用。
  • 记忆(Memory):用于链的多次运行之间持久化应用程序状态。
  • 代理(Agents):扩展模型的推理能力,用于复杂的应用的调用序列。
  • 回调(Callbacks):扩展模型的推理能力,用于复杂的应用的调用序列。

总结

在本次课程当中我们学习并了解到大模型相关的一些内容,简单介绍了一下啊大语言模型,让我们继续努力,需要注意的是,大部分的介绍我都是按照参考链接里面的内容去写的,所以没有什么过多的自己的表述,会在有必要的地方进行一定的解释

相关学习链接

动手学大模型应用开发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/440284.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【实战】Nginx+Lua脚本+Redis 实现自动封禁访问频率过高IP

大家好,我是冰河~~ 自己搭建的网站刚上线,短信接口就被一直攻击,并且攻击者不停变换IP,导致阿里云短信平台上的短信被恶意刷取了几千条,加上最近工作比较忙,就直接在OpenResty上对短信接口做了一些限制&am…

GeoCue与Xer Technologies合作推动无人机测绘技术革新

GeoCue与Xer Technologies合作推动无人机测绘技术革新 近期,LiDAR测绘硬件和软件开发商GeoCue与瑞士长航时混合动力无人机制造商Xer Technologies AG携手合作,成功将GeoCue的TrueView 720 LiDAR和图像传感器集成至Xer X8无人机平台。这一里程碑式的合作不仅标志着无人机测绘技…

Excel下拉菜单制作及选项修改

Excel下拉菜单 1、下拉菜单制作2、下拉菜单修改 下拉框(选项菜单)是十分常见的功能。Excel支持下拉框制作,通过预设选项进行菜单选择,可以避免手动输入错误和重复工作,提升数据输入的准确性和效率 1、下拉菜单制作 步…

【简码短链】使用Selenium实现UI自动化测试

1.环境准备 Chrome浏览器 版本为版本 129.0.6668.90(正式版本) (64 位) 129版本的Chrome浏览器的驱动,将webdriver放到jdk所在的bin目录下 在命令行中输入:chromedriver验证是否成功 打开IDEA,创建Maven项目,在pom.xml导入所需…

idea 同一个项目不同模块如何设置不同的jdk版本

在IntelliJ IDEA中,可以为同一个项目中的不同模块设置不同的JDK版本。这样做可以让你在同一个项目中同时使用多个Java版本,这对于需要兼容多个Java版本的开发非常有用。以下是设置步骤: 打开项目设置: 在IDEA中,打开你…

自建RustDesk服务器:详细步骤与操作指南

在远程办公和协作日益普及的今天,远程桌面软件成为了不可或缺的工具。然而,许多知名的远程桌面软件,在免费使用一段时间后,会通过限制连接数量、时长或在特定网络环境下的可用性来促使用户付费升级,而且其会员非常昂贵…

【stm32】ADC的介绍与使用

ADC的介绍与使用 1、ADC介绍2、逐次逼近型ADC3、ADC电路4、ADC基本结构程序代码编写:ADC 通道和引脚复用的关系 5、转换模式(1)单次转换,非扫描模式转换流程:程序编写: (2)连续转换&…

详细分析Spring Security OAuth2中的JwtAccessTokenConverter基本知识(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 1. 基本知识 JwtAccessTokenConverter 是 Spring Security OAuth2 中的一…

一、Python(介绍、环境搭建)

一、介绍 Python 是一种高级编程语言,具有简洁易读的语法、丰富的库和强大的功能。Python是解释型语言,运行代码必须依赖安装好的解释器。Python目前存在两个版本:Python2、Python3(主流使用) 二、环境搭建 1.安装P…

<<迷雾>> 第8章 学生时代的走马灯(3)--走马灯 示例电路

几个首尾相连的触发器使用同一个控制端,能同时触发 info::操作说明 鼠标单击开关切换开合状态 注: 其中 CP 为按钮开关, 每点击一次, Q 的输出前进一级 注: 第一个触发器的输出端 Q 需要先置入高电平. 如果重置了电路, 可外接电源先使第一个 Q 置入高电平. 另: 因为…

深度学习:5种经典神经网络模型介绍

目录 1. LeNet:CNN的鼻祖 2. AlexNet:深度学习的开山之作 3. VGGNet:深度与简洁的结合 4. GoogLeNet:Inception模块的创新 5. ResNet:残差学习的革命 卷积神经网络(CNN)已经发展为图像识别…

棋牌灯控计时计费系统软件免费试用版怎么下载 佳易王计时收银管理系统操作教程

一、前言 【试用版软件下载,可以点击本文章最下方官网卡片】 棋牌灯控计时计费系统软件免费试用版怎么下载 佳易王计时收银管理系统操作教程 棋牌计时计费软件的应用也提升了顾客的服务体验,顾客可以清晰的看到自己的消费时间和费用。增加了消费的透明…

梯度下降学习

前言:初步学习梯度下降, 不断根据梯度修改我们的参数,经过多次轮次得到使得我们损失函数最小的时候参数,后续我们可以通过类似的道理,更新我们的参数 假设我们的损失函数是 y x 1 2 x 2 2 y x1^2 x2^2 yx12x22,我…

用Python实现运筹学——Day 14: 线性规划总结与案例复习

一、学习内容 在本节中,我们将复习之前所学的线性规划模型与求解方法,并通过一个综合案例将这些知识应用于求解一个多阶段的生产计划问题。 主要复习内容包括: 线性规划的基础概念:目标函数、约束条件、决策变量。求解方法&…

什么是 HTTP 请求中的 preflight 类型请求

在浏览器的 HTTP 请求中,当我们使用 fetch API 或者 XMLHttpRequest 来进行跨域请求时,浏览器有时会发送一种称为 Preflight 的请求。这种请求是浏览器在实际发送跨域请求前,先与目标服务器进行的一次 “探测” 请求,以确认服务器…

组合式API

1.入口&#xff1a;setup setup中的数据和方法必须return出去&#xff0c;模板才能使用 <script> export default {setup () {console.log(setup);const message this is a messageconst logMessage () > {console.log(message);}return {message,logMessage}},be…

Visual Studio 2017编译libexpat源码过程

一、编译环境 操作系统&#xff1a;Windows 10 企业版 64位 编译工具&#xff1a;Visual Studio 2017 构建工具&#xff1a;CMake3.22 源码版本&#xff1a;libexpat-R_2_4_0 二、CMake生成解决方案 解压libexpat源码&#xff0c;然后启动CMake选择libexpat源码目录&#xff1…

数据结构 ——— 单链表oj题:链表的回文结构

目录 题目要求 手搓简易单链表 代码实现 题目要求 对于一个单链表&#xff0c;设计一个时间复杂度为O(N)&#xff0c;空间复杂度为O(1)的算法&#xff0c;判断其是否为回文结构&#xff0c;给定一个链表的头指针 head&#xff0c;返回一个 bool 值&#xff0c;代表其是否为…

从认识String类,到走进String类的世界

作为一个常用的数据类型&#xff0c;跟随小编一同进入String的学习吧&#xff0c;领略String的一些用法。 1. 认识 String 类 2. 了解 String 类的基本用法 3. 熟练掌握 String 类的常见操作 4. 认识字符串常量池 5. 认识 StringBuffer 和 StringBuilder 一&#xff1a;…

Selenium WebDriver和Chrome对照表

PS&#xff1a;我的没下载WebDriver 也没配置环境变量 也能用Selenium 网上有说把WebDriver放到chrome的安装目录并将路径配到path中【可能之前用playwright下载过】 查看浏览器版本号 在浏览器的地址栏&#xff0c;输入chrome://version/&#xff0c;回车后即可查看到对应版…