私有化部署ChatGPT:潜力与挑战

背景

以ChatGPT为代表的大语言模型服务在2023年初开始大规模爆发,AI技术从来没有如此接近普通民众。随着以Microsoft, Google, Meta (Facebook)为代表的科技巨头在AI技术领域相继发布重量级产品和服务,国内一众科技公司如百度,阿里,讯飞等也相继跟进,全球开源界(包括知名大学,AI初创公司等)呈现百家争鸣,技术成果百花齐放的局面。当前基于大语言模型的公有服务普遍以网页或API方式提供AI能力。同时,也要关注到还有很多需要离线应用AI能力的行业和场景,比如:

  • 无公共网络接入的场所(偏远地区,灾难地区,航天深空空间等)
  • 隐私敏感和数据安全领域(政务,医疗,法律,金融,科技等)
  • 国防军事应用领域

本文将探讨私有化部署ChatGPT的可行方案。

一些缩写词汇

缩写词汇解释
GPTGenerative Pre-trained Transformer,生成式预训练转换器,一种自然语言处理的技术实现
LLMLarge Language Model, 大型语言模型, 它可以被想象为一个黑盒子,这个黑盒子的输入是一段文字,输出也是一段文字
LoRALow-Rank Adaptation (LoRA), Microsoft 于2021 年推出的一项新技术,用于微调大型语言模型(LLM)

ChatGPT相关概念

ChatGPT是什么

ChatGPT是美国OpenAI公司发布的一个网页对话应用(不对中国大陆开放)。它摆脱了以前聊天机器人给人以“人工智障”的印象,能够流畅地与人对话,处理任何语言相关的任务。2022年11月发布以来,5天用户破百万,目前用户超过16亿,是有史以来用户增长最快的互联网服务。图片

ChatGPT本质上是大语言模型(LLM)的应用,当前最新版本基于GPT-4模型,也是目前最先进的大语言模型服务。跟它类似的服务还有

服务名所属公司简介
ClaudeAnthropic目前效果仅次于GPT-4的LLM服务
讯飞星火科大讯飞优秀的中文LLM服务
文心一言百度最先发布的中文LLM服务

为了便于理解,本文中用ChatGPT来指代大语言模型。私有化部署ChatGPT本质是离线部署和应用大语言模型。

LLM是什么

大型语言模型是深度学习的一个子集,可以预训练并进行特定目的的微调。这些模型经过训练,可以解决诸如文本分类、问题回答、文档摘要、跨行业的文本生成等常见语言问题。然后,可以利用相对较小的领域数据集对这些模型进行定制,以解决零售、金融、娱乐等不同领域的特定问题。

大型语言模型的三个主要特征是:大型、通用性和预训练微调

  • "大型"既指训练数据集的巨大规模,也指参数的数量。
  • "通用性"意味着这些模型足够解决常见问题。
  • "预训练和微调"是指用大型数据集对大型语言模型进行一般性的预训练,然后用较小的数据集对其进行特定目的的微调。

使用大型语言模型的好处包括:

  • 一种模型可用于不同的任务;
  • 微调大型语言模型需要的领域训练数据较少;
  • 随着数据和参数的增加,大型语言模型的性能也在持续增长.

可以做个简单的比喻,ChatGPT相当于一个大学本科生,拥有出色的语言能力,拥有2021年9月之前互联网上所有公开的知识。如果给它加以训练(微调),就能成为特定领域的专职助手甚至专家。如果让它能联网获取实时最新的信息,让它能使用各种工具(比如图像识别,数学计算),它甚至可以成为一个全能的助手。所以,以ChatGPT为代表的大语言模型是最有可能成为通用人工智能(AGI)的解决方案。

GitHub上有一个开源的AutoGPT项目 3个月内获得超过13万星(收藏),它展现出的正是LLM作为AGI,自主分析目标,生成计划,并一步步调用外部工具来实现目的的能力。

LLM私有化部署

私有化部署类ChatGPT服务,需要考虑三个主要的因素:LLM模型,计算资源,上层应用图片

LLM模型准备

使用商用LLM

就跟云计算厂商支持部署私有云一样,商用LLM比如百度的文心一言,阿里的通义千问等都会支持私有部署。

自训练LLM

因为算力需求太大,一般企业和组织不可能从头自训练大语言模型。

BERT, T5和GPT是三种具有代表性的预训练语言模型路径。

  • BERT:BERT是一个预训练的Transformer编码器,它使用了一种称为掩码语言模型的训练策略。在训练过程中,BERT会随机掩盖输入句子中的一些词,然后试图预测这些被掩盖的词。这种方法使得BERT可以看到上下文的两边,因此它能更好地理解词的含义和句子的结构。然而,BERT不是一个生成式模型,它更适合用于分类、实体识别等任务。
  • T5:T5是一个预训练的Transformer模型,它将所有NLP任务都视为文本到文本的转换问题。在训练过程中,T5会接收一段包含任务描述的输入文本,并生成相应的输出文本。这种方法使得T5可以用同一种方式处理各种不同的NLP任务,包括翻译、摘要、问答等。T5的这种设计使其在许多NLP任务上都表现出色。
  • GPT:GPT是一个生成式的预训练模型,它使用了一个单向的Transformer架构。在训练过程中,GPT试图预测给定上下文中的下一个词,这被称为自回归语言建模。这种方法使得GPT在生成连贯和流畅的文本方面表现出色,但它只能从左到右看到上下文,无法看到后续的词。

大语言模型进化树 via图片

虽然模型训练方式的相关论文都是公开的,但训练模型所需要的深度学习工程技术,计算资源和训练数据都有相当高的门槛。比如微软Azure为OpenAI开发的超级计算机,具有超过28.5万个CPU核心、1万个GPU和400GB/s的GPU服务器网络传输带宽。根据英伟达的数据,使用单个Tesla架构的V100 GPU (32G显存) 对1746亿参数的GPT-3模型进行一次训练,需要用288年时间。据测算训练一次1746亿参数的GPT-3模型,所需花费的算力成本超过460万美元。

图片PFlop/s-day 表示以每秒一千万亿次浮点计算能力跑24小时

使用开源LLM

为促进研究和应用的发展,一些大公司或组织开源了自家的大语言模型,包括OPT、BLOOM、LLaMA, Dolly2,GPT-2, GPT-J等。其中Meta公司开源的LLaMa影响较大,在此基础上,微调出了许多表现更优的LLM,包括Stanford Alpaca,Vicuna, GPT4All, Chinese-LLaMA-Alpaca等。开源中文大语言模型主要有清华大学的GLM-130B, ChatGLM-6B, 复旦大学的MOSS, 哈工大的LAC等。

插播一点无用的知识,2023年2月份Meta发布LLaMa (Large Language Model Meta AI)以来,以美洲无峰驼命名的LLM层出不穷。”草泥马“名字不够用了,还可以用其它动物。比如华中师范大学和商汤的开源中文大语言模型「骆驼」(Luotuo), 哈工大基于中文医学知识的LLaMA微调模型,命名为华驼。

图片

使用开源预训练LLM,加高质量数据进行微调训练 (Instruct微调或LoRa微调)得到新的LLM,是目前最常见的LLM准备方案。

使用开源LLM面临的问题

模型的许可问题

开源不等于免费,免费不等于可以任意使用。在使用开源模型前,特别是用于商业目的,需要研究清楚对应的开源许可证说明。比如中文能力不错的ChatGLM-6B商用需要180万/年。表现不错的Vicuna虽然是Apache2.0许可,但二次训练它的数据来源于GPT-3.5, 而OpenAI使用条款中声明不允许用其生成的数据来训练与OpenAI竞争的产品。而Dolly2的MIT是最宽松的,其数据也是Databricks自家员工准备的,所以他们敢宣称Dolly2是第一个真正开源的LLM。图片via

如果涉及商用,请一定重视软件许可问题。

模型效果不确定

各个LLM模型效果不一,业内目前也还没有统一的评价LLM模型效果的标准。可以确定的是,开源模型通用效果肯定不及闭源的商业服务,但开源技术日新月异,新的模型层出不穷。而如果把具体应用定位到特定场景,比如只需要服装店客服能力,或者只需要辅助办公提取周报概要,那微调训练一个满足需求的模型难度不大。UC伯克利打造的大模型Chatbot Arena排行榜图片

中文能力不足

主流的LLM还是以英文为主。要想LLM有优秀的中文表现能力,需要在数据和训练方法上做改进。图片

  • 数据: 首先,我们需要大量的高质量中文数据来训练模型,对模型的性能有直接影响。目前公开可用的中文数据集相对于英文数据集可能数量和类型较少。因此,需要积极寻找、整理、甚至自行收集多样性的中文数据,包括但不限于新闻报道、社交媒体帖子、文学作品、学术文章等。对于中文数据的清洗和预处理也十分重要,如中文分词、去除无关符号等,以适应中文语法和结构的差异。
  • 训练方法: 除了采用LLM通常使用的预训练+微调的训练流程外,我们还需要针对中文特性进行特定的优化。例如,由于中文无空格分隔字词,可能需要采用适合中文的Tokenization方法,如基于词汇的Tokenization。另外,由于中文存在大量多义词和短语,可能需要在模型注意力机制或嵌入层进行特定调整。最后,为验证模型效果,需在中文任务和数据集上进行充分测试和调优,包括文本分类、命名实体识别、情感分析等。

缺少高质量的训练数据

大语言模型的能力提升,最关键的一环就是高质量的训练数据。做微调的数据量相对来说可以很少,比如10K量级的数据就可以做LoRA微调,对于通用的 LoRA 训练来说,通常采用的是下面的格式来训练:

在这里插入图片描述

准备微调数据一般可以:

  1. 爬虫采集。中文互联网上抓取下来的内容质量并不高。
  2. 人工标注。使用脱敏后的真实数据,加人工筛选和标注。这样能保证数据质量,但成本高。
  3. 用ChatGPT生成。使用最先进的LLM生成特定的微调数据,质量和成本居中。

算力成本

训练和使用LLM都需要强大的算力。Nvidia GPU算力已是深度学习领域的主流需求。以ChatGLM-6B为例,它的硬件需求如下。这还只是保证能基本跑起来。要想更好的模型效果,支持更快的反应速度和更高的并发需求,加显卡。图片

通常,深度学习模型需要GPU(图形处理单元)提供的并行处理能力来训练和推理,这样可以优化处理大量数据、矩阵运算和卷积操作等任务。虽然通过软件优化和增加数量可以在一定程度上提高CPU在深度学习中的表现,但考虑到GPU的优势,目前在深度学习中仍然首选GPU。然而,由于成本、功耗和体积等因素,某些情况下CPU仍然更优。这是一个不断发展和改进的领域,未来可能会出现更多提升CPU在深度学习中表现的方法。

在深度学习模型中,模型的参数通常以32位浮点数(float32)的形式存储。而在模型量化过程中,我们可以将这些参数转化为16位(float16)甚至8位(int8)的形式,大大减小了模型的存储空间和计算需求。

如果计算能力不足,可以折中使用量化后的模型,也就是降低计算精度以减少算力需求。就好比玩PC游戏时降低帧数和分辨率换取流畅度。

模型更新问题

私有化部署环境中,因为更为严苛的网络条件,甚至没有网络,模型更新和分发更具挑战。需要制作符合实际情况的模型更新和分发策略。

演示

ChatGLM-6B的对话能力演示

图片

总结

在2023年初的AI大爆发时期,ChatGPT的广泛应用极大地降低了人们使用AI的门槛。AI的民主化浪潮正在全球范围内兴起,使得普通人与经验丰富的专业人员在知识上的差距被大大缩小。在这场浪潮中,微软投资的OpenAI占据了先机,而其他国内外厂商也在紧随其后,你追我赶,频繁发布重量级AI产品。这个时刻被许多人形象地称为AI的"iPhone时刻",有人甚至认为,此轮技术更新带来的影响将超越当年Windows的发布。

科技巨头Meta(Facebook)选择了开源的道路,期望通过开源社区来提升自身的影响力和竞争力。2023年2月,Meta发布的预训练模型LLaMa成为了许多优秀大语言模型微调的基准。OpenAI也计划在近期发布重磅的开源模型。全球开源社区的活跃程度达到了前所未有的高度。尽管开源LLM的效果还有待提升,商用许可也尚未明确,但技术发展的趋势已经清晰可见。2023年5月11日,Google在其最新的Chrome浏览器中加入了WebGPU的支持,这意味着可以在浏览器中加载并离线运行LLM。未来,我们可以预见各种规格、各种功能的模型将被部署在各种计算设备上,AI能力将像水、电、气、网络一样,无处不在。

通过利用开源LLM,我们可以微调训练特定领域的LLM,并通过模型量化技术,在有限的硬件资源上实现私有化部署。

跬步千里,现在就是最好的起步时刻。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

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

相关文章

声场合成新方法:基于声波传播的框架

声场合成是指在房间内的麦克风阵列上,根据来自房间内其他位置的声源信号,合成每个麦克风的音频信号。它是评估语音/音频通信设备性能指标的关键任务,因为它是一种成本效益高的方法,用于数据生成以替代真实的数据收集,后…

武汉星起航:挂牌上海股权交易中心,自营店铺销售额迎飞跃式增长

2023年10月30日,对于武汉星起航电子商务有限公司而言,无疑是一个载入史册的重要日子。这一天,公司成功在上海股权托管交易中心挂牌展示,正式登陆资本市场,开启了全新的发展篇章。这一里程碑式的跨越,不仅彰…

IDEA中Maven--下载安装自己适配的版本---理解

Maven解释: Maven是一个强大的项目管理工具和构建工具,主要用于Java项目。它能够帮助开发团队管理项目的依赖、构建项目、发布文档和报告,并能够自动化许多重复的任务。 Maven的主要作用包括: 依赖管理:Maven能够管理…

6.2 通过构建情感分类器训练词向量

在上一节中,我们简要地了解了词向量,但并没有去实现它。在本节中,我们将下载一个名为IMDB的数据集(其中包含了评论),然后构建一个用于计算评论的情感是正面、负面还是未知的情感分类器。在构建过程中,还将为 IMDB 数据…

第二期书生·浦语大模型实战营优秀项目一览

书生浦语社区于 2023 年年底正式推出了书生浦语大模型实战营系列活动,至今已有两期五批次同学参加大模型学习、实战,线上课程累计学习超过 10 万人次。 实战营特设项目实践环节,提供 A100 算力支持,鼓励学员动手开发。第 2 期实战…

【移动应用开发期末复习】第五/六章

系列文章 第一章——Android平台概述 第一章例题 第二章——Android开发环境 第二章例题 第三章 第三章例题 第四章 系列文章界面布局设计线性布局表格布局帧布局相对布局约束布局控制视图界面的其他方法代码控制视图界面数据存储与共享首选项信息数据文件SQLite数据库Content…

HarmonyOS Next开发学习手册——进程模型线程模型

进程模型 系统的进程模型如下图所示: 应用中(同一包名)的所有PageAbility、ServiceAbility、DataAbility、FormAbility运行在同一个独立进程中,即图中绿色部分的“Main Process”。 WebView拥有独立的渲染进程,即图中…

2023: 芒种集•序言

2023: 芒种集•序言 2023: 芒种集•序言 从西南旅游回来,一直忙着整理游记“2024:追寻红色足迹”,之后又应初建平索要刘桂蓉遗作“我们一起走过”,于是把“别了,老屋”和诗作“二月”一并合编,把我写的悼念…

oceanbase数据库安装和连接实战(阿里云服务器操作)

本文主要是安装oceanbase的单机版进行数据库的基础使用,oceanbase的数据库是兼容mysql数据库的,实际的兼容程度需要更深度的测试,本文主要是安装oceanbase并使用SQLynx的mysql驱动连接使用oceanbase数据库。 目录 1. 基础介绍 2. 安装说明 …

【Python datetime模块精讲】:时间旅行者的日志,精准操控日期与时间

文章目录 前言一、datetime模块简介二、常用类和方法三、date类四、time类五、datetime类六、timedelta类七、常用的函数和属性八、代码及其演示 前言 Python的datetime模块提供了日期和时间的类,用于处理日期和时间的算术运算。这个模块包括date、time、datetime和…

STL迭代器的基础应用

STL迭代器的应用 迭代器的定义方法: 类型作用定义方式正向迭代器正序遍历STL容器容器类名::iterator 迭代器名常量正向迭代器以只读方式正序遍历STL容器容器类名::const_iterator 迭代器名反向迭代器逆序遍历STL容器容器类名::reverse_iterator 迭代器名常量反向迭…

C# SerialPort串口通讯

串口通信 在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports。这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。 创建C#串口通信程序之命名空间 System.IO.Ports命名空间中最重…

solidity智能合约如何实现跨合约调用函数

背景 比如现在有一个需求、我需要通过外部合约获取BRC20 token的总交易量。那么我需要在brc20的转账函数里面做一些调整,主要是两个函数内统计转移量。然后再提供外部获取函数。 /*** dev Sets amount as the allowance of spender over the callers tokens.** Ret…

文化财经wh6boll带macd多空转折点提示指标公式源码

文化财经wh6boll带macd多空转折点提示指标公式源码: DIFF:EMA(CLOSE,12) - EMA(CLOSE,26); DEA:EMA(DIFF,9); MACD:2*(DIFF-DEA); MID:MA(CLOSE,26);//求N个周期的收盘价均线,称为布林通道中轨 TMP2:STD(CLOSE,26);//求M个周期内的收盘价的标准差 …

onlyoffice实现在单页面加载文档的功能

草图 实现案例的基本原型 这里我们的样式库使用的是Tailwindcss,我们的前端UI组件库使用的是Ant Design Vue。 基本原型是,有个按钮,没有点击按钮的时候,页面显示的时普通的内容。当点击这个按钮的时候,页面加载文档…

【Linux】线程Thread

🔥博客主页: 我要成为C领域大神🎥系列专栏:【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ ​ 线程概述 …

云层区分神经网络模型——二分类

云层区分神经网络模型——二分类 问奶奶,是什么让他们维护一份感情长达年,奶奶说那个年代什么东西坏了都会想要修,现在什么坏了都想着换。 安装依赖 # 要运行脚本,请先安装以下库:pip install tensorflowpip install …

JAVA每日作业day6.26

ok了家人们,今天我们学习了面向对象-多态,话不多说我们一起来看看吧 一.多态概述 面向对象的第三大特性:封装、继承、多态 我们拿一个生活中的例子来看 生活中,比如跑的动作,小猫、小狗和大象,跑起来是不一…

山水风景视频素材去哪里下?去哪里找?山水风景下载网站分享

在这个数字时代,视频已经成为最直观、有效的传达情感和分享故事的工具。对于那些渴望通过视频传递视觉美感和情感共鸣的创作者来说,拥有高质量的山水风景视频素材是关键。互联网虽然是一个信息量庞大的平台,但找到令人赞叹的山水风景视频素材…

【Linux】使用ntpdate同步时间

ntpdate 是一个在 Linux 系统中用于同步系统时间的命令行工具,它通过与 NTP 服务器通信来调整本地系统时钟。然而,需要注意的是,ntpdate 已经被许多现代 Linux 发行版弃用。 安装 yum install -y ntpdate 查看时间 date同步时间 ntpdate ntp…