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

news2024/10/7 10:15:13

背景

以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.coloradmin.cn/o/1866148.html

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

相关文章

仓库管理系统12--物资设置供应商设置

1、添加供应商窗体 2、布局控件UI <UserControl x:Class"West.StoreMgr.View.SupplierView"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc"http://…

业绩尚可但股价不振,浙商银行陆建强闯“3元大关”

&#xff08;题图&#xff09; 文&#xff5c;新熔财经 作者&#xff5c;宏一 本来做着钱生钱的“美梦”&#xff0c;现在倒好&#xff0c;本金都不一定拿得回来。 因为不想把“鸡蛋都放在一个笼子里”&#xff0c;所以前几年在理财的时候一部分放在银行定存&#xff0c;一…

利用 Swifter 加速 Pandas 操作的详细教程

利用 Swifter 加速 Pandas 操作的详细教程 引言 Pandas 是数据分析中常用的库&#xff0c;但在处理大型数据集时效率可能会较低。Swifter 提供了一种简便的方法&#xff0c;通过并行处理来显著加速 Pandas 操作。 Swifter 简介 Swifter 是一个开源库&#xff0c;旨在自动优…

如何使用代理 IP 防止多个 Facebook 帐户关联 - 最佳实践

在社交媒体被广泛应用的今天&#xff0c;Facebook作为全球最大的社交网络平台之一&#xff0c;面临着很多挑战&#xff0c;其中之一就是用户行为的管理和安全。 为了防止多个账户之间的关联和滥用&#xff0c;Facebook需要采取一系列措施&#xff0c;其中包括使用静态住宅代理…

谷歌上搞下来的,无需付费,可以收藏!

在数字化时代&#xff0c;我们越来越依赖于智能设备来获取信息和知识。中国智谋App正是这样一款应用&#xff0c;它将中国古代的智慧与谋略书籍带入了我们的移动设备&#xff0c;让我们能够随时随地学习和领悟。而且提供文言文的原文和译文。 软件下载方式&#xff1a;谷歌上搞…

Firefox 火狐浏览器现在允许您在其 Nightly 版本中选择您喜欢的 AI 聊天机器人

Firefox Nightly版本是Mozilla推出的一个特殊的频道&#xff0c;用户可以在这里试用最新的功能和更改。这个版本每天都会更新&#xff0c;并且持续发布新的功能和修复。例如&#xff0c;在2023年10月8日发布的版本中&#xff0c;引入了一个新的按钮&#xff0c;用于快速重置隐私…

多车自动驾驶编队与协同控制引领智能物流革命

多车自动驾驶编队与协同控制引领智能物流革命 随着科技的不断进步&#xff0c;智能物流正以前所未有的速度和效率改变着我们的生活和工作方式。在这个领域的最前沿&#xff0c;北京渡众机器人科技有限公司的多车自动驾驶编队与协同控制技术正在为物流行业带来革命性的变革。 北…

【Java】Java序列化和反序列化

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 # Java中的序列化和反序列化 在Java中&#xff0c;序列化是将对象的状态写入字节流的机制。它主要用于Hibernate…

【教学类-64-05】20240625彩棒鱼骨图(二)AB排列 6.5*1CM 6选2根 30种

背景需求&#xff1a; 【教学类-64-04】20240619彩棒鱼骨图&#xff08;一&#xff09;6.5*1CM 6根棒子720种-CSDN博客文章浏览阅读897次&#xff0c;点赞23次&#xff0c;收藏13次。【教学类-64-04】20240619彩棒鱼骨图&#xff08;一&#xff09;6.5*1CM 6根棒子720种https:…

JAVA每日作业day6.26

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

CAN总线学习之路

闻道有先后&#xff0c;术业有专攻。我们接触新的事物时总会有个学习过程&#xff0c;如今现场总线非常繁多&#xff0c;CAN总线就是其中不可忽视的一种&#xff0c;在此以个人的学习过程与大家共勉&#xff01; 我大学时的专业是电子科学与技术&#xff0c;专业课程是数电、模…

从写下第1个脚本到年薪40W,我的测试开发心路历程!

对于任何职业来说&#xff0c;薪资始终都会是众多追求的重要部分。前几年测试行业还是风口&#xff0c;但是随着不断新鲜血液的加入&#xff0c;再加上就业大环境不好&#xff0c;企业也都在“降本增效”。目前内卷也是越来越激烈。不得不承认当下的现状&#xff0c;已经不仅仅…

视频分享的二维码怎么做?多种视频可用的二维码制作技巧

视频分享的快捷操作技巧可以在二维码生成器上来制作&#xff0c;与传统分享方式相比用二维码的方法能够更快捷&#xff0c;有利于用户能够在不下载视频占用空间的同时&#xff0c;就能够扫描二维码观看视频内容。视频二维码能够应用于很多的场景下&#xff0c;那么制作一个视频…

【Linux】使用ntpdate同步时间

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

防火墙双机热备

防火墙双机热备 随着移动办公、网上购物、即时通讯、互联网金融、互联网教育等业务蓬勃发展&#xff0c;网络承载的业务越来越多&#xff0c;越来越重要。所以如何保证网络的不间断传输成为网络发展过程中急需解决的一个问题。 防火墙部署在企业网络出口处&#xff0c;内外网之…

想远程控制手机,用哪个软件好?

很多人都想知道安卓系统或iOS系统要如何实现手机远程控制手机、电脑远程控制手机&#xff0c;分别需要用到什么软件&#xff0c;这篇文章一次说清楚。 注意&#xff0c;安卓系统需要是7.0及以上版本&#xff0c;iOS系统需要是11及以上版本。具体使用步骤请点击关注&#xff0c;…

633. 平方数之和(中等)

633. 平方数之和 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java内存溢出溢出代码正确代码与截图 1. 题目描述 题目中转&#xff1a;633. 平方数之和 2.详细题解 本题是167. 两数之和 II - 输入有序数组&#xff08;中等&#xff09;题目的变型&#xff0c;由两数之和变…

数字图像分析(第三部分)

文章目录 第11章 基于概率图模型的图像分析概率有向图模型因子分解生成式模型链式图条件独立性有向图模型的马尔科夫毯概率无向图模型模型定义概率无向图模型的因子分解条件随机场条件随机场的定义条件随机场的预测算法第12章 运动分析运动相机建模光流运动表达方法运动估计准则…

二维数组广度优先遍历-腐烂的苹果

一、问题描述 二、解题思路 此问题通过广度优先遍历来解决&#xff0c;模拟苹果发霉变坏的过程 1.初始时遍历网格&#xff0c;借助队列来储存所有发霉的苹果&#xff0c;统计好苹果个数 2.每一分钟队列内发霉苹果都会对周围的苹果起作用&#xff08;向外部扩散&#xff09;&am…

Python 高级编程:文件操作与错误处理

在前几篇文章中&#xff0c;我们介绍了Python的基本语法、函数和模块以及面向对象编程。这些知识对于大部分日常编程问题已经足够&#xff0c;但对于需要分析大数据的人来说&#xff0c;这些还不够。本章将介绍Python的文件操作以及错误处理与调试。 目录 文件操作读文件写文…